找回密码
 注册
关于网站域名变更的通知
查看: 1014|回复: 0
打印 上一主题 下一主题

时钟发生器

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
1、时钟发生器clkgen利用外来的时钟信号clk生成一系列时钟信号,clk1、fetch、alu_clk,并送往cpu的其他部件。
3 Y/ j# k1 k6 j6 c. u- S2、其中,fetch是外来时钟clk的8分频信号。6 X% K7 \; _9 {( w2 Y- x1 g
3、clk1信号用作指令寄存器的时钟信号。( R" A% S& l, v- ~4 Z! a. W* N
4、alu_clk则用于触发算术逻辑运算单元(8位)。
* s8 t0 F8 A$ T4 _5 z( w: A9 p: N$ W
按以上要求用verilog写出时钟发生器。: V- Y& t- o$ P) q- M

8 b% \% X8 B: U, ?( B6 O8 m! t以下是我写的,但是呢,其中的alu_clk不知道要怎么写。请教大神,还有,如果代码写的不是很规范,写的不是很简洁,请帮改下,或许你的一句话就会帮我打开一扇窗户,让我更加了解verilog。谢谢!{:soso__187047450382421961_3:}
- [9 t- {, X+ Jmodule clk_gen(clk,rst,fetch,clk1,alu_clk);$ P* J9 w' I, g8 }/ O+ s
input clk,rst;1 R4 m: ?% f0 l( L
output fetch;            //clk的8分频,用来控制地址多路器,输出指令地址与数据地址0 l7 o% U( b. M! j* `
output clk1;             //控制指令寄存器,累加器,状态控制器的时钟
' O% W  o& D: K7 ^output alu_clk;          //控制算术逻辑运算单元的时钟. o' d) w, t4 Y/ S9 y) g
reg [2:0] count;
/ {3 _1 H2 P1 treg fetch;
* b# ~! ^( E1 zreg alu_clk;7 e  \/ J+ T! |5 q  I) x3 M) }
//reg [2:0] N;4 A, c' q, d! n7 v9 r& h8 i) b
//reg clk1;
: t7 Z$ O  ^, G# eassign clk1 = ~clk;       //原输入,原输出  f& h* ^. V2 R; n( M" z
parameter N=8;            //对clk进行八分频处理之后赋值给fetch
1 `5 i, c+ Q( I  l* Calways @ (posedge clk)4 H1 X; z$ e  z$ C, k, [
        begin0 J# f+ X6 w. `; j% v
                if (rst)6 S- J1 o8 K+ E6 I0 @. t! O
                        begin
9 t, E+ T4 s9 j! G1 X                                fetch <= 1'b0;        
% V4 w1 @; T: G1 I                                //clk1 <= 1'b0;
" C7 g" P/ j6 t" u3 D0 t( c                                count <= 1'b0;
* N, S3 D* J0 Q                                alu_clk <= 1'b0;
4 Y+ x5 O/ B- \$ e6 V                        end9 T$ L: m# U) t, M( p8 i& `+ V
        else if(count<=(N/2-1))2 ]/ u, x2 B- Q3 x5 ^& ?! }' t7 W
                                count <= count + 1;
$ O) W+ e% J2 ?, j2 n. h        else
! Q9 m9 k% B, V7 F                        begin        ) ^6 G5 Y% j* b. T0 i
                                count <= 1'b0;. O; b& `  e$ g; N7 g, K2 p
                                fetch <= ~clk;
8 s7 R) l+ {  H                        end
  t: z) F+ S) a( y% t; z* x        end% K! Y) `$ ^6 Y$ u
       
9 z: \' ^, h; E* g- u! k2 Uendmodule
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-24 03:24 , Processed in 0.125000 second(s), 25 queries , Gzip On.

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

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

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