CN107784185A - 一种门级网表中伪路径的提取方法、装置及终端设备 - Google Patents
一种门级网表中伪路径的提取方法、装置及终端设备 Download PDFInfo
- Publication number
- CN107784185A CN107784185A CN201711144292.6A CN201711144292A CN107784185A CN 107784185 A CN107784185 A CN 107784185A CN 201711144292 A CN201711144292 A CN 201711144292A CN 107784185 A CN107784185 A CN 107784185A
- Authority
- CN
- China
- Prior art keywords
- path
- clock
- gate level
- timing
- level netlist
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000000605 extraction Methods 0.000 claims abstract description 52
- 238000001914 filtration Methods 0.000 claims abstract description 12
- 238000004891 communication Methods 0.000 claims description 14
- 239000000284 extract Substances 0.000 claims description 5
- 238000007689 inspection Methods 0.000 claims description 5
- 238000003860 storage Methods 0.000 claims description 5
- 238000013461 design Methods 0.000 abstract description 16
- 230000007812 deficiency Effects 0.000 abstract description 4
- 238000012827 research and development Methods 0.000 abstract description 4
- 238000012216 screening Methods 0.000 abstract description 4
- 238000004458 analytical method Methods 0.000 description 23
- 101100003180 Colletotrichum lindemuthianum ATG1 gene Proteins 0.000 description 13
- 230000006870 function Effects 0.000 description 9
- 238000004519 manufacturing process Methods 0.000 description 6
- 101100113692 Caenorhabditis elegans clk-2 gene Proteins 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 5
- 230000003068 static effect Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000004140 cleaning Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000010606 normalization Methods 0.000 description 3
- 238000012552 review Methods 0.000 description 3
- 238000013515 script Methods 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 101150085102 Clk3 gene Proteins 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000007630 basic procedure Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 238000010835 comparative analysis Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000010248 power generation Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000011895 specific detection Methods 0.000 description 1
- 239000013589 supplement Substances 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/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
-
- 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
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)
- Architecture (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明公开了一种门级网表中伪路径的提取方法、装置及终端设备。提取方法包括,首先,通过在该门级网表中提取处于不同时钟域的各时钟之间的所有时序路径;然后,根据路径的终止点为时序器件、以及终止点的时钟不包含起始点的时钟的筛选条件,对提取的时序路径进行整理过滤,得到该门级网表所包含的伪路径。利用上述方法可以快速提取门级网表中伪路径,这样在SDC清理阶段就可以对提取的伪路径进行检验、仿真验证,检查SOC设计本身的不足,进而在很早阶段就可以发现SOC设计问题,大大提高芯片研发的效率。
Description
技术领域
本发明涉及片上系统(SOC)设计领域,尤其涉及一种门级网表中伪路径的提取方法、装置及终端设备。
背景技术
在片上系统(SOC)设计过程中,其基本流程是从系统描述、算法描述逐步具体到功能描述、电路描述及生产工艺层次的抽象层次到具体层次的过程。
其中,在系统描述、算法描述层次以及将算法通过硬件描述语言转化为等效的RTL(Register Transport Level,寄存器转换级电路)描述完成后,下一步就是对用硬件描述语言编写的数字逻辑电路进行综合以生成门级网表。在该步骤中,可根据时序约束等条件,完成可综合的寄存器传输级描述到综合库单元之间的映射,从而将数字逻辑电路的硬件描述语言描述转化为门级网表。进一步的,还需要对生成的门级网表进行SDC(SynopsysDesign Constraint)清理,从而获得较为优化的门级网表。
具体的,在SDC清理阶段,通常需要改正SDC所有的语法以及由于SDC不完备带来的与功能相关的问题。图1示出了现有技术中常用的SDC清理方法。在图1中,一般由工程师来清理功能问题和以及一部分语法问题。其中,清理功能问题是工程师基于对芯片功能模块的理解完成的,需要依靠人工去检查和发现这些问题,可事实证明有些错误是很难依靠人工检查出来。通常这些错误对布局布线的生产周期影响很大,特别是对复杂SOC中多时钟域情况下的伪路径查找、分析的错误。
由于错误地定义了伪路径,在布局和布线时,布局布线工具不会关心相互之间具有伪路径的单元,因此这些单元的位置以及它们之间的时序不会被优化。由此而带来的问题,并不能通过静态时序分析发现;另外,前仿真阶段也不能发现,因为前仿真用的SDF(Standard Delay Format,标准延迟文件)是不准确的。因此,对门级网表中伪路径的分析,只能在后仿真阶段通过分析波形失配的原因才能找到。而这个分析过程通常包括多次的后仿真验证以及多次的工程变更,这将大大增加布局布线的生产周期。
发明内容
本发明提供了一种门级网表中伪路径的提取方法、装置及终端设备,以解决由于现有的伪路径查找方法存在分析时间长、查找繁琐、容易遗漏等缺点,所导致的芯片设计的生产周期延长的问题。
根据本发明实施例的第一方面,提供了一种门级网表中伪路径的提取方法,所述方法包括:
在门级网表中提取处于不同时钟域的各时钟之间的所有时序路径,形成第一时序路径集合;
对所述第一时序路径集合中各时序路径的终止点的器件属性进行分析,提取出终止点为时序器件的时序路径,形成第二时序路径集合;
在所述第二时序路径集合中提取伪路径,其中,所述伪路径中终止点的时钟不包含起始点的时钟。
根据本发明实施例的第二方面,还提供了一种门级网表中伪路径的提取装置,该装置包括:
时序路径获取模块:用于在门级网表中提取处于不同时钟域的各时钟之间的所有时序路径,形成第一时序路径集合;
时序路径过滤模块:用于对所述第一时序路径集合中各时序路径的终止点的器件属性进行分析,提取出终止点为时序器件的时序路径,形成第二时序路径集合;
伪路径提取模块:用于在所述第二时序路径集合中提取伪路径,其中,所述伪路径中终止点的时钟不包含起始点的时钟。
根据本发明实施例的第三方面,还提供了一种终端设备,该终端设备包括处理器、存储器和通信接口,所述处理器、所述存储器和所述通信接口通过通信总线相连;
所述通信接口,用于获取门级网表,以及所述门级网表的SDC文件;
所述存储器,用于存储程序代码;
所述处理器,用于读取所述存储器中存储的程序代码,并执行本发明实施例第一方面所述的方法。
由以上技术方案可见,本发明实施例提供的门级网表中伪路径的提取方法、装置及终端设备,通过对门级网表进行分析,并在该门级网表中提取处于不同时钟域的各时钟之间的所有时序路径;然后,根据终止点为时序器件、以及终止点的时钟不包含起始点的时钟的筛选条件,对提取的时序路径进行整理过滤,得到该门级网表所包含的伪路径。利用上述方法可以快速提取门级网表中伪路径,这样在SDC清理阶段就可以对提取的伪路径进行检验、仿真验证,检查片上系统设计本身的不足,进而在很早阶段就可以发现片上系统设计问题,大大提高芯片研发的效率。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中常用的SDC清理方法的示意图;
图2为本发明实施例提供的一种门级网表中伪路径的提取方法的流程示意图;
图3为本发明实施例提供的一种数字电路中的时序路径示意图;
图4为本发明实施例提供的另一种门级网表中伪路径的提取方法的流程示意图;
图5为本发明实施例提供的一种门级网表中伪路径的提取装置的结构示意图;
图6为本发明实施例提供的一种终端设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
现有人工方式提取门级网表的伪路径时,需要工程师通过查看代码、并理解芯片模块功能,从是否影响模块功能的角度,确定某一时序路径是否为伪路径。而人工方式消耗时间长,并且非常容易遗漏门级网表中的伪路径。经常是后期仿真时发现违例,导致某些模块出现很多X态(不确定态),即在波形上可以看到红色的X态时,再对产生X态电路进行分析,找出产生X态的起始电路,由工程师来确定这些路径是否为伪路径。上述这种伪路径提取、分析具有很大滞后性,通常要到芯片gds(产生物理版图)或者routed(布局布线)阶段才进行,影响芯片的研发、生产进程。
针对上述问题,本方面实施例提供了门级网表中伪路径的提取方法、装置及终端设备,其基本原理为:对门级网表进行分析,并读入门级网表的SDC文件,通过提取处于不同时钟域的各时钟之间的所有时序路径;然后,根据预设筛选条件,对提取的时序路径进行整理过滤,得到该门级网表所包含的伪路径。
基于上述基本原理,下面将对本发明实施例提供的方法进行详细介绍。图2为本发明实施例提供的一种门级网表中伪路径的提取方法的流程示意图。如图2所示,该方法具体包括如下步骤:
步骤S110:在门级网表中提取处于不同时钟域的各时钟之间的所有时序路径,形成第一时序路径集合。
首先,对需要对RTL(Regi ster Transmit Language,寄存器传送语言)描述的数字逻辑进行综合,产生门级网表。具体的,可以将RTL数字逻辑和目标库载入到EDA(Electronic Design Automation,电子设计自动化)工具,根据时序约束等条件,将可综合寄存器传输级描述(RTL)映射成综合库单元器件,从而将RTL数字逻辑转化成门级网表。
然后,对综合生成的门级网表,进行静态时序分析,以提取该门级网表中处于不同时钟域的各时钟之间的所有时序路径。具体的,可以将门级网表、目标库、SDC(SynopsysDesign Constraint)文件一起载入到时序分析工具,如EDA工具,再利用该时序分析工具提取不同时钟域的两个时钟之间的时序路径,其中,SDC文件为用于设置门级网表的约束条件的文件,具体可用于约束器件端口、定义时钟、以及约束设计规则(如最大跳变时间、最大扇出、最大电容),当然,也可以用其它文件来设置门级网表的约束条件。
例如,某一门级网表中包含如下三个时钟域:
group1{clk1clk2clk3},grou2{clk4clk5},group3{clk6}。
通过时序分析工具,报告出不同时钟域的两个时钟之间的所有路径,即从每个时钟域中取任意一个时钟,报告他们之间的时序路径。
以上面的时钟域为例,报告出各个时钟之间的时序路径:
clk1->clk4,clk1->clk5,clk1->clk6,
clk2->clk4,clk2->clk5,clk2->clk6,
clk3->clk4,clk3->clk5,clk3->clk6,
clk4->clk1,clk4->clk2,clk4->clk3,clk4->clk6
clk5->clk1,clk5->clk2,clk5->clk3,clk5->clk6
clk6->clk1,clk6->clk2,clk6->clk3,clk6->clk4,clk6->clk5
其中,clk1->clk4,表示起始点的时钟为clk1、终止点的时钟为clk4,报告该两个时钟时间的时序路径。同样的,依次将clk1->clk4,clk1->clk5,clk1->clk6都检查一遍,报告所有的时序路径,这样就形成了clk1的时序路径表单1。与clk1一样,再依次对clk2,clk3,clk4,clk5,clk6分别作为起始点的时钟,报告所有的时序路径,进而分别形成clk2,clk3,clk4,clk5,clk6的时序路径表单,本实施例将其命名为时序路径表单1。根据clk1至clk6的时序路径表单,便可以得到该门级网表中包含的时序路径。
另外,针对SDC文件通常对不同功能的时钟分成多个时钟域(也称group),根据每个时钟的具体作用,将各时钟划分在对应的时钟域。而现有的多数时序分析工具倾向于分析同步时序路径,即相同时钟域下的时序路径。不同时钟域的时序路径,时序分析工具认为是伪路径,不需要报告。为通过分析工具报告所有的伪路径,本实施例提供了用归一化方法,将不同时钟域重新做在一个时钟域后,再进行时序路径提取,具体包括如下步骤:
步骤S111:将门级网表中所有时钟均调整至同一个时钟域。
具体的,可以修改门级网表的SDC文件,原本SDC文件里的时钟域全部去掉,只保留一个时钟域,实现门级网表的SDC文件里所有时钟都属于这个唯一的时钟域,这个过程叫归一化。
例如,归一化前:group{clk1clk2clk3}group{clk4clk5}group{clk6}
归一化后:group{clk1clk2clk3clk4clk5clk6}。
步骤S112:在所述门级网表中提取时钟域调整前处于不同时钟域的各时钟之间的所有时序路径。
通过时序分析工具,报告出两个时钟之间的所有路径,即改变时钟域前任意两个时钟域,从每个时钟域中取任意一个时钟,报告他们之间的时序路径。
步骤S120:对所述第一时序路径集合中各时序路径的终止点的器件属性进行分析,提取终止点为时序器件的时序路径,形成第二时序路径集合。
时序器件是指门级网表里与时序有关的器件,这类器件的特点是任意时刻的输出,不仅取决于该时刻的输入,还和电路原来的状态有关,在门级网表里的时序器件,主要有ICG(集成时钟选通器)、DFF(D触发器)、SRAM(静态随机存取存储器)、ROM(只读存储器)等。而在利用时序分析工具进行clock-gating check(时钟门控检查)时,在某些情况时,会识别and、or为clock gating器件(时钟门控器件),而这些器件并不是时序器件,我们并不需要对异步时钟之间的and、or进行clock-gating check。因此,本步骤将对步骤S110所产生的终止点不是时序器件的时序路径进行剔除。
图3为本发明实施例提供的一种数字电路中的时序路径示意图。如图3所示,该电路中clk1->clk4之间有4条时序路径,分别入下:
路径1:从输入端口A到寄存器1的D端;
路径2:从寄存器1的CLK端到寄存器2的D端;
路径3:从寄存器2的CLK端到输出端口out1;
路径4:从输入端口A到输出端口out1。
其中,路径3和路径4的终止点(endpoint)不是时序器件,则在本步骤中被过滤掉。
在具体实施过程,可以利用TCL(Tool Command Language,工具命令语言)脚本,对上述每个时钟的时序路径表单进行处理,找出终止点为时序器件的时序路径,并提取该时序路径的起始点(startpoint)和终止点(endpoint),并将提取结果保存在时序路径表单2中。然后,为方便后续的步骤中对起始点和终止点的时钟对比分析,还可以先在本步骤中提取该时序路径中终止点的时钟,将结果也保存到时序路径表单2里。
通过上述过滤,可以将步骤S110中endpoint为组合器件的时序路径过滤掉,剩下endpoint为时序器件的时序路径。
例如,上述起始点的时钟为clk1的时序路径表单1为:
1)startpoint:/top/hier1/hier2/hier3/start0_reg
endpoint:/top/hier1/hier2/hier3/end0_reg
endpoint的时钟:clk1clk4clk5clk6
2)startpoint:/top/hier1/hier2/hier3/start1_reg
endpoint:/top/hier1/hier2/hier3/end1_reg
endpoint的时钟:clk4clk5clk6
3)startpoint:/top/hier1/hier2/hier3/start3_reg
endpoint:/top/hier1/hier2/hier3/g251
endpoint的时钟:clk1clk4clk5clk6
其中,第3)条时序路径中的endpoint为g251,可能是and,or等组合逻辑器件,该时序路径需要过滤掉,过滤后将得到clk1的时序路径表单2的结果如下:
1)startpoint:/top/hier1/hier2/hier3/start0_reg
endpoint:/top/hier1/hier2/hier3/end0_reg
endpoint的时钟:clk1clk4clk5clk6
2)startpoint:/top/hier1/hier2/hier3/start1_reg
endpoint:/top/hier1/hier2/hier3/end1_reg
endpoint的时钟:clk4clk5clk6
进一步的,本实施例还提供了提取终止点为时序器件的时序路径的方法,具体包括如下步骤:
步骤S121:检测所述第一时序路径集合中各时序路径的终止点的器件接口是否包含时钟信号接口;
由于时序器件和组合器件的主要区别在于,时序器件有时钟信号输入,组合器件没有时钟信号输入。因此,可以通过查看终止点的器件接口是否包含时钟信号接口,如果有执行步骤S122,否则是组合器件。
步骤S122:如果包含时钟信号接口,则将所述终止点判定为时序器件,并提取所述时序路径。
另外,本实施例还提供了终止点的时钟的获取方法,具体包括如下步骤:
步骤S123:获取所述时序路径中终止点的时钟信号接口的所有驱动源头。
步骤S124:将所述驱动源头中的时钟作为所述终止点的时钟。
例如,CP端是终止点(如寄存器)的时钟信号输入接口,沿此接口向前追溯,找到驱动该接口的所有源头,如果源头是时钟,那么这个时钟就是该寄存器的时钟。如果有多个时钟,那么这些时钟都是该寄存器的时钟。
步骤S130:在所述第二时序路径集合中提取伪路径,其中,所述伪路径中终止点的时钟不包含起始点的时钟。
通常终止点的时钟不会只有1个,特别SOC门级网表,时钟架构可能很复杂,终止点的时钟通常会有多个,以方便SOC满足不同功能。而本实施例需要提取的为不同时钟域的伪路径,即终止点和起始点是不同时钟域的路径。
具体的,可以使用TCL脚本,对第二时序路径集合中每条时序路径的终止点和起始点的时钟进行分析比较,如果终止点的时钟包含起始点的时钟,认为该时序路径具有相同时钟域。
例如,对上述起始点的时钟为clk1的时序路径表单2进行处理,如果终止点的时钟包含clk1,则认为该路径不满足条件,需要过滤。如时序路径表单2中的第1)条时序路径的起始点的时钟是clk1,终止点的时钟中也有clk1,因此需要把此路径过滤掉。经过过滤,剩下的时序路径保存在时序路径表单3,这样时序路径表单3中的时序路径即为伪路径,如下所示:
startpoint:/top/hier1/hier2/hier3/start1_reg
endpoint:/top/hier1/hier2/hier3/end1_reg
endpoint的时钟:clk4clk5clk6
本实施例提供的伪路径提取方法,在SDC清理阶段便可以快速提取出SOC的门级网表中包含的伪路径,避免了人工检测的弊端。进一步的,针对门级网表中每一条伪路径,都有对应的物理意义的特点,对于上述方法所提取伪路径,便可以通过对伪路径进行review检验,确认其物理意义,将其与SOC功能结合,检查设计本身的不足;另外,对于复杂的伪路径,review检验时可能一时看不出其中的物理意义,可以通过仿真工具,对伪路径增加随机的延迟,然后检查SOC的功能是否受到影响,达到检查设计本身的目的,来完善设计,从而可以在布局布线之前发现伪路径中严重的问题,以节省布局布线的生产周期并避免重新进行布局布线。
进一步的,通常SOC的门级网表中还有一些人工设置的伪路径,如同时钟域之间的特殊路径。针对此类门级网表,本实施还提供了另一种伪路径的提取方法。图4为本发明实施例提供的另一种门级网表中伪路径的提取方法的流程示意图。如图4所示,本实施例与上述实施例一的主要区别在于,在步骤S230提取到所述门级网表包含的伪路径之后,还包括如下步骤:
步骤S240:在所述门级网表中提取SDC文件包含预设关键词的时序路径,并将所述时序路径作为伪路径。
例如,在门级网表的SDC文件里,通常会有max_delay,multicycle_path,set_false_path等约束,受这些约束的路径,即是我们需要特殊处理的伪路径。而人工设置伪路径的部分,通常带有-from x、-to xx2、-through、-clock等特征词汇,因此,可以将上述from、to、through等词汇设置为预设关键词,利用时序分析工具(如EDA工具),提取包含上述关键词的路径,并使用时序分析工具命令,报告符合特征的所有时序路径。其中,为保证步骤S210至230所提取的伪路径跟本步骤提取的特殊伪路径保持一致,在报告时序路径时,路径选项上要保持不变。
将该步骤产生的伪路径与步骤S230提取的伪路径结合后,进而实现对步骤S230所提取的伪路径进行补充完善。另外,还可以将本步骤产生的伪路径交给验证工程师。验证工程师将器导入仿真环境,观察仿真结果是否正确,以验证伪路径是否合理。
进一步的,针对上述实施例一和二中,在进行伪路径过滤时,需要过滤掉终止点不是时序器件的伪路径,为提高伪路径提取的准确性,本实施例还提供了另一种时序路径提取方法。具体的,在门级网表中提取处于不同时钟域的各时钟之间的所有时序路径的步骤之前,还包括:
步骤S310:对所述门级网表进行时序检查。
即在静态时序分析前,需要保证每个时序器件都有时钟,具体检测方法可以使用EDA工具执行时序检查,检查工具产生的报告,从中找出没有时钟的时序器件。
步骤S320:若所述门级网表中存在没有时钟输入的时序器件,则对所述门级网表的SDC文件进行调整,使所述门级网表中各时序器件都存在时钟输入。
具体的,可以针对具体的电路具体分析,找到没有时钟的原因,然后调整修改SDC文件中所设置的约束条件,在保证SDC文件完备的情况下再进行下面的步骤。
对应于上述伪路径提取方法,本发明实施例还提供了一种门级网表中伪路径的提取装置。图5为本发明实施例提供的一种门级网表中伪路径的提取装置的结构示意图。如图5所示,该装置具体包括:
时序路径获取模块510:用于在门级网表中提取处于不同时钟域的各时钟之间的所有时序路径,形成第一时序路径集合。
时序路径过滤模块520:用于对所述第一时序路径集合中各时序路径的终止点的器件属性进行分析,提取出终止点为时序器件的时序路径,形成第二时序路径集合;
伪路径提取模块530:用于在所述第二时序路径集合中提取伪路径,其中,所述伪路径中终止点的时钟不包含起始点的时钟。
本实施例提供的路径提取装置,首先,通过对门级网表进行分析,提取处于不同时钟域的各时钟之间的所有时序路径;然后,根据终止点为时序器件、以及终止点的时钟不包含起始点的时钟的筛选条件,对提取的时序路径进行整理过滤,得到该门级网表所包含的伪路径。利用上述方法可以快速提取门级网表中伪路径,这样在SDC清理阶段就可以对提取的伪路径进行review、仿真验证,检查SOC设计本身的不足,进而在很早阶段就可以发现SOC设计问题,大大提高芯片研发的效率。
进一步的,针对通常SOC的门级网表中还有一些人工设置的伪路径,如同步时钟之间的特殊路径,本实施中的提取装置还可以包括入下模块:
人工伪路径提取模块540:用于在所述门级网表中提取SDC文件包含预设关键词的时序路径,并将所述时序路径作为伪路径。
进一步的,针为提高伪路径提取的准确性,本实施中的提取装置还可以包括如下模块,以在时序路径获取模块510进行路径提取前,进行保证门级列表中每个时序器件是否都有时钟。
时序检查模块550:用于对所述门级网表进行时序检查;
约束条件调整模块560:用于若所述门级网表中存在没有时钟输入的时序器件,则对所述门级网表的SDC文件进行调整,使所述门级网表中各时序器件都存在时钟输入。
对应于上述门级网表中伪路径的提取方法及装置,本发明实施例还提供了一种终端设备。图6为本发明实施例提供的终端设备的结构示意图,如图6所示,该设备600,其结构可包括:至少一个处理器(processor)601、内存(memory)602、外围设备接口(peripheralinterface)603、输入/输出子系统(I/Osubsystem)604、电力线路605和通信线路606。
在图6中,箭头表示能进行计算机系统的构成要素间的通信和数据传送,且其可利用高速串行总线(high-speed serial bus)、并行总线(parallelbus)、存储区域网络(SAN,Storage Area Network)和/或其他适当的通信技术而实现。
内存602可包括操作系统612和门级网表中伪路径的提取方法例程622。例如,内存602可包括高速随机存取存储器(high-speed random access memory)、磁盘、静态随机存取存储器(SPAM)、动态随机存取存储器(DRAM)、只读存储器(ROM)、闪存或非挥发性内存。内存602可存储用于操作系统612和降低移动终端SAR值的程序编码622,也就是说可包括装置600的动作所需的软件模块、指令集架构或其之外的多种数据。此时,处理器601或外围设备接口606等其他控制器与内存602的存取可通过处理器601进行控制。
外围设备接口603可将装置600的输入和/或输出外围设备与处理器601和内存602相结合。并且,输入/输出子系统604可将多种输入/输出外围设备与外围设备接口606相结合。例如,输入/输出子系统604可包括显示器、打印机或根据需要用于将照相机、各种传感器等外围设备与外围设备接口603相结合的控制器。根据另一侧面,输入/输出外围也可不经过输入/输出子系统604而与外围设备接口603相结合。
电力线路605可向移动终端的电路元件的全部或部分供给电力。例如,电力线路605可包括如电力管理系统、电池或交流(AC)之一个以上的电源、充电系统、电源故障检测电路(power failuredetection circuit)、电力变换器或逆变器、电力状态标记符或用于电力生成、管理、分配的任意其他电路元件。
通信线路606可利用至少一个接口与其他计算机系统进行通信,如与其它的移动终端进行通信。
处理器601通过施行存储在内存602中的软件模块或指令集架构可执行充电管理装置600的多种功能且处理数据。也就是说,处理器601通过执行基本的算术、逻辑以及计算机系统的输入/输出演算,可构成为处理计算机程序的命令。
图6的实施例仅是门级网表中伪路径的提取的终端设备600的一个示例,该设备可具有如下结构或配置:在通信线路606中可包括用于多种通信方式(WiFi、6G、LTE、Bluetooth、NFC、Zigbee等)的RF通信的电路。可包含在设备600中的电路元件可由包括一个以上的信号处理或应用程序所特殊化的集成电路的硬件、软件或硬件和软件两者的组合而实现。
上述构成的设备600,用于在门级网表中提取处于不同时钟域的各时钟之间的所有时序路径,形成第一时序路径集合;对所述第一时序路径集合中各时序路径的终止点的器件属性进行分析,提取出终止点为时序器件的时序路径,形成第二时序路径集合;在所述第二时序路径集合中提取伪路径,其中,所述伪路径中终止点的时钟不包含起始点的时钟。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本发明时可以把各单元的功能在同一个或多个软件和/或硬件中实现。另外,本实施例中的终端可以包括计算机、平板电脑等。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上仅是本发明的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (8)
1.一种门级网表中伪路径的提取方法,其特征在于,所述方法包括:
在门级网表中提取处于不同时钟域的各时钟之间的所有时序路径,形成第一时序路径集合;
对所述第一时序路径集合中各时序路径的终止点的器件属性进行分析,提取出终止点为时序器件的时序路径,形成第二时序路径集合;
在所述第二时序路径集合中提取伪路径,其中,所述伪路径中终止点的时钟不包含起始点的时钟。
2.根据权利要求1所述的提取方法,其特征在于,所述方法还包括:
在所述门级网表中提取SDC文件包含预设关键词的时序路径,并将所述时序路径作为伪路径。
3.根据权利要求1所述的提取方法,其特征在于,所述在门级网表中提取处于不同时钟域的各时钟之间的所有时序路径的步骤,包括:
将门级网表中处于不同时钟域的所有时钟调整至同一个时钟域;
在所述门级网表中提取时钟域调整前处于不同时钟域的各时钟之间的所有时序路径。
4.根据权利要求1所述的提取方法,其特征在于,所述在门级网表中提取处于不同时钟域的各时钟之间的所有时序路径的步骤之前,所述方法还包括:
对所述门级网表进行时序检查,
若所述门级网表中存在没有时钟输入的时序器件,则对所述门级网表的SDC文件进行调整,使所述门级网表中各时序器件都存在时钟输入。
5.根据权利要求1所述的提取方法,其特征在于,所述对所述第一时序路径集合中各时序路径的终止点的器件属性进行分析,提取终止点为时序器件的时序路径的步骤,包括:
检测所述第一时序路径集合中各时序路径的终止点的器件接口是否包含时钟信号接口;
如果包含时钟信号接口,则将所述终止点判定为时序器件,并提取所述时序路径。
6.根据权利要求1所述的提取方法,其特征在于,所述终止点的时钟的获取方法包括:
获取所述时序路径中终止点的时钟信号接口的所有驱动源头;
将所述驱动源头中的时钟作为所述终止点的时钟。
7.一种门级网表中伪路径的提取装置,其特征在于,所述装置包括:
时序路径获取模块:用于在门级网表中提取处于不同时钟域的各时钟之间的所有时序路径,形成第一时序路径集合;
时序路径过滤模块:用于对所述第一时序路径集合中各时序路径的终止点的器件属性进行分析,提取出终止点为时序器件的时序路径,形成第二时序路径集合;
伪路径提取模块:用于在所述第二时序路径集合中提取伪路径,其中,所述伪路径中终止点的时钟不包含起始点的时钟。
8.一种终端设备,其特征在于,包括处理器、存储器和通信接口,所述处理器、所述存储器和所述通信接口通过通信总线相连;
所述通信接口,用于获取门级网表,以及所述门级网表的SDC文件;
所述存储器,用于存储程序代码;
所述处理器,用于读取所述存储器中存储的程序代码,并执行如权利要求1至6中任一项所述的提取方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711144292.6A CN107784185B (zh) | 2017-11-17 | 2017-11-17 | 一种门级网表中伪路径的提取方法、装置及终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711144292.6A CN107784185B (zh) | 2017-11-17 | 2017-11-17 | 一种门级网表中伪路径的提取方法、装置及终端设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107784185A true CN107784185A (zh) | 2018-03-09 |
CN107784185B CN107784185B (zh) | 2021-06-11 |
Family
ID=61433247
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711144292.6A Active CN107784185B (zh) | 2017-11-17 | 2017-11-17 | 一种门级网表中伪路径的提取方法、装置及终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107784185B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111428436A (zh) * | 2019-01-09 | 2020-07-17 | 杭州起盈科技有限公司 | 一种程序化分析集成电路线路结构的方法 |
CN111695321A (zh) * | 2019-03-13 | 2020-09-22 | 瑞昱半导体股份有限公司 | 电路设计方法及相关的电脑程序产品 |
CN113486613A (zh) * | 2021-06-29 | 2021-10-08 | 海光信息技术股份有限公司 | 数据链路的提取方法、装置、电子设备和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070033554A1 (en) * | 2000-11-22 | 2007-02-08 | Matsushita Electric Industrial Co., Ltd. | Delay distribution calculation method, circuit evaluation method and false path extraction method |
CN101137990A (zh) * | 2005-02-03 | 2008-03-05 | 赛捷软件公司 | 用于定制和asic设计的静态时序分析和动态仿真 |
CN102955867A (zh) * | 2011-08-30 | 2013-03-06 | 三星半导体(中国)研究开发有限公司 | 生成门级网表和标准延迟文件及检查和纠正伪路径的方法 |
CN103324774A (zh) * | 2012-12-29 | 2013-09-25 | 东南大学 | 一种基于时钟规划偏差算法的处理器性能优化方法 |
CN104331546A (zh) * | 2014-10-22 | 2015-02-04 | 中国空间技术研究院 | 一种航天器用数字定制集成电路后端版图设计评估方法 |
CN106682285A (zh) * | 2016-12-09 | 2017-05-17 | 深圳市紫光同创电子有限公司 | 一种静态时序分析方法和装置 |
-
2017
- 2017-11-17 CN CN201711144292.6A patent/CN107784185B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070033554A1 (en) * | 2000-11-22 | 2007-02-08 | Matsushita Electric Industrial Co., Ltd. | Delay distribution calculation method, circuit evaluation method and false path extraction method |
CN101137990A (zh) * | 2005-02-03 | 2008-03-05 | 赛捷软件公司 | 用于定制和asic设计的静态时序分析和动态仿真 |
CN102955867A (zh) * | 2011-08-30 | 2013-03-06 | 三星半导体(中国)研究开发有限公司 | 生成门级网表和标准延迟文件及检查和纠正伪路径的方法 |
CN103324774A (zh) * | 2012-12-29 | 2013-09-25 | 东南大学 | 一种基于时钟规划偏差算法的处理器性能优化方法 |
CN104331546A (zh) * | 2014-10-22 | 2015-02-04 | 中国空间技术研究院 | 一种航天器用数字定制集成电路后端版图设计评估方法 |
CN106682285A (zh) * | 2016-12-09 | 2017-05-17 | 深圳市紫光同创电子有限公司 | 一种静态时序分析方法和装置 |
Non-Patent Citations (3)
Title |
---|
CHENG LEI 等: ""Timing constraint-driven technology mapping for FPGAs considering false paths and multi-clock domains"", 《 IEEE INTERNATIONAL CONFERENCE ON COMPUTER-AIDED DESIGN》 * |
周婉婷: ""高性能数字SoC芯片的验证设计与实现"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
常江 等: ""双频双模导航基带芯片的静态时序分析"", 《微电子学》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111428436A (zh) * | 2019-01-09 | 2020-07-17 | 杭州起盈科技有限公司 | 一种程序化分析集成电路线路结构的方法 |
CN111428436B (zh) * | 2019-01-09 | 2023-09-15 | 杭州起盈科技有限公司 | 一种程序化分析集成电路线路结构的方法 |
CN111695321A (zh) * | 2019-03-13 | 2020-09-22 | 瑞昱半导体股份有限公司 | 电路设计方法及相关的电脑程序产品 |
CN113486613A (zh) * | 2021-06-29 | 2021-10-08 | 海光信息技术股份有限公司 | 数据链路的提取方法、装置、电子设备和存储介质 |
CN113486613B (zh) * | 2021-06-29 | 2023-06-30 | 海光信息技术股份有限公司 | 数据链路的提取方法、装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107784185B (zh) | 2021-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9703921B1 (en) | Naturally connecting mixed-signal power networks in mixed-signal simulations | |
US8732632B1 (en) | Method and apparatus for automated extraction of a design for test boundary model from embedded IP cores for hierarchical and three-dimensional interconnect test | |
CN101419642A (zh) | 一种从网表文件提取器件连接关系的装置和方法 | |
KR20220148913A (ko) | 초기 단계 회로 설계에서 기계 학습 기반 메트릭 예측 | |
US8522182B2 (en) | Generation of an end point report for a timing simulation of an integrated circuit | |
CN107784185A (zh) | 一种门级网表中伪路径的提取方法、装置及终端设备 | |
US11461523B1 (en) | Glitch analysis and glitch power estimation system | |
JP3851357B2 (ja) | トランジスタ回路のタイミング特性抽出方法、タイミング特性ライブラリを記憶した記憶媒体、lsiの設計方法、及びゲート抽出方法 | |
US11526641B2 (en) | Formal gated clock conversion for field programmable gate array (FPGA) synthesis | |
CN113642285A (zh) | 确定和验证时钟域交叉中的亚稳态 | |
CN101689216A (zh) | 压缩型电路仿真输出 | |
US20210312113A1 (en) | Method for finding equivalent classes of hard defects in stacked mosfet arrays | |
EP2541448B1 (en) | Method and system for partial reconfiguration simulation | |
CN107844678B (zh) | 包含IP/Memory时序路径的spice仿真方法 | |
CN111624475B (zh) | 大规模集成电路的测试方法及系统 | |
CN102542098B (zh) | 一种fpga互连线延时获取方法及其系统 | |
US20220327269A1 (en) | Computing device and method for detecting clock domain crossing violation in design of memory device | |
US8959467B2 (en) | Structural rule analysis with TCL scripts in synthesis or STA tools and integrated circuit design tools | |
CN116611386A (zh) | 将局部穿线电阻变换成全局分布电阻 | |
US9710580B2 (en) | Timing analysis method for digital circuit design and system thereof | |
US7962875B2 (en) | Method, apparatus and program for designing circuits | |
CN118095154B (zh) | 一种基于设计文件对比来获取eco点的方法 | |
CN117077603B (zh) | 一种验证方法、芯片、系统、电子设备及可读存储介质 | |
CN116451625B (zh) | 用于rtl和带sdf网表的联合仿真的装置和方法 | |
US20110191739A1 (en) | Circuit design method, circuit design system, and recording medium |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 266555 Qingdao economic and Technological Development Zone, Shandong, Hong Kong Road, No. 218 Applicant after: Hisense Visual Technology Co., Ltd. Address before: 266100 Zhuzhou Road, Laoshan District, Shandong, No. 151, No. Applicant before: QINGDAO HISENSE ELECTRONICS Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |