找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 449|回复: 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的其他部件。
8 h) W# q9 S- V/ n# m2、其中,fetch是外来时钟clk的8分频信号。
) j, c  o" J# _% l$ t3、clk1信号用作指令寄存器的时钟信号。
$ j7 |8 F! Y2 C! Z. g: K1 ]4、alu_clk则用于触发算术逻辑运算单元(8位)。
* Z' x- H# t* Q2 N- @" L
7 g+ w0 h. \( d: J  x# b按以上要求用verilog写出时钟发生器。* ?% x% S( o1 i  v3 E
8 I3 q) J/ _5 b
以下是我写的,但是呢,其中的alu_clk不知道要怎么写。请教大神,还有,如果代码写的不是很规范,写的不是很简洁,请帮改下,或许你的一句话就会帮我打开一扇窗户,让我更加了解verilog。谢谢!{:soso__187047450382421961_3:} ( m* s. I$ r2 e  D0 J
module clk_gen(clk,rst,fetch,clk1,alu_clk);. D( A; @. ]0 b  O- @6 i' x9 A
input clk,rst;: T/ H$ h  L) }
output fetch;            //clk的8分频,用来控制地址多路器,输出指令地址与数据地址
6 s" [7 P( ~! l9 D! Voutput clk1;             //控制指令寄存器,累加器,状态控制器的时钟
  r& g$ L( ]. y3 d6 q$ X/ eoutput alu_clk;          //控制算术逻辑运算单元的时钟7 z$ y  ]% x, l7 D! g
reg [2:0] count;3 B+ k! K7 O& U) q1 P( T: h
reg fetch;
: ^7 Z8 t" ]$ J2 G$ `* areg alu_clk;! y; E" b4 r0 e' i1 Z$ y+ |7 h* _8 @
//reg [2:0] N;
! ^# B9 Y5 s; _" _; y( e4 J3 Y//reg clk1;! |6 _# M% G7 \* N
assign clk1 = ~clk;       //原输入,原输出
& t5 ?; b3 Q( B: i; }parameter N=8;            //对clk进行八分频处理之后赋值给fetch3 B; q. c+ V% y+ |
always @ (posedge clk), c) c  `8 G1 L6 Z  Z) U
        begin
& P# E! R) x/ S5 N1 c/ i1 p: E                if (rst)4 A. Q8 }4 m" H1 L
                        begin4 g8 g  S8 M- j2 C: ?8 }3 _
                                fetch <= 1'b0;        ' F, }" P" U% J
                                //clk1 <= 1'b0;6 O* J7 ]* R. @. c" W( D. s0 x/ n
                                count <= 1'b0;2 R: |) f: U! ]' L+ }
                                alu_clk <= 1'b0;
$ Q* a8 c+ E& {# [                        end
. ^9 Z, a) Q& L; q9 X  `. ]; I        else if(count<=(N/2-1))* N; N7 t; Q0 S# G
                                count <= count + 1;8 B6 N5 a2 f4 R+ W# b6 P4 H
        else# r5 x2 g: Y  x! x. l  T! l
                        begin        / D7 ^+ ?$ t4 O. X5 \, [
                                count <= 1'b0;
9 S7 ~" _6 m" {: Q& C                                fetch <= ~clk;
- n/ [0 l: K5 X4 X, ?# b0 p9 k                        end0 |; S) I3 Y. e2 M1 S
        end% B; |: R' T+ B! j3 H- y* D5 w
       
! L: Z- W0 t& J# X6 W: h7 W3 T8 Yendmodule
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 支持!支持! 反对!反对!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

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

GMT+8, 2024-11-24 08:55 , Processed in 0.063333 second(s), 32 queries , Gzip On.

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

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

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