为什么完全异步电路没有更普遍?

电器工程 数字逻辑 超大规模集成电路 同步
2022-01-13 15:04:19

据我了解,大多数现代消费类 CPU 都是基于同步逻辑的。一些高速应用程序(信号处理等)使用异步逻辑以获得更高的速度。

然而,在今天的市场上,消费产品的速度是主要卖点之一(参见 AMD 与 Intel。)更复杂的光刻技术的发展是否比采用完全异步逻辑更快?还是异步逻辑对于 VLSI 应用程序来说太复杂/不切实际?

4个回答

我在一家将异步设计技术商业化的初创公司工作了几年,所以我很熟悉原因:

  • async本质上并不快。最坏情况下的路径延迟保持不变。只是有时您可以利用更快的路径执行。

  • async 也有完成检测的开销。

  • 设计工具。这是一个真正重要的问题:实际上并没有与同步设计具有相同质量的完整的异步“工具流”。

  • 训练。您实际上必须重新培训您的所有设计师使用新的范例和工具。

  • 风险和保守主义。很多行业都在“生产与上一个类似但有点不同的东西”。这有很高的工作机会。公司更不愿意构建完全不同的东西,因为它更有可能成为耗资数千万美元的总注销。

设计异步集成电路非常诱人。其他答案已经涵盖了许多在做之前要三思而后行的理由。这里还有一个:

IC 开发还没有完成设计。验证和测试同样重要。不仅同步电路的设计工具非常先进,仿真工具和测试设备也是如此。

确认

让电路在实验室条件下工作是不够的。它们需要在工作电压 (V) 范围、工作温度 (T) 范围以及制造工艺 (P) 引起的变化方面保持稳健。对于同步逻辑,这可以在静态时序分析的帮助下得到保证。该电路被分解到所有时序路径,从触发器到触发器。检查每条时序路径以及 P、T 和 V 的不同组合的建立和保持时间。这些 PTV 组合就是所谓的模拟角。

可以对异步电路进行类似的验证,但要困难得多,设计工具的支持也少得多。它还将设计者限制在实际可以验证的异步构造上。对于任意异步电路没有可靠的验证。

测试

在测试硬件时也存在类似的困难。测试标准和设备完全支持测试同步逻辑。测试异步电路不仅更复杂,而且由于缺乏时序抽象,甚至不足以证明该电路适用于所有 PTV 角。由于某些 PTV 组合的比赛条件,该赛道可能会失败,而这些组合并未被弯道覆盖。

概括

IC 设计人员并没有放弃异步范式,但异步逻辑在验证和确认过程中存在严重缺陷。在工业环境中,需要将异步 IC 设计限制在可以被证明在整个工艺变化参数空间以及温度和电压工作范围内工作的构造上。

所谓的“局部同步全局异步”设计是获得两种时序范式的更多优点和更少缺点的一种方式。

异步二进制计数器更简单,因为它们每次除以 2 只使用 1 个存储单元或 T 触发器。因此,旧的 CD 和 74HC4020 和 4040 提供了许多廉价的二进制阶段。每个阶段的 prop 延迟意味着它不能在没有竞争条件或二进制地址门解码故障的情况下使用,除非 prop 延迟小于 1/2 输入时钟周期,使用后沿锁存结果。然后将输出延迟乘以 N 个阶段。

同步二进制计数器使用 D FF 的额外存储单元来延迟,但对于任何长度的计数器,将延迟最小化为 1 值,因此它消耗更多区域。

因此,所有 CPU 都使用互补时钟来优化地址和内存读/写的预期延迟,以最大化吞吐量但不超过 prop 延迟、设置和保持时间。

内存现在使用许多阶段,例如 DDR、3DR、4DR、5DR,特别是对于图形内存,但 CPU 时钟比单周期 RAM 速率快得多,因此读取和写入地址延迟可以按单个或多个或一半计数来计时由 T 小数或整数指定的超级时钟(例如 100MHz xN)为每个参数计数。这些道具延迟随着温度的增加而增加。对于 CMOS 并通过更高的 Vram 电压降低,如果适当冷却,可能会减少延迟或其他增加 Pd 和温度升高并使其变得更糟(更慢)。因此,无论是用于异步操作还是同步操作,冷却、V、f、T 对于优化延迟都是至关重要的。

早期的逻辑设计是异步的。很多时候,它们也与模拟电路混合在一起。然而,随着时间的推移,设计变得更加复杂,因此需要更多的工程师来完成一个设计。异步时序图。当有很多状态时,逻辑可能会很麻烦。现在添加一个工程师团队,试图将不同的逻辑块连接在一起,但它们之间的时序并没有很好地对齐。设计会因无法预料的变化而变得脆弱。

进入同步逻辑设计。现在,所有状态流都与时钟信号对齐,从而可以很好地定义接口,并且对设计更改更加稳健。是的,它可能会使用更多的门,但它(通常)在设计上是稳定的;只要没人碰就稳定了!