|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
最近在学习verilog,刚做了个奇数分频器,
" j- g! Y+ @# `- Q- O' X$ Z用modelsim 5.7仿真波形都是OK的,3 \) g% S' I& ~- M, z7 D6 |. s
可用ISE却总是综合不了,有一个警告说clk1是常量,count就加不到2,
0 k7 Q& J4 y/ X/ t所以请大侠帮忙看看我的程序是不是有问题,谢谢啦!
, L2 P" D+ x$ |1 {+ X# o7 Lmodule div (clkout,clkin,rst);
- d& Y7 ]* B# u! W
1 C6 w- f! } Q: `/ W5 N+ H output clkout;, W; T+ }6 X% J, D( d
input clkin;$ k6 I8 C: p) s. s
input rst;/ m& I7 i7 H& e3 g2 k5 i: o
reg clkout;
/ N/ ]7 i+ ^2 E- L# Y# e reg clk1,clk2;
3 p6 R8 b7 o( f7 Y2 r reg [1:0]count;5 X. G- Y8 _: U+ p
2 l/ N% c4 O; v
always @(posedge clkin or negedge rst); P8 h4 J, X; R$ L7 Q" O8 U& a8 H
begin! }. @( J U& y/ j+ ] u
if (!rst)
/ v2 @+ f0 K3 i- ] begin
) U0 `$ B2 ~/ Z: v1 Y- c clk1<=0;
% T/ s/ G5 ?! Z5 O count<=0;$ R, r( {( ~* V: e9 u
end
H& |# b+ L3 L- d! Q5 U) _# x else if(count==2)
4 a0 j" {! s; p P" K begin7 z( b8 R& b: s4 |; @6 F3 m
count<=0;
5 D- X, a" y6 D$ {( F: T4 t clk1<=~clk1;2 ]/ }: `- G r' J1 x! I
end
$ }3 P% \% D) k else
; c+ ] h9 P1 e' k count<=count+1;
; v* f' ?+ X9 x end
! `! ?7 e' r, H, J: o. z* U" S& \- ^( h* n& v; m
always @ (negedge clkin or negedge rst)- P) q9 |5 Z* }3 K9 t: K
begin3 T; s8 n, |1 z7 f8 E
if(!rst)
' e9 c+ _+ P3 O+ e o Q& u begin. b7 Q" m; y2 X, @1 j# x. \( m, T
clk2<=0;
3 I/ p9 {( ~4 g6 J count<=0;
+ Z$ }& o6 _9 S5 h end: ]" ^/ y) [9 }; v% u
else if(count==1)
8 C( N$ Q& {, k4 U- e. C clk2<=~clk2;) S7 y6 w& r6 n$ T5 {; g( _
end
9 w8 f2 X+ y3 e! d
; ^7 M! q: C* V; Ialways @ (clk1 or clk2 or rst)0 e( ?. f5 ]8 D1 a8 v
begin& A/ {* s X0 {6 @( f* C0 s4 d2 k. s
if(!rst)# F# i/ i, y- i2 B, a
clkout<=0;
' G# Q5 C( c! }/ F. S else
/ e7 \* ]$ }3 {2 E& `& V' ~ clkout<=clk1^clk2;
1 n! s" Q5 \+ P7 b end
4 K5 a! R* W1 m$ A+ ?endmodule |
|