找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 451|回复: 0
打印 上一主题 下一主题

时钟发生器

[复制链接]

1

主题

20

帖子

167

积分

二级会员(20)

Rank: 2Rank: 2

积分
167
跳转到指定楼层
1#
发表于 2012-9-21 16:20 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

EDA365欢迎您!

您需要 登录 才可以下载或查看,没有帐号?注册

x
1、时钟发生器clkgen利用外来的时钟信号clk生成一系列时钟信号,clk1、fetch、alu_clk,并送往cpu的其他部件。
* r. ^+ j+ {8 A, H2、其中,fetch是外来时钟clk的8分频信号。
  E0 o9 p) V" x" }* W3、clk1信号用作指令寄存器的时钟信号。
$ @$ a  |% G/ C/ u/ P5 {8 M& s; `4、alu_clk则用于触发算术逻辑运算单元(8位)。
5 J4 J0 t0 t& O# F6 `/ j' H- z1 H0 e  \0 m* H" C" H, R
按以上要求用verilog写出时钟发生器。$ x+ ]  _5 m/ J

( A; c! ^( S, |8 U# Q3 f! ]6 Q以下是我写的,但是呢,其中的alu_clk不知道要怎么写。请教大神,还有,如果代码写的不是很规范,写的不是很简洁,请帮改下,或许你的一句话就会帮我打开一扇窗户,让我更加了解verilog。谢谢!{:soso__187047450382421961_3:} ; ^. H  n) y) n- N
module clk_gen(clk,rst,fetch,clk1,alu_clk);
9 J; W; n- i" s* k# Linput clk,rst;9 j; o1 l; ?7 R; [+ f
output fetch;            //clk的8分频,用来控制地址多路器,输出指令地址与数据地址
1 H" D( w  |4 B) N8 n3 R4 G8 E' boutput clk1;             //控制指令寄存器,累加器,状态控制器的时钟
+ x% p% h8 @6 z, X. F+ D! M4 Y7 Z- loutput alu_clk;          //控制算术逻辑运算单元的时钟
1 p; |/ l9 j$ J. L# E: Vreg [2:0] count;
! T& {4 ?' s1 h# U% _reg fetch;
% o+ ]' a3 ]  I, E" sreg alu_clk;/ O$ _! X- {: ?% J( i8 ]
//reg [2:0] N;' z4 Z2 A% Z5 d& Q8 \
//reg clk1;5 S+ ~( d% S9 U, ?
assign clk1 = ~clk;       //原输入,原输出
6 e  q" A0 p6 K  Y6 {) Rparameter N=8;            //对clk进行八分频处理之后赋值给fetch- j2 `- w+ n- n+ ?  v; F% e
always @ (posedge clk)$ z) J2 n. q( Z3 W
        begin0 E& M% t& P; @8 _1 A7 Y" ~
                if (rst)
& b% I4 o3 v. y  I4 e/ J                        begin
8 ?9 ~+ x. b( o  S                                fetch <= 1'b0;        5 ^2 q* m. ~3 L6 v+ F
                                //clk1 <= 1'b0;8 Z2 X- ^6 F! @+ w
                                count <= 1'b0;
) W. p3 k, d+ a: r( y& p* E                                alu_clk <= 1'b0;
" C+ g0 h& O- v  f( D; P) u                        end' G. l9 m! K; j
        else if(count<=(N/2-1))
6 b  S; L$ E$ h& A5 T0 C                                count <= count + 1;6 f: d4 _1 j  W
        else
$ U4 S4 l/ D% l3 t                        begin       
$ z' ^+ {7 M8 P- |3 p                                count <= 1'b0;
% _9 \- I4 Q; @4 I                                fetch <= ~clk;
% j  a  s1 m  }1 L! P" i                        end  @! F8 [- l- r) U: k, r. s3 G; N
        end
0 p- _5 A1 I, _( c8 f% m0 b       
* }, s7 P( r6 Zendmodule
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 支持!支持! 反对!反对!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

巢课

技术风云榜

关于我们|手机版|EDA365 ( 粤ICP备18020198号 )

GMT+8, 2024-11-28 00:25 , Processed in 0.053230 second(s), 33 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表