e-works数字化企业网  »  文章频道  »  产品创新数字化(PLM)  »  EDA

基于同步EDA工具的异步电路设计流程(上篇)

2013/5/9    来源:万方数据    作者:王友瑞  石伟  王志英  陆洪毅  苏博      
关键字:异步电路设计流程  EDA工具  延迟匹配  
随着VLSI技术的迅猛发展与应用需求的不断提高,微处理器中的功耗、时钟偏移等问题越来越严重,异步电路及其设计方法受到广泛关注,异步电路设计缺乏通用商业EDA工具的支持,现有的基于同步EDA工具的异步电路设计方法存在复杂度高等问题,提出了一种新的异步电路设计流程。该流程充分利用现有同步EDA工具,通过采用多路虚拟时钟综合方法对电路进行逻辑综合,以及在后端实现时对异步控制通路进行定量延迟分析和精确延迟匹配,可以得到更加优化的电路。

    与同步电路相比,异步电路具有功耗低、无时钟扭曲等优势,从而受到越来越广泛的关注,但由于缺乏通用商业EDA工具的支持,异步电路在设计描述、逻辑综合、后端实现等各个层面上都有许多理论与工程方面的问题需要解决。因此,研究基于同步EDA工具的异步电路设计方法具有重要意义。

    基于同步EDA工具的异步电路设计方法主要分为两种:一种方法是首先全定制整个异步标准单元库,然后利用同步EDA工具将异步电路描述综合成对应的异步电路,这种定制整个异步标准单元库的方法复杂度较高,而且不利于同步电路设计人员了解掌握;另一种方法是直接采用工艺厂家提供的标准单元库来设计实现异步电路,这种方法不够灵活,且不能利用异步时序电路结构(如C单元等)以保证电路无险态、无毛刺地实现握手协议和完成检测,为了在实现异步时序电路结构的同时提高设计效率,我们小组结合现有的同步EDA工具提出了一种基于宏单元的异步电路设计流程和一种异步电路设计自动化流程AFMC。AFMC主要解决基于宏单元的异步电路设计流程前端设计自动化程度不高的问题,而没有对其后端设计流程进行优化。实际上,采用同步EDA工具更高效地进行综合优化以及后端实现也是异步电路设计过程中需要解决的一个关键问题。

    本文在AFMC基础上进一步对后端流程进行优化,提出了一种从设计描述到综合优化再到后端实现的完整异步电路设计流程,并实现了一款异步微处理器内核。该流程充分利用现有成熟的同步EDA工具,使熟悉同步集成电路设计的人员能较快地掌握异步集成电路设计方法,提高了设计效率。

1 异步电路设计流程

    1.1 AFMC:基于宏单元的异步电路设计自动化流程

    AFMC是在基于宏单元的异步设计流程基础上,为加速并简化异步电路设计而提出的一种异步电路设计流程。该流程引入流水线中寄存器位置信息(register position information,RPI)的概念来表征流水线的结构,从而识别出RTL代码中所有寄存器所处的流水线级数,并以此实现同步RTL代码向异步RTL代码的转换,同步一异步代码转换是AFMC的重要组成部分。下面对该部分进行简单介绍。

    首先,同步HDL(hardware description language)实现的代码经过编译产生相应的控制数据流图(control and data flow graph,CDFG)。然后,遍历CDFG进行流水线的结构分析和相关性分析:通过结构分析获取每个寄存器在流水线中的位置信息,并根据得到的寄存器位置信息将同步代码转换成相应的异步电路数据通路代码;通过相关性分析生成数据依赖图(data dependency graph,DDG),并根据电路的数据依赖图生成异步电路的控制通路结构,最后,将数据通路和控制通路合并得到异步电路HDL代码。

    AFMC解决了基于宏单元的异步设计流程自动化程度不高的问题,能够快速地将同步流水线转换成异步流水线,提高了设计效率,但AFMC主要针对异步电路的前端设计。本文将在其前端设计基础上,采用同步EDA工具更高效地进行综合优化和后端实现。

    1.2 本文提出的流程

    在AFMC的基础上,本文提出了一种新的异步电路设计流程,如图1所示:

异步电路设计流程

    图1 异步电路设计流程

    整个流程的具体步骤如下:

    1)系统行为级描述及仿真。首先根据设计需求划分模块,分模块建模并采用HDL语言对整个系统进行行为级描述;然后利用仿真工具进行全系统仿真,确保功能设计的正确性。

    2)RTL级设计。首先,利用HDL语言对系统进行同步RTL级描述及仿真;然后对同步RTL代码进行同步一异步RTL转换,得到异步RTL代码,并将控制通路部分涉及到的握手单元、C单元及延迟单元等异步单元采用硬件描述语言进行实例化并描述其连接关系,这些单元在后端采用宏单元定制的方法实现。

    3)逻辑综合。使用多路虚拟时钟综合方法对异步RTL代码进行逻辑综合,得到门级网表。本文将在1.2.1节对该步骤进行详细介绍。

    4)后端实现。后端实现主要包括异步宏单元定制及映射、前仿、布局及延迟优化、布线及异步时序分析和版图验证,本文将在1.2.2节对该步骤进行详细介绍。

    其中,RTL级设计阶段通过同步一异步代码转换,快速地将同步RTL代码转换为异步代码,降低了设计的复杂度。由于异步电路只有局部控制信号面没有时钟,所以在EDA工具看来,电路中只有组合逻辑,因此不能像同步电路设计一样使用时钟来完成逻辑综合和后端实现。在逻辑综合时,必须对电路作一些修改并且增加多路虚拟时钟约束,使得同步EDA工具能够对异步电路进行时序分析优化;在后端实现时,必须对异步控制通路的延迟进行定量分析和精确延迟匹配,确保满足异步流水线的时序要求,使其正常工作。

责任编辑:程玥
本文为授权转载文章,任何人未经原授权方同意,不得复制、转载、摘编等任何方式进行使用,e-works不承担由此而产生的任何法律责任! 如有异议请及时告之,以便进行及时处理。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。
e-works
官方微信
掌上
信息化
编辑推荐
新闻推荐
博客推荐
视频推荐