CN114792079A - 一种门级网表转换为可综合硬件描述语言代码的方法 - Google Patents
一种门级网表转换为可综合硬件描述语言代码的方法 Download PDFInfo
- Publication number
- CN114792079A CN114792079A CN202210431019.6A CN202210431019A CN114792079A CN 114792079 A CN114792079 A CN 114792079A CN 202210431019 A CN202210431019 A CN 202210431019A CN 114792079 A CN114792079 A CN 114792079A
- Authority
- CN
- China
- Prior art keywords
- circuit
- netlist
- gate
- hardware description
- synthesizable
- 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 15
- 238000006243 chemical reaction Methods 0.000 claims abstract description 7
- 230000006870 function Effects 0.000 description 8
- 238000004088 simulation Methods 0.000 description 8
- 238000012360 testing method Methods 0.000 description 7
- 238000013461 design Methods 0.000 description 6
- 235000013599 spices Nutrition 0.000 description 6
- 230000015572 biosynthetic process Effects 0.000 description 5
- 238000003786 synthesis reaction Methods 0.000 description 5
- 238000002054 transplantation Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000005314 correlation function Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 230000003071 parasitic effect Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000012795 verification 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/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
- G06F30/343—Logical level
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
技术领域
本发明涉及数字集成电路设计领域,特别是数字集成电路设计中门电路设计和硬件描述语言逻辑综合领域。
背景技术
数字集成电路的自顶向下设计一般是从行为级设计开始,然后编写可综合的硬件描述语言代码,之后使用综合工具将硬件描述语言代码转换为某个特定的标准单元库的门级网表。门级网表继续用于物理设计,最终得到用于生产制造的版图文件。
综合是与标准单元库相关的,综合工具进行综合之时就需要指定标准单元库,但是实际数字电路工程中,会遇到只有SPICE、CDL或Verilog格式的门级网表,需要将其用另一套标准单元库重新综合的情况,典型的场景之一是跨工艺库的数字电路“固核”移植。这些情况下,实际上新的标准单元库里具体的标准单元并不和原门级网表里的门电路一致,因此,需要一种办法将门级网表转换为可综合硬件描述语言代码,然后重新综合。
为了对本发明进行描述,使用了关于层次化电路网表的一些术语如下:
电路名:电路的名字。电路名是电路类型的识别符,同一个层次允许存在多个相同的电路名的电路;
实例名:电路的具体名字。电路的实例名是电路在同一个层次里的唯一识别符,同一个层次里不允许存在实例名相同的两个或多个电路;
端口列表:电路的输入输出端口的列表。电路名相同的电路,端口列表也应该相同。
子电路列表:电路调用的子电路的列表。
发明内容
本发明实现了门级网表到可综合硬件描述语言代码的转换。
本发明将生成的可综合硬件描述语言代码使用的硬件描述语言称为“目的语言”。本发明的具体内容如下:
步骤一:读取电路结构和内容,生成电路数据库、逻辑单元需求库。
步骤二:根据逻辑单元需求库生成目的语言格式的可综合代码模板库;
步骤三:根据逻辑单元需求库和可综合代码模板库,生成原电路网表中每一个门电路的目的语言格式的可综合代码;
步骤四:根据电路数据库得到目的语言格式的网表;
步骤五:步骤三得到的可综合代码和步骤四得到的网表合并生成与原网表逻辑等价的目的语言格式的可综合代码。
现对本发明中使用的三个数据库进行解释:
电路数据库:存储各个层次电路的电路名、实例名、端口列表、子电路列表,从而能够通过电路数据库还原整个电路网表。
逻辑单元需求库:存储整个电路需要的门电路的电路名、电路端口列表。
可综合代码模板库:是对逻辑单元需求库的简化,将同一类的逻辑门抽象为相同的模板。例如逻辑功能相同但是电路名不同的电路,会使用同样的模板进行表述。即,逻辑功能相同但是电路名不同的电路最终将会使用的同样的可综合代码进行表示。
本发明优选的方案是,使用Verilog作为目的语言。
在步骤一中,优选的方案是,将网表视为树形结构,根节点为顶层电路,中间各层为子电路,门电路为叶子节点,通过递归遍历读取网表。
在步骤二中,优选的方案是,使用Python格式化文本方式编写模板。
在步骤三中,优选的方案是,相同逻辑功能的门电路不重复生成代码,即在新的网表中这些门电路例化同一个电路名。
在步骤四中,优选的方案是,电路的实例名保持与原网表一致,且每一层电路网表例化子电路,使用端口名称相关的方式进行例化,便于异常调试。
本发明是门级网表跨标准单元库移植问题的解决方案之一。可以被应用到
(1)不同标准单元库之间的ASIC网表移植;
(2)ASIC到FPGA的网表移植;
(3)FPGA到ASIC的网表移植;
(4)不同FPGA设备之间的网表移植。
本发明在层次结构上保证和原网表一致,可以保证移植前后电路的逻辑严格等价。
附图说明
图1是本发明的流程图,其中S1、S2、S3、S4、S5依次指代本发明中的五个步骤。
图2是S1读取CDL格式电路网表的具体方法。
图3是S2生成可综合代码模板库的流程。
具体实施方式
以下结合附图阐述本发明的具体实施方式。
本实施例使用Python作为具体编程语言,必须指出本发明还可以用其它计算机语言实现。
本实施例使用Verilog作为目的语言。
图1是本发明的流程图,图2是本实施例对本发明S1的具体实现流程。
S1读取电路网表,完成的是从原电路网表文件到Python数据结构的转换。原网表文件包括但不限于文本格式的CDL网表。
电路数据库使用Python“字典”格式存储,有两个嵌套的字典作为条目。第一个字典是存储电路结构的字典,在这个字典中以电路实例名作为键名,键值记录该电路实例的电路名、调用的子电路的实例名、调用的子电路的电路名和调用的子电路的端口信号名。第二个字典是存储所有电路信息的字典,在这个字典中以电路名为键名,键值记录该电路的端口名、端口方向。这两个字典数据的来源不同,第一个字典是从原网表调用子电路的代码出获取子电路的信息,由图2中S102获得。第二个字典是从原网表声明子电路定义处获取电路信息,由图2中S101获得。
逻辑单元需求库使用Python“列表”格式存储,由图2中S102获得。一般门电路在命名上会有所特征,例如,以AND开头的电路名,表示该电路是与门。
S101使用Python对字符串处理的相关函数实现。
S102使用对树形结构的递归遍历完成。在递归过程中,对访问的电路的电路名使用正则表达式识别逻辑门电路,将识别到的门电路电路名存入一个Python列表,最后进行去除重复处理,就的得到了逻辑单元需求库。
S2生成可综合代码模板库的过程可以人工完成。对于本领域的技术人员而言,编写门电路可综合硬件描述语言代码是非常容易的。门电路的逻辑功能一般直接体现在门电路的电路名上,如AND2,为二输入与门。S2是非常关键的一步,可综合代码模板库的正确性直接影响最终的到的目的语言格式的可综合代码的正确性。本实施案例以门电路的电路名为初步依据,然后根据门电路的SPICE电路图作为主要依据,必要时进行简单的SPICE仿真,从而获取门电路的逻辑功能。值得一提的是,实现S2的全自动化也是可行的,因为通过门电路SPICE网表识别门电路逻辑功能是可以通过软件算法实现的,事实上,常见的数字电路标准单元特征化EDA工具都具有此功能。例如Synopsys公司的Siliconsmart可以读取电路的SPICE网表,生成电路的逻辑功能描述文件,从而可以得到输出引脚关于输入引脚的逻辑表达式,对于时序电路,也可以得到状态转移描述。
S3为逻辑单元需求库里每一个门电路都生成一个可综合代码。这些可综合代码以Verilog“module”的方式声明和描述,存储在一个Verilog文件里。
S4生成的是Verilog网表,存储在一个Verilog文件中。S4的本质是使用Verilog的语法对网表进行描述。在这一步,首先读取电路数据库中存储的顶层网表的结构信息,生成顶层电路的Verilog代码,然后根据所调用的子电路的电路名读取电路数据库中存储的该子电路的结构信息生成该子电路的Verilog代码,如此递归,就可以得到和原网表结构一致的Verilog网表。
S5将S3与S4生成的Verilog文件合并,得到最终的可综合Verilog代码。
从理论上来说,通过本发明转换前后的网表是就是逻辑等价的。此外,本实施例还使用了仿真的方法进行验证。使用同一个Verilog测试平台,
(1)通过数字-模拟混合仿真的方式对原网表进行仿真测试;
(2)在转换之后,使用同样的Verilog测试平台对RTL代码进行仿真;
(3)使用新的标准单元库重新综合,使用同样的Verilog测试平台结合综合工具生成的SDF进行反标延迟信息的综合后门级仿真;
(4)使用新的标准单元库进行物理实现后,抽取版图带寄生参数的SPICE网表,使用同样的Verilog测试平台通过数字-模拟混合仿真的方式进行仿真测试;
测试结果表明,四次仿真的波形在逻辑上是一致的。
Claims (3)
1.一种门级网表转换为可综合硬件描述语言代码的方法,其特征在于:实现门级网表到硬件描述语言的转换。
2.如权利要求1所述的门级网表转换为可综合硬件描述语言代码的方法,其特征在于:转换前后保持电路的层次结构。
3.如权利要求1所述的门级网表转换为可综合硬件描述语言代码的方法,其特征在于:使用可综合的硬件描述语言对门电路建模。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210431019.6A CN114792079A (zh) | 2022-04-22 | 2022-04-22 | 一种门级网表转换为可综合硬件描述语言代码的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210431019.6A CN114792079A (zh) | 2022-04-22 | 2022-04-22 | 一种门级网表转换为可综合硬件描述语言代码的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114792079A true CN114792079A (zh) | 2022-07-26 |
Family
ID=82462450
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210431019.6A Pending CN114792079A (zh) | 2022-04-22 | 2022-04-22 | 一种门级网表转换为可综合硬件描述语言代码的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114792079A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102129493A (zh) * | 2011-03-02 | 2011-07-20 | 福州瑞芯微电子有限公司 | 数字ic设计流程中实现自动化eco网表的方法 |
CN104182570A (zh) * | 2014-08-01 | 2014-12-03 | 三星半导体(中国)研究开发有限公司 | 用于实现集成电路的逻辑综合的方法和设备 |
US20180172516A1 (en) * | 2016-12-20 | 2018-06-21 | Specim, Spectral Imaging Oy Ltd | Defining software configuration for hyperspectral imaging apparatus |
US20200285791A1 (en) * | 2019-03-06 | 2020-09-10 | Realtek Semiconductor Corp. | Circuit design method and associated computer program product |
CN112270148A (zh) * | 2020-10-16 | 2021-01-26 | 山东云海国创云计算装备产业创新中心有限公司 | 一种门级网表生成方法及相关装置 |
CN112560401A (zh) * | 2020-12-22 | 2021-03-26 | 成都海光微电子技术有限公司 | Verilog文件转换方法、装置、存储介质及设备 |
-
2022
- 2022-04-22 CN CN202210431019.6A patent/CN114792079A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102129493A (zh) * | 2011-03-02 | 2011-07-20 | 福州瑞芯微电子有限公司 | 数字ic设计流程中实现自动化eco网表的方法 |
CN104182570A (zh) * | 2014-08-01 | 2014-12-03 | 三星半导体(中国)研究开发有限公司 | 用于实现集成电路的逻辑综合的方法和设备 |
US20180172516A1 (en) * | 2016-12-20 | 2018-06-21 | Specim, Spectral Imaging Oy Ltd | Defining software configuration for hyperspectral imaging apparatus |
US20200285791A1 (en) * | 2019-03-06 | 2020-09-10 | Realtek Semiconductor Corp. | Circuit design method and associated computer program product |
CN112270148A (zh) * | 2020-10-16 | 2021-01-26 | 山东云海国创云计算装备产业创新中心有限公司 | 一种门级网表生成方法及相关装置 |
CN112560401A (zh) * | 2020-12-22 | 2021-03-26 | 成都海光微电子技术有限公司 | Verilog文件转换方法、装置、存储介质及设备 |
Non-Patent Citations (2)
Title |
---|
陈高琳等: "基于综合工具的ECO自动化流程方法" * |
黄祖兰等: "ISCAS\'89基准时序电路的VHDL格式转换" * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8516418B2 (en) | Application of a relational database in integrated circuit design | |
US6530073B2 (en) | RTL annotation tool for layout induced netlist changes | |
US11755805B2 (en) | Systems and methods for multi-bit memory with embedded logic | |
US9798840B1 (en) | Methods, systems, and computer program product for implementing a simulation platform with dynamic device model libraries for electronic designs | |
US6339836B1 (en) | Automated design partitioning | |
Martin et al. | System-on-Chip design | |
US11055463B1 (en) | Systems and methods for gate array with partial common inputs | |
KR19980086572A (ko) | 디지털 컴퓨터 하드웨어 설계와 시뮬레이션을 위한 방법 및 시스템 | |
CN110612526A (zh) | 系统c模型生成方法和系统c模型生成程序 | |
CN114236359A (zh) | 面向ate测试设备的新型集成电路测试激励生成方法 | |
WO1999009497A1 (fr) | Procede d'extraction de caracteristiques de synchronisation de circuits a transistors, support de stockage stockant une bibliotheque de caracteristiques de synchronisation, procede de conception de lsi et procede d'extraction par grille | |
CN114492264B (zh) | 门级电路的转译方法、系统、存储介质及设备 | |
US7472371B2 (en) | Description style conversion method, program, and system of logic circuit | |
US11651126B2 (en) | Recovery of a hierarchical functional representation of an integrated circuit | |
US20220012392A1 (en) | Systems and Methods for Generating Synthesizable Netlists From Register Transfer Level Designs | |
Dall'Ora et al. | A common manipulation framework for transistor-level languages | |
CN114792079A (zh) | 一种门级网表转换为可综合硬件描述语言代码的方法 | |
CN113158613B (zh) | 一种将超图结构转rtl级hdl文件的方法及装置 | |
US7086017B1 (en) | Method of post-implementation simulation of a HDL design | |
US6668359B1 (en) | Verilog to vital translator | |
CN111368513A (zh) | Xdl电路网表文件到有向超图的转换方法 | |
US6877140B1 (en) | Method and system for generating a schematic representing bus structures | |
Crossley | BAG: A designer-oriented framework for the development of AMS circuit generators | |
Skouson | SpyDrNet-An Open-Source Python Netlist Representation for Analysis and Transformation | |
Bombana et al. | Design-Flow and Synthesis for ASICs: a case study |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20220726 |