CN105677960A - 一种Auto-DC自动化综合设计实现方法 - Google Patents
一种Auto-DC自动化综合设计实现方法 Download PDFInfo
- Publication number
- CN105677960A CN105677960A CN201610003363.XA CN201610003363A CN105677960A CN 105677960 A CN105677960 A CN 105677960A CN 201610003363 A CN201610003363 A CN 201610003363A CN 105677960 A CN105677960 A CN 105677960A
- Authority
- CN
- China
- Prior art keywords
- design
- comprehensive
- module
- auto
- 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.)
- Pending
Links
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
- G06F2115/00—Details relating to the type of the circuit
- G06F2115/06—Structured ASICs
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
本发明公开了一种Auto-DC自动化综合设计实现方法。该Auto-DC自动化方法主要针对目前逻辑综合设计的自动化流程开发实现,只要相应参数配置完成,将原本人为、多步骤的、阶段性的操作转化成又快又好的一次性完成,从根本上解决了电路综合设计的高效性,使设计者的精力集中到了以概念驱动的创造性劳动中去。同时设计不用增加硬件开销,节约成本,可广泛推广。本发明顺应了当前电子设计自动化的发展,使得逻辑综合技术向自动化、智能化等方面向前迈进了一步。
Description
技术领域
本发明属于半导体集成电路中芯片设计技术领域,尤其涉及专用集成电路逻辑综合设计方面。
背景技术
随着大规模集成电路设计的发展,设计过程由此变得非常复杂,设计步骤越来越多。其中,逻辑综合完成源代码到工艺库单元的转化+优化+映射,实现RTL级到门级的转换。在这个过程中,需要提供工艺库文件,编写环境属性的约束,设计规则的约束以及时序约束条件等,以及设计结果各种形式的输出文件和报告。当前电子设计的自动化趋势发展迅速,传统的IC设计工具针对的开发研究无法实现通用化,不能满足超大规模集成电路分块综合的自动化实现,因此流程自动化需要更加细致和有针对性,本发明针对综合设计这一方面的自动化脚本开发工作非常有意义。
针对超大规模集成电路,若设计规模大到需要进行分块综合,分块综合不是一次性完成综合,每个划分的模块都会生成相对应的网表、sdc等后端所需的文件,而这些数据文件会被上一级调用引用,数据量和工作量是巨大的。面对大规模的电路,如果人为的纯手工去操作,将会耗时耗力,设计效率太低,设计周期长,准确率难以保证。
设计者希望能有一种自动化实现流程,使得逻辑综合高效、规范、准确,设计构建自动化流程这一需求的满足不但顺应了当前电子设计自动化的发展,也使得设计过程得到规范化的控制,同时设计效率大大提升。
发明内容
针对上述问题,本发明提出一种Auto-DC逻辑综合平台的自动化设计实现方法,该流程用脚本语言perl实现,很好的处理了临时数据的交接;同时通过分块模式链表,自动生成DC运行设置条件。
为解决上述技术问题,本发明提供一种Auto-DC自动化综合设计实现方法,其特征是,对于超大规模集成电路,采用自底向上的分块式综合编译方法,分块式综合编译方法包括以下步骤:
步骤一,设计分块,根据功能和时钟的分布特征将设计分成所需要模块数;
步骤二,设定按模块综合编译时每个模块的大小、个数和顶层模块相关信息;
步骤三,编写自动化设计编译Auto-DC运行脚本,针对不同的模块划分模式,由自动化设计编译自动运行。
分出来的模块数为需要综合子模块的次数。
步骤三中,通过编写数据处理脚本,使在读取时,找到每个模块综合前、后调用和生成的数据的代码存放的路径;在输出数据时将生成的数据放入临时缓存区。
编写自动化设计编译Auto-DC运行脚本包括以下步骤:
(1)编写数据处理脚本,对分块综合时每一个子模块生成的临时数据进行处理并与下一个子模块综合时做交接;分块综合时产生中间临时数据供下一个子模块综合时使用,并且生成的数据均保存到临时缓存区,临时缓存设定在统一的路径下,然后下一个子模块依次直到顶层模块综合时从这个路径下自动搜寻读取所需数据;
(2)编写分块综合运行自动化运行脚本,根据不同的电路设计不同的分块模式,设计一个分块模式链表,该链表包含的信息有子模块依次综合的名称和顺序,以及最终顶层的模块名;根据每种电路的模块划分模式,用户对应修改分块模式链表的内容;然后根据该分块模式链表,生成自动化设计编译Auto-DC运行所需的设置条件。
步骤(1)中,数据处理脚本包括以下设置:
all.cf:寄存器传输级rtl代码的存放路径;
module_name_list:子模块及顶层模块名;
sub_tcl_pool:编辑相关模块的约束条件,以相对应的文件名命名;
临时缓存区的logfile存放log文件,outputs存放网表文件;reports存放时序结果与功耗。
自动化运行脚本包括以下步骤:
在自动化运行中,首先打开module_name_list,找到顶层模块名和其他子模块的信息;
接着读入工艺库文件,并从all.cf中读取相应的代码设计;
打开sub_tcl_pool,找到各个相关子模块的约束条件,按module_name_list中定义的分块顺序依次进行各个子模块的综合编译,各个子模块的结果数据自动存入临时缓存区;
最后综合顶层设计,搜寻读取到的子模块的数据,顶层综合设计完成后产生最终综合设计结果。
本发明的优点:
对于超大规模集成电路,分块综合不是一次性完成综合,每个划分的模块都会生成相对应的网表、sdc等后端所需的文件,而这些数据文件会被上一级调用引用,如果人为的手工去操作,数据量和工作量是巨大的,将会耗时耗力,降低设计效率,出现错误的风险也很大。因此,此次发明设计构建自动化的设计方法,大大提高了设计效率和设计质量。
该Auto-DC自动化方法主要针对目前逻辑综合设计的自动化流程开发实现,只要相应参数配置完成,将原本人为、多步骤的、阶段性的操作转化成又快又好的一次性完成,从根本上解决了电路综合设计的高效性,使设计者的精力集中到了以概念驱动的创造性劳动中去。同时设计不用增加硬件开销,节约成本,可广泛推广。本发明顺应了当前电子设计自动化的发展,使得逻辑综合技术向自动化、智能化等方面向前迈进了一步。
附图说明
图1自动化综合设计流程图;
图2数据处理脚本框图;
图3代码存放路径图;
图4分块列表图;
图5自动化运行脚本流程图。
具体实施方式
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
对于超大规模集成电路,功能越来越强大,模块数越来越多,工作频率越来越高,时钟分布也越来越复杂,因此在芯片设计的过程中,传统的自顶向下的综合编译设计方法已不适用,为了提升综合设计的设计质量和效率,目前采用的方法是自底向上的分块式综合编译方法。
分块式综合编译方法的第一步是将设计分块,根据功能和时钟的分布特征将设计分成所需要的几大块,分出来的模块数意味着需要综合子模块的次数。每个子模块综合前后都要调用和生成一些必要的数据,因此,首先需要编写数据处理脚本,在读取设计该步骤时找到代码存放的路径;再设定按模块综合编译时分块的大小、个数和顶层模块等信息;在输出数据时将生成的数据放入临时缓存区。同时,分块综合不是一次性的完成整个综合设计工作,步骤比较多,如果人为的手工去操作,数据量和工作量是巨大的,将会耗时耗力,降低设计效率,出现错误的风险也很大。因此,还要再编写Auto-DC综合自动化运行脚本,针对不同的模块划分模式,无须每次人为的去做具体修改,使流程更进一步自动化和人性化。
自动化综合设计实现的流程图如图1所示。
自动化设计编译(Auto-DC)自动化流程的构建有以下两点:
(1)编写数据处理脚本,对分块综合时每一个子模块生成的临时数据进行处理并与下一个子模块综合时做交接;分块综合会产生中间临时数据供下一个子模块综合时使用,此脚本使得生成的数据保存到临时缓存区,该区设定在统一的路径下,然后下一个子模块依次直到顶层模块综合时会从这个路径下自动搜寻读取所需数据,使流程智能化。
(2)编写分块综合运行自动化运行脚本,按流程设定的分块步骤逐一实现。每种电路设计千差万别,分块模式各不相同,有的分块少,有的分块多,避免每次都人为的去做具体修改,可以通过编写此脚本设计出一个分块模式链表,该链表包含的信息主要有子模块依次综合的名称和顺序,以及最终顶层的模块名。根据每种电路的分块模式不同,用户只需修改这个分块模式链表的内容。然后根据这种链表,脚本就会自动生成Auto-DC运行所需的设置条件,使流程自动化。
图2为数据处理脚本框图。
其中,all.cf:列出rtl(寄存器传输级)代码的存放路径。
module_name_list:列出子模块及顶层模块名。
sub_tcl_pool:编辑相关模块的约束条件,以相对应的文件名命名,如module名为A.v,则相应的tcl脚本命名为A.tcl。
临时缓存区的logfile存放log文件,outputs存放网表文件,reports存放时序结果与功耗。
在自动化运行中,首先打开module_name_list,找到顶层模块名和其他子模块的信息;接着读入工艺库文件,并从all.cf中读取相应的代码设计;打开sub_tcl_pool,找到各个相关子模块的约束条件,按module_name_list中定义的分块顺序依次进行各个子模块的综合编译,各个模块的结果数据自动存入临时缓存区;最后综合顶层设计,搜寻读取到子模块的数据,顶层综合设计完成后产生最终综合设计结果。自动化运行脚本流程图见图5。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (6)
1.一种Auto-DC自动化综合设计实现方法,其特征是,对于超大规模集成电路,采用自底向上的分块式综合编译方法,分块式综合编译方法包括以下步骤:
步骤一,设计分块,根据功能和时钟的分布特征将设计分成所需要模块数;
步骤二,设定按模块综合编译时每个模块的大小、个数和顶层模块相关信息;
步骤三,编写自动化设计编译Auto-DC运行脚本,针对不同的模块划分模式,由自动化设计编译自动运行。
2.根据权利要求1所述的Auto-DC自动化综合设计实现方法,其特征是,分出来的模块数为需要综合子模块的次数。
3.根据权利要求1所述的Auto-DC自动化综合设计实现方法,其特征是,步骤三中,通过编写数据处理脚本,使在读取时,找到每个模块综合前、后调用和生成的数据的代码存放的路径;在输出数据时将生成的数据放入临时缓存区。
4.根据权利要求1所述的Auto-DC自动化综合设计实现方法,其特征是,
编写自动化设计编译Auto-DC运行脚本包括以下步骤:
(1)编写数据处理脚本,对分块综合时每一个子模块生成的临时数据进行处理并与下一个子模块综合时做交接;分块综合时产生中间临时数据供下一个子模块综合时使用,并且生成的数据均保存到临时缓存区,临时缓存设定在统一的路径下,然后下一个子模块依次直到顶层模块综合时从这个路径下自动搜寻读取所需数据;
(2)编写分块综合运行自动化运行脚本,根据不同的电路设计不同的分块模式,设计一个分块模式链表,该链表包含的信息有子模块依次综合的名称和顺序,以及最终顶层的模块名;根据每种电路的模块划分模式,用户对应修改分块模式链表的内容;然后根据该分块模式链表,生成自动化设计编译Auto-DC运行所需的设置条件。
5.根据权利要求4所述的Auto-DC自动化综合设计实现方法,其特征是,
步骤(1)中,数据处理脚本包括以下设置:
all.cf:寄存器传输级rtl代码的存放路径;
module_name_list:子模块及顶层模块名;
sub_tcl_pool:编辑相关模块的约束条件,以相对应的文件名命名;
临时缓存区的logfile存放log文件,outputs存放网表文件;reports存放时序结果与功耗。
6.根据权利要求5所述的Auto-DC自动化综合设计实现方法,其特征是,
自动化运行脚本包括以下步骤:
在自动化运行中,首先打开module_name_list,找到顶层模块名和其他子模块的信息;
接着读入工艺库文件,并从all.cf中读取相应的代码设计;
打开sub_tcl_pool,找到各个相关子模块的约束条件,按module_name_list中定义的分块顺序依次进行各个子模块的综合编译,各个子模块的结果数据自动存入临时缓存区;
最后综合顶层设计,搜寻读取到的子模块的数据,顶层综合设计完成后产生最终综合设计结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610003363.XA CN105677960A (zh) | 2016-01-04 | 2016-01-04 | 一种Auto-DC自动化综合设计实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610003363.XA CN105677960A (zh) | 2016-01-04 | 2016-01-04 | 一种Auto-DC自动化综合设计实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105677960A true CN105677960A (zh) | 2016-06-15 |
Family
ID=56190393
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610003363.XA Pending CN105677960A (zh) | 2016-01-04 | 2016-01-04 | 一种Auto-DC自动化综合设计实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105677960A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107368643A (zh) * | 2017-07-13 | 2017-11-21 | 湖南中云飞华信息技术有限公司 | 基于rtl的模块划分方法、装置及终端设备 |
CN107644128A (zh) * | 2017-09-08 | 2018-01-30 | 郑州云海信息技术有限公司 | 一种DC综合与Formality形式化验证协同的方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030172045A1 (en) * | 2002-03-07 | 2003-09-11 | Yossi Rindner | System and method for automation of ASIC synthesis flow |
CN1851717A (zh) * | 2005-09-09 | 2006-10-25 | 深圳市海思半导体有限公司 | 一种专用集成电路综合系统及方法 |
CN103150461A (zh) * | 2013-04-10 | 2013-06-12 | 上海安路信息科技有限公司 | 用于集成电路设计的并行综合方法及其系统 |
CN104573261A (zh) * | 2015-01-23 | 2015-04-29 | 浪潮电子信息产业股份有限公司 | 一种超大规模集成电路vlsi综合方法 |
-
2016
- 2016-01-04 CN CN201610003363.XA patent/CN105677960A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030172045A1 (en) * | 2002-03-07 | 2003-09-11 | Yossi Rindner | System and method for automation of ASIC synthesis flow |
CN1851717A (zh) * | 2005-09-09 | 2006-10-25 | 深圳市海思半导体有限公司 | 一种专用集成电路综合系统及方法 |
CN103150461A (zh) * | 2013-04-10 | 2013-06-12 | 上海安路信息科技有限公司 | 用于集成电路设计的并行综合方法及其系统 |
CN104573261A (zh) * | 2015-01-23 | 2015-04-29 | 浪潮电子信息产业股份有限公司 | 一种超大规模集成电路vlsi综合方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107368643A (zh) * | 2017-07-13 | 2017-11-21 | 湖南中云飞华信息技术有限公司 | 基于rtl的模块划分方法、装置及终端设备 |
CN107368643B (zh) * | 2017-07-13 | 2020-12-01 | 湖南中易利华信息技术有限公司 | 基于rtl的模块划分方法、装置及终端设备 |
CN107644128A (zh) * | 2017-09-08 | 2018-01-30 | 郑州云海信息技术有限公司 | 一种DC综合与Formality形式化验证协同的方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103324774B (zh) | 一种基于时钟规划偏差算法的处理器性能优化方法 | |
US8051399B2 (en) | IC design flow incorporating optimal assumptions of power supply voltage drops at cells when performing timing analysis | |
CN101539958B (zh) | 一种标准单元库和集成电路的设计方法和装置 | |
US20060225022A1 (en) | Method, apparatus and program for determining the relationship of correspondence between register transfer level description and behavioral description | |
CN103678745A (zh) | 一种用于fpga的跨平台多层次集成设计系统 | |
CN113569524B (zh) | 芯片设计中基于综合网表提取时钟树的方法及应用 | |
CN101826124A (zh) | 分析集成电路效能的系统与方法 | |
TW202205128A (zh) | 針對具有嵌入式邏輯的多位元記憶體的系統與方法 | |
US11055463B1 (en) | Systems and methods for gate array with partial common inputs | |
Stevens et al. | Characterization of asynchronous templates for integration into clocked CAD flows | |
CN110704364A (zh) | 基于现场可编程门阵列的自动化动态重构方法及系统 | |
CN112347722A (zh) | 高效评估芯片Feed-through流水级数的方法及装置 | |
CN105677960A (zh) | 一种Auto-DC自动化综合设计实现方法 | |
CN111046624A (zh) | 芯片模块接口时钟结构的构建方法、装置、设备及介质 | |
Amini et al. | Globally asynchronous locally synchronous wrapper circuit based on clock gating | |
Li et al. | ieda: An open-source intelligent physical implementation toolkit and library | |
Yin et al. | Joint Modulo Scheduling and $ V_ {\mathrm {dd}} $ Assignment for Loop Mapping on Dual-$ V_ {\mathrm {dd}} $ CGRAs | |
CN116341438A (zh) | 提高fpga原型验证时序收敛的方法、系统、设备和存储介质 | |
Cong et al. | Multilevel global placement with retiming | |
Deshpande et al. | A review on ASIC synthesis flow employing two industry standard tools | |
Li et al. | A Progressive Automatic Logic Synthesis Method for Timing-Limited SoC Design | |
Chandrakar et al. | A SAT-based methodology for effective clock gating for power minimization | |
CN113688587B (zh) | 一种电路布图的生成方法、装置、计算机设备及存储介质 | |
CN111428436A (zh) | 一种程序化分析集成电路线路结构的方法 | |
CN113836844B (zh) | 一种基于事件传播的动态时序分析方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160615 |
|
RJ01 | Rejection of invention patent application after publication |