为什么全异步电路没有普及?[关闭]


19

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

但是,在当今市场中,消费类产品的速度是主要卖点之一(请参阅AMD与Intel的比较。)难道比采用完全异步逻辑开发更复杂的光刻技术还快吗?还是对于VLSI应用而言,异步逻辑是否过于复杂/不切实际?


4
我认为以程序方式对它们进行编程非常困难。
mehmet.ali.anil

16
当前的体系结构是混合的。同步块以异步方式互连。是的,异步逻辑要复杂得多。
尤金(Eugene Sh)。

5
因为我们还没有很好的异步时序收敛工具。
Oldfart

2
系统变得越来越异步。在现代CPU上,RAM,高速缓存和CPU内核等事物均以独立的时钟运行。新的英特尔处理器HEDT借此更进一步,允许每个在芯片上的许多内核,以在时钟彼此独立,并从RAM,高速缓存运行,外部总线等
Ĵ...

1
要记住的一件事是,同步时钟为系统引入了标准化的心跳,而如果您采用纯异步设计,则可能必须通过其他某种方式来适应诸如传输延迟之类的琐碎的时序差异。在异步设计中实现纯函数也是相对有效的,但是有状态函数(或像平方根这样的更难的操作)会变得复杂。路由信号也可能很困难(没有总线,将所有组件连接到所有组件可能会卡住)。
jrh

Answers:


45

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

  • 异步并不是本质上更快。最坏情况下的路径延迟保持不变。只是有时您会利用更快的路径执行优势。

  • 异步也有完成检测的开销。

  • 设计工具。这是非常大的一个:实际上并没有与同步设计相同质量的工具的完整异步“流程”。

  • 训练。您实际上必须在新的范例和工具上对所有设计师进行再培训。

  • 风险和保守主义。行业的大部分内容是“产生与上一个类似的东西,但是有些不同”。这很有可能工作。公司更不愿建立完全不同的东西,因为它有更多的机会成为总损失数千万美元的资产。


从本质上讲,它可能更便宜但更慢。
托尼·斯图尔特Sunnyskyguy EE75

3
我记得曾经考虑过这一点,并且也意识到:同步芯片的时钟频率微不足道(用于电池/温度/等),而异步芯片的频率则可能更低?
Mooing Duck

就设计工具/范例而言,同步逻辑能够完全忽略组合逻辑输出中的毛刺,仅要求时钟信号无毛刺。同样,异步电路更有可能需要为某些信号增加额外的延迟,以确保就绪信号不能在数据到达之前到达下一个块等。在同步电路中,很少需要人工延迟。想到的少数情况之一是满足保持时间要求,通常可以通过自然延迟来满足。同样,某些跨时钟域的情况可能需要延迟。
Kevin Cathcart

我认为,在许多情况下,使用两相非重叠时钟可以提供比单个时钟更多的优势。当使用单个时钟时,任何欠幅脉冲都会导致系统跳动,但是当使用通过两个比较器馈入时钟输入而生成的两相时钟时,如果在时钟相位之前或之后跟随时钟相位的欠幅脉冲将无害。一个有效长度的时钟脉冲,在相反的时钟相位上没有中间脉冲。
supercat

3
@MooingDuck取决于逻辑范式。我研究了一些Null Convention Logic,它会在条件(过程,电压,温度)允许的情况下尽快运行。由于这些条件,您不需要降低时钟频率,它会自动执行
W5VO

3

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

IC开发尚未完成设计。验证和测试同样重要。不仅设计工具对于同步电路非常先进,而且仿真工具和测试设备也是如此。

验证

使电路在实验室条件下工作还不够。它们需要在工作电压(V)范围,工作温度(T)范围以及由于制造工艺(P)引起的变化方面保持稳健。对于同步逻辑,可以借助静态时序分析来保证这一点。电路分解为从触发器到触发器的所有时序路径。对于每个单独的时序路径,以及P,T和V的不同组合,都会检查建立和保持时间。这些PTV组合就是所谓的仿真角。

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

测试

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

摘要

IC设计人员没有放弃异步范例,但是异步逻辑在验证和确认过程中具有严重的劣势。在工业环境中,需要限制异步IC设计的结构,这种结构可以证明能够在工艺变化的整个参数空间以及温度和电压的工作范围内工作。

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


0

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

同步二进制计数器使用一个额外的存储单元到D FF进行延迟,但是对于任何长度的计数器,将延迟最小化为1值,因此会占用更多的区域。

因此,所有CPU都使用互补时钟来优化地址和存储器读/写中的预期延迟,以最大化吞吐量,但不超过传输延迟,建立和保持时间。

内存现在使用多个阶段,例如DDR,3DR,4DR,5DR,特别是用于图形内存,但是CPU时钟的运行速度比单周期RAM速率快得多,因此读写地址延迟可以按单个或多个或一半计数来计时。每个参数的T小数或整数表示的超级时钟(例如100MHz xN)。这些道具延迟随温度增加。对于CMOS,以较高的Vram电压降低电压,如果妥善冷却,则可能会缩短延迟时间或其他增加的Pd和温度升高,并使其变差(变慢)。因此,无论是用于异步操作还是同步操作,散热V,f,T都是最佳延迟的关键。


-1

早期的逻辑设计是异步的。通常,它们也与模拟电路混在一起。但是,随着时间的推移,设计变得越来越复杂,因此需要更多的工程师来进行单个设计。异步时序图。当状态很多时,逻辑可能很麻烦。现在添加一个工程师团队,试图将不同的逻辑块连接在一起,但是它们之间的时序安排得不太好。设计变得无法预料地发生变化。

进入同步逻辑设计。现在,所有状态流都与一个时钟信号对齐,该时钟信号可以很好地定义接口,并且对设计更改具有更高的鲁棒性。是的,它可能会使用更多的门,但是(通常)设计稳定。只要没有人碰它就会变得稳定!


1
也有异步设计方法,可以保证“按设计正确”和“定义明确的接口”。这些与同步设计的简化假设完全不同。
埃德加·布朗
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.