📜  门| GATE CS 2019 |简体中文第54章(1)

📅  最后修改于: 2023-12-03 15:12:37.127000             🧑  作者: Mango

门 | GATE CS 2019 | 简体中文第54章

简介

"门"是计算机科学中的一个基本概念,作为程序员我们必须了解它的作用和分类。本篇文章将对门进行详细介绍。

门的定义

“门”(gate)是一种电子元器件,是一种用于控制电流的逻辑开关。它根据输入的电信号逻辑运算后输出结果,用于构建数电等逻辑电路。

门的分类
1. 基本逻辑门
  • 与门(AND)
  • 或门(OR)
  • 非门(NOT)
2. 组合逻辑门
  • 异或门(XOR)
  • 与非门(NAND)
  • 或非门(NOR)
3. 存储逻辑门
  • 锁存器(LATCH)
  • 触发器(FLIP-FLOP)
基本逻辑门
与门(AND)

与门有两个输入和一个输出,在输入电平全是高电平时,输出电平才为高电平,否则输出电平为低电平。与门的逻辑公式为:

Q = A ∧ B

代码片段:

module and_gate (input A, input B, output Q);
assign Q = A & B;
endmodule
或门(OR)

或门有两个输入和一个输出,在输入电平全是低电平时,输出电平才为低电平,否则输出电平为高电平。或门的逻辑公式为:

Q = A ∨ B

代码片段:

module or_gate (input A, input B, output Q);
assign Q = A | B;
endmodule
非门(NOT)

非门只有一个输入和一个输出,它将输入信号逻辑地反转,输出信号为输入信号的补。非门的逻辑公式为:

Q = ¬A

代码片段:

module not_gate (input A, output Q);
assign Q = !A;
endmodule
组合逻辑门
异或门(XOR)

异或门有两个输入和一个输出,当且仅当两个输入信号不同的时候输出信号才为高电平,否则输出信号为低电平。异或门的逻辑公式为:

Q = A ⊕ B

代码片段:

module xor_gate (input A, input B, output Q);
assign Q = A ^ B;
endmodule
与非门(NAND)

与非门是“与门”和“非门”的组合,它有两个输入和一个输出,当且仅当两个输入信号全为高电平时,输出信号才为低电平,否则输出信号为高电平。与非门的逻辑公式为:

Q = ¬(A ∧ B)

代码片段:

module nand_gate (input A, input B, output Q);
assign Q = ~(A & B);
endmodule
或非门(NOR)

或非门是“或门”和“非门”的组合,它有两个输入和一个输出,当且仅当两个输入信号全为低电平时,输出信号才为高电平,否则输出信号为低电平。或非门的逻辑公式为:

Q = ¬(A ∨ B)

代码片段:

module nor_gate (input A, input B, output Q);
assign Q = ~(A | B);
endmodule
存储逻辑门
锁存器(LATCH)

锁存器,也叫“存储器门”,是一种简单的电路,用于将一个数据存储在其中。锁存器的输出值可以根据外部控制输入的不同而发生变化,有时也被称为“触发器”。

触发器(FLIP-FLOP)

触发器也是一种存储电路,可以通过控制输入信号来存储数据。常用于计算机内部存储器、定时器等应用场合。常见的触发器包括RS触发器、JK触发器、D触发器等。

总结

本文介绍了门的定义、分类和常见的门类型,包括基本逻辑门、组合逻辑门和存储逻辑门。门的实现可以用硬件电路或者Verilog/VHDL等硬件描述语言来实现,熟练掌握门的使用及其底层知识对我们日常工作和开发都是非常有用的。