|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
- T" X7 L( u0 [ z3 {
if(cnt < 5'd18)
7 O# ~* [, N; Q, V* Hcnt <= cnt + 1;% u( s, t4 k0 |% l' w( Y
else cnt<=0;
; X! s, U( r& r
C! H3 Z* h7 X6 |* `% nif(cnt == 1)
4 G- r4 r4 f6 n& j& rinit <= 1; //改为 init =1 也不对 ,编译显示这个位置是错的, V2 @9 b `( Y5 T8 U/ _" _
6 l+ g+ h2 z: n上面这个代码,怎么编译都不过,显示错误为- z0 y$ ^4 v% L* i2 ~4 \; }
Error (10200): Verilog HDL Conditional Statement error at LEDa.v(65): cannot match operand(s) in the condition to the corresponding edges in the enclosing event control of the always construct
! L0 ^- j& T+ x6 A* ]3 H( G# T: k1 o6 y! S& C) m
但是我改成下面这样就编译通过了," T0 c7 q. _3 ^/ G
if(cnt < 5'd18)+ h) w F! H1 t
begin
9 v$ Q8 A! }7 R5 }3 {$ k cnt <= cnt + 1;: F$ r* T& L& ^1 m) u
if(cnt == 1)* G3 R9 D* W4 D* X7 N$ p0 m
init <= 1;
( Y& }+ O9 J, l# y' S, } m1 r3 O, zend
& S8 B& m+ k+ `& @- q) Celse cnt<=0;7 x( v* Y' T8 D+ ^8 r
+ n: k4 e. S m1 F% ]就是将错误的那句插入到上面那个if语句里 (插入到其他位置都会报错,只有插入到上面的if语句里才不报错)$ W3 H$ s# `, M" ^# l; R
3 r1 L' H+ Z9 y# D) C" a
请问各位知道这是什么原因吗?谢谢 |
; D5 y7 f, ]& X% G* H& j使用特权
& s3 m' x. w8 N, f+ \* u9 r; _ |/ b5 e2 o9 i
. F: A8 i$ @/ Z% V/ |
7 k7 p* b3 n7 p" `3 G" a% m |
|