EDA365电子工程师网

标题: Verilog七人表决器 有点小问题该怎么办呢 [打印本页]

作者: bikong7    时间: 2010-4-3 17:43
标题: Verilog七人表决器 有点小问题该怎么办呢
七人表决器的程序如下
; |- G0 h2 e7 a1 cmodule 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 [! treg[2:0] sum; : R/ k) b; a* O2 g
initial
5 T& P6 g7 J( [ begin9 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 PWarning (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