完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
|
//八位多路开关
module Mux_8(addr, in1, in2, in3, in4, in5, in6, in7, in8, Mout, nCS); input[2:0] addr; input[width-1:0] in1, in2, in3, in4, in5, in6, in7, in8; input nCS; output[width-1:0]Mout; parameter width = 8; always@(addr or in1 or in2 or in3 or in4 or in5 or in6 or in7 or in8 or nCS) begin if(! nCS) case(addr) 3`b000: Mout = in1 ; 3`b001: Mout = in2 ; 3`b010: Mout = in3 ; 3`b011: Mout = in4 ; 3`b100: Mout = in5 ; 3`b101: Mout = in6 ; 3`b110: Mout = in7 ; 3`b111: Mout = in8 ; endcase else Mout = 0; end endmodule 这个程序是照着 夏宇闻译_Verilog数字系统设计教程(第二版)上面敲的 为啥编译时总是有错误 Error (10137): Verilog HDL Procedural Assignment error at Mux_8.v(20): object "Mout" on left-hand side of assignment must have a variable data type |
|
相关推荐
5个回答
|
|
|
好吧 还是自己解决了 去掉使能控制 直接完成数选功能
//八位多路开关 module Mux_8(addr, in1, in2, in3, in4, in5, in6, in7, in8, Mout); input[2:0] addr; input[width-1:0] in1, in2, in3, in4, in5, in6, in7, in8; output reg [width-1:0] Mout; parameter width = 8; always@(addr or in1 or in2 or in3 or in4 or in5 or in6 or in7 or in8 ) begin case(addr) 3'b000: Mout = in1 ; 3'b001: Mout = in2 ; 3'b010: Mout = in3 ; 3'b011: Mout = in4 ; 3'b100: Mout = in5 ; 3'b101: Mout = in6 ; 3'b110: Mout = in7 ; 3'b111: Mout = in8 ; default: Mout = 0; endcase end endmodule |
|
|
|
|
|
用了使能,缺少输出寄存器定义:"reg[width-1:0] Mout"
|
|
|
|
|
|
|
|
|
{:soso_e101:}, 还需要多学习声光控开关http://www.haiyingpir.com
|
|
|
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
NVMe高速传输之摆脱XDMA设计50:主要功能测试结果与分析2 nvmePCIe高速存储
252 浏览 0 评论
NVMe高速传输之摆脱XDMA设计49:主要功能测试结果与分析1
1501 浏览 0 评论
907 浏览 0 评论
855 浏览 0 评论
658 浏览 0 评论
4427 浏览 63 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 05:13 , Processed in 0.592766 second(s), Total 48, Slave 41 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
9077