CN112651207B - 一种异步电路物理实现方法及系统 - Google Patents
一种异步电路物理实现方法及系统 Download PDFInfo
- Publication number
- CN112651207B CN112651207B CN202011536935.3A CN202011536935A CN112651207B CN 112651207 B CN112651207 B CN 112651207B CN 202011536935 A CN202011536935 A CN 202011536935A CN 112651207 B CN112651207 B CN 112651207B
- Authority
- CN
- China
- Prior art keywords
- design
- asynchronous
- data
- physical
- wiring
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/394—Routing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/392—Floor-planning or layout, e.g. partitioning or placement
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Architecture (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明公开了一种异步电路物理实现方法及系统,其中方法包括:数据准备阶段,导入综合数据、物理数据和用于打断组合逻辑环的文件;设计规划阶段,导入IO引脚约束文件;布局阶段,对IO进行虚假路径约束;布线阶段,对信号线进行全局布线、布线通道分配、详细布线以及布线修补;可制造性设计阶段,解决天线效应问题、芯片密度不均匀问题和金属密度问题;导出设计数据,进行后仿真,若仿真出现错误,返回可制造性设计阶段进行处理;对导出的门级网表与物理版图进行物理验证。本发明提出一种新的异步电路物理实现方案,能够实现基于同步设计工具实现大规模的异步集成电路的物理设计,兼容当今的同步电路设计流程,可广泛应用于集成电路技术领域。
Description
技术领域
本发明涉及集成电路技术领域,尤其涉及一种异步电路物理实现方法及系统。
背景技术
异步电路的相关研究最早开始于20世纪50年代中期,但是发展速度相对缓慢,一方面其设计流程并不规范、完善,另一方面又没有成熟的商用EDA工具的支持,而同步电路则是在这两方面非常有优势,比如Synopsys公司有一整套的设计工具对应同步电路的设计流程,而且相关的电子设计自动化(Electronic Design Automation,EDA)工具也会不断更新,满足新的工艺节点需求。尽管异步电路能解决同步电路存在的许多问题,但是由于上述原因,在集成电路设计领域,异步集成电路设计所占市场份额很少。
近年来,人工智能的快速发展,催生了各种新兴技术,如深度学习。当前,以卷积神经网络为基础的深度学习在各种应用取得非常好的效果,如图像处理、物体检测等。然而卷积神经网络的训练需要大量的数据,而且在整个训练过程会产生巨大的计算量和访存次数,因此需要专用的处理器来进行处理,各种神经网络加速器也应运而生。目前的大多数加速器都是基于同步电路设计的,需要全局时钟来实现各个模块的同步化,然而由于电路设计规模的扩大,系统引入的时钟网络也变得十分庞大,有的时钟网络产生的功耗已经超过整体功耗40%,能效比较低。异步电路主要通过异步握手协议来实现模块间通信的同步化,无需引入全局时钟,从而消除了系统时钟网络所产生的大量功耗,因此引起人们广泛的关注。
目前虽然存在一些异步电路设计的EDA工具,如曼彻斯特大学的Balsa,同时也存在各种各样的异步电路设计方法,比如全定制的设计方法,但是随着异步集成电路的规模越来越大,这些工具和方法难以适用。同时,异步电路的技术更新也难以跟上工艺的发展。因此,在缺乏商用的异步EDA工具的背景下,提出一种适应异步电路的高效设计流程将对异步电路的发展有着重要的意义。
术语解释:
物理实现:指在芯片设计后期,将逻辑综合后的门级网表转化成物理版图。
发明内容
为至少一定程度上解决现有技术中存在的技术问题之一,本发明的目的在于提供一种异步电路物理实现方法及系统。
本发明所采用的技术方案是:
一种异步电路物理实现方法,包括以下步骤:
数据准备阶段,向布局布线工具导入设计需要的综合数据和物理数据,以及导入用于打断组合逻辑环的文件;
设计规划阶段,向布局布线工具导入输入输出(Input/Output,IO)引脚约束文件,并采用垂直交叉的网格结构进行电源地布线;
布局阶段,对输入与输出进行虚假路径约束,并对具有数据暂存功能的模块中插入延迟单元或者缓冲器,用于调整输入端信号的先后顺序;
布线阶段,对信号线进行全局布线、布线通道分配、详细布线以及布线修补;
可制造性设计阶段,解决天线效应问题、芯片密度不均匀问题和金属密度问题,以提高良率;若后仿真出现错误,需要在此阶段对相应节点插入延迟单元或缓冲器,调整信号的先后顺序;
导出设计数据,采用仿真工具VCS进行后仿真,若仿真出现错误,返回可制造性设计阶段进行处理;若仿真正确则执行下个步骤;
采用验证工具Calibre对导出的门级网表与物理版图进行物理验证;若物理验证通过,则导出正确的物理版图。
进一步,所述用于打断组合逻辑环的文件,通过以下方式获得:
采用脚本语言python对布局布线工具输出的报告文件进行处理得到的命令集合,根据命令集合获得用于打断组合逻辑环的文件。
进一步,所述输入输出引脚约束文件,通过以下方式获得:
将输入输出相关的信息存储在预设文本中,根据预设文本中存储的信息采用脚本语言python读取相应的信息形成输入输出引脚约束文件。
进一步,所述物理实现方法采用层次化的设计策略,所述设计策略采用同步设计工具对大规模的异步电路进行物理设计。
进一步,所述物理实现方法还包括以下步骤:
在底层设计中,异步加速器的宏单元的输入输出引脚约束要满足数据的流动方向;
在顶层设计中,异步加速器的宏单元的摆放以及输入输出引脚约束需满足整个设计的数据流动方向。
进一步,所述异步电路包括异步加速器,所述异步加速器包括控制模块、输入存储模块、异步逻辑运算模块、结果处理模块和输出存储模块。
进一步,所述异步加速器的各个模块之间通过四相双轨握手协议来实现通信;
四相指的是完成一次通信的需要具备的四个步骤,具体为:
数据由发送端发出并将请求信号拉高表示请求进行通信;
在接收端接收到数据时,接收端将应答信号拉高表示数据接收成功;
发送端根据应答信号的指示将请求信号拉低,并发送空值;
接收端接收到空值并将应答信号拉低,表示通信结束;
其中,双轨指的是1比特的数据需要两根线来表示,即将数据与请求信号捆绑在一起。
进一步,所述异步逻辑运算模块用于实现异步逻辑运算,所述异步逻辑运算包括卷积计算、激活运算和池化运算;
在物理实现上,采取调用16个PE4X4宏单元的方式实现卷积计算,所述PE4X4宏单元作为卷积计算的最小处理单元块,由最小处理单元块构成的4行4列矩阵簇实现卷积计算。
进一步,所述矩阵簇通过异步握手控制,且所述矩阵簇(cluster)已经定制成宏单元,可通过硬件资源堆叠实现超大规模的加速器结构,使异步逻辑运算模块具有扩展性。
本发明所采用的另一技术方案是:
一种异步电路物理实现系统,包括:
数据准备模块,用于向布局布线工具导入设计需要的综合数据和物理数据,以及导入用于打断组合逻辑环的文件;
设计规划模块,用于向布局布线工具导入输入输出引脚约束文件,并采用垂直交叉的网格结构进行电源地布线;
布局模块,用于对输入与输出进行虚假路径约束,并对具有数据暂存功能的模块中插入延迟单元或者缓冲器,用于调整输入端信号的先后顺序;
布线模块,用于对信号线进行全局布线、布线通道分配、详细布线以及布线修补;
可制造性设计模块,用于解决天线效应问题、芯片密度不均匀问题和金属密度问题,以提高良率;若后仿真出现错误,需要在此阶段对相应节点插入延迟单元或缓冲器,调整信号的先后顺序;
后仿真模块,用于导出设计数据,采用仿真工具VCS进行后仿真,若仿真出现错误,返回可制造性设计模块进行处理;若仿真正确则进入下一个模块;
验证导出模块,用于采用验证工具Calibre对导出的门级网表与物理版图进行物理验证;若物理验证通过,则导出正确的物理版图。
本发明的有益效果是:本发明提出一种新的异步电路物理实现方案,能够实现基于同步设计工具实现大规模的异步集成电路的物理设计,兼容当今的同步电路设计流程。
附图说明
为了更清楚地说明本发明实施例或者现有技术中的技术方案,下面对本发明实施例或者现有技术中的相关技术方案附图作以下介绍,应当理解的是,下面介绍中的附图仅仅为了方便清晰表述本发明的技术方案中的部分实施例,对于本领域的技术人员而言,在无需付出创造性劳动的前提下,还可以根据这些附图获取到其他附图。
图1是本发明实施例中一种异步电路物理实现方法的步骤流程图;
图2是本发明实施例中四相双轨握手协议的通信过程示意图;
图3是本发明实施例中双轨编码的真值表示意图;
图4是本发明实施例中握手协议通信过程的时序示意图;
图5是本发明实施例中握手协议的状态转换图;
图6是本发明实施例中异步加速器物理实现的平面结构示意图;
图7是本发明实施例中异步逻辑运算模块的版图内部结构示意图;
图8是本发明实施例中异步加速器电路系统物理实现的步骤流程图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。对于以下实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
在本发明的描述中,需要理解的是,涉及到方位描述,例如上、下、前、后、左、右等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
在本发明的描述中,若干的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
本发明的描述中,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。
如图1所示,本实施例提供一种异步电路物理实现方法,包括但不限于以下步骤:
S1、在数据准备阶段,向布局布线工具导入设计需要的综合数据和物理数据,以及用于打断组合逻辑环的文件;
S2、在设计规划阶段,向布局布线工具导入IO引脚约束文件,并采用垂直交叉的网格结构进行电源地布线;
S3、在布局阶段,对输入与输出进行虚假路径约束,并对具有数据暂存功能的模块中插入延迟单元或者缓冲器用于调整输入端信号的先后顺序;
S4、在布线阶段,需要对信号线进行全局布线、布线通道分配、详细布线以及布线修补等处理;
S5、在可制造性设计阶段,解决天线效应、芯片密度不均匀、金属密度等问题,提高良率;若后仿真错误,仍需要在此阶段对相应节点插入延迟单元或缓冲器,调整信号的先后顺序;
S6、导出设计数据,采用仿真工具VCS进行后仿真,若仿真错误,则需要返回上个步骤进行处理,若仿真正确则执行下个步骤;
S7、采用验证工具Calibre对导出门级网表与物理版图进行物理验证;
S8、若物理验证通过,则导出正确的物理版图。
为了提高上述设计流程的效率,需要脚本语言python作为辅助工具。
用于打破组合逻辑环的文件不是通过手工处理得到的,而是通过脚本语言python对报告文件进行处理得到的命令集合。该方法能快速、完整地找出设计中存在的所有组合逻辑环,并进行打断处理。
IO引脚约束文件同样是通过脚本语言处理所获得的。将IO相关的信息存储在文本中,通过python脚本读取相应的信息形成的。该方法能高效地进行IO摆放,方便迭代修改。
上述的异步电路物理实现方法采用层次化的设计策略,是同步设计工具对大规模的异步电路进行物理设计的重要前提。
层次化的设计过程如下:将整个电路系统划分为小的功能模块,顶层模块保留这些小的功能模块的连接关系;单独对这些小的功能模块进行物理实现,生成宏单元,再进行顶层模块的物理实现时,再调用生成的宏单元,从而达到加速整个后端版图的实现过程。
上述的异步电路物理实现方法在底层设计中,宏单元的IO引脚约束要满足数据的流动方向;在顶层设计中,宏单元的摆放以及IO引脚约束也是要满足整个设计的数据流动方向。
本实施例的物理实现方法可应用于多种异步电路,比如基于异步电路方法学设计的卷积神经网络加速器,简称异步加速器。以下结合异步加速器对物理实现方法做进一步的解释说明。
该类加速器包括控制模块、输入存储模块、异步逻辑运算模块、结果处理模块和输出存储模块。
所述的异步加速器的各个模块之间的数据传递都是通过四相双轨握手协议来实现的,而不是全局时钟信号进行控制。
图2-图5是实施例所述异步电路所采用握手协议的相关示意图。
图2是四相双轨握手协议的通信过程。发送端将数据与请求信号(Req)捆绑在一起,即通过两条线来表达一个信息位,以此进行信号传输,而应答信号(Ack)在通信过程根据发送端与接收端的情况进行变化。该数据通道是由发送端主动开启数据传输的。
图3则是双轨编码的真值表,值得注意的是,{Data.1,Data.0}={1,1}是禁止出现在编码中。
图4则是该握手协议通信过程的时序,阴影部分则是图3所述的空值。该时序图说明了一次通信的需要具备的4个步骤,即首先数据由发送端传出并将请求信号拉高表示请求进行通信;然后,在接收端接收到数据时,它会将应答信号拉高表示数据接收成功;接着,发送端将根据应答信号的指示将请求信号拉低,并发送空值;最后,接收端接收到空值并将应答信号拉低,表示通信结束。
图5则是该握手协议的状态转换图,由该图可知,有效数据不能连续发送,必须在有效数据间存在空值。
异步加速器中异步逻辑运算模块实现了卷积、激活、池化等运算功能,是异步加速器的核心模块。在实现卷积计算中主要是通过最小处理单元(Processing Element,PE)来实现。在物理实现上,采取调用16个PE4X4宏单元的方式实现,而PE4X4作为卷积计算的最小处理单元块,由4行4列的处理单元构成的矩阵簇。
所述的异步加速器是具有扩展性的,这是由于设计的矩阵簇之间的接口都是异步握手的,而不是时钟控制,而且矩阵簇已经被定制成宏单元,通过简单的硬件资源堆叠可以实现超大规模的加速器结构。
图6是本实施例所提出的异步加速器物理实现的平面结构示意图,该图显示了该加速器物理版图的基本构成(空白矩形表示填充单元,圆圈表示省略的填充单元以及输入、输出端口)。版图外部的环型结构由IO、Corner单元以及填充单元所构成。版图内部主要由输入内存储模块、异步逻辑运算模块以及输出存储模块等宏单元组成。
异步逻辑运算模块版图内部的主要构成如图7所示。其核心为16个PE4X4宏单元构成的矩阵簇,实现卷积计算,其他功能模块并不以宏单元的形式体现出来,而是分布在矩阵簇以外的空间,箭头表示内部的数据流动方向。
图8则是整个电路系统的物理实现流程图,对应划分的同步电路模块、异步电路模块以及顶层电路模块三大部分,同步电路的物理实现需要经过数据准备、设计规划、布局、时钟树综合、布线以及可制造性设计等六个阶段,异步电路的物理实现则不需要考虑到时钟树综合的问题,而创建宏单元则是为了后续顶层电路的调用,结合上述的方法则具体实现如下。
在数据准备阶段,需要导入准备好的综合数据,如门级网表、时序约束文件以及逻辑库,再而是综合数据对应的物理数据,如工艺文件、tluplus文件以及物理库等。
然而采用同步工具设计异步电路会不可避免地引入组合逻辑环,这些组合逻辑环会对后续的布局产生影响,如果没有打断设计中的组合逻辑环,布局布线工具需要耗费大量的资源和时间去分析和处理设计中的组合逻辑环,并陷入分析的死循环,最终导致程序崩溃,因此必须通过set_disable_timing命令将设计中的所有组合逻辑环打断。
在设计规划阶段,在芯片级,对IO的位置约束是重要的一步,IO的位置约束与设计紧密相关,尤其是设计的数据流动方向,比如在上述设计中,数据从左、上边流入,从右、下边流出;同时,要固定好调用的宏单元的基本位置并放置相应的禁止布线块,避免宏单元的引脚没有足够的空间对外布线,造成拥塞现象。对于模块级,主要是要对宏单元的引脚进行约束,尽可能满足数据的流动方向。实践表明,这将大大有利于后续的布线环节。
由于IO的数量较多而且设计规划需要迭代数次,为此可以将IO相应的类型、位置信息、命名信息等包含在文本中,通过python脚本读取相应的信息,最终形成IO的约束文件,能快速进行IO的摆放,方便迭代修改,从而大大提高设计效率。
电源网络综合也是设计规划的重要一步。在物理设计中,为了保证供电稳定,一般采用垂直交叉的网格结构进行电源线布线。为了节约面积,宏单元进行电源网络综合的时候不加入电源环,由基本的网格结构构成,只在宏单元的四周生成电源地的接入引脚,以便顶层调用时进行电源地的连接。
在布局阶段,由于关键路径的标准单元会放置得比较紧凑,而标准单元过多必然会导致布线资源的不足造成拥塞。为此,需要设置相关约束,如限制布局布线工具在电源地线下发放置标准单元等,协调好时序与拥塞的关系。对于异步电路系统,需要设置从输入到输出的虚假路径,让布局布线工具不去分析时序。这也是合理的,因为在上述的异步电路系统没有时钟信号,也就不存在所谓的时序概念。
由于上述的异步电路系统引入组合逻辑环实现数据锁存的功能,因此带有数据暂存功能的模块,要特别注意其中的标准单元输入端输入信号的先后到达顺序,否则会导致电路系统功能不正确。为此,需要进行一些预处理,即在完成布局基本优化之后,执行布局再优化之前,在那些需要晚到达的信号的输入端口前插入延时单元或者缓冲单元。这种预先的处理虽然不会完全消除这种现象的产生,但也减小后期迭代修正的次数。
在时钟树阶段,同步电路模块需要对时钟布线设置特殊的规则,即两倍行距、两倍线宽,以此降低时钟线对串扰或者电磁干扰的敏感度;同时设定时钟树综合需要的特定的缓冲器或反相器,并采用插入缓冲器、改变缓冲器尺寸、改变驱动单元尺寸以及调整缓冲器与门单元位置等策略去优化时钟树。对于异步电路系统,这一步可以直接跳过,因为异步系统在本质上是无时钟驱动的,而是由数据驱动的。
在布线阶段,输入存储模块以及输出存储模块需要时钟的控制,所占的布线资源很少,其时钟网络的布线具有比信号线布线更高的优先权,确保高质量的时钟树布线。各个模块中的信号线布线都是要经过全局布线、布线通道分配、详细布线以及布线修补等四个环节,需要花费较多的时间。若出现较多的设计规则违例,可采用系统自带的修复命令,如route_zrt_eco等等。
在可制造设计阶段,首先解决天线效应的问题,采取的策略是先通过层间的跳线消除这类违例,若不行则采取插入反偏二极管的方式,先系统自动插入,若验证工具Calibre仍然标志出违例的单元,则采取手动插入的方式。通过上述的方法能彻底消除物理设计中出现的天线效应问题。其次,增加层间的通孔数目,以此减少层间的连接电阻,减少延时。然后添加一些标准单元确保芯片的密度均匀。最后进行金属密度填充避免产生金属过刻蚀问题。以上都是为了提高芯片的良率。
经过上述阶段后,导出门级网表进行后仿真,确保芯片的功能的准确性。对于异步模块,在其物理实现完成后,需要不断根据后仿真的结果对相应节点插入延时单元或者缓冲器以保证电路的功能的准确性,这也是一个迭代过程。
当上述后仿真完全正确后,需要借助验证工具Calibre进行物理验证,确保物理版图与电路图具一致性以及没有任何的设计规则违例。
至此,整个异步加速器的物理设计的整个过程已经全部实现。通过上述的方法,能够基于同步EDA设计工具进行异步电路的物理设计。该方法能够应用于大规模的异步集成电路物理实现,适用于不同的工艺节点,兼容当今的同步电路设计流程。
本实施例还提供一种异步电路物理实现系统,包括:
数据准备模块,用于向布局布线工具导入设计需要的综合数据和物理数据,以及导入用于打断组合逻辑环的文件;
设计规划模块,用于向布局布线工具导入输入输出引脚约束文件,并采用垂直交叉的网格结构进行电源地布线;
布局模块,用于对输入与输出进行虚假路径约束,并对具有数据暂存功能的模块中插入延迟单元或者缓冲器,用于调整输入端信号的先后顺序;
布线模块,用于对信号线进行全局布线、布线通道分配、详细布线以及布线修补;
可制造性设计模块,用于解决天线效应问题、芯片密度不均匀问题和金属密度问题,以提高良率;若后仿真出现错误,需要在此阶段对相应节点插入延迟单元或缓冲器,调整信号的先后顺序;
后仿真模块,用于导出设计数据,采用仿真工具VCS进行后仿真,若仿真出现错误,返回可制造性设计模块进行处理;若仿真正确则进入下一个模块;
验证导出模块,用于采用验证工具Calibre对导出的门级网表与物理版图进行物理验证;若物理验证通过,则导出正确的物理版图。
本实施例的一种异步电路物理实现系统,可执行本发明方法实施例所提供的一种异步电路物理实现方法,可执行方法实施例的任意组合实施步骤,具备该方法相应的功能和有益效果。
在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
此外,虽然在功能性模块的背景下描述了本发明,但应当理解的是,除非另有相反说明,所述的功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的上述描述中,参考术语“一个实施方式/实施例”、“另一实施方式/实施例”或“某些实施方式/实施例”等的描述意指结合实施方式或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施方式,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施方式进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于上述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (8)
1.一种异步电路物理实现方法,其特征在于,包括以下步骤:
数据准备阶段,向布局布线工具导入设计需要的综合数据和物理数据,以及导入用于打断组合逻辑环的文件;
设计规划阶段,向布局布线工具导入输入输出引脚约束文件,并采用垂直交叉的网格结构进行电源地布线;
布局阶段,对输入与输出进行虚假路径约束,并对具有数据暂存功能的模块中插入延迟单元或者缓冲器,用于调整输入端信号的先后顺序;
布线阶段,对信号线进行全局布线、布线通道分配、详细布线以及布线修补;
可制造性设计阶段,解决天线效应问题、芯片密度不均匀问题和金属密度问题,以提高良率;若后仿真出现错误,需要在此阶段对相应节点插入延迟单元或缓冲器,调整信号的先后顺序;
导出设计数据,采用仿真工具VCS进行后仿真,若仿真出现错误,返回可制造性设计阶段进行处理;若仿真正确,则执行采用验证工具Calibre对导出的门级网表与物理版图进行物理验证这一步骤;
采用验证工具Calibre对导出的门级网表与物理版图进行物理验证;若物理验证通过,则导出正确的物理版图;
所述异步电路包括异步加速器,所述异步加速器包括控制模块、输入存储模块、异步逻辑运算模块、结果处理模块和输出存储模块;
所述异步加速器的各个模块之间通过四相双轨握手协议来实现通信;
四相指的是完成一次通信的需要具备的四个步骤,具体为:
数据由发送端发出并将请求信号拉高表示请求进行通信;
在接收端接收到数据时,接收端将应答信号拉高表示数据接收成功;
发送端根据应答信号的指示将请求信号拉低,并发送空值;
接收端接收到空值并将应答信号拉低,表示通信结束;
其中,双轨指的是1比特的数据需要两根线来表示,即将数据与请求信号捆绑在一起。
2.根据权利要求1所述的一种异步电路物理实现方法,其特征在于,所述用于打断组合逻辑环的文件,通过以下方式获得:
采用脚本语言python对布局布线工具输出的报告文件进行处理得到的命令集合,根据命令集合获得用于打断组合逻辑环的文件。
3.根据权利要求1所述的一种异步电路物理实现方法,其特征在于,所述输入输出引脚约束文件,通过以下方式获得:
将输入输出相关的信息存储在预设文本中,根据预设文本中存储的信息采用脚本语言python读取相应的信息形成输入输出引脚约束文件。
4.根据权利要求1所述的一种异步电路物理实现方法,其特征在于,所述物理实现方法采用层次化的设计策略,所述设计策略采用同步设计工具对大规模的异步电路进行物理设计。
5.根据权利要求1所述的一种异步电路物理实现方法,其特征在于,所述物理实现方法还包括以下步骤:
在底层设计中,异步加速器的宏单元的输入输出引脚约束要满足数据的流动方向;
在顶层设计中,异步加速器的宏单元的摆放以及输入输出引脚约束需满足整个设计的数据流动方向。
6.根据权利要求1所述的一种异步电路物理实现方法,其特征在于,所述异步逻辑运算模块用于实现异步逻辑运算,所述异步逻辑运算包括卷积计算、激活运算和池化运算;
在物理实现上,采取调用16个PE4X4宏单元的方式实现卷积计算,所述PE4X4宏单元作为卷积计算的最小处理单元块,由最小处理单元块构成的4行4列矩阵簇实现卷积计算。
7.根据权利要求6所述的一种异步电路物理实现方法,其特征在于,所述矩阵簇通过异步握手控制,且所述矩阵簇已经定制成宏单元,通过硬件资源堆叠实现超大规模的加速器结构,使异步逻辑运算模块具有扩展性。
8.一种异步电路物理实现系统,其特征在于,包括:
数据准备模块,用于向布局布线工具导入设计需要的综合数据和物理数据,
以及导入用于打断组合逻辑环的文件;
设计规划模块,用于向布局布线工具导入输入输出引脚约束文件,并采用垂直交叉的网格结构进行电源地布线;
布局模块,用于对输入与输出进行虚假路径约束,并对具有数据暂存功能的模块中插入延迟单元或者缓冲器,用于调整输入端信号的先后顺序;
布线模块,用于对信号线进行全局布线、布线通道分配、详细布线以及布线修补;
可制造性设计模块,用于解决天线效应问题、芯片密度不均匀问题和金属密度问题,以提高良率;若后仿真出现错误,需要在此阶段对相应节点插入延迟单元或缓冲器,调整信号的先后顺序;
后仿真模块,用于导出设计数据,采用仿真工具VCS进行后仿真,若仿真出现错误,返回可制造性设计模块进行处理;若仿真正确,则进入验证导出模块;
验证导出模块,用于采用验证工具Calibre对导出的门级网表与物理版图进行物理验证;若物理验证通过,则导出正确的物理版图;
所述异步电路包括异步加速器,所述异步加速器包括控制模块、输入存储模块、异步逻辑运算模块、结果处理模块和输出存储模块;
所述异步加速器的各个模块之间通过四相双轨握手协议来实现通信;
四相指的是完成一次通信的需要具备的四个步骤,具体为:
数据由发送端发出并将请求信号拉高表示请求进行通信;
在接收端接收到数据时,接收端将应答信号拉高表示数据接收成功;
发送端根据应答信号的指示将请求信号拉低,并发送空值;
接收端接收到空值并将应答信号拉低,表示通信结束;
其中,双轨指的是1比特的数据需要两根线来表示,即将数据与请求信号捆绑在一起。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011536935.3A CN112651207B (zh) | 2020-12-23 | 2020-12-23 | 一种异步电路物理实现方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011536935.3A CN112651207B (zh) | 2020-12-23 | 2020-12-23 | 一种异步电路物理实现方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112651207A CN112651207A (zh) | 2021-04-13 |
CN112651207B true CN112651207B (zh) | 2023-06-02 |
Family
ID=75359331
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011536935.3A Active CN112651207B (zh) | 2020-12-23 | 2020-12-23 | 一种异步电路物理实现方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112651207B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114186523B (zh) * | 2021-11-16 | 2022-09-06 | 中山大学 | 基于异步电路的数模混合设计方法及工艺移植方法 |
CN114595651B (zh) * | 2022-05-10 | 2022-08-02 | 湖南泛联新安信息科技有限公司 | 一种用于多fpga仿真验证平台的电路划分方法 |
CN116846503B (zh) * | 2023-08-02 | 2024-05-17 | 浙江海得智慧能源有限公司 | 一种储能电站数据同步方法、系统及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105046014A (zh) * | 2015-08-06 | 2015-11-11 | 电子科技大学 | 一种基于ams的异步时序电路设计方法 |
US9449127B1 (en) * | 2015-04-01 | 2016-09-20 | Freescale Semiconductor, Inc. | System for verifying timing constraints of IC design |
CN106126854A (zh) * | 2016-07-01 | 2016-11-16 | 合肥海本蓝科技有限公司 | 一种软硬件协同仿真交易器和仿真系统 |
CN109684755A (zh) * | 2018-12-28 | 2019-04-26 | 佛山中科芯蔚科技有限公司 | 一种数模混合芯片异步电路全定制方法及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7418676B2 (en) * | 2005-01-19 | 2008-08-26 | Seiko Epson Corporation | Asynchronous circuit design tool and computer program product |
US8359186B2 (en) * | 2006-01-26 | 2013-01-22 | Subbu Ganesan | Method for delay immune and accelerated evaluation of digital circuits by compiling asynchronous completion handshaking means |
-
2020
- 2020-12-23 CN CN202011536935.3A patent/CN112651207B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9449127B1 (en) * | 2015-04-01 | 2016-09-20 | Freescale Semiconductor, Inc. | System for verifying timing constraints of IC design |
CN105046014A (zh) * | 2015-08-06 | 2015-11-11 | 电子科技大学 | 一种基于ams的异步时序电路设计方法 |
CN106126854A (zh) * | 2016-07-01 | 2016-11-16 | 合肥海本蓝科技有限公司 | 一种软硬件协同仿真交易器和仿真系统 |
CN109684755A (zh) * | 2018-12-28 | 2019-04-26 | 佛山中科芯蔚科技有限公司 | 一种数模混合芯片异步电路全定制方法及系统 |
Non-Patent Citations (2)
Title |
---|
AFMC:一种新的异步电路设计自动化流程;石伟;任洪广;王志英;陆洪毅;王友瑞;苏博;;计算机研究与发展(04);第141-148页 * |
基于同步EDA工具的异步电路设计流程;王友瑞;石伟;王志英;陆洪毅;苏博;;计算机研究与发展(09);第2027-2035页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112651207A (zh) | 2021-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112651207B (zh) | 一种异步电路物理实现方法及系统 | |
US6446245B1 (en) | Method and apparatus for performing power routing in ASIC design | |
US8276105B2 (en) | Automatic positioning of gate array circuits in an integrated circuit design | |
CN111914500B (zh) | 一种快速单磁通量子rsfq电路布局方法和装置 | |
CN114861591B (zh) | 一种可微分时序驱动的芯片布局优化方法 | |
CN107908884B (zh) | 一种通过调整时钟树分支改善时序的交互式eco方法 | |
CN107850927A (zh) | 具有功率开关仲裁器的功率管理器 | |
CN110457849A (zh) | 一种可配置的数字集成电路设计方法 | |
WO2022100630A1 (zh) | 高效评估芯片Feed-through流水级数的方法及装置 | |
CN110569596A (zh) | 片上系统的混合时钟树结构 | |
CN115659901B (zh) | 一种芯片物理设计的距离布线优化方法和装置 | |
CN104036090B (zh) | 电路优化方法及装置 | |
CN115983187A (zh) | 基于多策略的考虑总线偏差的层分配方法 | |
CN115496647A (zh) | 一种gpu模块低功耗处理方法 | |
CN113807043B (zh) | 时钟树综合和布局混合优化方法和装置、存储介质和终端 | |
US20140351781A1 (en) | Method for placing operational cells in a semiconductor device | |
CN109033510B (zh) | 基于遗传算法的三维集成电路互连线长度优化方法及装置 | |
US20080209038A1 (en) | Methods and systems for optimizing placement on a clock signal distribution network | |
CN113627120A (zh) | 超导集成电路布局优化方法和装置、存储介质和终端 | |
CN104992032B (zh) | 一种多电压域设计中保持时间的修正方法 | |
CN109426671A (zh) | 一种边界扫描链的生成方法及装置、计算机可读存储介质 | |
US6487707B1 (en) | Layout design system of semiconductor ic device, layout design method of semiconductor ic device and computer-readable recording medium on which programs for allowing computer to execute respective means in the system or respective steps in the method are recorded | |
Zhai et al. | Placement and routing methods considering shape constraints of JTL for RSFQ circuits | |
US20220180035A1 (en) | Automatic sequential retry on compilation failure | |
US6986119B2 (en) | Method of forming tree structure type circuit, and computer product |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |