掌桥专利:专业的专利平台
掌桥专利
首页

一种集成电路后端设计优化方法和系统

文献发布时间:2023-06-19 18:29:06


一种集成电路后端设计优化方法和系统

技术领域

本发明有关集成电路设计,且特别是有关于后端设计的优化方法。

背景技术

如图1所示,将集成电路设计分为2个步骤,前端设计S1和后端设计S2,前端设计S1根据规格进行设计和仿真验证,并输出门级网表给后端设计,后端设计S2主要包括,可测性设计、布局规划、布线等步骤。设计人员在后端设计S2发现物理设计方案不能通过设计要求,根据集成电路具体的物理实现需要,输出穿线配置、打拍配置到前端设计S1,前端设计人员根据穿线配置、打拍配置修改硬件描述语言代码后再进行后端设计S2。通过多次迭代才能最终收敛到一版可行的方案。多次迭代不仅耗费大量的人力,也容易产生质量风险。

发明内容

本发明提供一种集成电路后端设计的优化方法和系统,该优化方法用在电子设计自动化(EDA)的商业工具中,用于加速集成电路的设计流程。在后端确定穿线方案后,不返回前段迭代,而是通过修改网表、库交换文件、设计交换文件直接在后端迭代。

本发明的技术方案是:一种集成电路后端设计的优化方法,所述方法包括,

根据集成电路具体的物理实现需要,得到具体的配置;

根据所述配置更新网表文件和设计交换文件供后端设计重新建立数据库;

版图物理验证,验证失败修改所述配置并重新建立数据库,验证通过,进入前端设计。

上述配置为穿线、打拍配置。

上述根据所述配置更新网表文件、设计交换文件和库交换文件供后端设计重新建立数据库。

上述验证通过进入前端设计,根据所述配置修改RTL代码。

上述的方法,还包括,

根据所述配置,一信号需要穿过一模块;

修改所述模块的网表文件,增加所述信号的输入端口和输出端口;

修改所述模块的设计交换文件,增加所述信号的输入端口和输出端口;

修改所述模块的库交换文件,增加所述信号的输入端口和输出端口。

本发明还提供一种令集成电路后端设计优化的系统,其中利用电子设计自动化软件来设计所述集成电路,所述系统包括:

接收装置,其设计用于接收集成电路具体的物理实现,

构建装置,其设计用于构建集成电路的配置;

第一提供装置,根据所述配置提供网表和设计交换文件

第二提供装置,根据第一提供装置提供的网表和设计交换文件重新建立数据库;

验证装置,其设计用于版图物理验证,验证失败修改所述配置并重新建立数据库,验证通过,进入前端设计。

上述配置为穿线、打拍配置。

上述第一提供装置根据所述配置还提供库交换文件供后端设计重新建立数据库。

上述验证通过进入前端设计,根据所述配置修改RTL代码。

上述第二提供装置,根据所述设计,接收到一信号需要穿过一模块的需求,

所述第二提供装置修改所述模块的网表文件,增加所述信号的输入端口和输出端口;

所述第二提供装置修改所述模块的设计交换文件,增加所述信号的输入端口和输出端口;

所述第二提供装置修改所述模块的库交换文件,增加所述信号的输入端口和输出端口。

为让发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图式作详细说明如下。

附图说明

图1为集成电路设计的步骤。

图2为本发明后端设计的优化方法。

图3为图2中步骤S22一具体实施例。

图4为一个集成电路设计物理实现的示意图。

图5为本发明的一个实施例的计算机系统。

具体实施方式

下面将结合本发明实施例的附图,对本发明的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图2所示为本发明的后端设计的方法的流程图,后端设计S2包括:

步骤S21,根据集成电路具体的物理实现需要,得到具体的配置P,所述配置P例如为穿线、打拍配置;

步骤S22,根据配置P直接导出新的网表和设计交换供后端设计重新建立数据库,例如使用工具Innovus/ICC重新建立DB;

步骤S23,版图物理验证,如果验证失败则执行步骤S24并返回步骤S21,如果验证通过,执行步骤前端设计S1;

步骤S24,根据物理验证的实际情况重新修改配置P,得到更符合实际物理实现的配置。具体是如果发现穿线配置和打拍配置无法达到布局布线时的要求性能要求或者面积要求,那么会重新调整芯片内的布局和布线方案,并根据新的方案修改穿线配置和打拍配置。

前端设计S1包括:

步骤S11,根据配置P修改RTL代码

本方法与传统方法的核心区别在于:后端设计S1中,进行布局布线时,如果发现配置P需要调整,直接在后端设计S1流程内部进行调整测试,不需要通过前段流程。

具体来说,后端设计S1布局布线时,如果发现穿线配置需要调整,相比传统的反馈信息给前端设计S1,等待前段花费1-4周时间调整并重新输出网表文件、设计交换文件、库交换文件,新的方法可以直接更新网表文件、设计交换文件和库交换文件。从而在后端设计S1中快速迭代。

如图3所示为图2中步骤S22的一具体实施例,包括如下步骤:

步骤S221,根据配置P,信号D需要穿过模块A;

步骤S222,修改模块A的网表,增加信号D的输入端口和输出端口;

步骤S223修改模块A的设计交换,增加信号D的输入端口和输出端口;

步骤S224修改模块A的库交换,增加信号D的输入端口和输出端口。

网表的修改方法是增加信号D穿过模块A需要经过的输入输出端口,并且在网表内部将输入输出端口连接在一起。库交换文件的修改也是增加信号D穿过模块A需要经过的输入输出端口,相比网表文件,库交换的端口还需要定义端口的坐标信息。这个坐标信息是根据模块A的绝对坐标和端口的相对坐标换算得到的。设计交换文件增加信号D穿过模块A需要经过的输入输出端口,且换算原理与库交换文件一致。

这样,修改后的三个文件可以直接刷新到后端设计S2里进行迭代,所述迭代为版图物理验证,不再需要返回前端设计S1等待耗时较长的前后端迭代。

图4一个集成电路设计物理实现的示意图。后端工程师发现输入输出端口IO pin排布在左侧,被模块core_alu所阻挡。需要调整模块core_alu的端口才能连接输入输出端口IO pin到右边的模块。

下面以一个clk端口为例介绍此方法的操作:

对于库交换文件core_alu.lef文件,需要增加两个端口clk_feedT hroughIn_clk和clk_feedThroughOut_clk。并且计算新增端口的坐标。根据模块core_alu的起始坐标和端口clk的绝对坐标,可以计算出新增加的端口clk_feedThroughIn_clk和clk_feedThroughOut_clk在库交换文件中的相对坐标。

例如:模块core_alu的起始坐标为(0,100),端口clk的绝对坐标是(500,500),那么在库交换文件里端口clk的相对坐标就是(500,400)。

对于设计交换文件core_alu.def文件,也要根据相同的原理新增加两个输入输出端口,并且计算出新增加端口的坐标位置。坐标计算的原理与库交换文件原理一致。

对于网表文件core_alu.syn.v,同样增加两个端口clk_feedThroug hPinIn_clk和clk_feedThroughPinOut_clk,并且使用assign命令将两个端口连接起来。

具体的语法是:

input feedThroughPinIn;

input feedThroughPinOut;

assign feedThroughPinOut=feedThroughPinIn;

本发明涉及电子设计自动化EDA设计方法。该设计方法可以用在电子设计自动化EDA的商业工具中,用于加速集成电路的设计流程。

在后端确定穿线方案后,不返回前段迭代,而是通过修改网表、库交换文件、设计交换文件直接在后端迭代。

根据后端设计的实际物理摆放需要,生成穿线(feed-through)、打拍(pipeline)配置,并根据上述配置输出电子设计自动化(EDA)工具的脚本,从而导出更新的网表和数据交换文件;也支持通过自研软件直接导出更新的网表和数据,进行迭代验证后,导出配置,生成前端设计人员使用的硬件描述语言。

相比传统流程,对于穿线的配置在后端内部可以自循环迭代,避免了耗时的前后端迭代,因此可以显著加快项目开发速度。

图5示出了根据本发明一个实施例的计算机系统51。

计算机系统51包括处理器511、存储器512。计算机系统51可以与显示系统52、输入系统53相耦合。存储器512能够存储指令和/或数据,当处理器511处理这些指令和/或数据,其使得计算机系统51帮助集成电路的设计。

具体地,存储器512能够存储EDA软件5122以及其他与集成电路设计相关的技术文件。在操作期间,EDA软件5122能够用来创建集成电路设计。具体地,EDA软件5122在后端设计中确定穿线方案后,不返回前端设计S1迭代,而是通过修改网表、库交换文件、设计交换文件等直接在后端设计S2中迭代。

图5所示的模块只用于说明的目的,不用来将本发明限制到所公开的形式中。

在此具体实施部分中所描述的数据结构和代码通常被存储在计算机可读存储器512中,该存储器512可以是任何能够存储供计算机系统使用的代码和/或数据的设备或介质。存储器512包括但不限于易失性存储器、非易失性存储器、磁和光存储设备(诸如磁盘驱动器、磁带、CD(致密光盘)、DVD(数字通用光盘或数字视频光盘))、或现在已知的或将要开发的能够存储计算机可读介质的其它介质。

可以将在具体实施方式部分中所描述的方法和过程具体化为能够存储在上述存储器512中的代码和/或数据。当计算机系统51读取并执行在存储器512所存储的代码和/或数据时,计算机系统51执行被实现为数据结构和代码并被存储在存储器512中的方法和过程。该方法和过程实现了集成电路后端设计的优化。具体的,根据后端设计的实际物理摆放需要,生成穿线(feed-through)、打拍(pipeline)等配置,根据上述配置计算机系统51输出电子设计自动化(EDA)工具的脚本,从而导出更新的网表和数据交换文件;也支持计算机系统51也可通过自研软件直接导出更新的网表和数据,并进行迭代验证,确定最终的穿线(feed-through)、打拍(pipeline)等配置。前端设计人员根据最终的穿线(feed-through)、打拍(pipeline)等配置生成前端设计人员使用的硬件描述语言。

相比传统流程,本方法解决的技术问题和优势在于:因为对于穿线的配置在后端内部可以自循环迭代,避免了耗时的前后端迭代,因此可以显著加快项目开发速度。

可以理解的是,以上关于本发明的具体描述,仅用于说明本发明而并非受限于本发明实施例所描述的技术方案,本领域的普通技术人员应当理解,仍然可以对本发明进行修改或等同替换,以达到相同的技术效果;只要满足使用需要,都在本发明的保护范围之内。

相关技术
  • 集成电路半定制后端设计布线和优化方法
  • 集成电路半定制后端设计自动单元放置和优化方法
技术分类

06120115588496