差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
programming_fpga_w_verilog [2021/09/11 18:44] gongyusu |
programming_fpga_w_verilog [2021/09/11 18:53] (当前版本) gongyusu |
||
---|---|---|---|
行 9: | 行 9: | ||
#### 逻辑门 | #### 逻辑门 | ||
逻辑门有输入和输出,这些数字输入和输出可以是“高”或者“低”, 无论是输入端还是输出端,所谓的“低”指的是接近于0V(地)的电压,而“高”一般是超过提供给该逻辑器件的供电电压一半以上的电压,给FPGA提供的电压一般为1.8V、3.3V或着5V中的一个,多数的FPGA的工作电压范围有一定的冗余度,有些FPGA允许在一个器件中存在多个逻辑电压. | 逻辑门有输入和输出,这些数字输入和输出可以是“高”或者“低”, 无论是输入端还是输出端,所谓的“低”指的是接近于0V(地)的电压,而“高”一般是超过提供给该逻辑器件的供电电压一半以上的电压,给FPGA提供的电压一般为1.8V、3.3V或着5V中的一个,多数的FPGA的工作电压范围有一定的冗余度,有些FPGA允许在一个器件中存在多个逻辑电压. | ||
+ | - [[https://www.electronicshub.org/introduction-to-logic-gates/|数字门介绍]] | ||
+ | |||
- [[not_gate|非门 - NOT Gate]] | - [[not_gate|非门 - NOT Gate]] | ||
- [[and_gate|与门 - AND Gate]] | - [[and_gate|与门 - AND Gate]] | ||
- [[or_gate|或门 - OR Gate]] | - [[or_gate|或门 - OR Gate]] | ||
+ | - [[nand_gate|与非门 - NAND Gate]] | ||
+ | - [[nor_gate|或非门 - NOR Gate]] | ||
- | ##### 与非门(NAND Gate)和或非门(NOR Gate) | ||
- | 图1.1中非门符号的输出端一个小圆圈表示门的反相功能,一个与非门(与后非)就是一个与门再加一个输出端的反相器构成;或非门为一个或门再加一个输出端的反相器构成。图1.5显示了这两种门的符号,表1.4和表1.5分别为这两种门的真值表。 | ||
- | {{drawio>nandgatesymbol.png}} <WRAP centeralign>图1.5 一个“与非门”和“或非门”</WRAP> | ||
- | {{drawio>nandgatetruetables.png}} <WRAP centeralign>表1.4 一个“与非门”的真值表</WRAP> | ||
- | {{drawio>norgatetruetables.png}}<WRAP centeralign>表1.5 一个“或非门”的真值表</WRAP> | ||
与非门和或非门都是非常通用的门,因为只需要反相它们的输入端或输出端就可以构成其它任何一种门,另外你可以用与非门或着或非门构成非门,只需要将两个输入信号连接在一起就可以。例如图1.6中你可以用3个或非门构成一个与门。 | 与非门和或非门都是非常通用的门,因为只需要反相它们的输入端或输出端就可以构成其它任何一种门,另外你可以用与非门或着或非门构成非门,只需要将两个输入信号连接在一起就可以。例如图1.6中你可以用3个或非门构成一个与门。 | ||
{{drawio>3norgate2nand.png}} <WRAP centeralign>图1.6 用3个“或非门”构成一个“与门”</WRAP> | {{drawio>3norgate2nand.png}} <WRAP centeralign>图1.6 用3个“或非门”构成一个“与门”</WRAP> | ||
- | |||
De Morgan定律 | De Morgan定律 | ||
+ | |||
图1.6的设计利用了逻辑定律中的De Morgan定律 - 将两个输入端“与”后的结果进行取反,和先将两个输入端进行取反以后再“或”得到的结果是一样的。在图1.6中,两个输入端信号先被由“或非门”构成的“非门”取反以后进行“或”操作,再对输出的结果取反。 | 图1.6的设计利用了逻辑定律中的De Morgan定律 - 将两个输入端“与”后的结果进行取反,和先将两个输入端进行取反以后再“或”得到的结果是一样的。在图1.6中,两个输入端信号先被由“或非门”构成的“非门”取反以后进行“或”操作,再对输出的结果取反。 | ||
{{drawio>usenortomakeandtruetable.png}}<WRAP centeralign>表1.6 用多个异或门构成一个与门的真值表</WRAP> | {{drawio>usenortomakeandtruetable.png}}<WRAP centeralign>表1.6 用多个异或门构成一个与门的真值表</WRAP> | ||
- | * 异或门(XOR Gate) | + | - [[xor_gate|异或门 - XOR Gate]] |
- | 前面讲到的“或门”是一种包容性的或,两个输入端A、B只要任何一个为高电平或者两个都为高电平,其输出端就为高电平。但也存在这样一种排斥性的“或”,称之为异或,只有其输入端的电平不同(无论哪个信号是高还是低),其输出端才为高电平。异或门非常有用,可以用来比较输入信号。 | + | |
- | 图1.7 展示了如何使用4个与非门构成一个异或门。 | + | |
- | {{drawio>xorgatesymbol.png}}<WRAP centeralign>图1.7 用4个与非门构成一个异或门</WRAP> | + | |
- | {{drawio>xorgatetruetable.png}}<WRAP centeralign>表1.7 异或门的真值表</WRAP> | + | |
#### 二进制 | #### 二进制 |