题解 | #四选一多路器#
优先编码器电路①
http://www.nowcoder.com/practice/0594ed5303ad48a19aed90bc48839d00
1。考虑本题优先编码器真值表中由0出现的位置来给出输出结果Y的值; 2.由于module里面Y_n为reg类型所以用时序逻辑电路设计; 3.有三种方法可以满足设计要求:一.用case语句;二.用if语句;三.用条件赋值语句; 由于case语句和if语句方法已有给出答案,这里我用条件赋值语句来做,答案如下:
always @(*)
Y_n=(I_n[8]==0)?4'b0110: ( (I_n[7]==0)?4'b0111: ( (I_n[6]==0)?4'b1000: ( (I_n[5]==0)?4'b1001: ( (I_n[4]==0)?4'b1010: ( (I_n[3]==0)?4'b1011: ( (I_n[2]==0)?4'b1100: ( (I_n[1]==0)?4'b1101: ( (I_n[0]==0)?4'b1110: (4'b1111) ) ) ) ) ) ) ) );
endmodule
}