在线咨询 切换到宽版
eetop公众号 创芯大讲堂 创芯人才网

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

搜全文
查看: 9973|回复: 4

[求助] verilog 请问如何描述组合电路mux? 试了输出必须定义成reg才行

[复制链接]
发表于 2012-10-22 03:46:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×

请问组合电路 MUX多路器如何描述?以下描述需要把输出(OUT)定义为reg,否则编译错,试过夏宇闻书上例子输出也必须定义成reg,

如果定义成reg,则就不是组合电路mux了。

请问如何定义组合电路mux?



module mux(EN ,IN0 ,IN1 ,IN2 ,IN3 ,SEL ,OUT );

input
EN ;

input
[7:0] IN0 ,IN1 ,IN2 ,IN3 ;

input
[1:0] SEL ;

output [7:0] OUT ;

reg
[7:0] OUT ;

always @(SEL
or EN
or IN0
or IN1
or IN2
or IN3 )

begin

if (EN
== 0) OUT
= {8{1'b0}};

else

case (SEL )

0 : OUT
= IN0 ;

1 : OUT
= IN1 ;

2 : OUT
= IN2 ;

3 : OUT
= IN3 ;

default : OUT
= {8{1'b0}};

endcase

end

endmodule

发表于 2012-10-22 04:44:22 | 显示全部楼层
reg  和是否组合电路没有关系。

关键看always @里面是否有posedge/negedge, 没有的,就只是电平变化,出来的还是组合电路。例子里的那个就是个MUX
回复 支持 反对

使用道具 举报

发表于 2012-10-22 08:27:44 | 显示全部楼层
assign Y=S0?B:A;
回复 支持 反对

使用道具 举报

发表于 2012-10-22 08:46:44 | 显示全部楼层
语法书上已经有说过,信号类型,wire只综合成线型;reg则要根据输入与输出关系才确认是综合成寄存器还是线型,所以你的问题出在对语法上不是很精通。你的贴是对的。
回复 支持 反对

使用道具 举报

发表于 2012-10-23 09:23:14 | 显示全部楼层
mux本身没有时钟,就是一个纯粹的组合逻辑器件;
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条


手机版| 小黑屋| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-10-9 05:44 , Processed in 0.017481 second(s), 5 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表