组合逻辑电路
特点:是任意时刻的输出仅仅取决于当前时刻的输入,与电路之前的历史状态无关(即无记忆能力)
组合逻辑电路的设计通常包含以下几个步骤:
- 进行逻辑抽象。分析事件的因果关系,确定输入变量和输出变量,列出输入变量和输出变量的逻辑真值表。
- 写出逻辑函数。将真值表转换为对应的逻辑函数式,或者直接画出卡诺图,然后使用第三章中介绍的卡诺图将逻辑函数进行化简。
- 根据化简后的逻辑函数,画出逻辑电路图。
常见的组合逻辑电路:多路选择器、编码器、译码器、移位器、比较器、
多路选择器
最简单的多路选择器(Multiplexer)是1位二选一多路器。
当输入S为高电平时,输入Y的值为输入A1的值;
当输入S为低电平时,输入Y的值为输入A0的值。
四选一多路选择器代码
module MUX4X32 (A0, A1, A2, A3, S, Y);
input [31:0] A0, A1, A2, A3;
input [1:0] S;
output [31:0] Y;
function [31:0] select;
input [31:0] A0, A1, A2, A3;
input [1:0] S;
case (s)
2ˊb00: select = A0;
2ˊb01: select = A1;
2ˊb10: select = A2;
2ˊb11: select = A3;
endcase
endfunction
assign y = select (A0, A1, A2, A3, S);
end module
译码器
module DEC2T4 (I0, I1, Y0, Y1, Y2, Y3);
input I0, I1;
output Y0, Y1, Y2, Y3;
not i0 (I0_n, I0);
not i1 (I1_n, I1);
nor i2 (Y0, I0, I1);
nor i3 (Y1, I0, I1_n);
nor