|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
最近在学习verilog,刚做了个奇数分频器,
8 c- }1 H: H! |4 o( w. W, F( Y用modelsim 5.7仿真波形都是OK的,
) d! S9 ]5 o* b8 o( y9 a& E可用ISE却总是综合不了,有一个警告说clk1是常量,count就加不到2,
' A& N; t# p+ }# V' G. k所以请大侠帮忙看看我的程序是不是有问题,谢谢啦!
- N7 G ]2 K- ?5 H2 kmodule div (clkout,clkin,rst);1 m, o; W1 C' M( N* A! P1 v) c( U
6 |* g2 t( L( J: O' i
output clkout;
9 a8 r# o3 p1 B" p/ \9 t9 u input clkin;! C9 Q; B7 q' w i) q! W
input rst;
. e$ F7 _" s9 @% I+ ^$ Q/ V reg clkout;. t: X3 |" I- c5 L9 L* S$ U: i# b
reg clk1,clk2;% ]. S# Y4 t8 M+ }# t6 A4 t
reg [1:0]count;
0 l2 {! b- R g0 z7 r ~1 ?& R
5 L! i& ]4 U7 b) @/ X- Halways @(posedge clkin or negedge rst)
# v$ {. e. l6 D. e: c begin8 s2 h; V+ Z9 w5 M5 B4 W' N9 D# n$ O: V
if (!rst)
, w7 I9 {6 W# p9 [ begin
0 h( t1 V" d0 E# R, Q8 A clk1<=0;, G6 H8 l, \! E: r
count<=0;
5 W8 U5 F+ p! P5 g end8 w" k) j3 q6 I, k7 m
else if(count==2)3 s4 A2 |" f: }8 {+ @3 W* ^
begin
: {, V0 B7 W0 q& C9 d) X$ ? count<=0;
& O2 J- C7 C7 d2 T clk1<=~clk1; B3 g& U4 N0 ^# l0 ]7 e* x* x, n8 p
end
6 o1 \: I: ]/ a3 r0 o else& X2 f$ o; t E' n' n; Z/ a) Q9 r+ h
count<=count+1;& _. k- d: p4 Q0 y* E2 a( u
end
) s* D4 l4 z- f3 P6 `4 K
6 l* K3 H5 c6 O H6 v' Jalways @ (negedge clkin or negedge rst)
# D, X4 E& T, D begin+ F0 h% X$ y( h
if(!rst)
p2 Y4 I8 a3 e& X$ G begin
; h( ^' |4 e6 i; J! g% f* a clk2<=0;8 r: \* w% e7 n5 Y
count<=0;
( b( D& j* q9 r1 r end
5 @# ~! S& j* w3 w else if(count==1). ?& R& w7 L0 g+ G. u
clk2<=~clk2;
* }( L' E/ d1 E, h& q3 }6 @, w end1 ^" P% o4 Y. ~0 H# `4 W9 T
4 e- m+ N( J+ {( D, F7 c
always @ (clk1 or clk2 or rst)
6 W9 k, \- x% j$ [ begin5 g9 o) c. r# K+ X
if(!rst)
9 s, j* `" y: J2 N3 n5 s" | @$ ` clkout<=0; E) d7 J4 \$ M1 U! y( k
else3 k( Y4 b: H: O5 C9 w" z
clkout<=clk1^clk2;
. M1 t. W" V. b( Q% ]! w2 ]. D0 c end* W7 `" }. V) F- Y, }
endmodule |
|