CN111695321A - 电路设计方法及相关的电脑程序产品 - Google Patents
电路设计方法及相关的电脑程序产品 Download PDFInfo
- Publication number
- CN111695321A CN111695321A CN201910189695.5A CN201910189695A CN111695321A CN 111695321 A CN111695321 A CN 111695321A CN 201910189695 A CN201910189695 A CN 201910189695A CN 111695321 A CN111695321 A CN 111695321A
- Authority
- CN
- China
- Prior art keywords
- gate
- circuit
- level netlist
- updated
- generate
- 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
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明公开一种电路设计方法及相关的电脑程序产品。该电路设计方法包含有以下步骤:产生一门级网表;根据该门级网表以决定出一电路中的至少一个特定元件,其中该至少一个特定元件的输出永远是一个固定值;以及使用一箝位元件来替换该至少一个特定元件的功能,以产生一更新后门级网表。
Description
技术领域
本发明涉及电路设计方法。
背景技术
在一般集成电路(Integrated Circuit,IC)的设计流程中,设计者先使用硬件描述语言(Hardware Description Language)对电路功能进行暂存器传输层级 (RegisterTransfer Level,RTL)的设计,接着再交由逻辑合成工具,在考虑各种条件下,将设计转换为实际半导体特定工艺(technology)的门级网表(gate-level netlist)。在此转换过程中,逻辑合成工具会尝试实现逻辑的最佳化,然而,由于集成电路设计日益庞大,现今的逻辑合成工具均非常复杂,在进行转换时,需要设置多样设定并进行反复调校。使用者虽然可以多方尝试,但均无法保证内部电路最佳化的程度。
发明内容
因此,本发明的目的之一在于提供一种电路设计方法,其可以针对逻辑合成后所产生的门级网表再次进行最佳化,以解决现有技术的问题。
在本发明的一个实施例中,公开了一种电路设计方法,其包含有以下步骤:产生一门级网表;根据该门级网表以决定出一电路中的至少一个特定元件,其中该至少一个特定元件的输出永远是一个固定值;以及使用一箝位元件来替换该至少一个特定元件的功能,以产生一更新后门级网表。
在本发明的另一个实施例中,公开了一种用来进行电路设计的电脑程序产品,经由电脑载入该电脑程序产品以执行:根据一门级网表以决定出一电路中的至少一个特定元件,其中该至少一个特定元件的输出永远是一个固定值;以及使用一箝位元件来替换该至少一个特定元件的功能,以产生一更新后门级网表。
附图说明
图1为根据本发明一实施例的电路设计方法的流程图。
图2为使用箝位元件来替代电路中输出永远是固定值的特定元件的示意图。
图3A~图3C为决定出多余元件并删除的示意图。
符号说明
102~112 步骤
210、240 触发器
220 及闸
230 反相器
250 箝位元件
具体实施方式
图1为根据本发明一实施例的电路设计方法的流程图。在本实施例中,电路设计方法是由一电脑程序产品被一电脑/处理器载入之后,使用多个程序指令所执行,参考图1,电路设计方法的流程叙述如下。
首先,在步骤102,处理器根据一RTL设计以及多个限制条件(constraint) 来进行逻辑合成(logic synthesis)操作以产生一门级网表,其中所述限制条件可以是时钟频率、引脚功能等等由工程师输入的设定参数,且该门级网表为一种描述电路的文件格式,其在逻辑上会符合RTL设计。
接着,在步骤104,处理器对门级网表进行属性生成设定。具体来说,在本实施例中属性生成为输出永远是一个固定值的元件(亦即,输出永远是“1”的元件以及输出永远是“0”的元件),而处理器可以在门级网表所描述的电路中所有元件的输出加上足以检测信号变动的属性。在集成电路领域中,属性可以使用SystemVerilog语法中断言(assertion)的方式来表达,但本发明并不限于此。
在步骤106,处理器使用正规方法(formal method)来判断步骤104所产生的属性在步骤102所产生的门级网表的电路中是否成立,亦即进行属性验证以决定出至少一个特定元件。具体来说,处理器使用正规方法来判断电路中每一个元件的输出信号是否会变动,其中若是元件的输出信号会变动则表示验证属性成立,而若是元件的输出信号不会变动则表示验证属性不成立,因此,处理器可以收集属性验证不成立的元件来作为输出永远是一个固定值的特定元件。
需注意的是,正规方法为一电脑科学上的专有名词,其核心为模型验证 (model-checking)或是属性验证(property-checking),且由于正规方法是奠基于严谨的数学证明,故具有很高的可靠度,因此可以准确地寻找出门级网表所描述的电路中输出永远是一个固定值的所有特定元件。此外,由于正规方法的详细内容并非是本发明的重点,故相关细节在此不赘述。
在步骤108,在决定出电路中输出永远是一个固定值的所有特定元件之后,处理器将门级网表中加入箝位元件(tie cell)以代替特定元件的功能,亦即使用箝位元件的输出来代替特定元件的输出,其中箝位元件可以是最简单具有固定值输出的元件。举例来说,如图2所示,假设电路包含了一触发器 210、一及闸(and gate,与门)220、一反相器230以及一触发器240,且在步骤106中处理器判断了触发器210的输出永远是逻辑值“1”,则处理器可以修改门级网表中的描述以加入一输出永远是逻辑值“1”的箝位元件250来取代触发器210,亦即箝位元件250的输出端会连接到原本触发器210后方的元件,而触发器210的输出端则是会变成空接/浮接(floating)的状态。在门级网表中所有的特定元件的输出都被箝位元件替代之后,处理器便产生一个暂时的门级网表。
在步骤110,处理器反复地搜索暂时的门级网表中不具有功能的多余元件,并将这些多余元件自电路中移除,以产生一更新后门级网表。具体来说,依序参考图3A~图3C,处理器首先会检测到触发器210的输出是空接的状态,亦即触发器210本身已经没有作用而是一个多余的元件,因此处理器便可以将触发器210自暂时的门级网表中移除;接着,在触发器210已经被移除之后(图3B),处理器会检测到及闸220的输出是空接的状态,亦即及闸220本身已经没有作用而是一个多余的元件,因此处理器便可以将及闸220自暂时的门级网表中移除;接着,在及闸220已经被移除之后(图3C),处理器会检测到反相器230以及触发器240的输出是空接的状态,亦即反相器230以及触发器240本身已经没有作用而是多余的元件,因此处理器便可以将反相器230以及触发器240自暂时的门级网表中移除。在暂时的门级网表中所有的多余元件都移除之后,处理器便产生一个更新后门级网表。
在步骤112中,处理器可以采用正规方法来判断该门级网表以及该更新后门级网表的电路功能是否相同,以产生一判断结果。具体来说,处理器可以使用逻辑等价性检查(Logic Equivalence Check,LEC)或是循序等价性检查 (Sequential EquivalenceCheck,SEC),并测试该门级网表以及该更新后门级网表在相同输入的情形下是否会具有相同的输出结果,并据以判断该门级网表以及该更新后门级网表的电路功能是否相同。若是该判断结果指出该门级网表以及该更新后门级网表的电路功能相同,则代表该更新后门级网表相较于步骤102所产生的该门级网表具有更精简的架构,因此可以用来进行后续的实体电路布局。
简要归纳本发明,本发明的电路设计方法中,通过将门级网表中输出永远是固定值的特定元件替换为最简单的箝位元件,并在完成箝位元件替换后反复搜索并删除多余的元件,可以在维持相同功能的情形下有效地精简电路架构,以产生一个最佳化的门级网表。通过本发明,可以解决现有逻辑合成工具的最佳化能力不足、或是和RTL设计无法良好匹配的问题。
以上所述仅为本发明的优选实施例,凡依本发明权利要求所做的均等变化与修饰,皆应属本发明的涵盖范围。
Claims (10)
1.一种电路设计方法,包含有:
产生一门级网表;
根据该门级网表以决定出一电路中的至少一个特定元件,其中该至少一个特定元件的输出永远是一个固定值;以及
使用一箝位元件来替换该电路中的该至少一个特定元件的功能,以产生一更新后门级网表。
2.如权利要求1所述的电路设计方法,其中使用该箝位元件来替换该电路中的该至少一个特定元件的功能,以产生该更新后门级网表的步骤包含有:
将该电路中的该至少一个特定元件替换为该箝位元件,并搜索该电路中因为该至少一个特定元件被替换为该箝位元件后而不具有功能的至少一个多余元件,并将该至少一个多余元件自该电路中移除,以产生该更新后门级网表。
3.如权利要求2所述的电路设计方法,其中搜索该电路中因为该至少一个特定元件被替换为该箝位元件后而不具有功能的该至少一个多余元件的步骤包含有:
搜索该电路中输出为空接的元件,以作为该至少一个多余元件。
4.如权利要求1所述的电路设计方法,还包含有:
判断该门级网表以及该更新后门级网表的电路功能是否相同,以产生一判断结果。
5.如权利要求4所述的电路设计方法,其中判断该门级网表以及该更新后门级网表的电路功能是否相同,以产生该判断结果的步骤包含有:
使用循序等价性检查判断该门级网表以及该更新后门级网表的电路功能是否相同,以产生该判断结果。
6.一种用来进行电路设计的电脑程序产品,经由电脑载入该电脑程序产品以执行:
根据一门级网表以决定出一电路中的至少一个特定元件,其中该至少一个特定元件的输出永远是一个固定值;以及
使用一箝位元件来替换该电路中的该至少一个特定元件的功能,以产生一更新后门级网表。
7.如权利要求6所述的电脑程序产品,其使用该箝位元件来替换该电路中的该至少一个特定元件的功能,以产生该更新后门级网表的步骤包含有:
将该电路中的该至少一个特定元件替换为该箝位元件,并搜索该电路中因为该至少一个特定元件被替换为该箝位元件后而不具有功能的至少一个多余元件,并将该至少一个多余元件自该电路中移除,以产生该更新后门级网表。
8.如权利要求7所述的电脑程序产品,其中搜索该电路中因为该至少一个特定元件被替换为该箝位元件后而不具有功能的该至少一个多余元件的步骤包含有:
搜索该电路中输出为空接的元件,以作为该至少一个多余元件。
9.如权利要求6所述的电脑程序产品,还包含有:
判断该门级网表以及该更新后门级网表的电路功能是否相同,以产生一判断结果。
10.如权利要求9所述的电脑程序产品,其中判断该门级网表以及该更新后门级网表的电路功能是否相同,以产生该判断结果的步骤包含有:
使用循序等价性检查判断该门级网表以及该更新后门级网表的电路功能是否相同,以产生该判断结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910189695.5A CN111695321B (zh) | 2019-03-13 | 2019-03-13 | 电路设计方法及相关的电脑程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910189695.5A CN111695321B (zh) | 2019-03-13 | 2019-03-13 | 电路设计方法及相关的电脑程序产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111695321A true CN111695321A (zh) | 2020-09-22 |
CN111695321B CN111695321B (zh) | 2023-09-08 |
Family
ID=72475663
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910189695.5A Active CN111695321B (zh) | 2019-03-13 | 2019-03-13 | 电路设计方法及相关的电脑程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111695321B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103165599A (zh) * | 2011-12-19 | 2013-06-19 | Arm有限公司 | 集成电路和在集成电路内提供静电放电保护的方法 |
US20170337315A1 (en) * | 2016-05-18 | 2017-11-23 | Synopsys, Inc. | Always-on tie cells for low power designs and method of manufacture thereof |
CN107784185A (zh) * | 2017-11-17 | 2018-03-09 | 青岛海信电器股份有限公司 | 一种门级网表中伪路径的提取方法、装置及终端设备 |
US20180357345A1 (en) * | 2017-06-12 | 2018-12-13 | Regents Of The University Of Minnesota | Application-specific processor generation from general purpose processors |
-
2019
- 2019-03-13 CN CN201910189695.5A patent/CN111695321B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103165599A (zh) * | 2011-12-19 | 2013-06-19 | Arm有限公司 | 集成电路和在集成电路内提供静电放电保护的方法 |
US20130155555A1 (en) * | 2011-12-19 | 2013-06-20 | Fabrice Blanc | Integrated circuit and method of providing electrostatic discharge protection within such an integrated circuit |
US20170337315A1 (en) * | 2016-05-18 | 2017-11-23 | Synopsys, Inc. | Always-on tie cells for low power designs and method of manufacture thereof |
US20180357345A1 (en) * | 2017-06-12 | 2018-12-13 | Regents Of The University Of Minnesota | Application-specific processor generation from general purpose processors |
CN107784185A (zh) * | 2017-11-17 | 2018-03-09 | 青岛海信电器股份有限公司 | 一种门级网表中伪路径的提取方法、装置及终端设备 |
Non-Patent Citations (1)
Title |
---|
管秀君等: "数字集成电路的设计方法", 《试验技术与试验机》 * |
Also Published As
Publication number | Publication date |
---|---|
CN111695321B (zh) | 2023-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10776547B1 (en) | Infinite-depth path-based analysis of operational timing for circuit design | |
US8122404B2 (en) | Performing a statistical timing abstraction for a hierarchical timing analysis of VLSI circuits | |
CN101539958B (zh) | 一种标准单元库和集成电路的设计方法和装置 | |
US20200285791A1 (en) | Circuit design method and associated computer program product | |
US8719752B1 (en) | Hierarchical crosstalk noise analysis model generation | |
US7882483B2 (en) | Method for checking constraints equivalence of an integrated circuit design | |
US9842187B1 (en) | Representation of complex timing characteristics of startpoint-endpoint pairs in a circuit design | |
CN116205171B (zh) | 电源开关单元的匹配方法、装置、设备及存储介质 | |
CN115563910B (zh) | Upf命令的执行方法、装置、设备及存储介质 | |
US10678989B2 (en) | Method and system for sigma-based timing optimization | |
WO2023245719A1 (zh) | 时序逻辑元件性能检查方法及设备 | |
US10867093B1 (en) | System and method for an electronic design tool providing automated guidance and interface for circuit design processing | |
US7047508B2 (en) | Method for performing multi-clock static timing analysis | |
US20060101363A1 (en) | Method of associating timing violations with critical structures in an integrated circuit design | |
CN112800704B (zh) | 基于功能buffer的芯片后端改版方法、装置及计算机设备 | |
US10430535B2 (en) | Verification support program medium, verification support method, and information processing device for verification of a circuit | |
US10963610B1 (en) | Analyzing clock jitter using delay calculation engine | |
CN111695321A (zh) | 电路设计方法及相关的电脑程序产品 | |
US12073159B2 (en) | Computing device and method for detecting clock domain crossing violation in design of memory device | |
US11270052B2 (en) | System and method of timing characterization for semiconductor circuit | |
US11263376B1 (en) | System and method for fixing unknowns when simulating nested clock gaters | |
US10049174B2 (en) | Exact delay synthesis | |
CN112784511A (zh) | 一种组合逻辑环路的自动拆除方法 | |
JP2000194734A (ja) | 半導体集積回路のバックアノテ―ション方法 | |
US8875079B2 (en) | System and method of automated design augmentation for efficient hierarchical implementation |
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 |