CN115862052A - 一种自动识别跨时钟电路的方法、装置、设备及存储介质 - Google Patents
一种自动识别跨时钟电路的方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115862052A CN115862052A CN202310195346.0A CN202310195346A CN115862052A CN 115862052 A CN115862052 A CN 115862052A CN 202310195346 A CN202310195346 A CN 202310195346A CN 115862052 A CN115862052 A CN 115862052A
- Authority
- CN
- China
- Prior art keywords
- clock
- time sequence
- circuit
- unit
- circuit diagram
- 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
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000010586 diagram Methods 0.000 claims abstract description 103
- 238000004043 dyeing Methods 0.000 claims abstract description 32
- 230000008569 process Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 4
- 230000001902 propagating effect Effects 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 abstract description 3
- 230000000644 propagated effect Effects 0.000 description 9
- 230000009471 action Effects 0.000 description 3
- 238000004040 coloring Methods 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000010261 cell growth Effects 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000037361 pathway Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000010186 staining Methods 0.000 description 1
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本申请实施例提供一种自动识别跨时钟电路的方法、装置、设备及存储介质。先对电路图进行扫描,识别出电路图中的时序单元;再依据不同时钟域对所述时序单元分别进行标记,所述不同时钟域对所述时序单元的标记均不同;并将与所述时序单元连接的组合逻辑单元进行染色;最后识别出被多个时钟域共同染色的组合逻辑单元,得到跨时钟电路。如此可以依据对时序单元的标记以及对逻辑组合单元进行染色,再结合数字信号在电路中的传输过程自动识别出跨时钟域电路。
Description
技术领域
本申请涉及数字电路功能模块领域,具体涉及一种自动识别跨时钟电路的方法、装置、设备及存储介质。
背景技术
在对数字电路的时序进行设计时,一个非常关键的点就是要明确不同时钟域之间是如何交互的,例如,信号从一个时钟域传播到另一个时钟域,为了能够正确地接收这个信号,需要设计专门的同步电路或者握手电路来处理,用于专门处理的电路则为跨时钟域电路。
目前,在电路分析环节,工程师面对的是一个平面化的电路图,无论是使用电路图查看软件,或电路图编辑软件,或者是专门的电路图整理软件,都需要靠人工仔细地寻找和追踪来识别出跨时钟域的电路,因为一个时钟域内通常包含了成千上万的寄存器,目前常用人工穷举法获取跨时钟电路,想要找出哪些寄存器是属于跨时钟域电路非常耗时且并不精准。因此,如何实现自动化地、准确地识别出数字电路中的跨时钟电路是亟待解决的问题。
发明内容
有鉴于此,本申请实施例提供一种自动识别跨时钟电路的方法、装置、设备及存储介质,能够实现对数字电路中的跨时钟电路自动化的准确识别。
为解决上述问题,本申请实施例提供的技术方案如下:
第一方面,本申请实施例提供了一种自动识别跨时钟电路的方法,所述方法包括:
对电路图进行扫描,识别出电路图中的时序单元;
依据不同时钟域对所述时序单元分别进行标记,所述不同时钟域对所述时序单元的标记均不同,并将与所述时序单元连接的组合逻辑单元进行染色;
识别出被多个时钟域共同染色的组合逻辑单元,得到跨时钟电路。
可选的,所述对电路图进行扫描,识别出电路图中的时序单元包括:
根据网表、单元特征信息和时钟约束信息对电路图进行扫描,识别出电路图中的时序单元。
可选的,所述时钟约束信息至少包括时钟源信息、时钟之间的关系以及时钟传播规则。
可选的,所述依据不同时钟域对所述时序单元分别进行标记包括:
根据不同时钟域各自的传播路径,从时钟源头分别传播各个时钟,在传播过程中对所述时序单元分别进行标记;
根据标记后的时序单元对与时序单元连接的组合逻辑单元进行染色处理。
可选的,所述根据标记后的时序单元对与时序单元连接的组合逻辑单元进行染色处理包括:
根据所述时序单元的输入输出端口,获取所述时钟域的传播方向;
根据所述时钟域的传播方向以及扩展规则,对连接时序单元的组合逻辑单元依次染色标记。
可选的,所述被多个时钟域共同染色的组合逻辑单元为跨时钟域单元,与所述跨时钟域单元连接的时序单元和所述跨时钟域单元共同组成所述跨时钟电路。
第二方面,本申请实施例提供了一种自动识别跨时钟电路的装置,所述装置包括:
扫描模块,用于对电路图进行扫描,识别出电路图中的时序单元;
第一标记模块,用于依据不同时钟域对所述时序单元分别进行标记,所述不同时钟域对所述时序单元的标记均不同,并将与所述时序单元连接的组合逻辑单元进行染色;
识别模块,用于识别出被多个时钟域共同染色的所述组合逻辑单元,得到跨时钟电路。
可选的,所述扫描模块具体用于:
根据网表、单元特征信息和时钟约束信息对电路图进行扫描,识别出电路图中的时序单元。
可选的,所述时钟约束信息至少包括时钟源信息、时钟之间的关系以及时钟传播规则。
可选的,所述时钟约束信息至少包括时钟源信息、时钟之间的关系以及时钟传播规则。
第三方面,本申请实施例提供了一种自动识别跨时钟电路的设备,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如第一方面所述的自动识别跨时钟电路的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行前述第一方面所述的自动识别跨时钟电路的方法。
由此可见,本申请实施例具有如下有益效果:
本申请实施例提供一种自动识别跨时钟电路的方法、装置、设备及存储介质。先对电路图进行扫描,识别出电路图中的时序单元;再依据不同时钟域对所述时序单元分别进行标记,所述不同时钟域对所述时序单元的标记均不同;并将与所述时序单元连接的组合逻辑单元进行染色;最后识别出被多个时钟域共同染色的组合逻辑单元,得到跨时钟电路。如此可以依据对时序单元的标记以及对逻辑组合单元进行染色,再结合数字信号在电路中的传输过程自动识别出跨时钟域电路。
附图说明
图1为本申请实施例提供的一种自动识别跨时钟电路的流程图;
图2为本申请实施例提供的一种针对电路图中时序单元进行标记的示意图;
图3为本申请实施例提供的一种时序单元的端口分配示意图;
图4为本申请实施例提供的一种对标记后的时序单元进行染色处理的示意图;
图5为本申请实施例提供的一种时序单元驱动组合逻辑扩展染色形成的路径示意图;
图6为本申请实施例提供的一种染色标记后的结果的示意图;
图7为本申请实施例提供的一种不同时钟域各自标记所传播的时序单元示意图;
图8为本申请实施例提供的一种跨时钟电路的示意图;
图9为本申请实施例提供的一种自动识别跨时钟电路装置的示意图;
图10为本申请实施例提供的一种对应的设备示意图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请实施例作进一步详细的说明。
为了便于理解和解释本申请实施例提供的技术方案,下面将先对本申请的背景技术进行说明。
在对数字电路的时序进行设计时,一个非常关键的点就是要明确不同时钟域之间是如何交互的,例如,信号从一个时钟域传播到另一个时钟域,为了能够正确地接收这个信号,需要设计专门的同步电路或者握手电路来处理,用于专门处理的电路则为跨时钟域电路。
目前,在电路分析环节,工程师面对的是一个平面化的电路图,无论是使用电路图查看软件,或电路图编辑软件,或者是专门的电路图整理软件,都需要靠人工仔细地寻找和追踪来识别出跨时钟域的电路,因为一个时钟域内通常包含了成千上万的寄存器,目前常用人工穷举法获取跨时钟电路,想要找出哪些寄存器是属于跨时钟域电路非常耗时且并不精准。因此,如何实现自动化地、准确地识别出数字电路中的跨时钟电路是亟待解决的问题。
基于此,本申请实施例提供一种自动识别跨时钟电路的方法、装置及设备。先对电路图进行扫描,识别出电路图中的时序单元;再依据不同时钟域对所述时序单元分别进行标记,所述不同时钟域对所述时序单元的标记均不同,并将与所述时序单元连接的组合逻辑单元进行染色;最后识别出被多个时钟域共同染色的所述组合逻辑单元,得到跨时钟电路。
为了便于理解,参见图1,该图为本申请实施例提供的一种自动识别跨时钟电路的流程图,该方法包括步骤S101-S103:
S101:对电路图进行扫描,识别出电路图中的时序单元。
将电路图数据库和单元特征数据库合并,获取到含单元特征信息的电路图数据库。根据所述含单元特征信息的电路图数据库可以识别所有的时序单元,获取电路图中所有的时序单元。
在本申请实施例中,所述电路图数据库通常为基于网表(netlist)的原理图(schematic)形式呈现,软件可以查询网表以获取单元之间的连接关系。所述单元特征数据库用于标注出单元特征,例如标注出电路图中的触发器,包括触发器的D(数据输入端)/CP(触发端)/RST(复位端)/Q(输出端)等,对于组合逻辑,标注出逻辑表达式。
具体的,所述合并步骤是将单元特征附加到电路图数据中,让软件可以扫描识别出电路图中任何单元的类型,即识别出电路图中的各个单元是时序单元还是组合单元,时钟是否可以穿透此单元;同时软件还可以跨单元追查任何信号的传播情况。
为了方便理解,参见图2,该图为本申请实施例提供的一种针对电路图中时序单元进行标记的示意图。
需要说明的是,图中“M”模块为电路图中的时序单元,其他为电路图中的门电路以及组合电路等,通过对电路图进行扫描,可以识别出图2电路图中的时序单元M。
S102:依据不同时钟域对所述时序单元分别进行标记,所述不同时钟域对所述时序单元的标记均不同,并将与所述时序单元连接的组合逻辑单元进行染色。
基于网表(netlist)、含单元特征信息的电路图数据库以及时钟约束信息对电路图进行扫描,从时钟的源头向后传播,传播时,遵循时钟约束信息中定义的规则,将每个时钟传播到不能再传播为止。在时钟传播的过程中,将不同时钟控制的时序单元分别进行标记,即分别将各个时钟域依照各自的时钟传播路径对时序单元分别进行标记,所述不同时钟域对所述时序单元的标记均不同。
在一种可能实现的方式中,可以根据不同时钟域各自的传播路径,从时钟源头分别传播各个时钟,在传播过程中对所述时序单元分别进行标记。
由于各个时钟在电路中的传播路径不同,每个时钟可能会传播到的时序单元也会有不同,因此,从各个时钟的源头,分别将各个时钟在传播路径上传播到的时序单元依照各自的时钟域标记方式进行标记。为了便于理解,我们在电路图中以时钟CKA依照其自身的传播路径将时钟CKA所传播到的时序单元标记为时序单元A,时钟CKB依照其自身的传播路径将时钟CKB所传播到的时序单元标记为时序单元B。
在一种可能实现的方式中,可以将标记后的时序单元的数据端口D和数据输出端口Q进行扩展,对与时序单元连接的组合逻辑单元进行染色处理。
基于上述步骤,电路图中已有被时钟CKA以及时钟CKB所标记后的时序单元A以及时序单元B,再筛选出电路图中与时序单元连接的组合逻辑单元,根据时序单元的数据端口D和数据输出端口Q扩展规则,将时序单元经过的各个逻辑单元进行染色处理。
在一种可能实现的方式中,可以根据网表(netlist)、单元特征信息和时钟约束信息对电路图进行扫描,识别出电路图中的时序单元并标记,根据时序单元扩展规则,对与时序单元连接的组合逻辑单元进行染色。
在本申请实施例中,根据时钟相关的信息针对电路图扫描,包括但不限于时钟源信息、时钟之间的关系以及时钟传播规则等,扫描后对电路图中的时序单元进行标记。
具体的,所述根据网表(netlist)、单元特征信息和时钟约束信息对电路图进行扫描,识别出电路图中的时序单元并标记,包括如下步骤:
A1:根据网表(netlist)、单元特征信息和时钟约束信息进行扫描电路图,获取扫描结果,其中时钟约束信息包括时钟源信息、时钟之间的关系以及时钟传播规则。
需要解释的是,在本申请实施例中,针对电路图中的时钟源信息、时钟之间的关系以及时钟传播的规则对电路图进行扫描,其中所述时钟源信息包括时钟的源头,例如某个时钟是从外部端口而来,或者是从PLL(锁相环)输出而来,以及该时钟是否由其他时钟派生而来等信息,例如某个时钟是另一个时钟的N分频时钟。
所述时钟之间的关系,包括哪些时钟为同步时钟,哪些为异步时钟,一般来说,时钟及其派生时钟都为同步关系。
所述时钟的传播规则是指时钟遇到特定的单元后如何传播,通常来说,具备如下规则:
a) 遇到组合逻辑,时钟会继续往后传播。
b) 遇到时序逻辑,则停止传播。
c) 遇到选择器,只通过数据端口传播,不通过选择端口传播。
d) 遇到门控时钟单元,时钟继续往后传播。
e) 人工可以指定例外,例如指定某个单元不传播或强制传播。
其中,所述组合逻辑是指在任何时刻,输出状态只决定于同一时刻各输入状态的组合,而与电路以前状态无关,而与其他时间的状态无关。
所述时序逻辑电路在逻辑功能上的特点是任意时刻的输出不仅取决于当时的输入信号,而且还取决于电路原来的状态。
所述选择器是在选择信号的控制下,从多路数据输入中选择其一进行输出。
所述门控时钟单元是当不需要时钟的时候,就把时钟关掉,以使减少电路中时钟网络的功耗消耗。
需要说明的是,上述规则只是以示例形式出现,实际应用中可能不仅限于上述规则,其他规则也为本申请实施例的保护范围之内。
A2:根据所述扫描结果标记出电路图中的时序单元。
根据电路图中不同时钟在电路中的传播路径以及传播规则,对扫描后的电路图中的不同时钟所传播到的时序单元分别进行标记。
基于上述步骤可知,通过先识别出电路图中全部的时序单元后,根据各个时钟的传播路径将不同时钟传播到的时序单元分别进行标记,可以精确自动地标记出大规模电路图中的各个时钟域的时序单元,以使后续步骤中的染色处理能够更加精确。
在一种可能实现的方式中,所述根据标记后的时序单元的数据端口D和数据输出端口Q扩展规则,对时序单元连接的组合逻辑单元进行染色处理,具体包括以下步骤:
B1:根据所述时序单元的输入输出端口,获取所述时钟的传播方向。
B2:根据所述时钟域的传播方向以及扩展规则,对连接时序单元的组合逻辑单元进行染色。
参见图3,该图为本申请实施例提供的一种时序单元的端口分配示意图。
其中,包含D(数据输入端)、Q(输出端)以及CLK(时钟信号端口)。
参见图4,该图为本申请实施例提供的一种对标记后的时序单元进行染色处理的示意图。
基于图3所示的时序单元的端口分配示意图,将所有时序单元的数据输入端口D和数据输出端口Q进行扩展。将其连接的组合逻辑单元进行染色,具体染色方法如下:
图4的(a)中,当从时序单元的数据输入端口D进行扩展时,比如组合逻辑单元H驱动了组合逻辑单元J和组合逻辑单元K,而K驱动了时序单元M的输入端口D,那么从M的输入端口D扩展时,会染色K和H,不会染色J。
图4的(b)中,当从时序单元的数据输出端口Q进行扩展时,比如前面的例子中H由时序单元G的输出端口Q驱动,那么从G的输出端口Q扩展时,会染色H、J和K。
参见图5,该图为本申请实施例提供的一种时序单元驱动组合逻辑扩展染色形成的路径示意图。
图5中,G和M是时序单元,当以G的数据输出端口Q进行扩展时,对H、J、K、进行染色,则形成了G-H-K-M的路径和G-H-J路径;当以M的输入端口D进行扩展时,对H、K进行染色,形成G-H-K-M路径。
基于上述内容可知,通过时序单元的输入输出端口的扩展规则,对电路图中的组合逻辑单元进行染色标记,更加精确地将时钟经过的组合逻辑电路标记出来,防止遗漏电路图中的时钟经过的组合逻辑电路,进一步确保完整地自动识别出电路图中的全部跨时钟电路部分。
参见图6,该图为本申请实施例提供的一种染色标记后的结果的示意图,其中根据时钟CKA和时钟CKB的传播规则,可以将电路图中的触发器(时序单元)进行标记,A表示属于时钟域CKA,B表示属于时钟域CKB,AB表示同时归属于2个时钟域。被时钟域CKA所染色的组合逻辑用A表示,被时钟域CKB所染色的组合逻辑用B表示,同时归属于2个时钟域用AB表示。
S103:识别出被多个时钟域共同染色的组合逻辑单元,得到跨时钟电路。
跨时钟域单元识别,当组合逻辑单元被染色后,被多个时钟染色的单元就属于跨时钟域单元,即跨时钟域单元以及与跨时钟域单元相连的时序单元组合而成的电路即为跨时钟电路。例如,如图5,当时序单元G、M分别由不同的时钟驱动时,根据时序单元的输入输出扩展规则,组合逻辑单元H、K均被时序单元G、M染色,则组合逻辑单元H、K为跨时钟域单元,与组合逻辑单元H、K连接的时序单元G、M同样是跨时钟域单元,因此,单元G,H,K,M,就属于跨时钟域单元,且形成了G-H-J-M的路径。
基于上述步骤可知,通过识别出电路图中的时序单元,并根据不同时钟域对各个时序单元进行标记,再根据网表(netlist)、单元特征信息和时钟约束信息,将与其连接组合逻辑单元进行染色处理,可以准确有效地识别出电路图中全部的跨时钟电路,且大大提高了识别的效率,降低了识别的难度。
下面,本申请将提供一种实施例,结合图7和图8完整地说明本申请技术方案的实现过程。
参见图7,该图为本申请实施例提供的一种不同时钟域各自标记所传播的时序单元示意图。
参见图8,该图为本申请实施例提供的一种跨时钟电路的示意图。
首先,对电路图进行扫描,识别出电路图中的时序单元,即图7中输入端口标记有三角形的单元;然后,依据不同时钟域的传播路径对识别出的时序单元分别进行标记,参见图7,图7中共有时钟域CKA和时钟域CKB两个时钟域,且时钟域CKA的标记为A,时钟域CKB的标记为B,虚线箭头表示时钟域CKA的传播路径,点线箭头为时钟域CKB的传播路径;当对时序单元完成标记后,将与时序单元连接的组合逻辑单元进行染色,参见图8,图8中形状为半圆拱形的单元即为组合逻辑单元;最后,识别出被多个时钟域共同染色的组合逻辑单元,即图8中标记为Z的组合逻辑单元,进而将与组合逻辑单元Z相连的三个时序单元以及组合逻辑单元Z组成的部分作为跨时钟电路,即图8虚线框中的电路部分,完成对电路图中跨时钟电路的识别。
基于上述内容可知,基于针对电路图中时序单元依据不同时钟域分别进行标记后,将时序单元进行扩展,对时序单元连接的组合逻辑单元进行染色,被多个时钟域染色的单元就属于跨时钟域单元。可将规模很大的电路图中的跨时钟电路精准进行识别,相比较人工穷举法,实现了自动高效地对跨时钟域电路进行识别。
参见图9,该图为本申请实施例提供的一种自动识别跨时钟电路装置的示意图,该装置包括:扫描模块901、第一标记模块902以及识别模块903。
扫描模块901,用于对电路图进行扫描,识别出电路图中的时序单元。
第一标记模块902,用于依据不同时钟域对所述时序单元分别进行标记,所述不同时钟域对所述时序单元的标记均不同,并将与所述时序单元连接的组合逻辑单元进行染色。
识别模块903,用于识别出被多个时钟域共同染色的所述组逻辑单元,得到跨时钟电路。
在一种可能的实现方式中,所述第一标记模块902包括:
标记单元,用于根据不同时钟域各自的传播路径,从所述时钟域源头分别传播各个时钟,在传播过程中对所述时序单元分别进行标记。
染色单元,用于根据标记后的时序单元对与时序单元连接的组合逻辑单元进行染色处理。
在一种可能的实现方式中,所述染色单元包括:
第一获取子单元,用于根据所述时序单元的输入输出端口,获取所述时钟域的传播方向。
染色子单元,用于根据所述时钟域的传播方向以及扩展规则,对所述连接时序单元的组合逻辑单元依次染色标记。
在一种可能的实现方式中,所述扫描模块901包括:
第一扫描单元,用于根据网表(netlist)、单元特征信息和时钟约束信息对电路图进行扫描,识别出电路图中的时序单元。
参见图10,该图为本申请实施例提供的一种对应的设备示意图,包括:
其中,所述设备包括存储器1001和处理器1002,所述存储器1001用于存储指令或代码,所述处理器1002用于执行所述指令或代码,以使所述设备执行本申请任一实施例所述的自动识别跨时钟电路的方法。
另外,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行如上述实施例所述的自动识别跨时钟电路的方法。
本申请实施例提供一种自动识别跨时钟电路的方法、装置、设备及存储介质。先对电路图进行扫描,识别出电路图中的时序单元;再依据不同时钟域对所述时序单元分别进行标记,所述不同时钟域对所述时序单元的标记均不同;并将与所述时序单元连接的组合逻辑单元进行染色;最后识别出被多个时钟域共同染色的组合逻辑单元,得到跨时钟电路。如此可以依据对时序单元的标记以及对逻辑组合单元进行染色,再结合数字信号在电路中的传输过程自动识别出跨时钟域电路。
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统或装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (11)
1.一种自动识别跨时钟电路的方法,其特征在于,所述方法包括:
对电路图进行扫描,识别出电路图中的时序单元;
依据不同时钟域对所述时序单元分别进行标记,所述不同时钟域对所述时序单元的标记均不同,并将与所述时序单元连接的组合逻辑单元进行染色;
识别出被多个时钟域共同染色的组合逻辑单元,得到跨时钟电路。
2.根据权利要求1所述的方法,其特征在于,所述对电路图进行扫描,识别出电路图中的时序单元包括:
根据网表、单元特征信息和时钟约束信息对电路图进行扫描,识别出电路图中的时序单元。
3.根据权利要求2所述的方法,其特征在于,所述时钟约束信息至少包括时钟源信息、时钟之间的关系以及时钟传播规则。
4.根据权利要求3所述的方法,其特征在于,所述依据不同时钟域对所述时序单元分别进行标记包括:
根据不同时钟域各自的传播路径,从时钟源头分别传播各个时钟,在传播过程中对所述时序单元分别进行标记;
根据标记后的时序单元对与时序单元连接的组合逻辑单元进行染色处理。
5.根据权利要求4所述的方法,其特征在于,所述根据标记后的时序单元对与时序单元连接的组合逻辑单元进行染色处理包括:
根据所述时序单元的输入输出端口,获取所述时钟域的传播方向;
根据所述时钟域的传播方向以及扩展规则,对连接时序单元的组合逻辑单元依次染色标记。
6.根据权利要求1-5中任意一项所述的方法,其特征在于,被多个时钟域共同染色的单元为跨时钟域单元,与所述跨时钟域单元连接的时序单元和所述跨时钟域单元共同组成所述跨时钟电路。
7.一种自动识别跨时钟电路的装置,其特征在于,所述装置包括:
扫描模块,用于对电路图进行扫描,识别出电路图中的时序单元;
第一标记模块,用于依据不同时钟域对所述时序单元分别进行标记,所述不同时钟域对所述时序单元的标记均不同,并将与所述时序单元连接的组合逻辑单元进行染色;
识别模块,用于识别出被多个时钟域共同染色的组合逻辑单元,得到跨时钟电路。
8.根据权利要求7所述的装置,其特征在于,所述扫描模块具体用于:
根据网表、单元特征信息和时钟约束信息对电路图进行扫描,识别出电路图中的时序单元。
9.根据权利要求8所述的装置,其特征在于,所述时钟约束信息至少包括时钟源信息、时钟之间的关系以及时钟传播规则。
10.一种自动识别跨时钟电路的设备,其特征在于,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1-6任一项所述的自动识别跨时钟电路的方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行如权利要求1-6任一项所述的自动识别跨时钟电路的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310195346.0A CN115862052A (zh) | 2023-02-24 | 2023-02-24 | 一种自动识别跨时钟电路的方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310195346.0A CN115862052A (zh) | 2023-02-24 | 2023-02-24 | 一种自动识别跨时钟电路的方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115862052A true CN115862052A (zh) | 2023-03-28 |
Family
ID=85659880
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310195346.0A Pending CN115862052A (zh) | 2023-02-24 | 2023-02-24 | 一种自动识别跨时钟电路的方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115862052A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040073876A1 (en) * | 2002-10-15 | 2004-04-15 | Nadim Khalil | Method and apparatus for enhancing the performance of event driven dynamic simulation of digital circuits based on netlist partitioning techniques |
CN1618026A (zh) * | 2002-01-28 | 2005-05-18 | 皇家飞利浦电子股份有限公司 | 具有多个时钟域的电路的测试 |
CN102768506A (zh) * | 2012-07-18 | 2012-11-07 | 复旦大学 | 带时序约束的fpga时序驱动布局方法 |
CN103745057A (zh) * | 2014-01-08 | 2014-04-23 | 西安电子科技大学 | Fpga中进行电子设计自动化的逻辑单元装箱方法 |
CN109901049A (zh) * | 2019-01-29 | 2019-06-18 | 厦门码灵半导体技术有限公司 | 检测集成电路用时序路径中异步路径的方法、装置 |
CN115185528A (zh) * | 2022-06-10 | 2022-10-14 | 北京轩宇信息技术有限公司 | 一种用于vhdl可编程逻辑设计的跨时钟域静态分析系统 |
CN115293084A (zh) * | 2022-06-29 | 2022-11-04 | 北京轩宇信息技术有限公司 | 一种门级网表跨时钟域自动化分析方法及系统 |
-
2023
- 2023-02-24 CN CN202310195346.0A patent/CN115862052A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1618026A (zh) * | 2002-01-28 | 2005-05-18 | 皇家飞利浦电子股份有限公司 | 具有多个时钟域的电路的测试 |
US20040073876A1 (en) * | 2002-10-15 | 2004-04-15 | Nadim Khalil | Method and apparatus for enhancing the performance of event driven dynamic simulation of digital circuits based on netlist partitioning techniques |
CN102768506A (zh) * | 2012-07-18 | 2012-11-07 | 复旦大学 | 带时序约束的fpga时序驱动布局方法 |
CN103745057A (zh) * | 2014-01-08 | 2014-04-23 | 西安电子科技大学 | Fpga中进行电子设计自动化的逻辑单元装箱方法 |
CN109901049A (zh) * | 2019-01-29 | 2019-06-18 | 厦门码灵半导体技术有限公司 | 检测集成电路用时序路径中异步路径的方法、装置 |
CN115185528A (zh) * | 2022-06-10 | 2022-10-14 | 北京轩宇信息技术有限公司 | 一种用于vhdl可编程逻辑设计的跨时钟域静态分析系统 |
CN115293084A (zh) * | 2022-06-29 | 2022-11-04 | 北京轩宇信息技术有限公司 | 一种门级网表跨时钟域自动化分析方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101061864B1 (ko) | 동기 회로 설계 표현과 비동기 회로 설계 표현간의 자동 변환을 수행하기 위한 시스템 및 방법 | |
US7594200B2 (en) | Method for finding multi-cycle clock gating | |
CN101063894B (zh) | 动态同步化处理器时钟与总线时钟前缘的方法与系统 | |
US5406216A (en) | Technique and method for asynchronous scan design | |
CN101192251A (zh) | 用于静态时序中点对点延迟限制的有效分析的系统和方法 | |
CN114280454A (zh) | 芯片测试方法、装置、芯片测试机及存储介质 | |
CN106771958B (zh) | 具有低功率扫描系统的集成电路 | |
US7222039B2 (en) | Estimation of average-case activity for digital state machines | |
US20020143515A1 (en) | Method and program product for modeling circuits with latch based design | |
JPH10134091A (ja) | 論理エミュレーションの最適化回路生成法 | |
Groote et al. | Modelling and analysis of communicating systems | |
US7539958B2 (en) | Estimation of average-case activity for digital circuits | |
CN115862052A (zh) | 一种自动识别跨时钟电路的方法、装置、设备及存储介质 | |
US6389580B1 (en) | Computer readable storage medium having logic synthesis program, and logic synthesis method and apparatus | |
US20030070154A1 (en) | Computer readable medium with definition of interface recorded thereon, verification method for feasibility to connect given circuit and method of generating signal pattern | |
US6237117B1 (en) | Method for testing circuit design using exhaustive test vector sequence | |
US5329167A (en) | Test flip-flop with an auxillary latch enabling two (2) bits of storage | |
JP2953435B2 (ja) | 遅延テスト方法および該遅延テスト方法に使用するフリップフロップ | |
US6385759B1 (en) | Method for reducing memory requirements in static timing analysis | |
CN113033132A (zh) | 一种确定端口时序约束的方法及相关装置 | |
US20040199888A1 (en) | Reducing time to measure constraint parameters of components in an integrated circuit | |
Alves et al. | A BIST scheme for asynchronous logic | |
CN111460747A (zh) | 一种用于集成电路设计的标准单元追踪方法 | |
US7630851B2 (en) | Estimation of average-case activity for circuit elements in a digital circuit | |
CN115842615B (zh) | 一种基于rtl网表的时钟网络提取方法 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20230328 |