完善资料让更多小伙伴认识你,还能领取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
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1583 浏览 1 评论
助力AIoT应用:在米尔FPGA开发板上实现Tiny YOLO V4
1082 浏览 0 评论
2657 浏览 1 评论
2347 浏览 0 评论
矩阵4x4个按键,如何把识别结果按编号01-16(十进制)显示在两个七段数码管上?
2620 浏览 0 评论
2048 浏览 55 评论
6041 浏览 113 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-30 09:58 , Processed in 0.940413 second(s), Total 81, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号