|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
最近在学习verilog,刚做了个奇数分频器,
* I% ], q9 A& c: w& G用modelsim 5.7仿真波形都是OK的,
; h7 m$ [4 J9 ^可用ISE却总是综合不了,有一个警告说clk1是常量,count就加不到2,) e1 j" \% q2 o5 l N8 i! G6 Y( J
所以请大侠帮忙看看我的程序是不是有问题,谢谢啦!5 R6 b8 p2 h: u: \7 H, I2 Y
module div (clkout,clkin,rst);
) z3 D* s5 l; k$ k0 P
9 l- W! C& D. [ output clkout;/ J0 ^9 j. |1 Q! K
input clkin;
3 O/ w: [" k$ v0 h' P input rst;/ C f# Q. B# M
reg clkout;1 t0 u$ P2 i' R
reg clk1,clk2;
; {2 z' L' i# v. \; p2 ]: _ reg [1:0]count;; U2 }$ ^" R7 z* @7 y9 \
4 x7 N2 r- M9 T% _+ Y+ u
always @(posedge clkin or negedge rst)
' A( V$ c1 k+ n0 m9 L begin5 \' a( O& S! ]# O* E; c O' ^1 ~
if (!rst)
# m Q: T8 {2 T: Y' ? begin
/ P, b5 r% E8 ]- J4 J( a% N clk1<=0;
+ x1 e) J3 m3 u7 m2 o# n count<=0; q& P' H) w$ W! J/ g3 T
end& W5 W& o& q' U" i+ q( ` Y3 d- r
else if(count==2)
! c3 e/ p' [7 R& J$ G3 Y5 n begin/ x. @/ W7 g' z( ]6 t
count<=0;( A; I* q1 ^) }
clk1<=~clk1;9 V4 m% \6 b# y: \1 t
end
' H5 I# h. N! ]1 e0 Y else
8 H$ }) R1 A+ e% x! e0 ` count<=count+1;
) L+ K' F" t+ }& H% l9 \0 c end
$ a6 }* N# J1 o- l3 T# M8 Q9 V, w( _
always @ (negedge clkin or negedge rst)
& Q( H$ e- p% Z3 { begin
/ F' M% E3 U* p6 A. c if(!rst)4 [7 l% _9 B, E" @$ [
begin
& ]5 Y7 q, E% W4 x- k clk2<=0;
! a( M J2 a2 V2 f count<=0;
" X; E" v0 z$ ~( ?# M" r end* }9 m" s6 C$ H2 a% R8 M0 Q
else if(count==1)2 O( l t" _- s& D. L/ m' U, w
clk2<=~clk2;
3 K/ i0 I7 R+ ^6 T! Z4 ?. M end
7 z; s. k, G# }4 |" O; Y- x. w& ]1 H: h/ K
always @ (clk1 or clk2 or rst)
& @( B% O" k& b3 Z$ g: S0 n begin
! t# K! L' z$ q" M7 | if(!rst)
; c3 @3 b7 Y; {8 D! y% b- q clkout<=0;; j; K' d# t0 Q/ W/ U9 |
else
$ p& {7 G+ X6 ]0 f1 ^' _ clkout<=clk1^clk2;
; N$ ^ w. @: o end) Q( S1 r( Y. J: W1 A
endmodule |
|