异步系统——很像面向对象的软件——通常是由模块化的“硬件对象”构成的,每个都有定义明确的通信接口。无论是由于数据相关处理、动态电压缩放还是过程变化,这些模块都可以以可变速度运行。然后,这些模块可以组合在一起,形成一个正确的工作系统,而无需参考全局时钟信号。典型地,由于组件仅在需要时才被激活,所以获得低功率。此外,已经展示了几种异步风格来适应时钟接口,从而支持混合时序设计。因此,异步系统很好地满足了在组装大规模异构和可伸缩系统时对构造正确方法的需求。
异步设计风格种类繁多,在健壮性和性能(以及功率等其他参数)之间进行权衡。设计风格的选择取决于应用目标:可靠性/设计简易性与速度。最稳健的设计使用“延迟不敏感电路”,无论栅极和导线延迟如何,其操作都是正确的;然而,只有有限的有用系统可以用这种风格设计。准延迟不敏感电路(也称为速度无关电路)的鲁棒性稍差,但有用得多,例如延迟不敏感的最小项合成,不管门延迟如何,它都能正常工作;但是,每个fanoutpoint的线路必须调整到大致相等的延迟。鲁棒性较低但速度较快的电路,需要简单的局部单侧时序约束,包括使用基本模式操作的控制器(即当可以接收新输入时,设置/保持要求开启),以及使用匹配延迟的捆绑数据路径(见下文)。在极端情况下,已经提出了高性能的“定时电路”,其使用严格的双边定时约束,其中仍然可以避免时钟,但是需要小心的物理延迟调谐,例如对于一些高速流水线应用。
异步通信通常在信道上执行。通信既用于同步并发系统的操作,也用于传递数据。一个简单的通道通常由两条线路组成:请求和确认。在“四阶段握手协议”(或归零制)中,请求由发送方组件声明,接收方通过声明确认来响应;那么这两个信号被依次检查。在“两阶段握手协议”(或转换信令)中,请求者只需切换请求线上的值(一次),接收器通过切换确认线上的值进行响应。信道也可以扩展到传输数据。
异步数据路径通常使用几种方案进行编码。健壮的方案为每个比特使用两条线路或“轨道”,称为“双轨编码”。在这种情况下,第一轨被确保为发送0值,或者第二轨被确保为发送1值。然后,在发送下一个数据值之前,确认过的轨被重置为零,从而指示“无数据”或“间隔”状态。一个不太健壮但被广泛使用和实用的方案被称为“单轨捆绑数据”。这里,可以使用单轨(即同步型)功能块,并附带最坏情况匹配延迟。有效数据输入到达后,请求信号被确保为匹配延迟的输入。当匹配的延迟产生“完成”输出时,该块保证已经完成计算。虽然该方案有时序限制,但它们简单、本地化(不同于同步系统),并且是单侧的,因此通常易于验证。
该领域的文献存在于各种会议和期刊中。领先的研讨会是IEEE异步研讨会(异步电路和系统国际研讨会),成立于1994年。自20世纪80年代中期以来,各种异步论文也已发表在诸如IEEE/ACM设计自动化会议、IEEE国际计算机设计会议、IEEE/ACM国际计算机辅助设计会议、国际固态电路会议和超大规模集成电路高级研究等会议上,以及诸如IEEE超大规模集成电路系统事务、IEEE集成电路和系统计算机辅助设计事务和分布式计算事务等领先期刊上。
^Losada, María Guinaldo; Rubio, Francisco Rodríguez; Dormido, Sebastián (2015-10-04). Asynchronous Control for Networked Systems (in 英语). Springer. ISBN 9783319212999..
^Sparsø, Jens; Furber, Steve (2013-04-17). Principles of Asynchronous Circuit Design: A Systems Perspective (in 英语). Springer Science & Business Media. ISBN 9781475733853..
暂无