EDA365电子工程师网
标题:
Verilog七人表决器 有点小问题该怎么办呢
[打印本页]
作者:
bikong7
时间:
2010-4-3 17:43
标题:
Verilog七人表决器 有点小问题该怎么办呢
七人表决器的程序如下
; |- G0 h2 e7 a1 c
module voter7(
4 d# p# D D# W' i- I. g
output reg pass,
( n; ~- h2 C3 J; P9 [6 Z" T
input[6:0] vote
1 c5 ]) ^1 z8 Z, Y
);
2 I: |0 P* S ?" W3 V. o
integer i;
" P1 M/ B/ x" K7 z, r5 v2 [! t
reg[2:0] sum;
: R/ k) b; a* O2 g
initial
5 T& P6 g7 J( [
begin
9 d) }0 I% x) U4 n
sum=3'b000;
9 ?* {( a2 Y: j. [0 R3 K4 o4 t
end
& v. o! }" G% q+ ^
) F1 M1 V q/ I
always @(vote)
# k' q3 f5 l" T
begin
9 Z! L& r0 j1 M) l1 V; @2 D) v
% j$ `1 K+ d- n, B5 q$ o/ Q! M) z
for(i=0;i<=6;i=i+1) //for语句
+ v' O- _6 x' z; J; |4 B2 J% x9 S
begin
/ E, A2 u" a8 B& b
if(vote[i]) sum=sum+1;
( H3 b7 A" G5 y) c" o
end
' x' S. V$ n% h/ T) n( R) d
if(sum>3) pass=1'b1; //若超过4人赞成,则pass=1
+ C- v; j& i* q# {9 z. [
else pass=1'b0;
! L( M( ]: c/ K
end
; o ^* v, _# d
endmodule
3 P3 C4 F$ Z7 {9 E' E% \
) s0 {! d# C- M0 I5 G/ K. _
1 I: m" T3 d3 {6 H
5 [, q* m3 C0 i! A5 @
有提示是这样的
' ^2 ~4 ]! }4 f3 P
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
- v+ W& V+ l q- S `. p
& g% Z. q' n0 [2 o5 B8 u" q
Warning (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
; b! E& U' a& H! [' t
( s+ H& r, h o& d
仿真的时候pass信号为未知状态
4 E3 l; W* }- L9 ~$ o Y f+ q
怎么办呢?
作者:
wycawyc
时间:
2010-4-6 09:13
verilog不是c。HDL的意思是硬件描述语言。请写程序之前想清楚你的硬件结构。
作者:
幻色精灵
时间:
2010-4-9 22:07
强
9 u. a7 c t- p7 g- Q- U0 F
这和C在编程上有本质的区别,楼主多多看看吧
作者:
bikong7
时间:
2010-4-11 15:07
七人表决器,应该是七个人在不同时间里表决的
8 d, D6 p$ ?( X+ X+ A
可是我有个例子是 七个人在同时表决才实现功能
- c) |9 g, V8 j; ~1 D8 X. [! X
我再看看吧
作者:
bikong7
时间:
2010-4-18 10:48
有高见的再发表吧
欢迎光临 EDA365电子工程师网 (http://bbs.elecnest.cn/)
Powered by Discuz! X3.2