EDA实验 8-3编码器改成16-4编码器咋改。??
答案:1 悬赏:30 手机版
解决时间 2021-01-14 15:50
- 提问者网友:浪荡绅士
- 2021-01-14 09:31
EDA实验 8-3编码器改成16-4编码器咋改。??
最佳答案
- 五星知识达人网友:爱难随人意
- 2021-01-14 10:19
问题:(1)always里面必须是寄存器型,所以mc要改成寄存器型
(2)assign必须是用网线型,所以可以改用mc部分赋值的方法给端口
(3)case语句里面含有无关量“x" 要用casex,否则case里面永远不能匹配
(4)输入输出端口像你样写,S被理解成8位的输入,同理,gs,es被理解成3位输出
(5)always后的敏感变量列表中要加上s
module en(incode,outcode,s,gs,es);
input[7:0]incode;
input s;
output[2:0]outcode;
output gs,es;
wire[7:0]incode;
wire s,gs,es;
wire[8:0]a;
reg[4:0]mc; //输入输出端口定义
assign a={s,incode};
assign outcode=mc[4:2];
assign gs=mc[1];
assign es=mc[0];
always@(incode or s)
begin
casex(a)
9'b1XXXXXXXX: mc=5'b11111;
9'b011111111: mc=5'b11101;
9'b0XXXXXXX0: mc=5'b00010;
9'b0XXXXXX01: mc=5'b00110;
9'b0XXXXX011: mc=5'b01010;
9'b0XXXX0111: mc=5'b01110;
9'b0XXX01111: mc=5'b10010;
9'b0XX011111: mc=5'b10110;
9'b0x0111111: mc=5'b11010;
9'b001111111: mc=5'b11110;
endcase
end
endmodule追问咋改寄存器。。你的X表示什么PIN??管脚值是多少
(2)assign必须是用网线型,所以可以改用mc部分赋值的方法给端口
(3)case语句里面含有无关量“x" 要用casex,否则case里面永远不能匹配
(4)输入输出端口像你样写,S被理解成8位的输入,同理,gs,es被理解成3位输出
(5)always后的敏感变量列表中要加上s
module en(incode,outcode,s,gs,es);
input[7:0]incode;
input s;
output[2:0]outcode;
output gs,es;
wire[7:0]incode;
wire s,gs,es;
wire[8:0]a;
reg[4:0]mc; //输入输出端口定义
assign a={s,incode};
assign outcode=mc[4:2];
assign gs=mc[1];
assign es=mc[0];
always@(incode or s)
begin
casex(a)
9'b1XXXXXXXX: mc=5'b11111;
9'b011111111: mc=5'b11101;
9'b0XXXXXXX0: mc=5'b00010;
9'b0XXXXXX01: mc=5'b00110;
9'b0XXXXX011: mc=5'b01010;
9'b0XXXX0111: mc=5'b01110;
9'b0XXX01111: mc=5'b10010;
9'b0XX011111: mc=5'b10110;
9'b0x0111111: mc=5'b11010;
9'b001111111: mc=5'b11110;
endcase
end
endmodule追问咋改寄存器。。你的X表示什么PIN??管脚值是多少
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯