Verilog 数字模块设计

1. 多路复用器搭建逻辑门

在数字信号的传输过程中,有时候需要从多组数据中选择一组出来,这时候就要用到一种称为数据选择器或叫多路复用器的逻辑电路。

最简单的复用器(MUX)有两个数据输入端,一个数据选择端,一个输出端,如下图所示:

image-20220712173152569

当sel为0时,输出为A,当sel为1时,输出为B,则输出O与输入A、B之间的真值表为:

A B Sel O
0 0 0 0
0 1 0 0
1 0 0 1
1 1 0 1
0 0 1 0
0 1 1 1
1 0 1 0
1 1 1 1

由以上真值表可化简出输入与输出之间的逻辑表达式为:$O = Sel’A +SelB$,由此可看出具有n位输入的数据选择器,可以产生任何形式输入变量不大于n+1的组合逻辑函数。

四输入多路复用器如下图所示:

image-20220712173832746

简化后的4输入复用器输入输出为:

Sel[1:0] O
00 A
01 B
10 C
11 D

在ECO(Engineering Change Order)阶段,需要使用替补元件(额外的元件)对电路进行修正,使用多路复用器较为方便,很多逻辑门(与门、或门、异或门)可以用复用器实现。

1.1 MUX 2 to 1 实现与门

多路复用器的逻辑表达式为:O = Sel'A +SelB ,与门的逻辑关系为: O = AB , 比较与门与MUX逻辑表达式的异同,要想用MUX实现与门的功能,则需要把 A 接入低电平. 如下图所示:

image-20220712185832326

1.2 MUX 2 to 1 实现或门

多路复用器的逻辑表达式为:O = Sel'A +SelB ,或门的逻辑关系为: O = A+B , 比较或门与MUX逻辑表达式的异同,要想用MUX实现或门的功能,则需要把B接高电平,之后就逻辑表达式为:O = S'A+ S = A + S(逻辑公式化简:o=S'A+ S= A + S详见《数字电子技术基础第六版》阎石p25),由此可见,只需要将之前的MUX 2 to 1的B接高电平,把Sel 和A当成或门的输入即可. 如下图所示:

image-20220713013002112

1.3 MUX 2 to 1 实现非门

O = Sel'A +SelB 实现非门,只需要将B接低电平,A接高电平,根据选择信号实现取反逻辑,如下图所示:

image-20220713013531161

1.4 MUX 2 to 1 实现异或门

异或门的逻辑表达式为:O = A'B + AB', MUX逻辑表达式O = Sel'A + SelB, 结合MUX逻辑表达式,则令B = A'即可实现异或门的逻辑功能。也即加了一个非门,非门可以用1.3MUX转换成的非门

image-20220712190049491
0%