CN116127882B - 一种层次化逻辑综合方法、装置、设备和存储介质 - Google Patents
一种层次化逻辑综合方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN116127882B CN116127882B CN202310417258.0A CN202310417258A CN116127882B CN 116127882 B CN116127882 B CN 116127882B CN 202310417258 A CN202310417258 A CN 202310417258A CN 116127882 B CN116127882 B CN 116127882B
- Authority
- CN
- China
- Prior art keywords
- functional
- functional block
- functional module
- logic
- level code
- 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
- 238000001308 synthesis method Methods 0.000 title abstract description 15
- 238000013461 design Methods 0.000 claims abstract description 102
- 230000015572 biosynthetic process Effects 0.000 claims abstract description 74
- 238000003786 synthesis reaction Methods 0.000 claims abstract description 74
- 238000000034 method Methods 0.000 claims abstract description 32
- 238000012545 processing Methods 0.000 claims abstract description 25
- 238000004590 computer program Methods 0.000 claims description 16
- 238000001514 detection method Methods 0.000 claims description 11
- 238000012546 transfer Methods 0.000 claims description 9
- 230000002159 abnormal effect Effects 0.000 claims description 5
- 230000006870 function Effects 0.000 description 22
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 4
- 101100153586 Caenorhabditis elegans top-1 gene Proteins 0.000 description 3
- 101100370075 Mus musculus Top1 gene Proteins 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 101100537629 Caenorhabditis elegans top-2 gene Proteins 0.000 description 1
- 101150107801 Top2a gene Proteins 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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/32—Circuit design at the digital level
- G06F30/327—Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/04—Constraint-based CAD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/06—Multi-objective optimisation, e.g. Pareto optimisation using simulated annealing [SA], ant colony algorithms or genetic algorithms [GA]
-
- 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)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明公开了一种层次化逻辑综合方法、装置、设备和存储介质。包括:根据芯片逻辑设计功能模块所关联的各功能分块的逻辑综合结果,对功能模块进行设计处理获取各功能分块的外部约束;根据外部约束对各功能分块进行增量逻辑综合获取各功能分块对应的更新门级代码;根据更新门级代码对功能模块进行逻辑综合,获取功能模块完整的门级网表。在对功能模块进行逻辑综合时获取各功能分块的外部约束,并根据外部约束对各功能分块进行优化获取更新门级代码,由于更新门级代码参考了外部实际的约束,从而在基于更新门级代码对功能模块进行逻辑综合时,无需对功能模块进行多次迭代逻辑综合,就可以保证获取到高质量的门级网表。
Description
技术领域
本发明涉及芯片技术领域,尤其涉及一种层次化逻辑综合方法、装置、设备和存储介质。
背景技术
随着集成电路工艺的发展进入超深亚微米时代,芯片的集成度不断提高,功能越来越复杂,逻辑规模越来越庞大。针对大规模的逻辑综合设计,传统的做法是采用子设计建模,然后再层层推进至顶层。
采用子设计建模的方式虽然可以解决设计单次逻辑综合的运行时间问题,但是在进行逻辑综合时通常需要多次迭代,设计收敛周期长,效率较低且逻辑综合结果质量难以保证,难以获得高质量的性能、功耗和面积结果。
发明内容
本发明提供了一种层次化逻辑综合方法、装置、设备和存储介质,以实现对功能模块准确高效的逻辑综合。
根据本发明的第一方面,提供了一种层次化逻辑综合方法,包括:
根据芯片逻辑设计功能模块所关联的各功能分块的逻辑综合结果,对所述功能模块进行设计处理获取各功能分块的外部约束;
根据所述外部约束对所述各功能分块进行增量逻辑综合获取各功能分块对应的更新门级代码;
根据所述更新门级代码对所述功能模块进行逻辑综合,获取所述功能模块的门级网表。
根据本发明的另一方面,提供了一种层次化逻辑综合装置,包括:外部约束获取模块,用于根据芯片设计功能模块所关联的各功能分块的逻辑综合结果,对所述功能模块进行设计处理获取各功能分块的外部约束;
更新门级代码获取模块,用于根据所述外部约束对所述各功能分块进行增量逻辑综合获取各功能分块对应的更新门级代码;
门级网表获取模块,用于根据所述更新门级代码对所述功能模块进行逻辑综合,获取所述功能模块的门级网表。
根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的方法。
根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的方法。
本发明实施例的技术方案,在对功能模块进行逻辑综合时获取各功能分块的外部约束,并根据外部约束对各功能分块进行优化获取更新门级代码,由于更新门级代码参考了外部实际的状态,从而在基于更新门级代码对功能模块进行逻辑综合时,无需对功能模块进行多次迭代逻辑综合,就可以保证获取到高质量的门级网表。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例一提供的一种层次化逻辑综合方法流程图。
图2是根据本发明实施例一提供的功能模块层次结构示意图。
图3是根据本发明实施例二提供的一种层次化逻辑综合方法流程图。
图4是根据本发明实施例三提供的一种层次化逻辑综合装置结构示意图。
图5是实现本发明实施例四提供的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例一
图1为本发明实施例一提供了一种层次化逻辑综合方法流程图,本实施例可适用于对芯片逻辑设计功能模块进行层次化逻辑综合的情况,该方法可以由层次化逻辑综合装置来执行,该装置可以采用硬件和/或软件的形式实现。如图1所示,该方法包括:
步骤S101,根据芯片逻辑设计功能模块所关联的各功能分块的逻辑综合结果,对功能模块进行设计处理获取各功能分块的外部约束。
可选的,根据芯片设计功能模块所关联的各功能分块的逻辑综合结果,对功能模块进行设计处理获取各功能分块的外部约束之前,还包括:根据功能模块所对应的寄存器传输级RTL代码获取分块列表,其中,分块列表中包含与功能模块所关联的各功能分块;获取各功能分块对应的第一设计约束,并根据第一设计约束对各功能分块进行逻辑综合获取各功能分块对应的初级门级代码;将初级门级代码作为各功能分块的逻辑综合结果。
可选的,根据功能模块所对应的寄存器传输级RTL代码获取分块列表,包括:对功能模块所对应的RTL代码进行识别,获取RTL代码中所包含的分块标识;根据分块标识确定与功能模块所关联的各功能分块,并根据功能分块确定分块列表。
具体的说,如图2所示为功能模块层次结构示意图,当功能模块A的涉及层包括top层、top-1层、top-2层等多个层级时,本实施方式中会先将top-1层的各功能分块进行处理,即将各功能分块下的所有子层次均被合并处理,即在处理后功能模块层级结构中仅包含top层和top-1层。则本申请在进行层次化逻辑综合时,具体是根据top层状况来获取每个功能分块特定的设计约束,并根据特定的设计约束完成每个功能分块的综合优化,根据优化后的结果进行top层的处理,从而完成整个功能模块A的逻辑综合。因此本实施方式整体方式采用的是通过top-down方式对整体设计的处理分析考虑了各功能分块真实的外部环境,获得各功能分块的特定设计约束;另外,采用bottom-up方式通过各功能分块的增量综合结果对top层的功能分块A进行逻辑综合,由于通过应用真实的外部环境保证了top层逻辑综合的准确性,从而缩短了逻辑综合时间,避免了多次的设计迭代。
其中,本实施方式中在对功能模块A进行设计处理获取各功能分块的外部约束之前,会读取功能模块A所对应的寄存器传输级电路(Register Transfer Level)代码,并对RTL代码进行识别,获取RTL代码中所包含的分块标识,并根据分块标识确定与功能模块A所关联的各功能分块,例如,本实施方式中所获取的功能分块包括Block1、Block2、Block3和Block4,当然,本实施方式中仅是以包含4个功能分块进行举例说明,而并不对所获取的功能分块的具体数量进行限定。根据所获取的功能分块确定分块列表,从而可以得知在分块列表中包含与功能模块A所关联的各功能分块。如下表1为所获取的分块列表的示例:
表1
编号 | 功能分块 |
1 | Block1 |
2 | Block2 |
3 | Block3 |
4 | Block4 |
值得一提的是,本实施方式中在通过对RTL代码进行识别获取到如表1所示的分块列表后,会对分块列表中的各功能分块进行逻辑综合,例如,在针对Block 1进行逻辑综合时,具体是获取Block 1所对应的第一设计约束a,而在设计约束a中包括时钟频率、路径延迟类型、路径延迟时间、功耗和占用芯片面积等,当然,本实施方式中仅是举例说明,而并不对第一设计约束中所包含的参数类型进行限定。并且在采用第第一涉及约束a对功能分块Block 1进行逻辑综合后可以获取到Block 1所对应的初级门级代码1,并将所获取的初级门级代码1作为功能分块Block 1的逻辑综合结果。另外,Block 2所对应的第一设计约束可以为b,Block 3所对应的第一设计约束可以为c,Block 4所对应的第一设计约束可以为d。并且通过对其余功能分块进行逻辑综合所获取的Block 2的逻辑综合结果为初级门级代码2,Block 3的逻辑综合结果为初级门级代码3,Block 4逻辑综合结果为初级门级代码4。
可选的,根据芯片设计功能模块所关联的各功能分块的逻辑综合结果,对功能模块进行设计处理获取各功能分块的外部约束,包括:获取针对功能模块的第二设计约束;根据第二设计约束和初级门级代码对功能模块进行设计处理获取各功能分块的外部约束。
具体的说,由于上述在对各功能分块进行逻辑综合时,针对各功能分块的设计约束仅是独立执行的,并没有考虑到各功能分块的实际外部状况,因此需要对各功能分块所对应的设计约束进行调整优化。在对各功能分块的设计约束进行调整优化时,具体是加载针对功能模块A的第二设计约束e,根据第二设计约束e和各功能分块的初级门级代码1、初级门级代码2、初级门级代码3和初级门级代码4,对功能模块A进行设计处理获取各功能分块的外部约束。例如,针对功能分块Block 1来说,第一设计约束a中所包含的路径延迟类型为输入到寄存器、寄存器到寄存器、寄存器到输出、输入到输出,时间频率为1Ghz,假设信号s1为Block 2发送给Block 1的信号,完整的路径延迟包括三个部分:Block 2内部延迟d2、从Block 2传输到Block 1的延迟d0和Block 1内部延迟d1,则这三部分延迟之和必须小于等于1000ps,对于Block 1来说属于输入到寄存器类型,对于Block 2来说则属于寄存器到输出类型。d2和d0之和即为Block1关于s1信号的外部路径延迟,假设在a中所设定的Block1的外部路径延迟时间为500ps,则Block 1内部延迟最大可用时间为1000-500=500ps,但通过对功能分块进行设计处理时,可获取到Block 1与Block 2与信息交互,得到d2为300ps,d0为100ps,d1为600ps,则Block 1在接收Block 2 s1信息的过程中外部路径延迟为300ps+100ps=400ps, Block 1内部路径延迟真正可用时间实际为600ps,并将所获取的400ps作为Block 1关于s1信号的实际外部约束,获取的100ps+600ps=700ps作为Block 2关于s1实际的外部约束,同理可获得Block 2和Block 1之间其它信号的实际外部约束。当然,本实施方式中仅是以输入到寄存器的路径延迟类型为例进行说明,对于其它路径延迟类型获取实际外部状况的方式与此大致相同,本实施方式中不再进行赘述。
步骤S102,根据外部约束对各功能分块进行增量逻辑综合获取各功能分块对应的更新门级代码。
可选的,根据外部约束对各功能分块进行增量逻辑综合获取各功能分块对应的更新门级代码,包括:将各功能分块的外部约束作为所对应功能分块的第三设计约束;根据第三设计约束对各功能分块进行逻辑综合获取各功能分块对应的更新门级代码。
具体的说,本实施方式中在通过对功能模块A进行设计处理获取到各功能分块外部约束后,可以将各功能分块的外部约束作为对应功能分块的第三设计约束,例如,Block1所对应的第三设计约束可以为a’,Block 2所对应的第三设计约束可以为b’,Block 3所对应的第三设计约束可以为c’,Block 4所对应的第三设计约束可以为d’。由于此时针对各功能分块所获取的第三设计约束是参考了实际的外部状况,因此相对于初始的第一设计约束来说要更加符合功能分块运行的实际情况,此时则可以可以根据所获取的更加准确的第三设计约束对各功能分块重新进行增量逻辑综合,从而获取各功能分块对应的更新门级代码。例如,Block 1所对应的为更新门级代码1’,Block 2所对应的为更新门级代码2’,Block3所对应的为更新门级代码3’,Block 4所对应的为更新门级代码4’。从而实现对功能分块的设计优化。
步骤S103,根据更新门级代码对功能模块进行逻辑综合,获取功能模块完整的门级网表。
可选的,根据更新门级代码对功能模块进行逻辑综合,获取功能模块完整的门级网表,包括:获取针对功能模块的第二设计约束;根据第二设计约束和更新门级代码对功能模块top层进行逻辑综合,获取功能模块的top层门级代码、功能模块与各功能分块的逻辑链以及各功能分块之间的逻辑链;根据功能模块top层的门级代码、功能模块与各功能分块的逻辑链以及各功能分块之间的逻辑链确定功能模块完整的门级网表。
具体的说,本实施方式中在对各功能分块重新进行逻辑综合之后,可以获取针对功能模块A的第二设计约束e,并基于上述所获取的更新门级代码对top层进行逻辑综合,由于此时所获取的更新门级代码是参考实际外部状况所获取的,因此此时在基于第二设计约束e和更新门级代码对功能模块A进行逻辑综合时,能够获取到功能模块A的门级代码5,功能分块A的逻辑链以及各功能分块Block 1、Block 2 、Block 3和Block4之间的逻辑链,而在逻辑链中包含了各交互对象之间的关联关系。
本发明实施例,在对功能模块进行逻辑综合时获取各功能分块的外部约束,并根据外部约束对各功能分块进行优化获取更新门级代码,由于更新门级代码参考了外部实际的状态,从而在基于更新门级代码对功能模块进行逻辑综合时,无需对功能模块多次迭代进行逻辑综合,就可以保证获取到高质量的门级网表。
实施例二
图3为本发明实施例二提供的一种层次化逻辑综合方法流程图,本实施例以上述实施例为基础,在功能模块的门级网表之后,还包括:对门级网表进行检测,获取检测结果,当确定检测结果异常时进行报警提示,如图2所示,该方法包括:
步骤S201,根据芯片逻辑设计功能模块所关联的各功能分块的逻辑综合结果,对功能模块进行设计处理获取各功能分块的外部约束。
可选的,根据芯片设计功能模块所关联的各功能分块的逻辑综合结果,对功能模块进行设计处理获取各功能分块的外部约束之前,还包括:根据功能模块所对应的寄存器传输级RTL代码获取分块列表,其中,分块列表中包含与功能模块所关联的各功能分块;获取各功能分块对应的第一设计约束,并根据第一设计约束对各功能分块进行逻辑综合获取各功能分块对应的初级门级代码;将初级门级代码作为各功能分块的逻辑综合结果。
可选的,根据功能模块所对应的寄存器传输级RTL代码获取分块列表,包括:对功能模块所对应的RTL代码进行识别,获取RTL代码中所包含的分块标识;根据分块标识确定与功能模块所关联的各功能分块,并根据功能分块确定分块列表。
可选的,根据芯片设计功能模块所关联的各功能分块的逻辑综合结果,对功能模块进行设计处理获取各功能分块的外部约束,包括:获取针对功能模块的第二设计约束;根据第二设计约束和初级门级代码对功能模块进行设计处理获取各功能分块的外部约束。
步骤S202,根据外部约束对各功能分块进行增量逻辑综合获取各功能分块对应的更新门级代码。
可选的,根据外部约束对各功能分块进行增量逻辑综合获取各功能分块对应的更新门级代码,包括:将各功能分块的外部约束作为所对应功能分块的第三设计约束;根据第三设计约束对各功能分块进行逻辑综合获取各功能分块对应的更新门级代码。
步骤S203,根据更新门级代码对功能模块进行逻辑综合,获取功能模块完整的门级网表。
可选的,根据更新门级代码对功能模块进行逻辑综合,获取功能模块的门级网表,包括:获取针对功能模块的第二设计约束;根据第二设计约束和更新门级代码对功能模块进行逻辑综合,获取功能模块的门级代码、功能模块与各功能分块的逻辑链以及各功能分块之间的逻辑链;根据功能模块的门级代码、功能模块与各功能分块的逻辑链以及各功能分块之间的逻辑链确定功能模块完整的门级网表。
步骤S204,对完整的门级网表进行检测获取检测结果,当确定检测结果异常时进行报警提示。
具体的说,本实施方式中通过对top层的功能模块A进行逻辑综合,获取到针对功能模块A的门级网表后,本实施方式中还会对门级网表中所包含的功能模块的门级代码、功能模块与各功能分块的逻辑链以及各功能分块之间的逻辑链进行检测。具体是检测功能模块的门级代码正确性,例如检测在门级代码中是否存在不符合门级代码要求的表述、是否存在代码完整性问题等,同时还会检测各逻辑链的合理性,例如,根据各功能分块的已知配置信息,获知Block 1和Block 2之间逻辑链总延迟如超过设定的时钟周期值限制,则会报告相关警告信息。
其中,本实施方式中当确定功能模块的门级代码错误或者逻辑链警告的情况下,则会发出报警提示,在报警提示中具体可以包含门级网表中发生错误或警告的目标对象,以及目标对象所发生的具体错误或警告。并且本实施方式中的报警提示具体可以是文字的形式或者图片的形式,本实施方式中并不限定报警提示的具体类型,只有能够对用户起到提示的作用,则都是在本申请的保护范围内,本实施方式中不再对其进行赘述。从而便于用户根据提示信息,及时对逻辑综合的处理流程、硬件设备或者软件应用进行检修,以进一步提高逻辑综合的准确性和效率。
本发明实施例,在对功能模块进行逻辑综合时获取各功能分块的外部约束,并根据外部约束对各功能分块进行优化获取更新门级代码,由于更新门级代码参考了外部实际的状态,从而在基于更新门级代码对功能模块进行逻辑综合时,无需对功能模块多次迭代进行逻辑综合,就可以保证获取到高质量的门级网表。对门级网表进行检测获取检测结果,当确定检测结果异常时进行报警提示,从而便于用户根据提示信息,及时对逻辑综合的处理流程、硬件设备或者软件应用进行检修,以进一步提高逻辑综合的准确性和效率。
实施例三
图4为本发明实施例三提供的一种层次化逻辑综合装置的结构示意图。如图4所示,该装置包括:
其中,外部约束获取模块310,用于根据芯片设计功能模块所关联的各功能分块的逻辑综合结果,对功能模块进行设计处理获取各功能分块的外部约束;
更新门级代码获取模块320,用于根据外部约束对各功能分块进行增量逻辑综合获取各功能分块对应的更新门级代码;
门级网表获取模块330,用于根据更新门级代码对功能模块进行逻辑综合,获取功能模块的门级网表。
可选的,装置还包括分块列表获取模块,用于根据功能模块所对应的寄存器传输级电路RTL代码获取分块列表,其中,分块列表中包含与功能模块所关联的各功能分块;
初级门级代码获取模块,用于获取各功能分块对应的第一设计约束,并根据第一设计约束对各功能分块进行逻辑综合获取各功能分块对应的初级门级代码;
逻辑综合结果获取模块,用于将初级门级代码作为各功能分块的逻辑综合结果。
可选的,分块列表获取模块,用于对功能模块所对应的RTL代码进行识别,获取RTL代码中所包含的分块标识;
根据分块标识确定与功能模块所关联的各功能分块,并根据功能分块确定分块列表。
可选的,外部约束获取模块,用于获取针对功能模块的第二设计约束;
根据第二设计约束和初级门级代码对功能模块进行设计处理获取各功能分块的外部约束。
可选的,更新门级代码获取模块,用于将各功能分块的外部约束作为所对应功能分块的第三设计约束;
根据第三设计约束对各功能分块进行逻辑综合获取各功能分块对应的更新门级代码。
可选的,门级网表获取模块,用于获取针对功能模块的第二设计约束;
根据第二设计约束和更新门级代码对功能模块进行逻辑综合,获取功能模块的门级代码、功能模块与各功能分块的逻辑链以及各功能分块之间的逻辑链;
根据功能模块的门级代码、功能模块与各功能分块的逻辑链以及各功能分块之间的逻辑链确定门级网表。
可选的,设计约束中包括时钟频率、路径延迟类型、路径延迟时间、功耗和占用芯片面积。
可选的,装置还包括检测模块,用于对门级网表进行检测,获取检测结果;
当确定检测结果异常时进行报警提示。
本发明实施例所提供的层次化逻辑综合装置可执行本发明任意实施例所提供的层次化逻辑综合方法,具备执行方法相应的功能模块和有益效果。
实施例四
图5示出了可以用来实施本发明的实施例的电子设备10的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图5所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(ROM)12、随机访问存储器(RAM)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(ROM)12中的计算机程序或者从存储单元18加载到随机访问存储器(RAM)13中的计算机程序,来执行各种适当的动作和处理。在RAM 13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、ROM 12以及RAM 13通过总线14彼此相连。输入/输出(I/O)接口15也连接至总线14。
电子设备10中的多个部件连接至I/O接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如层次化逻辑综合方法。
在一些实施例中,层次化逻辑综合方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由ROM 12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到RAM 13并由处理器11执行时,可以执行上文描述的层次化逻辑综合方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行层次化逻辑综合方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (9)
1.一种层次化逻辑综合方法,其特征在于,包括:
根据芯片逻辑设计功能模块所关联的各功能分块的逻辑综合结果,对所述功能模块进行设计处理获取各功能分块的外部约束,其中,所述逻辑综合结果为各功能分块的初级门级代码;
根据所述外部约束对所述各功能分块进行增量逻辑综合获取各功能分块对应的更新门级代码;
获取针对所述功能模块的第二设计约束,根据所述第二设计约束和所述更新门级代码对所述功能模块进行逻辑综合,获取所述功能模块的门级代码、所述功能模块与各所述功能分块的逻辑链以及各功能分块之间的逻辑链;
根据所述功能模块的门级代码、所述功能模块与各所述功能分块的逻辑链以及各功能分块之间的逻辑链确定所述功能模块完整的门级网表;
所述根据所述外部约束对所述各功能分块进行增量逻辑综合获取各功能分块对应的更新门级代码,包括:将各功能分块的外部约束作为所对应功能分块的第三设计约束;根据所述第三设计约束对各功能分块进行逻辑综合获取各功能分块对应的更新门级代码。
2.根据权利要求1所述的方法,其特征在于,所述根据芯片设计功能模块所关联的各功能分块的逻辑综合结果,对所述功能模块进行设计处理获取各功能分块的外部约束之前,还包括:
根据所述功能模块所对应的寄存器传输级电路RTL代码获取分块列表,其中,所述分块列表中包含与所述功能模块所关联的各所述功能分块;
获取各功能分块对应的第一设计约束,并根据所述第一设计约束对各功能分块进行逻辑综合获取各功能分块对应的初级门级代码;
将所述初级门级代码作为各功能分块的所述逻辑综合结果。
3.根据权利要求2所述的方法,其特征在于,所述根据所述功能模块所对应的寄存器传输级RTL代码获取分块列表,包括:
对所述功能模块所对应的RTL代码进行识别,获取所述RTL代码中所包含的分块标识;
根据所述分块标识确定与所述功能模块所关联的各所述功能分块,并根据所述功能分块确定所述分块列表。
4.根据权利要求2所述的方法,其特征在于,所述根据芯片设计功能模块所关联的各功能分块的逻辑综合结果,对所述功能模块进行设计处理获取各功能分块的外部约束,包括:
获取针对所述功能模块的第二设计约束;
根据所述第二设计约束和所述初级门级代码对所述功能模块进行设计处理获取各功能分块的外部约束。
5.根据权利要求2所述的方法,其特征在于,所述设计约束中包括时钟频率、路径延迟类型、路径延迟时间、功耗和占用芯片面积。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述根据所述更新门级代码对所述功能模块进行逻辑综合,获取所述功能模块的门级网表之后,还包括:
对所述门级网表进行检测,获取检测结果;
当确定所述检测结果异常时进行报警提示。
7.一种层次化逻辑综合装置,其特征在于,包括:
外部约束获取模块,用于根据芯片设计功能模块所关联的各功能分块的逻辑综合结果,对所述功能模块进行设计处理获取各功能分块的外部约束,其中,所述逻辑综合结果为各功能分块的初级门级代码;
更新门级代码获取模块,用于根据所述外部约束对所述各功能分块进行增量逻辑综合获取各功能分块对应的更新门级代码;
门级网表获取模块,用于获取针对所述功能模块的第二设计约束,根据所述第二设计约束和所述更新门级代码对所述功能模块进行逻辑综合,获取所述功能模块的门级代码、所述功能模块与各所述功能分块的逻辑链以及各功能分块之间的逻辑链;
根据所述功能模块的门级代码、所述功能模块与各所述功能分块的逻辑链以及各功能分块之间的逻辑链确定所述功能模块完整的门级网表;
更新门级代码获取模块,用于将各功能分块的外部约束作为所对应功能分块的第三设计约束;根据所述第三设计约束对各功能分块进行逻辑综合获取各功能分块对应的更新门级代码。
8.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-6中任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310417258.0A CN116127882B (zh) | 2023-04-19 | 2023-04-19 | 一种层次化逻辑综合方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310417258.0A CN116127882B (zh) | 2023-04-19 | 2023-04-19 | 一种层次化逻辑综合方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116127882A CN116127882A (zh) | 2023-05-16 |
CN116127882B true CN116127882B (zh) | 2023-07-11 |
Family
ID=86304917
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310417258.0A Active CN116127882B (zh) | 2023-04-19 | 2023-04-19 | 一种层次化逻辑综合方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116127882B (zh) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112270148A (zh) * | 2020-10-16 | 2021-01-26 | 山东云海国创云计算装备产业创新中心有限公司 | 一种门级网表生成方法及相关装置 |
CN113486611B (zh) * | 2021-06-30 | 2023-04-25 | 海光信息技术股份有限公司 | 芯片设计方法、芯片设计装置及非暂时性存储介质 |
CN114330174A (zh) * | 2021-11-18 | 2022-04-12 | 国微集团(深圳)有限公司 | 基于多fpga系统的并行rtl综合方法、存储介质 |
-
2023
- 2023-04-19 CN CN202310417258.0A patent/CN116127882B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN116127882A (zh) | 2023-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113722600A (zh) | 应用于大数据的数据查询方法、装置、设备及产品 | |
CN116127882B (zh) | 一种层次化逻辑综合方法、装置、设备和存储介质 | |
CN116775634A (zh) | 一种发电工程数据的质检方法、装置、设备及介质 | |
CN116821248A (zh) | 一种芯片设计数据同步方法、装置、设备及存储介质 | |
CN116954662A (zh) | 基于建筑设施的知识体系更新方法、装置、设备及介质 | |
CN117806969A (zh) | 一种业务的测试方法、装置、设备及介质 | |
CN117033227A (zh) | 一种分布式数据库测试方法、装置、设备和介质 | |
CN116302371A (zh) | 事务可见性判断方法、装置、设备及存储介质 | |
CN116955394A (zh) | 数据查询方法、装置、设备及介质 | |
CN117709903A (zh) | 一种分库方法、装置、电子设备及存储介质 | |
CN115983222A (zh) | 基于EasyExcel的文件数据读取方法、装置、设备及介质 | |
CN117668113A (zh) | 一种数据同步方法、装置、设备及介质 | |
CN118312497A (zh) | 一种数据库的迁移方法、装置、设备、存储介质及产品 | |
CN117193726A (zh) | 一种软件的并行设计方法、装置、电子设备以及介质 | |
CN117421322A (zh) | 一种数据读取方法、装置、设备及介质 | |
CN116820041A (zh) | 控制器控制逻辑功能的比较方法、装置、设备及存储介质 | |
CN116303578A (zh) | 一种查询表达式处理方法、装置、设备及存储介质 | |
CN114896418A (zh) | 知识图谱构建方法、装置、电子设备及存储介质 | |
CN116401269A (zh) | 一种数据查询方法、装置、电子设备及存储介质 | |
CN117632734A (zh) | 一种数据库的性能测试方法、电子设备和存储介质 | |
CN116301521A (zh) | 项目进度显示方法、装置、设备和介质 | |
CN117520396A (zh) | 一种关联关系异常识别方法、装置、设备及存储介质 | |
CN116467144A (zh) | 一种应用程序监控方法、装置、设备、芯片及介质 | |
CN118132533A (zh) | 一种数据处理方法、装置、设备以及存储介质 | |
CN117331924A (zh) | 一种数据模型匹配度核查方法、装置、设备及存储介质 |
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 |