verilog HDL 编程问题求教?

2019-03-25 08:24发布

以下是一个简答的3-8译码器的代码:
module decoder_38(din,en,dout);input en;
input[2:0] din;output[7:0] dout;reg[7:0] dout;always@(din or en)begin  case(din)  3'b0:dout=8'b1111_1110;  3'b1:dout=8'b1111_1101;  3'b2:dout=8'b1111_1011;  3'b3:dout=8'b1111_0111;  3'b4:dout=8'b1110_1111;  3'b5:dout=8'b1101_1111;  3'b6:dout=8'b1011_1111;  3'b7:dout=8'b0111_1111;   endcaseendendmodule————————————————————————
如果我输入想写成:input a,b,c; 那么case(din)是否可以写成case({c,b,a})?
如果输出写成:output y0,y1,y2,y3,y4,y5,y6,y7,那么case后面的输出是否可以这样写:3'b0:{y7,y6,y5,y4,y3,y2,y1,y0}=8'b1111_1110 ? 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
1条回答
白丁
1楼-- · 2019-03-25 12:29
< / 对于第一个问题,应该是可以的,case(表达式),表达式可以是一个多位的数据,verilog支持拼接,要想选择cba这三个数据,拼接是可以的,拼接后选择。第二个问题跟第一个问题类似,拼接是可以的。

一周热门 更多>