|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
最近在学习verilog,刚做了个奇数分频器,
. K) n" L) x7 Z4 y. Y5 }用modelsim 5.7仿真波形都是OK的,
# S3 q+ b$ \" N0 V: D可用ISE却总是综合不了,有一个警告说clk1是常量,count就加不到2,2 x" [7 y' a4 J/ e* `
所以请大侠帮忙看看我的程序是不是有问题,谢谢啦!
- T; Y9 n" u$ w1 N R% p3 O. s1 P, b9 umodule div (clkout,clkin,rst);( c+ t1 _5 v9 n- T! R: [
5 f3 V% h5 l5 [9 |6 C8 ]7 J3 G output clkout;
$ M$ u$ I, ]( r0 l5 ^+ d8 g7 } input clkin;
( M8 c" F' r5 `% c% K9 x input rst;
& d' X, T! c: g/ z* \ r8 ~ reg clkout;2 S- s' F3 Y1 o1 N+ L: N
reg clk1,clk2;+ w: Z, n1 k- |/ T# V: q! ^, b
reg [1:0]count;
! Y$ ]5 v4 z- N' x4 @; m# ]
* n& G4 X% a* q& n) s. T; }always @(posedge clkin or negedge rst)$ a) n! [2 x; [! b0 g5 Y
begin
- r2 E; ]8 A- ~( a if (!rst); D3 _) X/ j2 l. r1 Z: s
begin
, M. `9 C( C' V clk1<=0;
* l; j0 L8 t$ ^3 Q count<=0;, {5 s% A+ d9 |# U2 x+ F& E
end8 A& E& m! R' J
else if(count==2)1 ~- ~) X, p; n0 J. Z3 Y6 N
begin
. ]1 e) r+ V6 ~- L& e count<=0;
- W/ m/ \8 K9 O) I( d0 E% n7 \4 [( b clk1<=~clk1;
L4 `0 {7 Z: y2 B! K; s end) z4 B/ L4 l5 i
else W/ ~9 D, q7 F- F& U* k
count<=count+1;2 U0 a4 c6 S9 w
end# H; i2 H. g1 v5 q2 O4 p7 M# D$ F( ~
% }0 W" v! P; [0 L# c
always @ (negedge clkin or negedge rst)
( j5 o7 b' T) ]" t1 Z begin8 Y+ N5 \) K" e6 C% c9 }: x
if(!rst)6 A0 w% |* V: K& I
begin
5 H$ }" h3 E+ N, j6 Q clk2<=0;5 R/ _8 V: v2 k7 r& V" m
count<=0;- Q& b ^0 P1 J: C. {$ F
end. x; Y+ \3 t, c" T/ h7 ~( T, N
else if(count==1); \3 |/ N) p) W5 y
clk2<=~clk2;
4 J. o' a9 u$ y# ^! n end
% Y0 F1 g- f: L- q; L1 S" K5 O, n& S1 N
4 n' W* C6 U' V) `7 Xalways @ (clk1 or clk2 or rst)& v7 f8 s* L q1 H4 z- D
begin
/ ^1 z" A$ M( B t if(!rst)
( m% U- ~2 d1 [+ a clkout<=0;
4 M* L3 [+ i! f9 s. ^# ]2 s6 E else
0 _/ c' W5 X: L. e clkout<=clk1^clk2;* V( J, `0 g- S3 R
end
6 v/ ?+ K( S# }1 v. y' ? y9 pendmodule |
|