CN117422028A - 一种基于数据捆绑的异步电路控制链时序约束分析方法 - Google Patents
一种基于数据捆绑的异步电路控制链时序约束分析方法 Download PDFInfo
- Publication number
- CN117422028A CN117422028A CN202311290960.1A CN202311290960A CN117422028A CN 117422028 A CN117422028 A CN 117422028A CN 202311290960 A CN202311290960 A CN 202311290960A CN 117422028 A CN117422028 A CN 117422028A
- Authority
- CN
- China
- Prior art keywords
- local clock
- clock signal
- handshake
- asynchronous
- module
- 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.)
- Pending
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 50
- 238000000034 method Methods 0.000 claims abstract description 33
- 238000012545 processing Methods 0.000 claims abstract description 23
- 230000002194 synthesizing effect Effects 0.000 claims abstract description 7
- 238000011156 evaluation Methods 0.000 claims abstract description 6
- 230000004044 response Effects 0.000 claims description 11
- 230000000630 rising effect Effects 0.000 claims description 3
- 230000001934 delay Effects 0.000 claims 3
- 238000013461 design Methods 0.000 abstract description 16
- 238000010586 diagram Methods 0.000 description 9
- 238000003780 insertion Methods 0.000 description 9
- 230000037431 insertion Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 230000015572 biosynthetic process Effects 0.000 description 5
- 238000003786 synthesis reaction Methods 0.000 description 5
- 238000013459 approach Methods 0.000 description 3
- 239000000872 buffer Substances 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000000452 restraining effect Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
- G06F30/3312—Timing analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/04—Constraint-based CAD
-
- 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
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
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)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明公开了一种基于数据捆绑的异步电路控制链时序约束分析方法,该方法包括:对两相数据捆绑的异步握手结构进行LCM模块和PLCM模块的扩展处理,输出扩展后的本地时钟信号;通过时序约束分析方法对扩展后的本地时钟信号进行约束分析,得到约束后的本地时钟信号;根据约束后的本地时钟信号进行综合与生成时序报告,并根据时序报告进行评估反馈,构建最优异步电路控制链。本发明通过对2相数据捆绑异步模板搭建的控制链进行时序约束,进而得到能够输出准确控制延迟量的控制链。本发明作为一种基于数据捆绑的异步电路控制链时序约束分析方法,可广泛应用于集成电路设计技术领域。
Description
技术领域
本发明涉及集成电路设计技术领域,尤其涉及一种基于数据捆绑的异步电路控制链时序约束分析方法。
背景技术
随着集成电路领域的不断发展,设计规模逐渐增大,“功耗墙”和“存储器”问题逐渐突出。例如物联网芯片、神经网络芯片设计等领域都对低功耗设计提出了新的要求,设计具有低功耗特性的处理器芯片成为了很多新兴应用的当务之急。在这一背景下,由于具有低功耗、无时钟偏移问题和事件驱动的特性,异步电路得到设计者的青睐。产业界和学术界都尝试将异步电路作为实现低功耗设计的一种方法。从业界的角度出发,目前一些领域已经尝试应用异步电路,并产出了基于异步电路技术的商用产品;
其中两相数据捆绑(Bundled-Data,BD)的异步电路因为面积与同步接近,并且可以通过异步握手模板实现从同步到异步的快速转换,获得广泛关注,这种类型的异步电路的握手模板结构简单、构建方式灵活。这些握手模板的作用在于通过握手信号组成异步控制链,每个握手结构产生本地时钟,驱动各个异步模块运行。故异步控制链及其产生的控制信号(即各级本地时钟)在设计中非常重要,然而,目前的设计方法中,并没有对基于控制链进行约束和分析。这使得控制链、本地时钟与各异步模块与匹配度不高,可能导致信号的质量不高,造成损失性能,甚至是导致数据流的控制失败,且现有的异步电路控制方法都通过指令设置异步控制信号即本地时钟,申明不同本地时钟的电平宽度、各级本地时钟之间的相位关系。但这些工作本质上是在EDA工具中设置一个理想的虚拟异步控制链,EDA工具再根据再在这个理想的情况下综合出适配的异步模块。而对于控制链本身,在综合的过程中并不被优先考虑,以至于最终得到的控制链与理想情况出现偏差。
发明内容
为了解决上述技术问题,本发明的目的是提供一种基于数据捆绑的异步电路控制链时序约束分析方法,通过对2相数据捆绑异步模板搭建的控制链进行时序约束,进而得到能够输出准确控制延迟量的控制链。
本发明所采用的第一技术方案是:一种基于数据捆绑的异步电路控制链时序约束分析方法,包括以下步骤:
对两相数据捆绑的异步握手结构进行LCM模块和PLCM模块的扩展处理,输出扩展后的本地时钟信号;
通过时序约束分析方法对所述扩展后的本地时钟信号进行约束分析,得到约束后的本地时钟信号,所述约束分析包括本级本地时钟信号约束分析和上下级本地时钟信号约束分析,所述约束后的本地时钟信号包括本级约束后的本地时钟信号和上下级约束后的本地时钟信号;
根据所述约束后的本地时钟信号进行综合与生成时序报告,并根据所述时序报告进行评估反馈,构建最优异步电路控制链。
进一步,所述两相数据捆绑的异步握手结构包括握手组合逻辑模块、相位单元、Out_Req信号端口、Out_Ack信号端口、本地时钟信号端口、In_Req信号端口和In_Ack信号端口,其中:
所述握手组合逻辑模块用于负责握手信号处理;
所述相位单元用于负责记录握手的状态与在时序上打破环路,产生触发信号;
所述Out_Req信号端口用于对下级握手结构发送请求信号;
所述Out_Ack信号端口用于对上级握手结构发送应答信号;
所述本地时钟信号端口用于握手产生本地时钟信号,驱动异步模块;
所述In_Req信号端口用于接收上级握手结构发送的请求信号;
所述In_Ack信号端口用于接收下级握手结构发送的应答信号。
进一步,所述对两相数据捆绑的异步握手结构进行LCM模块和PLCM模块的扩展处理,输出扩展后的本地时钟信号这一步骤,其具体包括:
基于所述两相数据捆绑的异步握手结构,插入LCM模块,对所述两相数据捆绑的异步握手结构的本地时钟信号的电平宽度进行扩展延迟处理,得到初步的扩展本地时钟信号;
插入PLCM模块,对所述两相数据捆绑的异步握手结构的本地时钟信号的相位信息进行调整处理,输出扩展后的本地时钟信号。
进一步,所述相位单元产生的触发信号包括第一信号与第二信号,所述第一信号作为请求信号与应答信号并通过第一路径传递给上级异步握手结构和下级异步握手结构,所述第二信号通过第二路径传输至握手组合逻辑模块继续握手处理。
进一步,所述LCM模块用于对本地时钟信号的电平宽度进行扩展延迟处理且不影响本地时钟信号的相位信息,所述PLCM模块用于拓展本地时钟信号的电平宽度且自动平衡本地时钟信号之间的相位延迟。
进一步,所述PLCM模块的插入位置为第一路径,所述LCM模块的插入位置为第二路径。
进一步,所述本级本地时钟信号约束分析这一步骤,其具体包括:
定义所述两相数据捆绑的异步握手结构的本级路径,所述本级路径为相位单元-握手组合逻辑模块-本地时钟信号端口;
通过set_max_delay指令与set_min_delay指令对所述本级路径进行约束,得到本级的路径延迟总量;
基于EDA工具对所述本级的路径延迟总量进行电平宽度分析,得到本级约束后的本地时钟信号。
进一步,所述上下级本地时钟信号约束分析这一步骤,其具体包括:
定义所述两相数据捆绑的异步握手结构的上下级路径,所述上下级路径为本级的相位单元-本级的本地时钟信号端口-上级的握手组合逻辑模块或下级的握手组合逻辑模块-上级的本地时钟信号端口或下级的本地时钟信号端口;
通过set_max_delay指令与set_min_delay指令对所述上下级路径进行约束,得到上下级的路径延迟总量;
通过report_timing指令对所述上下级的路径延迟总量进行电平宽度分析,得到上下级约束后的本地时钟信号。
进一步,所述上下级的路径延迟总量与本级的路径延迟总量均等于所述本地时钟信号上升沿到下降沿之间的延迟量。
进一步,所述根据所述约束后的本地时钟信号进行综合与生成时序报告,并根据所述时序报告进行评估反馈,构建最优异步电路控制链这一步骤,其具体包括:
对所述约束后的本地时钟信号进行综合,得到综合的本地时钟信号;
通过report_timing指令对所述综合的本地时钟信号进行检查,生成时序报告,所述时序报告包括综合的本地时钟信号的电平宽度与综合的本地时钟信号的相位信息;
判断所述综合的本地时钟信号的电平宽度是否满足预设的电平宽度要求与所述综合的本地时钟信号的相位信息是否满足预设的相位信息要求;
若不满足要求则生成反馈信号对所述LCM模块和所述PLCM模块进行延迟调整处理,直至满足要求,得到调整后的LCM模块和调整后的PLCM模块;
对所述调整后的LCM模块和所述调整后的PLCM模块设置don’t touch属性,构建最优异步电路控制链。
本发明方法的有益效果是:本发明通过对两相数据捆绑的异步握手结构进行LCM模块和PLCM模块的扩展处理,LCM模块可以拓展握手产生的本地时钟的电平宽度,以使异步控制链产生的握手信号满足预设要求,PLCM模块可以在拓展电平宽度的同时,调整本地时钟之间的相位延迟,保持各级本地时钟之间的相位关系不变,这两个模块为异步控制链产生精确的控制信号提供调整的平台,进一步通过时序约束分析方法进行约束分析,可以通过时序报告对每一级本地时钟的电平宽度和各级时钟之间的相位关系进行分析,对异步控制信号的情况通过时序报告反应出来,再进行反馈,通过修改综合的约束和PLCM、LCM优化控制信号的质量,填补了2相数据捆绑控制链的分析、约束、反馈的空白,通过对2相数据捆绑异步模板搭建的控制链进行时序约束,指导EDA工具在综合时将异步控制链及其产生的控制信号纳入综合的约束范围内,得到能够输出准确控制延迟量的控制链。
附图说明
图1是本发明实施例一种基于数据捆绑的异步电路控制链时序约束分析方法的步骤流程图;
图2是4相握手协议的通信动作的示意图;
图3是2相握手协议的通信动作的示意图;
图4是异步电路的单轨编码的示意图;
图5是异步电路的双轨编码的示意图;
图6是常规的2相数据捆绑的异步电路握手结构模型的结构示意图;
图7是本发明具体实施例2相数据捆绑的异步控制链及LCM、PLCM模块的结构示意图;
图8是本发明具体实施例LCM模块的电平宽度拓展波形图;
图9是本发明具体实施例PLCM模块的电平宽度拓展波形图;
图10是本发明具体实施例2相数据捆绑异步控制链的时序约束、分析路径和方法的示意图。
具体实施方式
下面结合附图和具体实施例对本发明做进一步的详细说明。对于以下实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
异步电路有两个关键的握手信号,一个是请求信号(Req Signal),该信号负责告知其他模块,本级的握手已准备好接受数据;另一个是应答信号(Ack Signal),该信号负责对接收到的请求信号进行应答。根据这两个握手信号的不同,异步电路可以划分出不同的编码方式、握手协议。
如图2所示为4相握手协议:4相(4-phase)指的是通信动作次数为4次,即其通信动作如下所示:
1、发送端准备好数据后会将请求信号置高;
2、接收端接收数据后将应答信号置高;
3、发送端将请求信号置低作为响应(此时数据可以不再保持有效);
4、接收端通过将应答信号置低来做出应答;
此时,发送端就可开始下一个通信周期。该握手协议也被称为“归零(return-to-zero,RTZ)握手协议”,因为在一个通信周期中,请求信号和应答信号都要经历从低电平到高电平,再回归低电平的“归零”过程。
如图3所示为2相握手协议,区别于4相握手协议,控制信号需要从低电平到高电平再回到低电平才能视为一次“信号事件”(Signal Event),2相握手协议只要求控制信号发生一次电平翻转就可以视为一次“信号事件”(Signal Event)。即从低电平到高电平或从高电平到低电平都可以视为控制信号生效。
数据编码方式是指再异步逻辑中,数据信息如何进行传递。主要的编码方式有双规编码和单轨编码,这两种编码方式比较常见,但不是唯二的编码方式。
如图4所示为单轨编码,其特点在于将请求信号、应答信号和数据分开传递。其中,由于两个控制信号和数据信号之间需要遵守一定时序要求,即数据和控制信号通过时序约束“捆绑”在一起,故这种编码方式又称“数据捆绑”。
如图5所示为双轨编码,在设计控制和数据传递方式时,将请求信号与数据信号放在一起编码,形成用于通信的信号。并且用两条线表示一个信息位,即需要2n条线表达n个信息位,故也称“双轨”。
区别于其他类型的异步电路,数据捆绑型的异步电路对时序敏感。其时序敏感的特点表现为需要通过手工eco插入buffer等方法对控制链进行调整,以控制各级本地时钟之间的相位信息和延迟总量,来确保控制信号要晚于数据信号的传递。并且,为了保证时序的正确性与控制数据的准确流动,数据捆绑类型的异步电路对控制链产生的控制信号质量要求也较高。
目前,研究者基于各种异步握手结构提出了不同的设计方法和流程,但在这些技术方案更多聚焦在自动化进行同异步代码的转换,或迭代不同的时序约束方法以综合出更优的异步电路。而对于异步控制链及其产生的控制信号质量,则通常视为理想情况,很少进行优化和设计。
鉴于当前研究对数据捆绑异步握手结构的快速设计流程和方法逐步开发,对产生的控制信号的要求越来越高,但是对控制链本身的分析和约束方法还比较少,本发明提出一种基于2相捆绑的异步控制链设计方法。这一方法一方面用于对异步握手结构进行拓展,以产生符合要求的控制信号;另一方面则在综合阶段就对控制链进行约束和分析,以便优化控制链综合流程、提高控制信号的质量。
2相数据捆绑的异步电路握手模板通常有两部分组成,分别是握手组合逻辑和相位单元。前者负责对本级反馈的信号前级传递至本级的请求信号(In_Req)信号后级传递至本级的应答信号(Out_Ack)进行握手处理,产生本地时钟驱动各级异步模块,并更新相位单元的状态。其基本结构模型如图6所示。常见的2相数据捆绑的异步电路握手模板,例如Click结构、Mousetrap结构等都可以用该结构进模型行分析。
对2相数据捆绑的异步电路进行分析,异步握手结构包含两个重要的部分,一是负责握手信号处理的组合逻辑部分,称为握手组合逻辑模块,二是负责记录状态的相位单元,一方面负责在时序上打破环路(loop),另外一方面负责记录握手的状态。相位单元可以是寄存器,也可以是锁存器,或者是通过专门设计的时序电路结构,并且2相数据捆绑的异步握手结构通常包含5个端口,本级握手结构产生的输出请求信号(Out_Req)和输出应答信号(Out_Ack)、上下级握手结构产生的输入请求信号(In_Req)和输入应答信号(In_Ack),以及通过握手产生的本地时钟信号。详细介绍如下表1所示:
表1 2相数据捆绑的异步电路端口功能表
端口名称 | 端口性质 | 端口作用 |
Out_Req | 输出端口 | 对下级握手结构发送请求信号 |
Out_Ack | 输出端口 | 对上级握手结构发送应答信号 |
本地时钟 | 输出端口 | 握手产生本地时钟信号,驱动异步模块 |
In_Req | 输入端口 | 接收上级握手结构发送的请求信号 |
In_Ack | 输入端口 | 接收下级握手结构发送的应答信号 |
进一步,如图6所示,In_Req和In_Ack作为输入端口,连接握手组合逻辑,当其中任何一个信号的电平发生跳变时,握手组合逻辑进行握手,一方面输出本地时钟到本地时钟端口,驱动异步模块,另外一方面作为相位单元的驱动信号,相位单元更新状态,并在输出端(Q端)将新状态输出的到两处,Out_Req和Out_Ack端口,告知上下级握手模块更新握手信息,输出回握手组合逻辑,推动握手组合逻辑模块更新信号,准备下一次握手。
基于此,参照图1,本发明提供了一种基于数据捆绑的异步电路控制链时序约束分析方法,该方法包括以下步骤:
S1、对两相数据捆绑的异步握手结构进行LCM模块和PLCM模块的扩展处理,输出扩展后的本地时钟信号;
在本实施例中,由于数据捆绑的异步电路对时序敏感,需要关注相位和电平宽度等参数,其中:
相位信息:
不同级本地时钟之间的延迟要大于数据通路的延迟,保证异步功能的正确性,本地时钟之间的的延迟关系定义为相位信息。在使用异步握手结构构建控制链时需要插入延迟单元(Delay Cell)保证时序的正确性;
电平宽度:
各个异步握手模板产生的高电平长度是固定的,由握手组合逻辑以及相位单元的器件决定(不同实现的结构可能有些差异)。在不同负载或工艺影响下,综合得到的实际电平宽度会出现波动;
进一步,为了控制控制信号的高电平宽度、相位等参数,本发明对2相数据捆绑的异步握手控制结构进行扩展以保证各级本地时钟的质量。
S11、基于两相数据捆绑的异步握手结构,插入LCM模块,对两相数据捆绑的异步握手结构的本地时钟信号的电平宽度进行扩展延迟处理,得到初步的扩展本地时钟信号;
具体地,LCM插入延迟的总延迟量为拓展电平宽度拓展量。LCM模块的优势在可拓展电平宽度的同时不会影响到控制链产生的控制信号之间的延迟大小,即相位信息,或者是上、下级所产生的脉冲信号的宽度。经过拓展后产生的控制信号变化如图8所示。该模块可以用于电平宽度不足的情况。例如设置了某一级控制信号的电平宽度为0.5ns,但是实际产生的电平宽度为0.2ns,则可以使用LCM模块在不影响其他级本地时钟的情况下完成对本级控制信号的拓展。
S12、插入PLCM模块,对两相数据捆绑的异步握手结构的本地时钟信号的相位信息进行调整处理,输出扩展后的本地时钟信号。
具体地,如图9所示,PLCM模块插入延迟单元也可以拓展脉冲宽度。不同于LCM,PCLM插入的延迟同样会作用在上下级控制信号之间。它既在拓展控制信号的电平宽度的同时,自动平衡各级之间延迟,避免了在拓展其中一级脉冲宽度时,影响到各级控制信号的相位。例如,在某些设计中,原本的时序设置过紧,导致数据流错误,则可以通过PLCM模块插入延迟。这样在保证相位的同时,也放松了各级异步模块的时序。
在本实施例中,通过加入电平控制模块(Level Control Module,LCM)和相位-电平控制模块(Phase and Level Control Module,PLCM),对握手模块的结构进行拓展,实现对电平宽度和相位的控制。这两个模块都通过插入缓冲单元(buffer)、反相器(inverter)或者其他结构搭建,主要作用是提供可控延迟,本发明两种拓展模块在握手结构模型中位置如图7所示。
对LCM、PLCM两个模块的位置进行进一步的介绍。相位单元被触发之后产生的信号会作用在两个路径,即第一路径和第二路径,其中,第一路径为作为请求、应答信号的一部分,传递给上、下级握手模块,第二路径为信号输出到握手组合逻辑,继续握手处理,PLCM模块的插入位置为第一路径,LCM模块的插入位置为第二路径。
S2、通过时序约束分析方法对扩展后的本地时钟信号进行约束分析,得到约束后的本地时钟信号;
具体地,在已有的方法中,控制信号质量的判断比较粗糙。一般是通过后仿的波形进行分析,测量各个控制信号参数、判断信号质量,再在电路中调整延迟单元的延迟总量。这种方式工作量大,分析和调整周期长。本发明使用时序约束和分析方法,对控制信号进行约束,并初步判断综合后的信号情况,反馈给LCM和PLCM模块进行调整。既提高控制链的综合质量,又缩短设计流程,本发明的时序方法分为两步分,分别是约束和分析。这两步的目的在于通过约束和分析控制信号经过的路径,控制和调整各级本地时钟。
S21、本级本地时钟信号约束分析;
S211、定义两相数据捆绑的异步握手结构的本级路径,本级路径为相位单元-握手组合逻辑模块-本地时钟信号端口;
S212、通过set_max_delay指令与set_min_delay指令对本级路径进行约束,得到本级的路径延迟总量;
S213、基于EDA工具对本级的路径延迟总量进行电平宽度分析,得到本级约束后的本地时钟信号。
在本实施例中,对电平宽度进行约束和分析。在进行异步时序约束时,对图10中的实线路径进行set_max_delay、set_min_delay指令约束,其路径为相位单元-握手组合逻辑-本地时钟输出端口。其中约束的起始点为寄存器的输出端,搭配“-from”选项进行约束;约束的终点为Click异步握手结构的握手信号输出点,搭配“-to”选择进行约束。通过分析可知,该路径延迟总量约等于控制信号上升沿到下降沿之间的延迟量。进行约束时,将预设的电平宽度作为约束参数,加上一定的裕量进行约束,以控制在EDA工具在综合的过程中将握手产生的控制信号的电平宽度考虑在内。
进行约束后,可以在EDA工具初步综合之后进行电平宽度分析。通常该步骤通过门级网表仿真或者后仿的波形才能判断控制信号的质量情况,而本方法在初步综合之后,可以通过report_timing选项加上上述约束的路径,判断电平宽度,简化流程长度。如果电平宽度不足或者LCM、PLCM插入的延迟过多,可以会通过时序报告的方式展示出来,进而进行评估和调整。
S22、上下级本地时钟信号约束分析;
S221、定义两相数据捆绑的异步握手结构的上下级路径,上下级路径为本级的相位单元-本级的本地时钟信号端口-上级的握手组合逻辑模块或下级的握手组合逻辑模块-上级的本地时钟信号端口或下级的本地时钟信号端口;
S222、通过set_max_delay指令与set_min_delay指令对上下级路径进行约束,得到上下级的路径延迟总量;
S223、通过report_timing指令对上下级的路径延迟总量进行电平宽度分析,得到上下级约束后的本地时钟信号。
具体地,对不同异步控制信号之间的延迟进行的进行约束和分析。数据捆绑型的异步电路对时序敏感,要求控制通路的控制信号的要比数据通路的数据晚到,具体执行则为通过延迟单元手动为两级控制信号之间插入延迟单元。但现有技术方法中并没有对异步控制链进行约束或者快速分析以保证多级控制信号之间的质量情况。
本发明对图10中虚线表示的路径进行set_max_delay、set_min_delay指令约束,其路径为本级相位单元-本级控制信号输出端口-上级或下级的握手组合逻辑-上级或下级的本地时钟输出端口。时序路径起始点为本级模块的寄存器输出端,终点为下一级模块的本地时钟输出端,同样搭配“-from”、“-to”选择进行约束和report_timing分析,时序报告中的长度近似于两级控制信号之间的延迟总量。该方法会把PLCM插入的延迟和插入的Delay Cell延迟纳入分析中,提高分析的准确性,并便于PLCM的分析和准确控制延迟量。
S3、根据约束后的本地时钟信号进行综合与生成时序报告,并根据时序报告进行评估反馈,构建最优异步电路控制链。
具体地,对约束后的本地时钟信号进行综合,得到综合的本地时钟信号;通过report_timing指令对综合的本地时钟信号进行检查,生成时序报告,时序报告包括综合的本地时钟信号的电平宽度与综合的本地时钟信号的相位信息;判断综合的本地时钟信号的电平宽度是否满足预设的电平宽度要求与综合的本地时钟信号的相位信息是否满足预设的相位信息要求;若不满足要求则生成反馈信号对LCM模块和PLCM模块进行延迟调整处理,直至满足要求,得到调整后的LCM模块和调整后的PLCM模块;对调整后的LCM模块和所述调整后的PLCM模块设置don’t touch属性,构建最优异步电路控制链。
在本实施例中,约束完成之后进行综合;
通过report_timing指令对上述约束的路径进行检查。时序报告会初步估计电平宽度、本地时钟之间的相位信息。
根据Step4中初步估计的结果,如果满足预设条件,则进入下一步,反之则调整LCM模块和PLCM模块的延迟大小,返回步骤S3。
对调整好的LCM、PLCM模块设置don’t touch属性,形成正确的控制链,输出网表文件,结束本方案步骤。
综上所述,本发明可以分为电路设计和时序约束、分析方法两部分。电路设计部分用于调整和控制握手信号的高电平宽度、各级本地时钟之间的相位信息。时序约束-分析方法则指导EDA工具对控制链进行综合,并用于对综合出的控制链路进行分析,初步判断控制信号的相位情况、电平宽度等参数,以指导电路部分的修改。该方法无需大幅度修改握手结构就能与现有的快速设计流程或者是时序约束方法相结合,且可以在Verilog层面和商用EDA工具中实现。
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (10)
1.一种基于数据捆绑的异步电路控制链时序约束分析方法,其特征在于,包括以下步骤:
对两相数据捆绑的异步握手结构进行LCM模块和PLCM模块的扩展处理,输出扩展后的本地时钟信号;
通过时序约束分析方法对所述扩展后的本地时钟信号进行约束分析,得到约束后的本地时钟信号,所述约束分析包括本级本地时钟信号约束分析和上下级本地时钟信号约束分析,所述约束后的本地时钟信号包括本级约束后的本地时钟信号和上下级约束后的本地时钟信号;
根据所述约束后的本地时钟信号进行综合与生成时序报告,并根据所述时序报告进行评估反馈,构建最优异步电路控制链。
2.根据权利要求1所述一种基于数据捆绑的异步电路控制链时序约束分析方法,其特征在于,所述两相数据捆绑的异步握手结构包括握手组合逻辑模块、相位单元、Out_Req信号端口、Out_Ack信号端口、本地时钟信号端口、In_Req信号端口和In_Ack信号端口,其中:
所述握手组合逻辑模块用于负责握手信号处理;
所述相位单元用于负责记录握手的状态与在时序上打破环路,产生触发信号;
所述Out_Req信号端口用于对下级握手结构发送请求信号;
所述Out_Ack信号端口用于对上级握手结构发送应答信号;
所述本地时钟信号端口用于握手产生本地时钟信号,驱动异步模块;
所述In_Req信号端口用于接收上级握手结构发送的请求信号;
所述In_Ack信号端口用于接收下级握手结构发送的应答信号。
3.根据权利要求2所述一种基于数据捆绑的异步电路控制链时序约束分析方法,其特征在于,所述对两相数据捆绑的异步握手结构进行LCM模块和PLCM模块的扩展处理,输出扩展后的本地时钟信号这一步骤,其具体包括:
基于所述两相数据捆绑的异步握手结构,插入LCM模块,对所述两相数据捆绑的异步握手结构的本地时钟信号的电平宽度进行扩展延迟处理,得到初步的扩展本地时钟信号;
插入PLCM模块,对所述两相数据捆绑的异步握手结构的本地时钟信号的相位信息进行调整处理,输出扩展后的本地时钟信号。
4.根据权利要求3所述一种基于数据捆绑的异步电路控制链时序约束分析方法,其特征在于,所述相位单元产生的触发信号包括第一信号与第二信号,所述第一信号作为请求信号与应答信号并通过第一路径传递给上级异步握手结构和下级异步握手结构,所述第二信号通过第二路径传输至握手组合逻辑模块继续握手处理。
5.根据权利要求3所述一种基于数据捆绑的异步电路控制链时序约束分析方法,其特征在于,所述LCM模块用于对本地时钟信号的电平宽度进行扩展延迟处理且不影响本地时钟信号的相位信息,所述PLCM模块用于拓展本地时钟信号的电平宽度且自动平衡本地时钟信号之间的相位延迟。
6.根据权利要求5所述一种基于数据捆绑的异步电路控制链时序约束分析方法,其特征在于,所述PLCM模块的插入位置为第一路径,所述LCM模块的插入位置为第二路径。
7.根据权利要求6所述一种基于数据捆绑的异步电路控制链时序约束分析方法,其特征在于,所述本级本地时钟信号约束分析这一步骤,其具体包括:
定义所述两相数据捆绑的异步握手结构的本级路径,所述本级路径为相位单元-握手组合逻辑模块-本地时钟信号端口;
通过set_max_delay指令与set_min_delay指令对所述本级路径进行约束,得到本级的路径延迟总量;
基于EDA工具对所述本级的路径延迟总量进行电平宽度分析,得到本级约束后的本地时钟信号。
8.根据权利要求7所述一种基于数据捆绑的异步电路控制链时序约束分析方法,其特征在于,所述上下级本地时钟信号约束分析这一步骤,其具体包括:
定义所述两相数据捆绑的异步握手结构的上下级路径,所述上下级路径为本级的相位单元-本级的本地时钟信号端口-上级的握手组合逻辑模块或下级的握手组合逻辑模块-上级的本地时钟信号端口或下级的本地时钟信号端口;
通过set_max_delay指令与set_min_delay指令对所述上下级路径进行约束,得到上下级的路径延迟总量;
通过report_timing指令对所述上下级的路径延迟总量进行电平宽度分析,得到上下级约束后的本地时钟信号。
9.根据权利要求8所述一种基于数据捆绑的异步电路控制链时序约束分析方法,其特征在于,所述上下级的路径延迟总量与本级的路径延迟总量均等于所述本地时钟信号上升沿到下降沿之间的延迟量。
10.根据权利要求9所述一种基于数据捆绑的异步电路控制链时序约束分析方法,其特征在于,所述根据所述约束后的本地时钟信号进行综合与生成时序报告,并根据所述时序报告进行评估反馈,构建最优异步电路控制链这一步骤,其具体包括:
对所述约束后的本地时钟信号进行综合,得到综合的本地时钟信号;
通过report_timing指令对所述综合的本地时钟信号进行检查,生成时序报告,所述时序报告包括综合的本地时钟信号的电平宽度与综合的本地时钟信号的相位信息;
判断所述综合的本地时钟信号的电平宽度是否满足预设的电平宽度要求与所述综合的本地时钟信号的相位信息是否满足预设的相位信息要求;
若不满足要求则生成反馈信号对所述LCM模块和所述PLCM模块进行延迟调整处理,直至满足要求,得到调整后的LCM模块和调整后的PLCM模块;
对所述调整后的LCM模块和所述调整后的PLCM模块设置don’t touch属性,构建最优异步电路控制链。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311290960.1A CN117422028A (zh) | 2023-10-07 | 2023-10-07 | 一种基于数据捆绑的异步电路控制链时序约束分析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311290960.1A CN117422028A (zh) | 2023-10-07 | 2023-10-07 | 一种基于数据捆绑的异步电路控制链时序约束分析方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117422028A true CN117422028A (zh) | 2024-01-19 |
Family
ID=89521951
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311290960.1A Pending CN117422028A (zh) | 2023-10-07 | 2023-10-07 | 一种基于数据捆绑的异步电路控制链时序约束分析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117422028A (zh) |
-
2023
- 2023-10-07 CN CN202311290960.1A patent/CN117422028A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7739628B2 (en) | Synchronous to asynchronous logic conversion | |
US9100315B2 (en) | Source asynchronous signaling | |
US20110029941A1 (en) | Multi-level domino, bundled data, and mixed templates | |
US6898771B2 (en) | Method of designing semiconductor integrated circuit device | |
CN109815619B (zh) | 一种将同步电路转化为异步电路的方法 | |
CN115080494B (zh) | Spi从机电路、spi通信方法、接口和芯片 | |
CN117852488B (zh) | 一种高速串行数据收发系统及时序自适应方法 | |
US20090271747A1 (en) | Logic circuit designing device, logic circuit designing method and logic circuit designing program for asynchronous logic circuit | |
WO2023279341A1 (zh) | 用于设计异步电路的方法和电子设备 | |
CN117422028A (zh) | 一种基于数据捆绑的异步电路控制链时序约束分析方法 | |
US7084685B2 (en) | Method and related apparatus for outputting clock through a data path | |
CN109871611B (zh) | 一种异步电路自动延迟匹配的方法 | |
Amini et al. | Globally asynchronous locally synchronous wrapper circuit based on clock gating | |
CN101232350B (zh) | 奇偶校验误差检测电路和方法 | |
JPWO2008133116A1 (ja) | 回路設計装置、回路設計方法および回路設計プログラム | |
US7375561B2 (en) | Timing adjustment circuit and method thereof | |
Jusoh et al. | An FPGA implementation of shift converter block technique on FIFO for UART | |
CN101149763A (zh) | 猝发模式异步控制电路设计方法 | |
CN117785014B (zh) | 一种高速串行数据采样电路及方法 | |
Semba et al. | Study on an RTL conversion method from pipelined synchronous RTL models into asynchronous RTL models | |
EP2040381A1 (en) | Semiconductor integrated circuit and layout technique thereof | |
Liljeberg et al. | Self-timed approach for noise reduction in noc reduction in noc | |
CN117852477A (zh) | 一种异步电路设计方法、系统、装置及存储介质 | |
Zhou et al. | Toward Efficient Asynchronous Circuits Design Flow Using Backward Delay Propagation Constraint | |
Bormann | GALS test chip on 130nm process |
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 |