|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
七人表决器的程序如下. P+ n5 ^& \4 g9 e
module voter7(
/ j/ b; }, B" B6 r/ a& | output reg pass, 6 n; G$ I1 ~7 t. S/ z
input[6:0] vote; n0 q; U& E* t% W5 X, e5 I# [. b9 k
);
9 L: `: J4 X. E" \integer i; . i# n% n S6 B k; N
reg[2:0] sum; 7 T8 T6 I L: }: { S$ p) x
initial . O$ V; ~; ~! e2 C5 Z, P2 a
begin
; h" @/ ]. V7 `; d) l, ], T; L sum=3'b000;0 `- g/ d1 B* a% h( ^9 s
end& [" ~% Q: u: F) C
/ r8 n! i$ `. z5 b' s always @(vote) : |2 G- h' O5 |# z) g D
begin
0 l4 E, x b; D* q 6 E0 {* p" l7 Z5 z1 x. R& B
for(i=0;i<=6;i=i+1) //for语句2 i; r* y' N# r- R; S( \4 r+ Z
begin
/ x9 }4 I$ J+ z3 ~8 f if(vote[i]) sum=sum+1; ; G. |! ]7 f1 @8 s4 t; i
end
8 I" m& e7 j3 [. E7 a1 o7 ^8 R h0 y if(sum>3) pass=1'b1; //若超过4人赞成,则pass=1
; m. b" i) \$ H else pass=1'b0; * y* p: R' C Y, J, W; G+ G
end
! `7 L/ W8 J" I6 N/ K* s% F8 ]endmodule
& c! K' L7 [' {$ C; _' E
- u* ]& J$ f7 V" a( Z4 r: n0 O4 U' R7 D! }5 _) M8 K* s, Z& n
5 i4 Z4 C3 f5 `! a2 h) V3 e) H1 P, p有提示是这样的/ L1 v0 B" V6 l/ x6 V& m) i2 h$ x
Warning (10235): Verilog HDL Always Construct warning at voter7.v(18): variable "sum" is read inside the Always Construct but isn't in the Always Construct's Event Control G: s+ C9 J: T
3 g) W& p) n: u( bWarning (10240): Verilog HDL Always Construct warning at voter7.v(13): inferring latch(es) for variable "sum", which holds its previous value in one or more paths through the always construct
, @/ y6 Q! e1 e9 N Y, Z
3 L5 a: ~4 W. l/ m" s# A3 }1 M仿真的时候pass信号为未知状态
+ S H( e1 Z2 n( O/ h& c/ Y7 D/ \/ ?怎么办呢? |
|