基本 AND、OR、NOT、NAND、NOR、XOR、XNOR 门的延迟时间有何不同?
What are the difference in delay times of the basic AND, OR, NOT, NAND, NOR, XOR, XNOR gates?
1-1 基本逻辑门的延迟时间有何不同?
我发现在数字电路设计中 NAND 和 NOR 门是首选,因为延迟时间更短,AND 和 OR 门甚至可以用 NOT 和 NAND/NOR 门来实现。
1-2 AND、OR、NOT 门之间的延迟时间是否有设定的或已知的差异?
对于典型的 fpga(基于 LUT 的逻辑元素)来说,根本没有区别。
单个单元格可以根据其结果真相 table 实现复杂的功能,并且多个表达式可能会折叠到单个单元格中,因此您甚至找不到单个 and/or/not "gates".
ASIC 可能会有所不同,我不知道。但是在典型的 fpga 中你没有门,有基于 ram 的查找 tables,实现其输入的复杂功能 - 4-6 个输入,而不仅仅是 2.
您会发现在足够大的设计中,路由成本比单个逻辑单元中的延迟高得多。
如果您查看这些不同门的构造方式,您会发现造成差异的一些原因。反相器由一个上拉晶体管和一个下拉晶体管组成。这是最简单的门,因此可能是最快的。 NAND有两个串联的下拉器件和两个并联的上拉晶体管。 NOR基本上与NAND相反。是的:AND 通常只是 NAND + 反相器。
两个晶体管串联时,路径的导通电阻会更高(使其变慢),并且连接到单个节点的晶体管数量会增加俘虏负载(使其变慢)。您可以通过使用更大的晶体管(导通电阻更低)来加快速度,但这会增加驱动它的任何单元的负载,从而减慢该单元的速度。
这是一个很大的优化问题,您可能不应该尝试自己解决。这就是 EDA 工具的用途。
1-1 基本逻辑门的延迟时间有何不同?
我发现在数字电路设计中 NAND 和 NOR 门是首选,因为延迟时间更短,AND 和 OR 门甚至可以用 NOT 和 NAND/NOR 门来实现。
1-2 AND、OR、NOT 门之间的延迟时间是否有设定的或已知的差异?
对于典型的 fpga(基于 LUT 的逻辑元素)来说,根本没有区别。 单个单元格可以根据其结果真相 table 实现复杂的功能,并且多个表达式可能会折叠到单个单元格中,因此您甚至找不到单个 and/or/not "gates".
ASIC 可能会有所不同,我不知道。但是在典型的 fpga 中你没有门,有基于 ram 的查找 tables,实现其输入的复杂功能 - 4-6 个输入,而不仅仅是 2.
您会发现在足够大的设计中,路由成本比单个逻辑单元中的延迟高得多。
如果您查看这些不同门的构造方式,您会发现造成差异的一些原因。反相器由一个上拉晶体管和一个下拉晶体管组成。这是最简单的门,因此可能是最快的。 NAND有两个串联的下拉器件和两个并联的上拉晶体管。 NOR基本上与NAND相反。是的:AND 通常只是 NAND + 反相器。
两个晶体管串联时,路径的导通电阻会更高(使其变慢),并且连接到单个节点的晶体管数量会增加俘虏负载(使其变慢)。您可以通过使用更大的晶体管(导通电阻更低)来加快速度,但这会增加驱动它的任何单元的负载,从而减慢该单元的速度。
这是一个很大的优化问题,您可能不应该尝试自己解决。这就是 EDA 工具的用途。