EDA365电子论坛网

标题: 时钟发生器 [打印本页]

作者: 微笑的记忆    时间: 2012-9-21 16:20
标题: 时钟发生器
1、时钟发生器clkgen利用外来的时钟信号clk生成一系列时钟信号,clk1、fetch、alu_clk,并送往cpu的其他部件。& q7 u% m, s; {/ C' m
2、其中,fetch是外来时钟clk的8分频信号。
/ F7 W& a0 ?. g3、clk1信号用作指令寄存器的时钟信号。2 `  Z' [( {6 w7 N2 A
4、alu_clk则用于触发算术逻辑运算单元(8位)。
: W- A  M+ e/ x7 v5 I' P
% m! `2 ]: G% O2 s% j按以上要求用verilog写出时钟发生器。# ^" |# |1 J2 K8 c' M! S

$ Z2 h, B8 V4 W" Y6 J, ^以下是我写的,但是呢,其中的alu_clk不知道要怎么写。请教大神,还有,如果代码写的不是很规范,写的不是很简洁,请帮改下,或许你的一句话就会帮我打开一扇窗户,让我更加了解verilog。谢谢!{:soso__187047450382421961_3:}
2 |) I' I/ v. r2 |% R9 T, {- k" Qmodule clk_gen(clk,rst,fetch,clk1,alu_clk);; @2 U9 v1 K4 h* h0 k  x
input clk,rst;0 ^) M3 c6 S- y& l$ c3 X4 a
output fetch;            //clk的8分频,用来控制地址多路器,输出指令地址与数据地址
& f) N/ s; X  \0 g( {) R( zoutput clk1;             //控制指令寄存器,累加器,状态控制器的时钟/ v8 T! Y. d5 e! R7 q
output alu_clk;          //控制算术逻辑运算单元的时钟. B* T+ T8 D  H; J- @, W
reg [2:0] count;7 X) |; T$ J5 v
reg fetch;" L6 }9 _: ^+ J+ s" Y/ a: H
reg alu_clk;
* d9 ]# X$ G" Q! T. R4 _//reg [2:0] N;, g8 r7 h& d% @/ ^7 E8 i2 @
//reg clk1;; v5 u  {2 y- }
assign clk1 = ~clk;       //原输入,原输出9 _0 b1 h7 z7 K5 D% b
parameter N=8;            //对clk进行八分频处理之后赋值给fetch
( y) w7 q9 H9 g0 Palways @ (posedge clk)6 ~# M4 S( T" e# v% y
        begin
* _/ b/ Y2 a, O$ m                if (rst)
  Z! c1 r; l- ]* f; n                        begin
/ N1 p7 d. \0 V- p( I/ A                                fetch <= 1'b0;        5 z# S$ ], ~6 S$ |( d+ C, i
                                //clk1 <= 1'b0;
, C2 ~, W# K5 G& b6 g* C                                count <= 1'b0;
5 q0 [  e, d. q/ F                                alu_clk <= 1'b0;* M% l+ j# x: p8 G& @1 `
                        end' N1 s2 s' K. [# B& g
        else if(count<=(N/2-1))6 ]( K- K$ R- @, @: p( `# S& u
                                count <= count + 1;% _4 l; }# M+ M+ I
        else! `1 k; z1 i8 @
                        begin        # u6 B6 A* t7 }5 Z; K4 o
                                count <= 1'b0;) t7 h2 s# d. x3 Q: e- N8 X" d
                                fetch <= ~clk;
9 ~7 w  k% G1 A$ h                        end* ?/ R3 m( @* v0 `3 ]3 N, [- K
        end
. \- F5 I, f/ m; x8 d" x       
- i5 D4 |. O; ~endmodule




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2