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

时钟发生器

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
1、时钟发生器clkgen利用外来的时钟信号clk生成一系列时钟信号,clk1、fetch、alu_clk,并送往cpu的其他部件。- u( S$ @& z5 g( }' \
2、其中,fetch是外来时钟clk的8分频信号。" |) A- V9 _5 E1 I2 Z; R: Q
3、clk1信号用作指令寄存器的时钟信号。
$ P( L' _  s6 v& I( X. N4、alu_clk则用于触发算术逻辑运算单元(8位)。' N# i; K& |! ?

0 p  j+ c% C* q+ X按以上要求用verilog写出时钟发生器。. x, v& N; n7 z" k* M8 g5 ^
; Z" P5 @8 @) O6 B7 `2 g
以下是我写的,但是呢,其中的alu_clk不知道要怎么写。请教大神,还有,如果代码写的不是很规范,写的不是很简洁,请帮改下,或许你的一句话就会帮我打开一扇窗户,让我更加了解verilog。谢谢!{:soso__187047450382421961_3:}
3 R' C) D  k8 l# `8 [' T5 F8 gmodule clk_gen(clk,rst,fetch,clk1,alu_clk);
# p* l8 s8 h8 D* Zinput clk,rst;0 J% i9 p  S) W- q5 r
output fetch;            //clk的8分频,用来控制地址多路器,输出指令地址与数据地址" J6 |$ @& K; x1 u# a
output clk1;             //控制指令寄存器,累加器,状态控制器的时钟
  v, F" A) K1 P+ ~output alu_clk;          //控制算术逻辑运算单元的时钟% J' t' d7 u+ o( t: B
reg [2:0] count;9 \+ O" J$ x: Q( \# o  Y. `
reg fetch;
8 G# n) \# f. _' i) s; S* N/ creg alu_clk;0 P% g# O+ }0 ^+ d( k3 k
//reg [2:0] N;6 {  E" K2 J1 D. |! B: L3 A& M: V8 V
//reg clk1;$ Y" Q% V; _  O" @
assign clk1 = ~clk;       //原输入,原输出
8 e: S, F+ N; [: {) I- Y, v. Bparameter N=8;            //对clk进行八分频处理之后赋值给fetch
" ~5 U7 W) S- N' e  o: C4 valways @ (posedge clk)3 H, C/ x+ }; h9 f
        begin% M& n- ~+ c5 ^1 h. e
                if (rst)
* u5 Q6 v8 N& v                        begin
" F1 D9 K/ A, b& I# A% o# R                                fetch <= 1'b0;        
& F& X0 c- i' ]& `5 G6 N8 \( v                                //clk1 <= 1'b0;) O) ~* d- h2 A- q+ ^: p  s
                                count <= 1'b0;
7 y/ t" d1 p! ^9 N8 z7 U                                alu_clk <= 1'b0;
4 m0 U8 i/ Z* o. i                        end& ~' Z3 R" p+ {, K- b9 B% H
        else if(count<=(N/2-1))' z# b* v- b$ M  g9 v0 c* y
                                count <= count + 1;$ t# Q1 K* u$ @8 p, |! A
        else$ K' _, m4 h/ g- o4 V3 ~; A" O
                        begin        8 I  Y! a& S+ Q0 L8 L
                                count <= 1'b0;
6 ]- P- V5 H: h2 H3 Y                                fetch <= ~clk;
- r; M% q$ N) K0 C2 U                        end: Z9 g; P" B8 d% i9 N4 r
        end
5 e, j! Q2 @+ _# c2 y4 n- \4 |       
# F$ q# ~5 [( D5 ~; E$ Vendmodule
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-20 21:30 , Processed in 0.109375 second(s), 26 queries , Gzip On.

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

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

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