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

时钟发生器

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
1、时钟发生器clkgen利用外来的时钟信号clk生成一系列时钟信号,clk1、fetch、alu_clk,并送往cpu的其他部件。
, B2 {, w% j8 W( f) D$ s2、其中,fetch是外来时钟clk的8分频信号。& W# y# X2 E+ h; L9 c
3、clk1信号用作指令寄存器的时钟信号。
5 v4 Y3 j0 R7 Z) R9 \1 U4、alu_clk则用于触发算术逻辑运算单元(8位)。2 [3 e# n6 z, \9 G
& {. s" G- ]& y4 M$ w
按以上要求用verilog写出时钟发生器。
  K' E3 O4 X5 |. R- B- H( A- z8 e$ y7 z$ m
以下是我写的,但是呢,其中的alu_clk不知道要怎么写。请教大神,还有,如果代码写的不是很规范,写的不是很简洁,请帮改下,或许你的一句话就会帮我打开一扇窗户,让我更加了解verilog。谢谢!{:soso__187047450382421961_3:}
/ O6 N4 r0 l" {0 p* _module clk_gen(clk,rst,fetch,clk1,alu_clk);; y1 K" g2 b# @/ i& V$ E
input clk,rst;
& O# Z1 o# K+ Koutput fetch;            //clk的8分频,用来控制地址多路器,输出指令地址与数据地址
! u" V, a  b7 K& f5 }output clk1;             //控制指令寄存器,累加器,状态控制器的时钟
& `& R% ^+ S2 Y  Coutput alu_clk;          //控制算术逻辑运算单元的时钟/ {: @( G. ?5 _$ L( G
reg [2:0] count;
7 V( [* f+ z3 g) j% q6 Lreg fetch;6 i# O# ^# i- V. e$ \4 `/ O6 ?
reg alu_clk;
: p& \' S& _" U- i# f% N9 {//reg [2:0] N;: |# I, b. A/ w3 \8 H
//reg clk1;# b# a  x; ?. y4 N5 v0 L
assign clk1 = ~clk;       //原输入,原输出
0 e. ^! B4 f- G( C6 y! zparameter N=8;            //对clk进行八分频处理之后赋值给fetch
2 @' T& t1 v$ v+ j5 c3 X" zalways @ (posedge clk)* S( E7 j6 m8 m2 y; Q" m+ x, L; L- N
        begin7 L+ ]3 c! ~4 ^9 B# [+ Y
                if (rst)
; h* Z0 M! L1 B. M$ x( ]# {                        begin8 t0 C+ |- M2 i$ [6 m( w
                                fetch <= 1'b0;        / I  f: z* {) H# ]" W" I- x4 H
                                //clk1 <= 1'b0;
: y5 N# S, g, U- D                                count <= 1'b0;/ m, B. {; }7 [( V+ p4 h
                                alu_clk <= 1'b0;# m' O5 i$ C- Z3 k1 g' V
                        end7 z% e) f$ Y' F: N4 Z) f$ a) a8 j* s
        else if(count<=(N/2-1))8 m. Z# }* H; T4 L" G7 ]
                                count <= count + 1;
& b, K! r7 Q3 E2 N        else
2 S- V7 e* K) A' W: Y& H- S                        begin       
8 M4 ?. A8 J0 d+ u# @3 P8 [                                count <= 1'b0;# c( A! S, o- D- w) p* n$ f& M
                                fetch <= ~clk;5 l1 U# Z$ b; r5 o, t
                        end
3 E; w& m- k6 @; G! k        end
; z- b) a% L2 b$ R) O% C        1 V& |. t4 u; s% y
endmodule
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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