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

时钟发生器

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
1、时钟发生器clkgen利用外来的时钟信号clk生成一系列时钟信号,clk1、fetch、alu_clk,并送往cpu的其他部件。+ o. B6 E% W, G5 Q: |2 Y5 e
2、其中,fetch是外来时钟clk的8分频信号。: [4 M* s8 B% H1 h' @! l6 M
3、clk1信号用作指令寄存器的时钟信号。2 c2 W6 T8 @( }
4、alu_clk则用于触发算术逻辑运算单元(8位)。; @: w9 k; ]$ C

. s5 w4 n7 \: j9 S" l按以上要求用verilog写出时钟发生器。
" T7 _6 r. e9 z& C% y; q- Z9 I
1 ]; H+ k# N" x0 s- X) l/ B以下是我写的,但是呢,其中的alu_clk不知道要怎么写。请教大神,还有,如果代码写的不是很规范,写的不是很简洁,请帮改下,或许你的一句话就会帮我打开一扇窗户,让我更加了解verilog。谢谢!{:soso__187047450382421961_3:} . B5 y8 [- _. ?/ N' I
module clk_gen(clk,rst,fetch,clk1,alu_clk);
! f2 j  n5 O! L: @/ [input clk,rst;$ S0 }0 D, q: u6 s
output fetch;            //clk的8分频,用来控制地址多路器,输出指令地址与数据地址2 N$ i6 ^# f( }& ?8 z6 K( B/ D
output clk1;             //控制指令寄存器,累加器,状态控制器的时钟9 d- z. m* I: M. c8 J( U+ ?3 M5 s& z) B
output alu_clk;          //控制算术逻辑运算单元的时钟
0 J: P2 D8 J& m( V2 S1 {reg [2:0] count;7 P  u, Z2 a0 n
reg fetch;
, v5 d8 N9 [( ?' Q7 F9 F; s9 ^2 Breg alu_clk;
! _$ [2 }& I, Z$ c) V  |! z//reg [2:0] N;8 v, q0 Y" z1 Z3 n9 w- @9 }
//reg clk1;
* S! q4 F! C. w+ F2 h3 ?1 L. a7 w. Passign clk1 = ~clk;       //原输入,原输出! z- M+ Q, ?6 W- m7 f) D& ~9 I
parameter N=8;            //对clk进行八分频处理之后赋值给fetch( J7 u4 w. `+ ]+ S1 U; g' ?
always @ (posedge clk)
% V8 v3 w9 [5 z: D        begin. ~7 [8 H& [1 o' k+ T) |0 q7 h
                if (rst)
- w% K8 v; _, {                        begin# S% i: O; ]9 x! H7 Z; |  \
                                fetch <= 1'b0;        ) F3 e5 g: k9 s# @
                                //clk1 <= 1'b0;3 `4 T- B9 i  `0 |
                                count <= 1'b0;
; o4 V' \" a7 g# @  E' a! }                                alu_clk <= 1'b0;1 D2 q' Y8 H, }6 I. j
                        end
9 N2 J% B8 S. i, X  G1 j        else if(count<=(N/2-1))
2 u4 ^9 T3 N7 M* g6 S* J$ ~                                count <= count + 1;
4 J; _- M" Z) E        else
) d) V; ~7 i% Q" x; E1 d                        begin        ; e8 o: n2 J% ?/ X' ~' S5 r! v
                                count <= 1'b0;
, l( _0 n, {% F/ l% Z                                fetch <= ~clk;
3 u! R$ H7 D: e2 B8 |                        end" \$ O7 x/ w( y: y3 q/ R2 [
        end6 r* A$ P/ v/ I, N) f7 U
       
9 H( F: Y7 m% t9 Lendmodule
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-10-5 14:30 , Processed in 0.125000 second(s), 25 queries , Gzip On.

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

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

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