编码器和解码器的计算机组成设计原理——verilog hdl
第一级:编码器设计——verilog hdl语言//设计一个3位二进制优先级编码器,其输入和输出都是高级有效的
//i[7]优先级最高,i[0]优先级最低
模块编码器8 _ 3 _测试(一,二);
输入[7:0]i;
输出寄存器[2:0]y;
//请在下面添加代码以完成设计任务
/*开始*/
总是@(我)
开始
如果(我>;= 8 & # 39;b00000000 & amp。&。i <。8 & # 39;b00000010)
y = 3 & # 39b000
如果(我>;= 8 & # 39;b00000010 & amp。&。i <。8 & # 39;b00000100)
y = 3 & # 39b001
如果(我>;= 8 & # 39;b00000100 & amp。&。i <。8 & # 39;b00001000)
y = 3 & # 39b010
如果(我>;= 8 & # 39;b00001000 & amp。&。i <。8 & # 39;b00010000)
y = 3 & # 39b011
如果(我>;= 8 & # 39;b00010000 &。&。i <。8 & # 39;b00100000)
y = 3 & # 39b100
如果(我>;= 8 & # 39;b00100000 &。&。i <。8 & # 39;b01000000)
y = 3 & # 39b10废土崛起最新章节1
如果(我>;= 8 & # 39;b01000000 &。&。i <。8 & # 39;b10000000)
y = 3 & # 39b110
如果(我>;= 8 & # 39;b10000000)
y = 3 & # 39b111
目标
/*结束*/
终端模块
第二级:解码器设计——verilog hdl语言//设计一个具有一位使能终端的3行-8行解码器。当使能端为0时,8位输出信号均为0;
//如果一位使能信号为1,则输出高电平解码信号。
模块decoder3e_test(a,ena,y);
输入[2:0]a;
输入ena。
输出寄存器[7:0]y;
//请在下面添加代码以完成设计任务
/*开始*/
总是@(ena或a)
开始
if (ena == 0)
y = 8 & # 39b00000000
其他
案例(a)
3 & # 39;b000:y = 8 & # 39;b00000001
3 & # 39;b001:y = 8 & # 39;b00000010
3 & # 39;b010生化全球最新章节:y = 8 & # 39;b00000100
3 & # 39;b011:y = 8 & # 39;b00001000
3 & # 39;b100:y = 8 & # 39;b00010000
3 & # 39;b101:y = 8 & # 39;b00100000
3 & # 39;b110:y = 8 & # 39;b01000000
3 & # 39;b111:y = 8 & # 39;b10000000
默认值:y = 8 & # 39b00000000
endcase
目标
/*结束*/
终端模块
文章来源:www.atolchina.com