CN112818621B - 用于预测软ip部件的性能、功率和面积表现的系统和方法 - Google Patents
用于预测软ip部件的性能、功率和面积表现的系统和方法 Download PDFInfo
- Publication number
- CN112818621B CN112818621B CN202010146745.4A CN202010146745A CN112818621B CN 112818621 B CN112818621 B CN 112818621B CN 202010146745 A CN202010146745 A CN 202010146745A CN 112818621 B CN112818621 B CN 112818621B
- Authority
- CN
- China
- Prior art keywords
- timing
- block
- physical
- machine learning
- data
- 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
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000012549 training Methods 0.000 claims abstract description 23
- 239000013598 vector Substances 0.000 claims abstract description 19
- 238000010801 machine learning Methods 0.000 claims description 21
- 238000013461 design Methods 0.000 claims description 17
- 230000015572 biosynthetic process Effects 0.000 claims description 10
- 238000003786 synthesis reaction Methods 0.000 claims description 10
- 238000012512 characterization method Methods 0.000 claims description 9
- 238000004422 calculation algorithm Methods 0.000 claims description 6
- 239000002131 composite material Substances 0.000 claims 5
- 230000002194 synthesizing effect Effects 0.000 claims 2
- 238000004891 communication Methods 0.000 claims 1
- 238000012360 testing method Methods 0.000 abstract description 13
- 238000005516 engineering process Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000011960 computer-aided design Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000008571 general function Effects 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000000704 physical effect Effects 0.000 description 1
- 229920006375 polyphtalamide Polymers 0.000 description 1
- 230000008672 reprogramming Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000012546 transfer 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/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/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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/3308—Design verification, e.g. functional simulation or model checking using simulation
- G06F30/3312—Timing analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/35—Delay-insensitive circuit design, e.g. asynchronous or self-timed
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/06—Power analysis or power optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/12—Timing analysis or timing optimisation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Geometry (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本文公开了用于预测软IP部件的性能、功率和面积表现的系统和方法。描述了用于使用模型来从IP的HDL表示中预测IP的物理表现的系统和对应方法。系统通过针对IP块将逻辑参数和物理参数子集视为一个来生成用于训练和测试模型的数据。系统将非数值参数数字化并且压缩时序弧。系统使用经训练的模型来直接根据逻辑参数值和物理参数值的组合向量预测IP块的性能、功率和面积(PPA)表现。
Description
技术领域
本发明属于系统设计领域,并且更具体地涉及知识产权(IP)块的性能、功率和面积的估计。
背景技术
知识产权(IP)块或元件或核用于芯片设计中。IP表示设计中使用的分立部件。IP是设计逻辑的可重用部件,具有已经过验证且可以集成到更大的设计中的经定义的接口和表现。IP通常采用软IP或硬IP的形式。硬IP被定义为无法修改的IP。设计者无法对硬IP的应用功能进行有意义的修改。
另一方面,软IP包括可配置的逻辑描述。软IP包括可综合的核,这些核例如以硬件描述语言(HDL)(诸如Verilog或VHSIC HDL(VHSL))交付或表示。这允许设计者可以在功能级别上修改设计。软IP有时也作为通用门级网表被提供。网表是被实现为通用门或处理特定的标准单元的IP逻辑功能的布尔代数表示。被实现为通用门的IP核可移植到任何处理技术。网表和可综合核都称为“软IP”,因为它们都允许在设计中进行综合、布局和布线(SPR)。
片上系统(SoC)和片上网络(NoC)中使用的软IP通常以高级别参数化的HDL表示或编写。在计算机系统设计中,HDL是用于描述具有电子电路或数字逻辑电路的IP的结构和表现的专用计算机语言。该表示使得能够对电子电路进行精确的形式化描述,从而允许对IP作为电子电路进行自动分析和仿真。HDL也可以综合为网表,网表是物理电子部件及其如何连接在一起的规范,其可以被布局和布线来产生用于创建IP作为集成电路的一部分的掩码集。HDL看起来很像编程语言。HDL是包括表达式、语句和控制结构的文本描述。大多数编程语言和HDL之间的一个重要区别是HDL明确包含了时间概念。特别是针对IP或复杂电路(诸如专用集成电路、微处理器和可编程逻辑设备),HDL形成电子设计自动化(EDA)系统的组成部分。
IP的表示必须在功能上正确并且必须满足物理要求(包括功耗和最小操作频率)。传统上,只有在IP综合为门级网表时才能进行性能、功率和面积(PPA)评估。对于大型IP,该过程可能需要数小时至数天,这对于在架构设计的早期阶段期间所需的分析来说是不切实际的。因此,需要允许能够根据其HDL描述来直接地预测IP物理表现以便缩短IP开发周期并且提供更多最佳解决方案的系统和方法。
发明内容
公开了用于使用机器学习模型来从IP的HDL表示中预测IP的物理表现(behavior)的系统和方法,其缩短了IP开发周期并且提供了更优化的解决方案。根据本发明的各个方面,PPA估计包括捕获参数,诸如IP的输入和输出端口之间的延迟、IP的面积以及IP使用的功率。PPA估计是针对IP的特定部件的表征集合,其可以用于构建用于训练机器学习模型的数据库。模型可以使用所收集的数据,并且提供针对IP的表现的估计,以从IP逻辑和物理参数值的组合向量直接地预测IP核或块的表现。因此,在通过综合来运行每个IP部件并且使用在多个参数变化下捕获的PPA而获得的数据上训练机器学习模型。针对每个特定的物理条件集合,收集PPA信息并将其用于训练模型。所收集的一些数据用于测试机器学习模型的有效性,而所收集的一些数据用于训练机器学习模型。
附图说明
图1示出了根据本发明的各个方面的用于计算发送给训练模型的软IP的功率、性能和面积的过程。
图2示出了根据本发明的各个方面的用于训练和测试用于预测PPA估计的模型的过程。
图3示出了根据本发明的各个方面的用于使用模型基于参数值来预测PPA值的过程。
图4示出了根据本发明的各个方面的IP块。
图5示出了根据本发明的各个方面的用于部署模型的流程。
图6示出了根据本发明的各个方面的用于将参数数字化的过程中的步骤。
具体实施方式
在下面的描述中参考附图根据各方面和实施例描述了本发明,在附图中相同的附图标记表示相同或相似的元件。在整个说明书中,对“一个实施例”、“实施例”或类似语言的引用意味着关于该实施例描述的特定特征、结构或特性被包括在本发明的至少一个实施例中。
因此,贯穿本说明书的短语“在一个实施例中”、“在实施例中”、“在某些实施例中”以及类似语言的出现可以但不一定都指代相同的实施例。注意,除非上下文另外明确指出,否则如本说明书中所使用的单数形式“一”、“一个”和“该”包括复数指示物。
根据本发明的各方面和一个或多个实施例,可以以任何合适的方式组合本发明所描述的特征、结构或特性。在以下描述中,记载了许多具体细节来提供对本发明的各种实施例的理解。然而,相关领域的技术人员将认识到,可以在没有一个或多个特定细节的情况下,或者利用其他方法、部件、材料等来实践本发明。在其他情况下,未详细示出或描述公知的结构、材料或操作,以避免使本发明的各个方面不清楚。
在本说明书中引用的所有公开和专利均通过引用并入本文,就好像每个单独的公开或专利均被具体地且单独地指出通过引用并入并且通过引用并入本文,以结合所引用的公开内容来披露和描述方法和/或系统。任何公开的引用均是其在提交日之前的披露并且不应解释为承认本发明无权凭借在先发明而早于该公开。此外,所提供的公开日期可能与可以需要独立确认的实际公开日期不同。
片上网络(NoC)在片上系统(SoC)IP(例如,CPU和存储器控制器)之间传送消息。NoC包括互连的交换机,借助交换机可以控制或传递消息。每个交换机的尺寸和速度取决于以下因素:1)逻辑参数,诸如输入/输出端口的数量和数据总线的宽度;2)物理条件,诸如工艺技术、标准单元库的类型、操作电压和温度。
现在参考图1,示出了根据本发明各个方面的过程,该过程用于收集关于IP块的数据集,并且使用数据集来估计IP块的性能、功率和面积(PPA),以构建用于训练和测试机器学习模型的数据集。如本文所使用,机器学习模型可以是现实世界过程的任何数学表示。针对模型的学习算法在训练数据中找到模式,使得输入参数对应于目标或结果。训练过程的输出或结果是可以用于进行预测的机器学习模型。如本文所使用,神经网络是通用机器学习方法中的一类模型。更具体地,神经网络是通用函数逼近的特定算法集合,这就是为什么它们可以应用于关于学习从输入到输出空间的复杂映射的几乎任何机器学习问题的原因。所生成的数据被存储在数据库中并且被用于训练机器学习模型,这将关于图2和图3进行讨论。因此,模型允许及早预测与PPA相关的物理参数。例如,寄存器级应该被放置在何处并且是多少个?或者信道中什么尺寸的总线适合?或者某个尺寸的交换机能否以所需的速度操作?或者应在哪个时钟域内放置交换机?或者发起方和目标之间的预期目标时延可实现?收集关于参数(诸如时序弧(IP的输入和输出端口之间的延迟))、面积和功率的信息允许PPA表征。
再次参考图1,所示出的过程产生训练数据。训练数据使用针对物理参数和逻辑参数的向量而生成,这些向量落在合理的范围和间隔内。这允许以后将用于训练机器学习模型的更精确的数据点集。过程然后使用逻辑参数的向量作为Verilog硬件描述语言(HDL)生成器100的输入。过程还包括将针对IP块的参数化HDL提供给Verilog HDL生成器。Verilog生成器针对逻辑参数的每个组合产生Verilog描述。表示所有组合的所产生的Verilog描述被输入到物理综合模块110。另外,物理参数值的向量被提供给物理综合模块。物理综合模块生成门级网表。物理综合模块使用库数据和脚本信息来针对每个组合生成门级网表,从而产生若干门级网表。每个门级网表都要考虑以确保结果是可接受的或合理的。确定结果是否合理是基于经验IC设计知识的规则的集合。例如,通过理智复杂度的组合块的延迟不应超过几纳秒。如果所产生的门级网表是可接受的,则将所产生的门级网表存储在数据库中。如果所产生的门级网表不可接受,则将报告结果并将结果丢弃。针对各种不同的IP块重复该过程来生成门级网表,并且将所产生的门级网表存储,以建立用于训练机器学习模型的数据库。
继续图1并且参考图4,提供了一个简单的示例。示例的简单性不是对系统的限制,仅是为了清楚而简化。如上所述,根据本发明的各个方面,数据生成用于基于参数化HDL来训练模型。参数化HDL(高级硬件描述语言)定义了高度可配置或可变IP的逻辑表现。例如,交换机400是将数据分组从其输入端口转发到其输出端口的部件。根据本发明的各个方面,将交换机端口的数目参数化。例如,交换机400可以具有2、3或4个输入端口和2或3个输出端口。通过针对这两个参数(输入端口和输出端口)的所有组合运行HDL生成器,结果将得到3×2=6个常规(即,非参数)Verilog描述,一个针对交换机400的每个变体,这是逻辑描述。通过从特定技术映射到标准单元,将这些逻辑描述转换为真实电路。该过程称为物理综合。因此,对于来自16nm和7nm技术的标准单元库,在综合之后将存在6×2=12个电路变体。注意,针对相同输入Verilog的16nm和7nm电路在逻辑上相同;物理特性不同,因为与16nm物理特性相比,7nm更快、更小并且功耗更低。
再次参考图2和图6,示出了用于针对机器学习模型生成训练数据和测试数据的过程。该过程访问数据库并且从数据库中提取相关的数据点。枚举可以被转换为独热向量,例如,“ss”=>[0 0 1],“tt”=>[0 1 0],“ff”=>[1 0 0]。如图6所示,非数值数据参数被转换成数字形式,以产生机器学习数据集210。数据集210被划分为训练数据220和测试数据230。训练数据220用于训练神经网络模型。利用经训练的模型,测试数据230用于测试模型的准确性。如果测试结果可接受,则可以部署该模型并且将其用于针对IP时钟的PPA估计和预测。如果测试结果不可接受,则调整神经网络模型的控制,并且提供反馈来进一步训练模型。
现在参考图3,根据本发明的各个方面,一旦模型被测试和部署,就可以基于使用模型提供的IP表征来执行针对IP部件的PPA估计。设计工具(诸如SoC设计工具)向模型提供实际IP块参数值集合。模型基于PPA模型输入来预测IP块的PPA值。因此,模型根据其逻辑和物理参数值的组合向量来直接预测IP块的PPA表现。模型之所以能够做到这一点,是因为在从通过综合运行IP的每个部件而获得的数据上训练模型,并且在多个参数变化下收集和捕获了PPA。
现在参考图5,示出了根据本发明各个方面的用于训练和部署模型的过程。在步骤500处,系统运行RTL生成来将具有逻辑参数值的向量的IP块的参数化HDL描述转换为工业标准行为Verilog语言。在步骤502处,系统使用特定物理条件集合来综合来自步骤500的门极Verilog(电路)。在步骤504处,系统捕获时序、功率和面积,同时压缩端口组之间的时序弧来减小数据大小。时序弧是IP块的每个输入端口和输出端口之间的延迟。根据一个实施例,该压缩从所有延迟测量值中选择最长延迟。在步骤506处,系统将从表征运行获得的可接受数据作为文档存储在noSQL数据库中,noSQL数据库成为用于模型后续训练的一个数据点。在步骤508处,系统确定是否需要处理更多的组合,并且返回步骤800以用于扩大逻辑和物理参数的多个组合。当已处理了所有组合时,系统移至步骤510。在步骤510处,系统将非数值参数(诸如标准单元库名称)转换为数值表示。在步骤512处,系统使用所累积的数据来训练模型。在步骤514处,系统通过将模型应用于未用于模型训练的测试集来测试被训练模型的准确性。在步骤516处,如果模型通过测试阶段,则在系统的IP设计工具下部署模型。
在本文中描述和要求保护的物理机器的一些实施例以许多变量来可编程,这些变量的组合实质上提供了无限多种操作表现。本文中描述和要求保护的硬件描述语言表示的一些实施例由提供大量参数的软件工具配置,这些参数的组合实质上提供了所描述和要求保护的本发明的无限多种物理机器实施例。使用这样的软件工具来配置硬件描述语言表示的方法体现了所描述和要求保护的发明。物理机器(诸如半导体芯片)、根据所描述和要求保护的本发明的机器的逻辑或功能表现的硬件描述语言表示、以及布置为存储这样的硬件描述语言表示的一个或多个非暂时性计算机可读介质都可以体现本文描述和要求保护的机器。
人与机器中任一个或两者结合的表现、在由一个或多个计算机执行时将使得一个或多个计算机执行所描述和要求保护的本发明的方法的指令、以及被布置为存储这样的指令的一个或多个非暂时性计算机可读介质体现了本文描述和要求保护的方法。实践本文描述和要求保护的发明所需的多于一个的非暂时性计算机可读介质中的每一个都单独体现了本发明。
另外,意图是不论结构如何,这样的等同物包括当前已知的等同物和将来开发的等同物(即,所开发的执行相同功能的任何元件)。因此,本发明的范围不旨在限于在本文中示出和描述的示例性实施例。
根据本发明的教导,计算机和计算设备是制品。制品的其他示例包括驻留于主板上的电子部件、服务器、大型计算机或其他专用计算机,各自具有被配置为执行计算机可读程序代码(例如,算法、硬件、固件和/或软件)来接收数据、传输数据、存储数据或执行方法的一个或多个处理器(例如,中央处理单元、图形处理单元或微处理器)。
制品(例如,计算机或计算设备)包括非暂时性计算机可读介质或存储装置,其可以包括一系列指令,诸如计算机可读程序步骤或其中编码的代码。在本发明的某些方面,非暂时性计算机可读介质包括一个或多个数据存储库。因此,在根据本发明的任何方面的某些实施例中,计算机可读程序代码(或代码)被编码在计算设备的非暂时性计算机可读介质中。处理器或模块进而执行计算机可读程序代码来使用工具创建或修改现有的计算机辅助设计。本文所使用的术语“模块”可以指代一个或多个电路、部件、寄存器、处理器、软件子例程或其任何组合。在实施例的其他方面中,计算机辅助设计的创建或修改被实现为基于网络的软件应用,其中与计算机辅助设计或工具或计算机可读程序代码有关的数据部分被接收或传输到主机的计算设备。
根据本发明的各个方面的制品或系统以多种方式实现:利用一个或多个不同的处理器或微处理器、易失性和/或非易失性存储器以及外围设备或外围控制器;利用具有处理器、本地易失性和非易失性存储器、外围设备和输入/输出引脚的集成微控制器;实现制品或系统的固定版本的离散逻辑;以及实现通过本地或远程接口将制品或系统的版本可重新编程的可编程逻辑。这样的逻辑可以以逻辑或经由处理器执行的命令集来实现控制系统。
因此,前面仅说明了被包含在本发明的各个实施例中的各个方面和原理。应当理解,本领域普通技术人员将能够设计出尽管本文中没有明确描述或示出、但是体现了本发明的原理并且被包括在本发明的精神和范围内的各种布置。此外,本文记载的所有示例和条件语言主要旨在帮助读者理解本发明的原理和发明人为进一步发展本领域所做出的构思,并且应解释为不限于这样具体列举的示例和条件。此外,本文中记载本发明的原理、方面和实施例及其特定示例的所有陈述旨在涵盖其结构和功能上的等同物。另外,意图是不论结构如何,这样的等同物包括当前已知的等同物和将来开发的等同物(即,所开发的执行相同功能的任何元件)。
本发明的范围因此并不旨在限于本文所讨论和描述的各个方面和实施例。相反,本发明的范围和精神由所附权利要求体现。
Claims (16)
1.一种用于累积数据的方法,所述数据用作用于训练机器学习模型的训练集,所述机器学习模型能够预测任何IP块的性能、功率和面积(PPA),以便优化IP块设计,所述机器学习模型具有一组输入参数,所述方法包括:
针对多个IP布置确定多个逻辑参数向量;
针对所述多个IP布置确定多个物理参数向量;
基于所述多个物理参数向量和所述多个逻辑参数向量来生成多个复合向量;
综合所述多个复合向量,以针对所述多个物理参数向量和所述多个逻辑参数向量的每个组合生成门级网表;
针对每个门级网表生成时序表征,以产生多个时序表征;以及
运行机器学习算法,以获取IP块的PPA估计,所述机器学习算法是使用所述训练集训练的。
2.根据权利要求1所述的方法,其中所述逻辑参数包括针对所述IP块的多个输入端口。
3.根据权利要求1所述的方法,其中所述逻辑参数包括针对所述IP块的多个输出端口。
4.根据权利要求1所述的方法,其中所述物理参数包括针对在综合的步骤中使用的所述IP块的库数据。
5.根据权利要求1所述的方法,进一步包括:针对每个综合产生包括针对性能、功率和面积的数据的多个表征。
6.根据权利要求5所述的方法,进一步包括:压缩所述IP块的输入端口与所述IP块的输出端口之间的多个时序弧。
7.根据权利要求6所述的方法,其中压缩所述多个时序弧包括:从所述多个时序弧中选择代表性的时序弧。
8.根据权利要求7所述的方法,其中所述代表性的时序弧是最慢的时序弧。
9.根据权利要求5所述的方法,进一步包括:将所述多个表征中的每个表征存储在数据库中。
10.根据权利要求1所述的方法,其中所述物理综合使用门级网表来被导出。
11.根据权利要求1所述的方法,进一步包括:将非数值参数转换成数值表示。
12.根据权利要求1所述的方法,进一步包括:使用存储在数据库中的所述多个时序表征来训练预测模型。
13.根据权利要求12所述的方法,进一步包括:使用所述时序表征来预测样本IP块的时序表征。
14.一种用于优化IP块的系统,包括:
用于存储代码的存储器;
与所述存储器通信的处理器,所述处理器执行累积数据的所述代码,所述数据用作用于训练机器学习模型的训练集,所述机器学习模型包括一组输入参数并且能够预测任何IP块的性能、功率和面积(PPA),以便优化IP块设计,从而使得所述系统:
基于物理参数和逻辑参数来生成多个复合向量;
综合所述多个复合向量,以针对所述多个复合向量中的每个复合向量生成门级网表;
针对每个门级网表生成时序表征,以产生多个时序表征;以及
运行使用所述训练集训练的机器学习算法,以获取PPA估计,用于优化片上系统(SoC)设计工具中使用的IP块,其中所述训练集包括时序表征。
15.根据权利要求14所述的系统,其中所述代码的执行进一步使得所述系统从多个时序弧中选择代表性的时序弧,其中每个时序弧是IP块的多个输入端口和多个输出端口之间的时序延迟。
16.根据权利要求15所述的系统,其中所述代表性的时序弧是最慢的。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/685,823 | 2019-11-15 | ||
US16/685,823 US10949585B1 (en) | 2019-11-15 | 2019-11-15 | System and method for predicting performance, power and area behavior of soft IP components in integrated circuit design |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112818621A CN112818621A (zh) | 2021-05-18 |
CN112818621B true CN112818621B (zh) | 2024-01-26 |
Family
ID=74870519
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010146745.4A Active CN112818621B (zh) | 2019-11-15 | 2020-03-05 | 用于预测软ip部件的性能、功率和面积表现的系统和方法 |
Country Status (2)
Country | Link |
---|---|
US (2) | US10949585B1 (zh) |
CN (1) | CN112818621B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220148913A (ko) * | 2020-03-14 | 2022-11-07 | 시놉시스, 인크. | 초기 단계 회로 설계에서 기계 학습 기반 메트릭 예측 |
US20240028396A1 (en) * | 2020-11-24 | 2024-01-25 | Raytheon Company | Run-time schedulers for field programmable gate arrays or other logic devices |
US20220164510A1 (en) * | 2020-11-24 | 2022-05-26 | Raytheon Company | Automated design of field programmable gate array or other logic device based on artificial intelligence and vectorization of behavioral source code |
US11775720B2 (en) | 2021-07-02 | 2023-10-03 | International Business Machines Corporation | Integrated circuit development using machine learning-based prediction of power, performance, and area |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103123658A (zh) * | 2011-11-21 | 2013-05-29 | 中国科学院电子学研究所 | 一种可编程逻辑阵列ip核及其系统集成方法 |
CN109960879A (zh) * | 2019-03-25 | 2019-07-02 | 福州大学 | 一种基于不可信ip核的系统级芯片安全设计方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5598344A (en) * | 1990-04-06 | 1997-01-28 | Lsi Logic Corporation | Method and system for creating, validating, and scaling structural description of electronic device |
US5555201A (en) * | 1990-04-06 | 1996-09-10 | Lsi Logic Corporation | Method and system for creating and validating low level description of electronic design from higher level, behavior-oriented description, including interactive system for hierarchical display of control and dataflow information |
US20060253810A1 (en) * | 2003-09-16 | 2006-11-09 | Carlo Guardiani | Integrated circuit design to optimize manufacturability |
US7694249B2 (en) * | 2005-10-07 | 2010-04-06 | Sonics, Inc. | Various methods and apparatuses for estimating characteristics of an electronic system's design |
US9275178B1 (en) * | 2012-06-29 | 2016-03-01 | Altera Corporation | Method and apparatus for considering paths influenced by different power supply domains in timing analysis |
US8863052B1 (en) * | 2013-07-12 | 2014-10-14 | Cadence Design Systems, Inc. | System and method for generating and using a structurally aware timing model for representative operation of a circuit design |
US9508615B2 (en) * | 2015-02-09 | 2016-11-29 | Qualcomm Incorporated | Clock tree synthesis for low cost pre-bond testing of 3D integrated circuits |
US20170337319A1 (en) * | 2016-05-20 | 2017-11-23 | Ecole polytechnique fédérale de Lausanne (EPFL) | System and Method for Optimization of Digital Circuits with Timing and Behavior Co-Designed by Introduction and Exploitation of False Paths |
US11176302B2 (en) * | 2018-02-23 | 2021-11-16 | Netspeed Systems, Inc. | System on chip (SoC) builder |
-
2019
- 2019-11-15 US US16/685,823 patent/US10949585B1/en active Active
-
2020
- 2020-03-05 CN CN202010146745.4A patent/CN112818621B/zh active Active
-
2021
- 2021-03-15 US US17/202,277 patent/US11755797B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103123658A (zh) * | 2011-11-21 | 2013-05-29 | 中国科学院电子学研究所 | 一种可编程逻辑阵列ip核及其系统集成方法 |
CN109960879A (zh) * | 2019-03-25 | 2019-07-02 | 福州大学 | 一种基于不可信ip核的系统级芯片安全设计方法 |
Also Published As
Publication number | Publication date |
---|---|
US11755797B2 (en) | 2023-09-12 |
CN112818621A (zh) | 2021-05-18 |
US20210200925A1 (en) | 2021-07-01 |
US10949585B1 (en) | 2021-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112818621B (zh) | 用于预测软ip部件的性能、功率和面积表现的系统和方法 | |
US8122398B2 (en) | Conversion of circuit description to an abstract model of the circuit | |
US7788625B1 (en) | Method and apparatus for precharacterizing systems for use in system level design of integrated circuits | |
US20060058994A1 (en) | Power estimation through power emulation | |
WO2009043920A1 (en) | A system level power evaluation method | |
CN110383272B (zh) | 时钟树分析和优化的形式化方法 | |
US9727668B2 (en) | Delta retiming in logic simulation | |
KR20220148913A (ko) | 초기 단계 회로 설계에서 기계 학습 기반 메트릭 예측 | |
Li et al. | On timing model extraction and hierarchical statistical timing analysis | |
Richa et al. | High-level power estimation techniques in embedded systems hardware: an overview | |
US7257786B1 (en) | Method and apparatus for solving constraints | |
CN115204076B (zh) | 集成电路的逻辑优化方法、装置、电子设备及可读介质 | |
Bansal et al. | Automatic power modeling of infrastructure ip for system-on-chip power analysis | |
JP2008299464A (ja) | 消費電力計算方法、消費電力計算プログラムおよび消費電力計算装置 | |
Ahuja et al. | Low Power Design with High-Level Power Estimation and Power-Aware Synthesis | |
US20240220691A1 (en) | System and method for predicting performance, power and area behavior of soft ip components in integrated circuit design | |
Banerjee et al. | Design aware scheduling of dynamic testbench controlled design element accesses in FPGA-based HW/SW co-simulation systems for fast functional verification | |
Pasricha et al. | Capps: A framework for power–performance tradeoffs in bus-matrix-based on-chip communication architecture synthesis | |
Ascia et al. | A framework for design space exploration of parameterized VLSI systems | |
US10430540B1 (en) | Processing a block diagram circuit design into an efficient high-level language representation | |
Obrizan et al. | Multiversion parallel synthesis of digital structures based on SystemC specification | |
Comerro | Optimizing FPGA Performance: Leveraging the Razor Technique in Digital Design | |
Chalil | Implementation of power estimation methodology for intellectual property at SoC level | |
Liu et al. | Characterization and optimization of behavioral hardware accelerators in heterogeneous mpsocs | |
Zhang et al. | Challenges and opportunities of ESL design automation |
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 |