CN117610491A - 一种芯片设计方法、装置、设备及计算机可读存储介质 - Google Patents
一种芯片设计方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN117610491A CN117610491A CN202311527315.7A CN202311527315A CN117610491A CN 117610491 A CN117610491 A CN 117610491A CN 202311527315 A CN202311527315 A CN 202311527315A CN 117610491 A CN117610491 A CN 117610491A
- Authority
- CN
- China
- Prior art keywords
- memory
- information table
- selecting
- change command
- engineering change
- 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
- 238000013461 design Methods 0.000 title claims abstract description 106
- 238000000034 method Methods 0.000 title claims abstract description 60
- 230000015654 memory Effects 0.000 claims abstract description 327
- 238000005457 optimization Methods 0.000 claims abstract description 75
- 230000008859 change Effects 0.000 claims abstract description 49
- 238000004458 analytical method Methods 0.000 claims abstract description 40
- 238000010845 search algorithm Methods 0.000 claims abstract description 37
- 230000015572 biosynthetic process Effects 0.000 claims abstract description 31
- 238000003786 synthesis reaction Methods 0.000 claims abstract description 31
- 238000006243 chemical reaction Methods 0.000 claims abstract description 20
- 238000004590 computer program Methods 0.000 claims description 17
- 238000013507 mapping Methods 0.000 claims description 8
- 238000012795 verification Methods 0.000 claims description 7
- 238000012300 Sequence Analysis Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 6
- 238000012938 design process Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 244000166124 Eucalyptus globulus Species 0.000 description 1
- 241000699670 Mus sp. Species 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000005587 bubbling Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012731 temporal analysis Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000000700 time series analysis Methods 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/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
- 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/3315—Design verification, e.g. functional simulation or model checking using static timing analysis [STA]
-
- 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
技术领域
本发明涉及一种芯片设计方法、装置、设备及计算机可读存储介质,特别是一种芯片设计的综合技术以及配套使用的形式化验证方法。
背景技术
在芯片的设计阶段,基本流程主要包括寄存器转换级(RegisterTransistorLogic,RTL)代码设计、功能仿真、逻辑综合、时序分析等步骤。在现有芯片设计过程中,需要首先确定存储器关于容量和端口类型的约束条件,然后基于确定的容量和端口类型利用存储器编译器编译出多个满足要求的存储器(memory),不同存储器的选择对后端芯片设计来说,影响非常大。为了从编译器遍历得到的多个存储器中确定满足设计需求且最适合的存储器,还需要进一步地依据存储器的形状、面积、时序、功耗等物理信息进行筛选,挑选合适的存储器集成到RTL设计中。在完成RTL设计后,通过逻辑综合工具得到电路的门级网表文件。这将耗费大量的设计时间和设计测试成本,降低了芯片设计效率且增加了芯片设计周期,并且在逻辑综合过程中,存储器本身相当于一个黑盒,不会有任何的优化。
现有技术使得存储器的挑选工作非常依赖设计者的个人经验,但是满足同样功能需求的存储器,数量繁多,选择过程中又需要同时考虑面积,功耗,速度等各个方面的指标。一方面设计者只能脱离整体设计,孤立的分析的每一个存储器是否符合设计需求,随着存储器数量增多,工作量快速上升;另一方面,综合过程中存储器不会再得到任何优化,这里往往留下了一个电路事实上可继续优化的缺口,而当逻辑综合后的门级网表不能满足当前的设计指标时,可能还需要返回设计阶段,重新挑选存储器再次进行代码集成进行新的一轮或者多轮迭代。
发明内容
有鉴于此,本发明提供了一种芯片设计方法,所述方法包括:构建一内存池,所述内存池中包括编译得到的多个存储器;将所述内存池中相同容量的存储器标记为相同存储类型,其中,每一存储类型包括至少一个存储器;对每一存储类型中的每一存储器按照每一存储器的属性信息排序,得到优化信息表,所述优化信息表中包括每一存储器与该存储器的位置序号之间的映射关系;获取寄存器转换级文件,将所述内存池内每一存储器导入寄存器转换级文件中,并进行逻辑综合;完成所述逻辑综合后,提取所有存储器的第一分析结果,选取其中最差的第一分析结果对应的第一存储器,采用查找算法从所述优化信息表中选择第一分析结果满足设计要求的第二存储器进行一次工程改变命令替换;根据所述属性信息,从所述优化信息表中选择第三存储器进行二次工程改变命令替换,得到所述属性信息满足设计要求的第三存储器。
在一些实施例中,所述属性信息包括以下至少之一:面积、功耗、速度、负载;对应的,所述优化信息表包括以下至少之一:面积优化信息表、功耗优化信息表、速度优化信息表、负载优化信息表。
在一些实施例中,所述提取所有存储器的第一分析结果,选取其中最差的第一分析结果对应的第一存储器,采用查找算法从所述优化信息表中选择第一分析结果满足设计要求的第二存储器进行一次工程改变命令替换,包括:提取所有存储器的时序分析结果,选取其中最差时序路径对应的第一存储器;从所述速度优化信息表中找到所述最差时序路径对应的第一存储器;当所述第一存储器的时序路径出现违例,采用查找算法从所述速度优化信息表中选择第二存储器进行一次工程改变命令替换,其中所述第二存储器的时序路径满足设计要求。
在一些实施例中,所述根据所述属性信息,从所述优化信息表中选择第三存储器进行二次工程改变命令替换,得到所述属性信息满足设计要求的目标存储器,包括:从所述面积优化信息表、或所述功耗优化信息表、或所述负载优化信息表中找到所述第二存储器及第二存储器对应的位置序号;选择位于第二存储器之前的前置存储器进行工程改变命令替换,当所述前置存储器的时序路径出现违例,选择位置序号为所述前置存储器后一位的第三存储器进行二次工程改变命令替换,得到所述属性信息满足设计要求的第三存储器。
在一些实施例中,所述查找算法包括:第一类查找算法和第二类查找算法;对应的,所述采用查找算法选择第二存储器进行一次工程改变命令替换包括:若满足第一预设条件,采用第一类查找算法选择第二存储器进行一次工程改变命令替换;若不满足第一预设条件,采用第二类查找算法选择第二存储器进行一次工程改变命令替换。
在一些实施例中,所述对每一存储类型中的每一存储器按照每一存储器的属性信息排序,可采用以下方法:人工排序或算法排序。
在一些实施例中,所述方法还包括:获取门级网表,采用手动匹配的方式对满足设计要求的所述第三存储器进行寄存器转换级文件与门级网表之间的形式化验证。
第二方面,本申请实施例提供一种芯片设计装置,所述装置包括:构建模块,用于构建一内存池,所述内存池中包括编译得到的多个存储器;分类模块,用于将所述内存池中相同容量的存储器标记为相同存储类型,其中,每一存储类型包括至少一个存储器;排序模块,用于对每一存储类型中的每一存储器按照每一存储器的属性信息排序,得到优化信息表,所述优化信息表中包括每一存储器与该存储器的位置序号之间的映射关系;逻辑综合模块,用于获取寄存器转换级文件,将所述内存池内每一存储器导入寄存器转换级文件中,并进行逻辑综合;工程改变命令替换模块,用于完成所述逻辑综合后,提取所有存储器的第一分析结果,选取其中最差的第一分析结果对应的第一存储器,从所述优化信息表中选择第一分析结果满足设计要求的第二存储器进行一次工程改变命令替换;所述工程改变命令替换模块,还用于根据所述属性信息,从所述优化信息表中选择第三存储器进行二次工程改变命令替换,得到所述属性信息满足设计要求的第三存储器。
第三方面,本申请实施例提供一种芯片设计设备,所述设备包括处理器、内存器以及存储在所述内存器上并可被所述处理器执行的计算机程序,其中,所述计算机程序被所述处理器执行时,实现如上述的芯片设计方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其中,所述计算机程序被处理器执行时,实现如上述的芯片设计方法。
本发明填补了memory优化选型自动化的技术空白,结合逻辑综合技术保证选型的客观有效性。
附图说明
图1为相关技术中的芯片开发流程示意图;
图2为本申请实施例一提供的芯片设计方法的流程示意图;
图3为优化信息表的示例图;
图4为本申请实施例二提供的芯片设计方法的流程示意图;
图5为本申请实施例三提供的芯片设计装置组成示意图。
具体实施方式
下面将结合示意图对本发明的具体实施方式进行更详细的描述。根据下列描述,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。
实施例一相关技术中的芯片开发流程过程如图1所示,包括芯片架构设计、RTL设计、逻辑综合、物理实现、晶圆制造和封装测试等多个步骤,其中,芯片设计的过程中,随着memory的数量增多,同时还需考虑其速度、面积、功耗等桉树,因此挑选符合要求的memory的过程变得复杂。经过逻辑综合后,采用形式验证(Formal Verification)方法,验证RTL的描述设计与门级网表是否一致。当综合后的网表不能满足当前的设计指标时,可能还需要返回设计阶段,重新挑选memory再次进行代码集成进行新的一轮或者多轮迭代。为解决上述问题,简化memory的优化过程,本申请实施例提供一种芯片设计方法,图2为本申请实施例一提供的芯片设计方法的流程示意图,参见图2,所述方法包括:
步骤S101:构建一内存池,所述内存池中包括编译得到的多个存储器。这里,可以根据功能需求通过memory编译器生成多个memory,从而构建内存池。
步骤S102:将所述内存池中相同容量的存储器标记为相同存储类型,其中,每一存储类型包括至少一个存储器。这里,相同容量指memory的存储比特的大小,将内存池中多个memory按照容量大小分为多个存储类型,以便后续处理。
步骤S103:对每一存储类型中的每一存储器按照每一存储器的属性信息排序,得到优化信息表,所述优化信息表中包括每一存储器与该存储器的位置序号之间的映射关系。这里,每一属性信息得到该属性信息对应的优化信息表,优化信息表中包括该存储类型中的每一存储器,以及与每一存储器的位置序号,图3为优化信息表示例。
步骤S104:获取寄存器转换级文件,将所述内存池内每一存储器导入寄存器转换级文件中,并进行逻辑综合。
这里,寄存器转换级(RTL)文件是指采用诸如VHDL、Verilog等硬件描述语言对电路功能和行为进行描述的文件。逻辑综合(logicsynthesis)是指在诸如速度、负载、面积、功耗等约束条件下,将HDL语言、原理图等设计输入翻译成由与、或、非门等基本逻辑单元组成的门级网表,并根据设计目标与要求(约束条件)优化所生成的逻辑连接,输出门级网表文件。例如,逻辑综合可借助于电子设计自动化(Electronic Design Automation,EDA)工具来实现。进一步地,在逻辑综合之后,除了生成门级网表文件,还可生成例如时序、面积、功耗等分析结果。
步骤S105:完成所述逻辑综合后,提取所有存储器的第一分析结果,选取其中最差的第一分析结果对应的第一存储器,从所述优化信息表中选择第二存储器进行一次工程改变命令替换,所述第二存储器的第一分析结果满足设计要求。这里,在完成上述逻辑综合过程后,生成各属性信息对应的分析结果,从中提取所有的存储器的第一分析结果,这里的第一分析结果可以是时序分析结果,或者是功耗分析结果等。选择去其中最差的第一分析结果对应的第一存储器,及第一存储器在优化信息表中的位置序号,选择第二存储器进行一次工程改变命令(Engineering Change Order,ECO)替换,这里的第二存储器的第一分析结果满足设计要求,如此通过一次ECO替换,得到优化后的,第一分析结果满足设计要求的第二存储器。
步骤S106:根据所述属性信息,从所述优化信息表中选择第三存储器进行二次工程改变命令替换,得到所述属性信息满足设计要求的第三存储器。
这里的属性信息包括以下至少之一:面积、功耗、速度、负载。对应的,所述优化信息表包括以下至少之一:面积优化信息表、功耗优化信息表、速度优化信息表、负载优化信息表。根据上述属性信息,从某一属性信息对应的优化信息表中选择第三存储器进行二次ECO,这里,第三存储器的属性信息满足设计要求。
本申请实施例提供的芯片设计方法,在memory的优化过程中,直接将memory带入整体设计进行综合分析评估,并基于设计要求进行时序优化,及相关参数信息优化,选择出满足设计要求的memory,得到的结果优于依赖个人经验孤立分析单个memory的选型策略;同时缩短开发时间,节省了设计者手动选择memory的工作量,避免由于选择不当导致的来回迭代过程,优化了芯片设计过程。
实施例二本申请实施例二提供一种芯片设计方法,图4为本申请实施例二提供的芯片设计方法流程示意图,参见图4,所述方法包括:
步骤S201:构建一内存池,所述内存池中包括编译得到的多个存储器;这里,可以根据功能需求通过memory编译器生成多个memory,从而构建内存池。
步骤S202:将所述内存池中相同容量的存储器标记为相同存储类型,其中,每一存储类型包括至少一个存储器;这里,相同容量指memory的存储比特的大小,将内存池中多个memory按照容量大小分为多个存储类型,以便后续处理。
步骤S203:对每一存储类型中的每一存储器按照每一存储器的属性信息排序,得到优化信息表,所述优化信息表中包括每一存储器与该存储器的位置序号之间的映射关系。在本申请实施例中,所述属性信息包括以下至少之一:面积、功耗、速度,对应的,所述优化信息表包括以下至少之一:面积优化信息表、功耗优化信息表、速度优化信息表。这里,按照属性信息排序时,是按照属性信息由小到大的顺序形成优化信息表,例如,按照面积由小到大的顺序排列多个存储器,得到位置序号分别为1,2…n的面积优化信息表,其中,位置序号为1的存储器其面积最小。
在本申请实施例中,所述对每一存储类型中的每一存储器按照每一存储器的属性信息排序,可采用以下方法:人工排序或算法排序。这里,算法排序可以包括但不限于以下排序方法:冒泡排序,选择排序,插入排序,归并排序,快速排序,堆排序,希尔排序,桶排序等。
步骤S204:获取寄存器转换级文件,将所述内存池内每一存储器导入寄存器转换级文件中,并进行逻辑综合;寄存器转换级(RTL)文件是指采用诸如VHDL、Verilog等硬件描述语言对电路功能和行为进行描述的文件。逻辑综合(logicsynthesis)是指在诸如速度、负载、面积、功耗等约束条件下,将HDL语言、原理图等设计输入翻译成由与、或、非门等基本逻辑单元组成的门级网表,并根据设计目标与要求(约束条件)优化所生成的逻辑连接,输出门级网表文件。例如,逻辑综合可借助于电子设计自动化(Electronic DesignAutomation,EDA)工具来实现。进一步地,在逻辑综合之后,除了生成门级网表文件,还可生成例如时序、面积、功耗等分析报告。
步骤S205:完成所述逻辑综合后,提取所有存储器的第一分析结果,选取其中最差的第一分析结果对应的第一存储器,采用查找算法从所述优化信息表中选择第一分析结果满足设计要求的第二存储器进行一次工程改变命令替换。在本申请实施例中,步骤S205通过以下过程完成:
步骤S51:提取所有存储器的时序分析结果,选取其中最差时序路径对应的第一存储器;当所述第一存储器的时序路径出现违例,进行步骤S52:采用查找算法从所述速度优化信息表中选择第二存储器进行一次工程改变命令替换,其中所述第二存储器的时序路径满足设计要求。
工程改变命令(Engineering Change Order,ECO),是指在芯片设计过程中,当发现设计上有错误或改变设计时,可以通过ECO替换实现手动修改集成电路的过程。是进行局部的小范围的修改和重新布线,而不影响到设计的其它部分的布局布线,所以其它部分的时序信息没有改变。
在本申请实施例中,所述查找算法包括:第一类查找算法和第二类查找算法;对应的,所述采用查找算法选择第二存储器进行一次工程改变命令替换包括:若满足第一预设条件,采用第一类查找算法选择第二存储器进行一次工程改变命令替换;若不满足第一预设条件,采用第二类查找算法选择第二存储器进行一次工程改变命令替换。
这里,第一类查找算法为有序查找算法,是根据有序的优化信息表按照位置顺序依次选择存储器,包括但不限于以下查找算法:顺序查找算法、二分查找算法、插值查找算法、斐波那契查找算法。第一预设条件为提前设置的,用于判断是否采用有序查找算法的第一类查找算法进行一次ECO替换过程,第一预设条件可以是:信息优化表已经就上述属性信息对存储器进行了排序,得到有序的信息优化表。第一预设条件还可以是:同一存储类型得到的优化信息表中存储器的数量少于预定数量,例如存储器的数量小于20个。第一预设条件还可以是:第一存储器的时序路径已经比较接近设计要求。如此,可以保证采用第一类查找算法能够找到时序路径优于第一存储器的第二存储器,第一预设条件还可以是其他内容,在此不做限制。
当采用第一类查找算法时,具体的过程为:在速度优化信息表中找到第一存储器及对应的位置序号,这里,速度优化信息表中包括每一存储器与该存储器的位置序号之间的映射关系;例如,第一存储器在速度优化信息表中的位置序号为n,n为自然数,此时,依次选择位置序号为n-1、n-2、…、1的存储器进行一次ECO替换,直到位置序号为m的存储器其时序路径满足设计要求,m小于n,此时,将位置序号为m的存储器作为第二存储器,通过一次ECO替换后选择出满足时序路径的设计要求的第二存储器。
在一些实施例中,当位置序号为1的存储器其时序路径依然出现违例,不满足设计要求,此时优化信息表已被穷举,则选择位置序号为1的存储器作为第二存储器,结束上述优化过程。
所述第二类查找算法为无序查找算法,若不满足第一预设条件,则采用第二类查找算法,包括但不限于以下算法:二叉树查找算法、2-3树查找算法、红黑树查找算法、B树查找算法、B+树查找算法、哈希查找算法。
在本申请实施例中,在步骤S52之后,若所述第一存储器的时序路径未出现时序违例,满足设计要求,则进行步骤S206:根据所述属性信息,从所述优化信息表中选择第三存储器进行二次工程改变命令替换,得到所述属性信息满足设计要求的第三存储器。
在本申请实施例中,步骤S206通过以下步骤完成:
步骤S61:从所述面积优化信息表、或所述功耗优化信息表、或所述负载优化信息表中找到所述第二存储器及第二存储器对应的位置序号;步骤S62:选择位于第二存储器之前的前置存储器进行工程改变命令替换,当所述前置存储器的时序路径出现违例;步骤S63:选择位置序号为所述前置存储器后一位的第三存储器进行二次工程改变命令替换,得到属性信息满足设计要求的第三存储器。
在一些实施例中,若前置存储器的时序路径没有出现违例,则当所述前置存储器的位置序号为1时,选择位置序号为1的前置存储器作为第三存储器,结束上述优化过程。
具体的二次ECO替换过程为:根据属性信息,从面积优化信息表、或所述功耗优化信息表、或所述负载优化信息表中找到所述第二存储器及第二存储器对应的位置序号p,p为自然数,采用第一类查找算法依次选择位置序号为p-1、p-2、…1的前置存储器,当位置序号为q的前置存储器的时序路径出现违例时,q小于p,选择位置序号为q+1的存储器作为第三存储器进行二次工程改变命令替换,如此可以在保证第三存储器的时序路径满足设计要求的前提下,选择属性信息最优的memory。
在本申请实施例中,还包括步骤S207:获取门级网表,采用手动匹配的方式对满足设计要求的所述第三存储器进行寄存器转换级文件与门级网表之间的形式化验证。对于进行过一次ECO替换和二次ECO替换的memory,在RTL文件与门级网表之间的形式化验证过程中,需要进行手动匹配,例如使用formality工具中的change_link命令,如此确保比对双方的memory能够匹配。完成芯片设计过程。
本申请实施例在选择memory的过程中,采用一次ECO替换确定最优时序路径的存储器,之后,在保证最有时序路径的前提下,对存储器的其他属性信息进行验证,以选择最优存储器,避免了传统方法在每次ECO替换后需要重新进行时序分析并确认时序结果,导致耗时长,过程复杂的问题,能更快速找到最优的memory,缩短芯片开发时间。
实施例三本申请实施例提供一种芯片设计装置,图5为本申请实施例提供的芯片设计装置组成示意图,参见图5,所述装置500包括:
构建模块501,用于构建一内存池,所述内存池中包括编译得到的多个存储器;分类模块502,用于将所述内存池中相同容量的存储器标记为相同存储类型,其中,每一存储类型包括至少一个存储器;排序模块503,用于对每一存储类型中的每一存储器按照每一存储器的属性信息排序,得到优化信息表,所述优化信息表中包括每一存储器与该存储器的位置序号之间的映射关系;逻辑综合模块504,用于获取寄存器转换级文件,将所述内存池内每一存储器导入寄存器转换级文件中,并进行逻辑综合;工程改变命令替换模块505,用于完成所述逻辑综合后,提取所有存储器的第一分析结果,选取其中最差的第一分析结果对应的第一存储器,从所述优化信息表中选择第一分析结果满足设计要求的第二存储器进行一次工程改变命令替换;以及根据所述属性信息,从所述优化信息表中选择第三存储器进行二次工程改变命令替换,得到所述属性信息满足设计要求的第三存储器。
实施例四本申请实施例提供一种芯片设计设备,所述芯片设计设备包括处理器、内存器以及存储在所述内存器上并可被所述处理器执行的计算机程序,其中,所述计算机程序被所述处理器执行时,实现如实施例1及实施例2所述的芯片设计方法。
本实施例中,芯片设计设备可以是终端设备、服务器等。芯片设计设备可以包括处理装置(例如中央处理器、图形处理器),其可以根据存储在只读存储器(ROM0中的程序或者从存储装置加载到随机访问存储器(RAM)中的程序而执行各种适当的动作和处理。在RAM中,还存储有芯片设计设备操作所需的各种程序和数据。处理装置、ROM以及RAM通过总线彼此相连。输入/输出(I/O)接口也连接至总线。
通常,以下装置可以连接至I/O接口:输入装置,包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等;输出装置,包括例如液晶显示器(LCD)、扬声器、振动器等;存储装置包括例如磁带、硬盘等;以及通信装置。通信装置可以允许芯片设计设备与其他电子设备进行无线或有线通信以交换数据。应当理解的是,本实施例并未示出芯片设计设备的所有装置,芯片设计设备可以替代地实施或具备更多或更少的装置。
根据本公开的实施例,上述芯片设计方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包括用于执行上述芯片设计方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置从网络上被下载和安装,或者从存储装置安装,或者从ROM安装。在该计算机程序被处理装置执行时,可以执行本公开实施例提供的芯片设计方法中限定的功能。
实施例五本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其中,所述计算机程序被处理器执行时,实现如实施例1及实施例2所述的芯片设计方法。在本实施例中,上述的存储介质包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。例如,该存储介质可以应用于上述芯片设计设备中。
以上所述仅是本发明的优选实施例而已,并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
Claims (10)
1.一种芯片设计方法,其特征在于,所述方法包括:
构建一内存池,所述内存池中包括编译得到的多个存储器;
将所述内存池中相同容量的存储器标记为相同存储类型,其中,每一存储类型包括至少一个存储器;
对每一存储类型中的每一存储器按照每一存储器的属性信息排序,得到优化信息表,所述优化信息表中包括每一存储器与该存储器的位置序号之间的映射关系;
获取寄存器转换级文件,将所述内存池内每一存储器导入寄存器转换级文件中,并进行逻辑综合;
完成所述逻辑综合后,提取所有存储器的第一分析结果,选取其中最差的第一分析结果对应的第一存储器,采用查找算法从所述优化信息表中选择第一分析结果满足设计要求的第二存储器进行一次工程改变命令替换;
根据所述属性信息,从所述优化信息表中选择第三存储器进行二次工程改变命令替换,得到所述属性信息满足设计要求的第三存储器。
2.根据权利要求1所述的方法,其特征在于,所述属性信息包括以下至少之一:面积、功耗、速度、负载;
对应的,所述优化信息表包括以下至少之一:面积优化信息表、功耗优化信息表、速度优化信息表、负载优化信息表。
3.根据权利要求2所述的方法,其特征在于,所述提取所有存储器的第一分析结果,选取其中最差的第一分析结果对应的第一存储器,采用查找算法从所述优化信息表中选择第一分析结果满足设计要求的第二存储器进行一次工程改变命令替换,包括:
提取所有存储器的时序分析结果,选取其中最差时序路径对应的第一存储器;
当所述第一存储器的时序路径出现违例,采用查找算法从所述速度优化信息表中选择第二存储器进行一次工程改变命令替换,其中所述第二存储器的时序路径满足设计要求。
4.根据权利要求3所述的方法,其特征在于,所述根据所述属性信息,从所述优化信息表中选择第三存储器进行二次工程改变命令替换,得到所述属性信息满足设计要求的目标存储器,包括:
从所述面积优化信息表、或所述功耗优化信息表、或所述负载优化信息表中找到所述第二存储器及第二存储器对应的位置序号;
选择位于第二存储器之前的前置存储器进行工程改变命令替换,当所述前置存储器的时序路径出现违例,选择位置序号为所述前置存储器后一位的第三存储器进行二次工程改变命令替换,得到所述属性信息满足设计要求的第三存储器。
5.根据权利要求3所述的方法,其特征在于,所述查找算法包括:第一类查找算法和第二类查找算法;
对应的,所述采用查找算法选择第二存储器进行一次工程改变命令替换包括:
若满足第一预设条件,采用第一类查找算法选择第二存储器进行一次工程改变命令替换;
若不满足第一预设条件,采用第二类查找算法选择第二存储器进行一次工程改变命令替换。
6.根据权利要求1所述的方法,其特征在于,所述对每一存储类型中的每一存储器按照每一存储器的属性信息排序,可采用以下方法:人工排序或算法排序。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述方法还包括:获取门级网表,采用手动匹配的方式对满足设计要求的所述第三存储器进行寄存器转换级文件与门级网表之间的形式化验证。
8.一种芯片设计装置,其特征在于,所述装置包括:
构建模块,用于构建一内存池,所述内存池中包括编译得到的多个存储器;
分类模块,用于将所述内存池中相同容量的存储器标记为相同存储类型,其中,每一存储类型包括至少一个存储器;
排序模块,用于对每一存储类型中的每一存储器按照每一存储器的属性信息排序,得到优化信息表,所述优化信息表中包括每一存储器与该存储器的位置序号之间的映射关系;
逻辑综合模块,用于获取寄存器转换级文件,将所述内存池内每一存储器导入寄存器转换级文件中,并进行逻辑综合;
工程改变命令替换模块,用于完成所述逻辑综合后,提取所有存储器的第一分析结果,选取其中最差的第一分析结果对应的第一存储器,从所述优化信息表中选择第一分析结果满足设计要求的第二存储器进行一次工程改变命令替换;以及
根据所述属性信息,从所述优化信息表中选择第三存储器进行二次工程改变命令替换,得到所述属性信息满足设计要求的第三存储器。
9.一种芯片设计设备,其特征在于,所述设备包括处理器、内存器以及存储在所述内存器上并可被所述处理器执行的计算机程序,其中,所述计算机程序被所述处理器执行时,实现如权利要求1至7中任一项所述的芯片设计方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,其中,所述计算机程序被处理器执行时,实现如权利要求1至7中任一项所述的芯片设计方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311527315.7A CN117610491A (zh) | 2023-11-15 | 2023-11-15 | 一种芯片设计方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311527315.7A CN117610491A (zh) | 2023-11-15 | 2023-11-15 | 一种芯片设计方法、装置、设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117610491A true CN117610491A (zh) | 2024-02-27 |
Family
ID=89957127
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311527315.7A Pending CN117610491A (zh) | 2023-11-15 | 2023-11-15 | 一种芯片设计方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117610491A (zh) |
-
2023
- 2023-11-15 CN CN202311527315.7A patent/CN117610491A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Barros et al. | Analog circuits and systems optimization based on evolutionary computation techniques | |
KR102165943B1 (ko) | 기계 학습 디자인 구현 플랫폼 | |
US6516456B1 (en) | Method and apparatus for selectively viewing nets within a database editor tool | |
US8051397B2 (en) | Method and system for conducting design explorations of an integrated circuit | |
US7437698B2 (en) | Method and program product for protecting information in EDA tool design views | |
US7159202B2 (en) | Methods, apparatus and computer program products for generating selective netlists that include interconnection influences at pre-layout and post-layout design stages | |
JP2001519958A (ja) | 電子設計の高レベル記述から最適な物理的実施形態を生成するための方法及びシステム | |
US11256845B2 (en) | Machine-learning driven prediction in integrated circuit design | |
JP6668182B2 (ja) | 回路設計装置及びそれを用いた回路設計方法 | |
US8701059B2 (en) | Method and system for repartitioning a hierarchical circuit design | |
US9443050B2 (en) | Low-voltage swing circuit modifications | |
US11055463B1 (en) | Systems and methods for gate array with partial common inputs | |
CN104933214A (zh) | 集成电路设计方法和装置 | |
US8281269B2 (en) | Method of semiconductor integrated circuit device and program | |
Kahng et al. | RosettaStone: connecting the past, present, and future of physical design research | |
JP2022016409A (ja) | レジスタ転送レベル設計から合成可能なネットリストを生成するためのシステム及び方法 | |
US20060190848A1 (en) | Low power consumption designing method of semiconductor integrated circuit | |
TW201218008A (en) | Intelligent architecture creator | |
CN117610491A (zh) | 一种芯片设计方法、装置、设备及计算机可读存储介质 | |
US20210390244A1 (en) | System and Method for Synchronizing Net Text Across Hierarchical Levels | |
US11120184B2 (en) | Satisfiability sweeping for synthesis | |
US20210264081A1 (en) | Methods of designing semiconductor devices, design systems performing the same and methods of manufacturing semiconductor devices using the same | |
US20220058328A1 (en) | Synthesis placement bounds based on physical timing analysis | |
CN115293078B (zh) | 集成电路的节点改写方法、装置、电子设备及介质 | |
CN113688587B (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 |