原帖由 LOONG 于 2006-10-19 12:56 发表<br>
<br>
呵呵,见笑见笑<br>
我一般知无不言,不知也言,好为人师。<br>
各位不要见怪^_^ 说得好!<br>
大家共同进步!				
			
		过程赋值不是包括initial语句和always语句吗?				
			
		initial是不可综合的吧				
			
		你那个例子没有优先级,就2个信号,用assign 写直接些<br>
always多用于表达时序电路,表示组合逻辑的时候如果内部输入信号全部为敏感信号用always (*)比较好,如果不是全部为敏感信号,用always也比较好控制				
			
		不错啊 。。				
			
		module mux(out, a, b, select);
output out;
input a, b, select;
case(select)
 1’b0: out=a;
1’b1: out=b;
我觉得的你的代码问题比较多啊。1、没有always语句,而且begin-and也没有。always @(a or b or select )这个的敏感表必须的列全,否则在综合的时候会出现错误。
我觉得应该改成这样:module mux(out, a, b, select);
output out;
input a, b, select;
reg out;//其中out还要定义成reg型,否则会出现错误。
always @(a or b or select )
begin
case(select)
1’b0: out=a;
1’b1: out=b;
endcase
end				
			
		谢谢各位大侠指点				
			
		out<br>
<br>
assign out=(select)?b:a;<br>
这样就可以了				
			
		还要加个 reg out				
			
		很受益.谢谢啦。			
