CN112270148A - 一种门级网表生成方法及相关装置 - Google Patents
一种门级网表生成方法及相关装置 Download PDFInfo
- Publication number
- CN112270148A CN112270148A CN202011111575.2A CN202011111575A CN112270148A CN 112270148 A CN112270148 A CN 112270148A CN 202011111575 A CN202011111575 A CN 202011111575A CN 112270148 A CN112270148 A CN 112270148A
- Authority
- CN
- China
- Prior art keywords
- logic
- logic code
- gate
- level netlist
- path
- 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 88
- 230000015572 biosynthetic process Effects 0.000 claims abstract description 65
- 238000003786 synthesis reaction Methods 0.000 claims abstract description 65
- 238000012545 processing Methods 0.000 claims abstract description 63
- 238000010219 correlation analysis Methods 0.000 claims abstract description 16
- 238000003860 storage Methods 0.000 claims abstract description 10
- 230000008569 process Effects 0.000 claims description 41
- 238000005516 engineering process Methods 0.000 claims description 33
- 230000007613 environmental effect Effects 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 10
- 238000004458 analytical method Methods 0.000 claims description 9
- 230000008878 coupling Effects 0.000 claims description 8
- 238000010168 coupling process Methods 0.000 claims description 8
- 238000005859 coupling reaction Methods 0.000 claims description 8
- 238000010276 construction Methods 0.000 claims description 7
- 238000004088 simulation Methods 0.000 claims description 6
- 238000005457 optimization Methods 0.000 abstract description 11
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 238000013461 design Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 8
- 238000001308 synthesis method Methods 0.000 description 7
- 239000004065 semiconductor Substances 0.000 description 3
- 238000007667 floating Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 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
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
技术领域
本申请涉及芯片制造技术领域,特别涉及一种门级网表生成方法、门级网表生成装置、计算设备以及计算机可读存储介质。
背景技术
随着电子科学技术的不断发展,芯片制造等集成电路技术也在不断发展。其中,就出现了采用RTL(Register Transfer Level,寄存器传输级)逻辑代码进行寄存器的逻辑设计。RTL是用于描述数字电路操作的抽象级。在RTL级,集成电路是由一组寄存器以及寄存器之间的逻辑操作构成。之所以如此,是因为绝大多数的电路可以被看成由寄存器来存储二进制数据、由寄存器之间的逻辑操作来完成数据的处理,数据处理的流程由时序状态机来控制,这些处理和控制可以用硬件描述语言来描述。基于此,在芯片设计中包括前端设计和后端设计。在前端设计中,逻辑综合负责将RTL代码映射至半导体制造厂商工艺技术库中的门级电路,进而形成门级网表。获取到完整的门级网表后,依据门级网表可以进行芯片后端设计,可见逻辑综合在芯片设计中发挥着承上启下作用。
相关技术中,一般采用展平式策略对RTL逻辑代码文件进行逻辑综合操作。也就是说,在对逻辑代码进行逻辑综合的过程中将芯片视为一个整体进行逻辑综合。但是,展平式的逻辑综合策略进行逻辑综合操作后得到的芯片,时钟频率较低,芯片面积较大,功耗较高,最终导致芯片性能不佳。
因此,如何在逻辑综合的过程中提高芯片的性能是本领域技术人员关注的重点问题。
发明内容
本申请的目的是提供一种门级网表生成方法、门级网表生成装置、计算设备以及计算机可读存储介质,通过关键路径将逻辑代码解耦为多个逻辑代码模块,再进行逻辑综合处理以便实现门级网表生成处理,得到门级网表,针对不同代码的相关性进行优化,提高了门级网表的性能。
为解决上述技术问题,本申请提供一种门级网表生成方法,包括:
根据延迟数据对逻辑代码文件的逻辑代码路径进行相关性分析,得到多个关键路径;其中,所述关键路径为延迟时间大于预设时间的逻辑代码路径;
根据所述多个关键路径将所述逻辑代码文件进行解耦处理,得到多个逻辑代码模块;
对所述多个逻辑代码模块进行逻辑综合处理,得到门级网表。
可选的,根据延迟数据对逻辑代码文件的逻辑代码路径进行相关性分析,得到多个关键路径,包括:
对所述逻辑代码文件进行逻辑代码路径划分处理,得到多个逻辑代码路径;
根据所述延迟数据将所述多个逻辑代码路径中延迟时间大于预设时间的逻辑代码路径作为关键路径。
可选的,还包括:
对所述逻辑代码文件进行模拟仿真处理,得到所述延迟数据。
可选的,根据所述多个关键路径将所述逻辑代码文件进行解耦处理,得到多个逻辑代码模块,包括:
根据所述多个关键路径对所述逻辑代码文件中的逻辑代码块进行分类,得到每个关键路径对应的逻辑组合;
将每个所述逻辑组合作为逻辑代码模块,得到所述多个逻辑代码模块。
可选的,对所述多个逻辑代码模块进行逻辑综合处理,得到门级网表,包括:
根据综合库对每个所述逻辑代码模块进行逻辑综合处理,得到多个逻辑综合结果;
对所述多个逻辑综合结果进行耦合,得到所述门级网表。
可选的,对所述多个逻辑代码模块进行逻辑综合处理,得到门级网表,包括:
确定工艺技术数据库;
根据所述工艺技术数据库进行环境搭建和约束设置,得到环境参数和约束参数;
根据所述环境参数和所述约束参数对所述多个逻辑代码模块进行逻辑综合处理,得到所述门级网表。
可选的,根据所述工艺技术数据库进行环境搭建和约束设置,得到环境参数和约束参数,包括:
根据所述工艺技术数据库对所述多个逻辑代码模块映射的门级电路进行环境参数设置,得到所述环境参数;
根据所述工艺技术数据库对所述多个逻辑代码模块映射的门级电路进行目标约束处理,得到所述约束参数。
本申请还提供一种门级网表生成装置,包括:
关键路径分析单元,用于根据延迟数据对逻辑代码文件的逻辑代码路径进行相关性分析,得到多个关键路径;其中,所述关键路径为延迟时间大于预设时间的逻辑代码路径;
逻辑代码解耦单元,用于根据所述多个关键路径将所述逻辑代码文件进行解耦处理,得到多个逻辑代码模块;
逻辑模块综合单元,用于对所述多个逻辑代码模块进行逻辑综合处理,得到门级网表。
本申请还提供一种计算设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上所述的门级网表生成方法的步骤。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的门级网表生成方法的步骤。
本申请所提供的一种门级网表生成方法,包括:根据延迟数据对逻辑代码文件的逻辑代码路径进行相关性分析,得到多个关键路径;其中,所述关键路径为延迟时间大于预设时间的逻辑代码路径;根据所述多个关键路径将所述逻辑代码文件进行解耦处理,得到多个逻辑代码模块;对所述多个逻辑代码模块进行逻辑综合处理,得到门级网表。
通过对逻辑代码文件的逻辑代码路径进行相关性分析,得到多个关键路径,然后根据所述多个关键路径将所述逻辑代码文件进行解耦处理,得到多个逻辑代码模块,最后对所述多个逻辑代码模块进行逻辑综合处理,得到门级网表,也就是对针对逻辑代码的关键路径进行优化,而不是采用展平式的逻辑综合方式,提高了芯片的时钟频率,减小了芯片面积,降低了芯片功耗,提升了芯片整体的性能。
本申请还提供一种门级网表生成装置、计算设备以及计算机可读存储介质,具有以上有益效果,在此不作赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例所提供的一种门级网表生成方法的流程图;
图2为本申请实施例所提供的一种门级网表生成方法的解耦合示意图;
图3为本申请实施例所提供的门级网表生成方法的一种示意图;
图4为本申请实施例所提供的门级网表生成方法的另一种示意图;
图5为本申请实施例所提供的一种门级网表生成装置的结构示意图。
具体实施方式
本申请的核心是提供一种门级网表生成方法、门级网表生成装置、计算设备以及计算机可读存储介质,通过关键路径将逻辑代码解耦为多个逻辑代码模块,再进行逻辑综合处理以便实现门级网表生成处理,得到门级网表,针对不同代码的相关性进行优化,提高了门级网表的性能。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
相关技术中,一般采用展平式策略对RTL逻辑代码文件进行逻辑综合操作。也就是说,在对逻辑代码进行逻辑综合的过程中将芯片视为一个整体进行逻辑综合。但是,展平式的逻辑综合策略进行逻辑综合操作后得到的芯片,时钟频率较低,芯片面积较大,功耗较高,最终导致芯片性能不佳。
因此,本申请提供一种门级网表生成方法,通过对逻辑代码文件的逻辑代码路径进行相关性分析,得到多个关键路径,然后根据所述多个关键路径将所述逻辑代码文件进行解耦处理,得到多个逻辑代码模块,最后对所述多个逻辑代码模块进行逻辑综合处理,得到门级网表,也就是对针对逻辑代码的关键路径进行优化,而不是采用展平式的逻辑综合方式,提高了芯片的时钟频率,减小了芯片面积,降低了芯片功耗,提升了芯片整体的性能。
以下通过一个实施例,对本申请提供的一种门级网表生成方法进行说明。
请参考图1,图1为本申请实施例所提供的一种门级网表生成方法的流程图。
本实施例中,该方法可以包括:
S101,根据延迟数据对逻辑代码文件的逻辑代码路径进行相关性分析,得到多个关键路径;其中,关键路径为延迟时间大于预设时间的逻辑代码路径;
本步骤旨在以延迟数据的角度对逻辑代码文件中的各个逻辑代码路径进行相关性分析,得到多个关键路径。其中,逻辑代码路径是指在逻辑代码中在执行顺序上相关的各个逻辑代码块的序列。在不同的执行逻辑中不同的逻辑代码块之间存在不同的逻辑代码路径。因此,本步骤中通过延迟数据在多个逻辑代码路径中挑选出与延迟优化相关的路径作为关键路径。
其中,逻辑代码文件是指RTL代码文件,是用于描述同步数字电路操作的抽象级。在RTL级,IC是由一组寄存器以及寄存器之间的逻辑操作构成。之所以如此,是因为绝大多数的电路可以被看成由寄存器来存储二进制数据、由寄存器之间的逻辑操作来完成数据的处理,数据处理的流程由时序状态机来控制,这些处理和控制可以用硬件描述语言来描述。RTL级和门级简单的区别在于,RTL是用硬件描述语言描述理想达到的功能,门级则是用具体的逻辑单元(依赖厂家的库)来实现对应功能,门级最终可以在半导体厂加工成实际的硬件。也就是说,RTL和门级是设计实现上的不同阶段,RTL经过逻辑综合后,就得到门级。
为了进一步提高,关键路径划分的准确性,本步骤可以包括:
步骤1,对逻辑代码文件进行逻辑代码路径划分处理,得到多个逻辑代码路径;
步骤2,根据延迟数据将多个逻辑代码路径中延迟时间大于预设时间的逻辑代码路径作为关键路径。
可见,本可选方案中主要是对如何确定出关键路径进行说明。本可选方案中首先对逻辑代码文件进行逻辑代码路径划分处理,得到多个逻辑代码路径。也就是,先对该逻辑代码文件进行逻辑代码路径划分,得到多个逻辑代码路径。其中,不同的代码模块之间可以串联单个或多个的逻辑代码路径。因此,本可选方案中获取到的逻辑代码路径是错综复杂的。进一步的,根据延迟数据将多个逻辑代码路径中延迟时间大于预设时间的逻辑代码路径作为关键路径。也就是,从多个逻辑代码路径中选择出用于进行优化处理的关键路径。可以看到的是,本可选方案中主要是以延迟时间的角度选择出延迟时间没有达到标准的路径作为关键路径。
可以想到的是,本实施例中还可以包括:
对逻辑代码文件进行模拟仿真处理,得到延迟数据。
可见,本可选实施例中主要是说明本实施例还可以在根据延迟数据对逻辑代码文件的逻辑代码路径进行相关性分析,得到多个关键路径的步骤之前,对该逻辑代码文件进行模拟仿真处理,得到本实施例中使用的延迟数据。
S102,根据多个关键路径将逻辑代码文件进行解耦处理,得到多个逻辑代码模块;
在S101的基础上,本步骤旨在根据获取到的多个关键路径将该逻辑代码文件进行解耦处理,得到多个逻辑代码模块。也就是,按照确定出来的关键路径将该逻辑代码文件进行解耦处理得到多个逻辑代码模块,即将该逻辑代码文件分解为多个逻辑代码块,以便针对不同的逻辑代码模块执行对应的逻辑综合处理,而不是相关技术中执行整体的逻辑综合处理。
可选的,进一步说明本步骤中如何进行解耦处理,本步骤可以包括:
步骤1,根据多个关键路径对逻辑代码文件中的逻辑代码块进行分类,得到每个关键路径对应的逻辑组合;
步骤2,将每个逻辑组合作为逻辑代码模块,得到多个逻辑代码模块。
可见,本可选方案中主要是如何解耦出多个逻辑代码模块进行说明。本可选方案中首先根据多个关键路径对逻辑代码文件中的逻辑代码块进行分类,得到每个关键路径对应的逻辑组合。也就是,按照关键路径将逻辑代码块进行分类,得到每个关键路径对应的逻辑组合。然后,将每个逻辑组合作为逻辑代码模块,得到多个逻辑代码模块。举例来说,先将逻辑代码文件分为多个逻辑代码块,然后根据关键路径对所有的逻辑代码块进行分类,得到每个关键路径对应的逻辑组合。
S103,对多个逻辑代码模块进行逻辑综合处理,得到门级网表。
在S102的基础上,本步骤旨在对每个逻辑代码模块进行逻辑综合处理,得到门级网表。其中,针对每个逻辑代码模块进行的逻辑综合处理可以参考现有技术提供的任意一种逻辑综合处理。本步骤中的区别就在于相关技术中是针对芯片整体执行逻辑综合处理,在本实施例中是对每一个逻辑代码模块进行逻辑综合处理,实现了针对延时将逻辑代码的逻辑综合过程进行优化,提高了芯片的性能。
其中,在电路设计中,网表是用于描述电路元件相互之间连接关系的,一般来说是一个遵循某种比较简单的标记语法的文本文件。门级指的是网表描述的电路综合级别。顾名思义,门级网表中,描述的电路元件基本是门或与此同级别的元件。
可选的,本步骤可以包括:
步骤1,根据综合库对每个逻辑代码模块进行逻辑综合处理,得到多个逻辑综合结果;
步骤2,对多个逻辑综合结果进行耦合,得到门级网表。
可见,本可选方案中主要是对如何通过逻辑综合处理得到门级网表进行说明。本可选方案中首先根据综合库对每个逻辑代码模块进行逻辑综合处理,得到多个逻辑综合结果。然后,对多个逻辑综合结果进行耦合,得到门级网表。也就是,将对每个逻辑代码模块对应的逻辑综合结果进行结合,得到该芯片完整的门级网表。
为了进一步提高门级网表生成的准确性,本步骤可以包括:
步骤1,确定工艺技术数据库;
步骤2,根据工艺技术数据库进行环境搭建和约束设置,得到环境参数和约束参数;
步骤3,根据环境参数和约束参数对多个逻辑代码模块进行逻辑综合处理,得到门级网表。
可见,本可选方案中为了进一步提高门级网表生成的准确性。本可选方案中首先确定工艺技术数据库;然后,根据工艺技术数据库进行环境搭建和约束设置,得到环境参数和约束参数;最后,根据环境参数和约束参数对多个逻辑代码模块进行逻辑综合处理,得到门级网表。其中,主要是针对该工艺技术数据库进行了环境搭建和约束设置,保持了可以正常使用该工艺技术数据库进行相应的逻辑综合操作。
进一步为了提高逻辑综合过程的效果,上一可选方案中的步骤2可以包括:
根据工艺技术数据库对多个逻辑代码模块映射的门级电路进行环境参数设置,得到环境参数;根据工艺技术数据库对多个逻辑代码模块映射的门级电路进行目标约束处理,得到约束参数。
可见,本可选方案中主要是对上一可选方案中如何得到环境参数和约束参数进行说明。本可选方案中首先根据工艺技术数据库对多个逻辑代码模块映射的门级电路进行环境参数设置,得到环境参数;然后根据工艺技术数据库对多个逻辑代码模块映射的门级电路进行目标约束处理,得到约束参数。
综上,本实施例通过对逻辑代码文件的逻辑代码路径进行相关性分析,得到多个关键路径,然后根据多个关键路径将逻辑代码文件进行解耦处理,得到多个逻辑代码模块,最后对多个逻辑代码模块进行逻辑综合处理,得到门级网表,也就是对针对逻辑代码的关键路径进行优化,而不是采用展平式的逻辑综合方式,提高了芯片的时钟频率,减小了芯片面积,降低了芯片功耗,提升了芯片整体的性能。
以下通过一个具体的实施例,对本申请提供的一种门级网表生成方法做进一步说明。
本实施例中,该方法按先后顺序共包含七个步骤,分别为处理器代码读取、处理器关键路径分析、处理器解耦合、解耦合模块执行逻辑综合流程、解耦合模块间连线优化、各模块综合结果耦合、处理器综合结果输出。
首先,基于代码分析工具,进行SoC处理器设计代码(RTL代码)的读取。代码读取完成后,针对处理器进行关键路径分析。事实上,关键路径可以从多个角度进行解释,例如,从延迟的角度来说,关键路径是指总延迟大于相应周期时间的路径。
请参考图2,图2为本申请实施例所提供的一种门级网表生成方法的解耦合示意图。
根据关键路径分析结果,可知处理器中具体存在哪些关键路径,将这些关键路径分别标定为关键路径1至关键路径n。关键路径存在于不同逻辑之间。如果不同逻辑之间具有关键路径,则意味着这些逻辑之间具备良好的粘合性。这种情况下,把围绕关键路径的不同逻辑视为一个逻辑组合。因此,基于分析所得关键路径,将处理器视为由不同的逻辑组合构成。也就是说,处理器被解耦为基于所得关键路径的不同逻辑组合,进一步地,这些逻辑组合分别等价于不同模块,模块具体标定为模块1至模块n。最终,SoC处理器被解耦为不同模块。
处理器解耦合完成后,对于解耦合模块(模块1至模块n),均执行逻辑综合流程。具体地,解耦合模块执行的逻辑综合流程先后包含六个步骤,分别为模块代码读取、指定模块综合目标库、模块综合环境搭建、模块综合约束设计、模块综合优化、模块综合结果输出。
首先,通过逻辑综合工具读取模块代码,并对代码进行分析,找到代码中不可综合的若干部分。
需要指定模块综合目标库。从概念上讲,模块综合目标库是指由半导体制造厂商提供的工艺技术库。随着模块综合目标库的指定完成,需要继续进行模块综合环境搭建以及约束设置。无论综合环境搭建,还是约束设置,综合目标库均在综合流程中起到重要作用。
模块综合优化依据所搭建环境、所设置约束实现,即模块逻辑综合可以视为由环境、约束所驱动。一方面,模块综合环境搭建是指针对模块所映射的门级电路,设置目标工作温度/电压/工艺、线性负载模型等。另一方面,基于模块综合约束设置,可以对模块所映射门级电路的设计细节进行目标约束,具体包括门级电路的电容、扇入/扇出等细节。
根据所搭建环境以及所设置约束,模块映射的门级电路实现综合优化,进而输出模块综合结果。在处理器顶层针对模块间的相关连线进行优化,随后将各模块综合结果进行耦合,进而最终输出SoC处理器综合结果。
相比于当前采用的展平式逻辑综合策略,本实施例提供的基于关键路径的解耦式逻辑综合方法,可以实现处理器时钟频率、面积、功耗的优化,以使SoC性能获得改善。应注意的是,对于SoC处理器展平化逻辑综合策略,具体是指将SoC处理器视为一个整体执行逻辑综合,先后包括六个步骤,分别为处理器代码读取、指定处理器综合目标库、处理器综合环境搭建、处理器综合约束设置、处理器综合优化、处理器综合结果输出。
请参考图3,图3为本申请实施例所提供的门级网表生成方法的一种示意图。
举例来说,SoC处理器为ARM Cortex A7单核处理器,针对Cortex A7单核处理器,执行本实施例的逻辑综合方法。其中,由关键路径分析结果,可知处理器内部共存在3条关键路径,分别为关键路径1、关键路径2、关键路径3。基于这些关键路径,Cortex A7单核处理器被解耦为3个模块,分别为模块1、模块2、模块3,如附图3所示。具体地,模块1由V7单核逻辑、浮点控制逻辑构成,模块2由L1 Cache逻辑、L2 Cache逻辑、ACE总线逻辑构成,而模块3由数据引擎逻辑、窥探控制逻辑构成。各模块执行逻辑综合流程时,均指定中芯国际40nm工艺技术库为综合目标库。解耦式逻辑综合方法执行完成后,所得时钟频率为623MHz、面积1137664μm2、功耗信息824mW。
为了进行对比,针对Cortex A7单核SoC处理器,还执行了展平式逻辑综合策略。其中,同样指定中芯国际40nm工艺技术库为综合目标库。通过展平式逻辑综合策略,所得时钟频率为452MHz、面积2123114μm2、功耗信息1215mW。可见,相比于展平式逻辑综合策略,本实施例中解耦式逻辑综合方法,可以使Cortex A7单核SoC处理器在时钟频率、面积、功耗方面,分别提升38%、46%、32%,进而实现SoC性能的优化。
请参考图4,图4为本申请实施例所提供的门级网表生成方法的另一种示意图。
本实施例中SoC处理器为ARM Cortex A7双核处理器,针对Cortex A7双核处理器,执行本发明逻辑综合方法。其中,由关键路径分析结果,可知处理器内部共存在4条关键路径,分别为关键路径1、关键路径2、关键路径3、关键路径4。基于这些关键路径,Cortex A7双核处理器被解耦为4个模块,分别为模块1、模块2、模块3、模块4,如附图4所示。具体地,模块1由V7单核逻辑、V7单核逻辑构成,模块2由L1 Cache逻辑、L2 Cache逻辑构成,模块3由数据引擎逻辑、浮点控制逻辑构成,而模块4由窥探控制逻辑、ACE总线逻辑构成。各模块执行逻辑综合流程时,均指定中芯国际40nm工艺技术库为综合目标库。解耦式逻辑综合方法执行完成后,所得时钟频率为697MHz、面积1731220μm2、功耗信息1032mW。
为了进行对比,针对Cortex A7双核SoC处理器,还执行了展平式逻辑综合策略。其中,同样指定中芯国际40nm工艺技术库为综合目标库。通过展平式逻辑综合策略,所得时钟频率为541MHz、面积3421331μm2、功耗信息1560mW。可见,相比于展平式逻辑综合策略,本实施例中解耦式逻辑综合方法,可以使Cortex A7双核SoC处理器在时钟频率、面积、功耗方面,分别提升29%、49%、34%,进而实现SoC性能的优化。
可见,本实施例可以通过对逻辑代码文件的逻辑代码路径进行相关性分析,得到多个关键路径,然后根据多个关键路径将逻辑代码文件进行解耦处理,得到多个逻辑代码模块,最后对多个逻辑代码模块进行逻辑综合处理,得到门级网表,也就是对针对逻辑代码的关键路径进行优化,而不是采用展平式的逻辑综合方式,提高了芯片的时钟频率,减小了芯片面积,降低了芯片功耗,提升了芯片整体的性能。
下面对本申请实施例提供的门级网表生成装置进行介绍,下文描述的门级网表生成装置与上文描述的门级网表生成方法可相互对应参照。
请参考图5,图5为本申请实施例所提供的一种门级网表生成装置的结构示意图。
本实施例中,该装置可以包括:
关键路径分析单元100,用于根据延迟数据对逻辑代码文件的逻辑代码路径进行相关性分析,得到多个关键路径;其中,关键路径为延迟时间大于预设时间的逻辑代码路径;
逻辑代码解耦单元200,用于根据多个关键路径将逻辑代码文件进行解耦处理,得到多个逻辑代码模块;
逻辑模块综合单元300,用于对多个逻辑代码模块进行逻辑综合处理,得到门级网表。
可选的,关键路径分析单元100,可以包括:
代码路径划分子单元,用于对逻辑代码文件进行逻辑代码路径划分处理,得到多个逻辑代码路径;
关键路径确定子单元,用于根据延迟数据将多个逻辑代码路径中延迟时间大于预设时间的逻辑代码路径作为关键路径。
可选的,该装置还可以包括:
模拟仿真单元,用于对逻辑代码文件进行模拟仿真处理,得到延迟数据。
可选的,该逻辑代码解耦单元200,可以包括:
逻辑代码块分类子单元,用于根据多个关键路径对逻辑代码文件中的逻辑代码块进行分类,得到每个关键路径对应的逻辑组合;
代码模块获取子单元,用于将每个逻辑组合作为逻辑代码模块,得到多个逻辑代码模块。
可选的,该逻辑模块综合单元300,可以包括:
模块逻辑综合子单元,用于根据综合库对每个逻辑代码模块进行逻辑综合处理,得到多个逻辑综合结果;
综合结果耦合子单元,用于对多个逻辑综合结果进行耦合,得到门级网表。
可选的,该逻辑模块综合单元300,可以包括:
工艺库确定子单元,用于确定工艺技术数据库;
环境约束确定子单元,用于根据工艺技术数据库进行环境搭建和约束设置,得到环境参数和约束参数;
逻辑综合子单元,用于根据环境参数和约束参数对多个逻辑代码模块进行逻辑综合处理,得到门级网表。
可选的,该环境约束确定子单元具体用于根据工艺技术数据库对多个逻辑代码模块映射的门级电路进行环境参数设置,得到环境参数;根据工艺技术数据库对多个逻辑代码模块映射的门级电路进行目标约束处理,得到约束参数。
本申请实施例还提供一种计算设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如以上实施例所述的门级网表生成方法的步骤。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如以上实施例所述的门级网表生成方法的步骤。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的一种门级网表生成方法、门级网表生成装置、计算设备以及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
Claims (10)
1.一种门级网表生成方法,其特征在于,包括:
根据延迟数据对逻辑代码文件的逻辑代码路径进行相关性分析,得到多个关键路径;其中,所述关键路径为延迟时间大于预设时间的逻辑代码路径;
根据所述多个关键路径将所述逻辑代码文件进行解耦处理,得到多个逻辑代码模块;
对所述多个逻辑代码模块进行逻辑综合处理,得到门级网表。
2.根据权利要求1所述的门级网表生成方法,其特征在于,根据延迟数据对逻辑代码文件的逻辑代码路径进行相关性分析,得到多个关键路径,包括:
对所述逻辑代码文件进行逻辑代码路径划分处理,得到多个逻辑代码路径;
根据所述延迟数据将所述多个逻辑代码路径中延迟时间大于预设时间的逻辑代码路径作为关键路径。
3.根据权利要求1所述的门级网表生成方法,其特征在于,还包括:
对所述逻辑代码文件进行模拟仿真处理,得到所述延迟数据。
4.根据权利要求1所述的门级网表生成方法,其特征在于,根据所述多个关键路径将所述逻辑代码文件进行解耦处理,得到多个逻辑代码模块,包括:
根据所述多个关键路径对所述逻辑代码文件中的逻辑代码块进行分类,得到每个关键路径对应的逻辑组合;
将每个所述逻辑组合作为逻辑代码模块,得到所述多个逻辑代码模块。
5.根据权利要求1至4任一项所述的门级网表生成方法,其特征在于,对所述多个逻辑代码模块进行逻辑综合处理,得到门级网表,包括:
根据综合库对每个所述逻辑代码模块进行逻辑综合处理,得到多个逻辑综合结果;
对所述多个逻辑综合结果进行耦合,得到所述门级网表。
6.根据权利要求1至4任一项所述的门级网表生成方法,其特征在于,对所述多个逻辑代码模块进行逻辑综合处理,得到门级网表,包括:
确定工艺技术数据库;
根据所述工艺技术数据库进行环境搭建和约束设置,得到环境参数和约束参数;
根据所述环境参数和所述约束参数对所述多个逻辑代码模块进行逻辑综合处理,得到所述门级网表。
7.根据权利要求6所述的门级网表生成方法,其特征在于,根据所述工艺技术数据库进行环境搭建和约束设置,得到环境参数和约束参数,包括:
根据所述工艺技术数据库对所述多个逻辑代码模块映射的门级电路进行环境参数设置,得到所述环境参数;
根据所述工艺技术数据库对所述多个逻辑代码模块映射的门级电路进行目标约束处理,得到所述约束参数。
8.一种门级网表生成装置,其特征在于,包括:
关键路径分析单元,用于根据延迟数据对逻辑代码文件的逻辑代码路径进行相关性分析,得到多个关键路径;其中,所述关键路径为延迟时间大于预设时间的逻辑代码路径;
逻辑代码解耦单元,用于根据所述多个关键路径将所述逻辑代码文件进行解耦处理,得到多个逻辑代码模块;
逻辑模块综合单元,用于对所述多个逻辑代码模块进行逻辑综合处理,得到门级网表。
9.一种计算设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的门级网表生成方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的门级网表生成方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011111575.2A CN112270148A (zh) | 2020-10-16 | 2020-10-16 | 一种门级网表生成方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011111575.2A CN112270148A (zh) | 2020-10-16 | 2020-10-16 | 一种门级网表生成方法及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112270148A true CN112270148A (zh) | 2021-01-26 |
Family
ID=74337255
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011111575.2A Pending CN112270148A (zh) | 2020-10-16 | 2020-10-16 | 一种门级网表生成方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112270148A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113688587A (zh) * | 2021-08-31 | 2021-11-23 | 上海商汤阡誓科技有限公司 | 一种电路布图的生成方法、装置、计算机设备及存储介质 |
CN114492264A (zh) * | 2022-03-31 | 2022-05-13 | 南昌大学 | 门级电路的转译方法、系统、存储介质及设备 |
CN114792079A (zh) * | 2022-04-22 | 2022-07-26 | 电子科技大学 | 一种门级网表转换为可综合硬件描述语言代码的方法 |
WO2022198447A1 (zh) * | 2021-03-23 | 2022-09-29 | 华为技术有限公司 | 一种数字电路的综合方法及综合装置 |
CN115510780A (zh) * | 2022-09-30 | 2022-12-23 | 中国人民解放军国防科技大学 | 一种基于ppa预测的门级网表自动生成方法 |
CN116127882A (zh) * | 2023-04-19 | 2023-05-16 | 太初(无锡)电子科技有限公司 | 一种层次化逻辑综合方法、装置、设备和存储介质 |
WO2023124147A1 (zh) * | 2021-12-27 | 2023-07-06 | 华为数字能源技术有限公司 | 一种功率模块的衬底设计方法、装置和终端设备 |
CN116522831A (zh) * | 2023-07-04 | 2023-08-01 | 奇捷科技(深圳)有限公司 | 逻辑更正方法、装置、设备及存储介质 |
CN117787169A (zh) * | 2023-12-25 | 2024-03-29 | 苏州异格技术有限公司 | 基于fpga的网表优化方法、装置、计算机设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6263483B1 (en) * | 1998-02-20 | 2001-07-17 | Lsi Logic Corporation | Method of accessing the generic netlist created by synopsys design compilier |
CN101821737A (zh) * | 2007-07-23 | 2010-09-01 | 新思公司 | 构架物理综合 |
CN102129493A (zh) * | 2011-03-02 | 2011-07-20 | 福州瑞芯微电子有限公司 | 数字ic设计流程中实现自动化eco网表的方法 |
CN102955867A (zh) * | 2011-08-30 | 2013-03-06 | 三星半导体(中国)研究开发有限公司 | 生成门级网表和标准延迟文件及检查和纠正伪路径的方法 |
CN103605863A (zh) * | 2013-11-27 | 2014-02-26 | 中国人民解放军国防科学技术大学 | 集成电路时钟网格主干尺寸的规划方法 |
CN109684881A (zh) * | 2017-10-19 | 2019-04-26 | 中国科学院微电子研究所 | 一种旁路检测方法及装置 |
CN109791576A (zh) * | 2016-09-20 | 2019-05-21 | 英赛瑟库尔公司 | 用于混淆具有伪装门和逻辑加密的集成电路的系统和方法 |
CN109918735A (zh) * | 2019-02-01 | 2019-06-21 | 西安电子科技大学 | 一种电路级单粒子效应敏感路径的搜索方法 |
-
2020
- 2020-10-16 CN CN202011111575.2A patent/CN112270148A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6263483B1 (en) * | 1998-02-20 | 2001-07-17 | Lsi Logic Corporation | Method of accessing the generic netlist created by synopsys design compilier |
CN101821737A (zh) * | 2007-07-23 | 2010-09-01 | 新思公司 | 构架物理综合 |
CN102129493A (zh) * | 2011-03-02 | 2011-07-20 | 福州瑞芯微电子有限公司 | 数字ic设计流程中实现自动化eco网表的方法 |
CN102955867A (zh) * | 2011-08-30 | 2013-03-06 | 三星半导体(中国)研究开发有限公司 | 生成门级网表和标准延迟文件及检查和纠正伪路径的方法 |
CN103605863A (zh) * | 2013-11-27 | 2014-02-26 | 中国人民解放军国防科学技术大学 | 集成电路时钟网格主干尺寸的规划方法 |
CN109791576A (zh) * | 2016-09-20 | 2019-05-21 | 英赛瑟库尔公司 | 用于混淆具有伪装门和逻辑加密的集成电路的系统和方法 |
CN109684881A (zh) * | 2017-10-19 | 2019-04-26 | 中国科学院微电子研究所 | 一种旁路检测方法及装置 |
CN109918735A (zh) * | 2019-02-01 | 2019-06-21 | 西安电子科技大学 | 一种电路级单粒子效应敏感路径的搜索方法 |
Non-Patent Citations (2)
Title |
---|
国成哲: "FPGA打包算法的研究", 《中国优秀硕士学位论文全文数据库信息科技辑》, no. 05, 15 May 2017 (2017-05-15), pages 2 - 3 * |
李洪革,李峭,何锋等编著: "《VERILOG硬件描述语言与设计》", 北京航空航天大学出版社, pages: 209 - 210 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022198447A1 (zh) * | 2021-03-23 | 2022-09-29 | 华为技术有限公司 | 一种数字电路的综合方法及综合装置 |
CN113688587B (zh) * | 2021-08-31 | 2024-03-22 | 上海商汤阡誓科技有限公司 | 一种电路布图的生成方法、装置、计算机设备及存储介质 |
CN113688587A (zh) * | 2021-08-31 | 2021-11-23 | 上海商汤阡誓科技有限公司 | 一种电路布图的生成方法、装置、计算机设备及存储介质 |
WO2023124147A1 (zh) * | 2021-12-27 | 2023-07-06 | 华为数字能源技术有限公司 | 一种功率模块的衬底设计方法、装置和终端设备 |
CN114492264A (zh) * | 2022-03-31 | 2022-05-13 | 南昌大学 | 门级电路的转译方法、系统、存储介质及设备 |
CN114492264B (zh) * | 2022-03-31 | 2022-06-24 | 南昌大学 | 门级电路的转译方法、系统、存储介质及设备 |
CN114792079A (zh) * | 2022-04-22 | 2022-07-26 | 电子科技大学 | 一种门级网表转换为可综合硬件描述语言代码的方法 |
CN115510780B (zh) * | 2022-09-30 | 2023-03-31 | 中国人民解放军国防科技大学 | 一种基于ppa预测的门级网表自动生成方法 |
CN115510780A (zh) * | 2022-09-30 | 2022-12-23 | 中国人民解放军国防科技大学 | 一种基于ppa预测的门级网表自动生成方法 |
CN116127882A (zh) * | 2023-04-19 | 2023-05-16 | 太初(无锡)电子科技有限公司 | 一种层次化逻辑综合方法、装置、设备和存储介质 |
CN116522831A (zh) * | 2023-07-04 | 2023-08-01 | 奇捷科技(深圳)有限公司 | 逻辑更正方法、装置、设备及存储介质 |
CN116522831B (zh) * | 2023-07-04 | 2023-09-19 | 奇捷科技(深圳)有限公司 | 门级网表的更正方法、装置、设备及存储介质 |
CN117787169A (zh) * | 2023-12-25 | 2024-03-29 | 苏州异格技术有限公司 | 基于fpga的网表优化方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112270148A (zh) | 一种门级网表生成方法及相关装置 | |
Wang et al. | A performance analysis framework for optimizing OpenCL applications on FPGAs | |
Jyu et al. | Statistical timing analysis of combinational logic circuits | |
CN1885295B (zh) | 使用逻辑单元建置集成电路 | |
US6247164B1 (en) | Configurable hardware system implementing Boolean Satisfiability and method thereof | |
US20120150522A1 (en) | Conversion of circuit description to an abstract model of the circuit | |
JP3150122B2 (ja) | 低電力vlsiデザインのための制限付きレジスタ共用方法及びそのシステム | |
JP2005512236A (ja) | タイミンググラフ縮小によるタイミングモデル抽出 | |
US8495535B2 (en) | Partitioning and scheduling uniform operator logic trees for hardware accelerators | |
US11755797B2 (en) | System and method for predicting performance, power and area behavior of soft IP components in integrated circuit design | |
EP3356966B1 (en) | Interactive multi-step physical synthesis | |
Dwiel et al. | FPGA modeling of diverse superscalar processors | |
Kim et al. | Pulser gating: A clock gating of pulsed-latch circuits | |
Jafri et al. | Silago-cog: Coarse-grained grid-based design for near tape-out power estimation accuracy at high level | |
Ghosh et al. | Analytical design space exploration of caches for embedded systems | |
Rabanal et al. | Designing Architecture of Embedded System Design using HDL Method | |
US10628543B1 (en) | Systems and methods for estimating a power consumption of a register-transfer level circuit design | |
US6834379B2 (en) | Timing path detailer | |
TW201218008A (en) | Intelligent architecture creator | |
US8302049B2 (en) | Method for enabling multiple incompatible or costly timing environment for efficient timing closure | |
Shahshahani et al. | An automated tool for implementing deep neural networks on fpga | |
US9892227B1 (en) | Systems, methods and storage media for clock tree power estimation at register transfer level | |
Nielsen et al. | Towards behavioral synthesis of asynchronous circuits-an implementation template targeting syntax directed compilation | |
Chatterjee et al. | EQUIPE: Parallel equivalence checking with GP-GPUs | |
Rangeetha et al. | Physical Design Implementation and Measurement of Timing Metrics of 32-Bit LEON SPARC Processor Used in Space Applications |
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 |
Application publication date: 20210126 |
|
RJ01 | Rejection of invention patent application after publication |