CN114925647A - 门级网表迁移方法、机器可读介质及集成电路设计系统 - Google Patents
门级网表迁移方法、机器可读介质及集成电路设计系统 Download PDFInfo
- Publication number
- CN114925647A CN114925647A CN202110818747.8A CN202110818747A CN114925647A CN 114925647 A CN114925647 A CN 114925647A CN 202110818747 A CN202110818747 A CN 202110818747A CN 114925647 A CN114925647 A CN 114925647A
- Authority
- CN
- China
- Prior art keywords
- standard cells
- mapping
- target
- netlist
- integrated circuit
- 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
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/32—Circuit design at the digital level
- G06F30/323—Translation or migration, e.g. logic to logic, hardware description language [HDL] translation or netlist translation
-
- 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/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/392—Floor-planning or layout, e.g. partitioning or placement
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
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)
- Architecture (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
一种用于将现有的ASIC设计从一种半导体制作工艺迁移到另一种半导体制作工艺的方法及系统。在一些实施例中,一种用于对现有的ASIC设计进行迁移的方法包括:将门级网表每次一行地剖析成用于形成ASIC设计的一个或多个标准单元;形成具有映射规则的多个映射表,所述映射规则用于将经剖析的所述一个或多个标准单元映射到在第二半导体制作工艺中实作的等效目标标准单元;使用所述多个映射表将经剖析的所述一个或多个标准单元映射到等效目标标准单元;以及产生以等效目标标准单元来描述ASIC设计的目标门级网表。
Description
技术领域
在本发明的实施例中阐述的技术大体来说涉及专用集成电路,且更具体来说,涉及门级网表迁移方法、机器可读介质及集成电路设计系统。
背景技术
专用集成电路(application specific integrated circuit,ASIC)被广泛用于实作用于大规模生产的多功能电子电路。ASIC可使用全客制技法(full-customtechnique)或标准单元技法来设计。在全客制技法中,通过手来对小区块(或单元)进行手动布局,一次一个矩形或多边形地构建晶体管,然后是逻辑门,且然后是更复杂的集成电路。对于复杂的ASIC芯片设计,全客制技法的布局及组装工艺要求大量高技能的设计人员及长的开发周期。
另一方面,用于设计芯片的标准单元技法是一种简单得多的工艺并且已经获得了广泛应用。标准单元是连接在一起以实行简单的逻辑功能的一个或多个电路元件(例如晶体管、电容器及其他基础电路元件)的群组。还为标准单元创建物理布局及时序行为模型。然后将预先设计的标准单元的大的群组组装成标准单元库,所述标准单元库通常由最终将生产实际芯片的制作厂商以名义成本提供。这些标准单元库的实例可从例如台湾半导体制造公司(Taiwan Semiconductor Manufacturing Company,TSMC)等制作厂商处获得。此外,ASIC制作厂商还可提供ASIC设计技术库,所述ASIC设计技术库包括关于工艺技术的信息(包括每一金属层的线宽及间距、通孔规则)以及电信息(例如每一层的电阻及层之间的电容)。
由于半导体制作技术正在向10纳米以下的沟道宽度(此会提供改善的芯片面积利用率及降低的功耗)发展,因此ASIC设计人员及电子公司需要尽可能快且高效地将其现有的设计迁移到最新技术,以避免失去销售其产品及设计的任何机会。一般来说,将旧设计转换为新技术要求工程师从设计的寄存器传输级(Register Transfer Level,RTL)描述开始便经历漫长而乏味的设计过程。具有几个设计团队参与设计过程的多个阶段的公司将因此不得不花费大量的时间及成本让他们的团队将现有的设计迁移到最新的技术。
现有的ASIC设计从一种技术到另一种技术的迁移过程通常涉及自动合成软件工具,所述自动合成软件工具可获取集成电路的网表描述,并将所述网表描述映射到包括最新目标技术的标准单元的等效网表中。然而,此过程非常耗时且要求昂贵的自动化软件工具以及对制作厂商的标准单元库的存取。
因此,期望克服先前网表迁移方法的前述缺陷并在设计工程师部分的努力最小的情况下为现有的ASIC设计迁移提供快速的周转时间。
在背景技术部分中公开的信息仅旨在为以下阐述的本发明的各种实施例提供上下文,且因此本背景部分可包括未必是现有技术信息(即,所属领域中的一般技术人员已知的信息)的信息。因此,在本背景技术部分中阐述当前命名的发明人的工作的范围内,所述工作以及在提出申请时可能不符合现有技术的说明的方面既不明确也不隐含地被认为是针对本公开的现有技术。
发明内容
本发明实施例提供一种将具有专用集成电路设计的门级网表从第一半导体制作工艺迁移到第二半导体制作工艺的方法,包括:接收以硬件描述语言指明的所述专用集成电路设计;将所述门级网表每次一行地剖析成用于形成所述专用集成电路设计的一个或多个标准单元;形成具有映射规则的多个映射表,所述映射规则用于将经剖析的所述一个或多个标准单元映射到在所述第二半导体制作工艺中实作的等效目标标准单元;使用所述多个映射表将经剖析的所述一个或多个标准单元映射到所述等效目标标准单元;产生以所述等效目标标准单元来描述所述专用集成电路设计的目标门级网表;以及输出用于以所述第二半导体制作工艺进行制造的所述专用集成电路设计的经迁移物理布局。
本发明实施例提供一种非暂时性机器可读介质,存储有指令,所述指令在由处理器执行时实行一种将集成电路的网表从第一技术库迁移到第二技术库的方法,所述方法包括:接收以硬件描述语言指明的专用集成电路设计;接收原始网表;每次一行地剖析所述原始网表,以定义一个或多个标准单元;产生包含映射规则的多个映射表,所述映射规则将所述一个或多个标准单元映射到在所述第二技术库中实作的等效目标标准单元;使用所述多个映射表将所述一个或多个标准单元映射到所述等效目标标准单元中的相应的一个或多个等效目标标准单元;产生与所述第二技术库相关联的目标网表,所述目标网表以所述等效目标标准单元来描述所述集成电路;以及输出用于以所述第二技术库进行制造的所述专用集成电路设计的经迁移物理布局。
本发明实施例提供一种集成电路设计系统,包括:计算机,具有处理器及存储器;软件应用,由所述计算机的所述处理器运行,且常驻在所述计算机的所述存储器中;所述软件应用包括多个软件功能模块,所述多个软件功能模块包括:剖析器,被配置成接收用于描述现有的专用集成电路的门级网表,并将所述门级网表剖析成一个或多个标准单元;单元映射器,耦合到所述剖析器且被配置成使用多个映射表将在原始的一组技术库中描述的经剖析的所述一个或多个标准单元映射到在新的一组技术库中描述的等效目标标准单元,其中所述多个映射表提供用于将经剖析的所述一个或多个标准单元映射到所述等效目标标准单元的映射规则,且其中所述映射规则是基于所述原始的一组技术库及所述新的一组技术库;以及目标网表写入器,耦合到所述单元映射器且被配置成产生以所述等效目标标准单元来描述所述专用集成电路的目标门级网表。
附图说明
以下参照下面各图来详细阐述本公开的各种示例性实施例。提供图式仅是为了例示的目的,并且仅绘示本公开的示例性实施例,以有利于读者理解本公开。因此,不应将图式视为对本公开的宽度、范围或适用性的限制。应注意,为了清楚及易于例示起见,这些图式未必按比例绘制。
图1示出根据一些实施例的描述使用不涉及自动ASIC合成工具的组件映射技法的门级网表迁移过程的流程图。
图2示出根据一些实施例的集成电路设计系统200的方块图。
图3及图4是根据一些实施例的由组件映射引擎101实行的网表剖析过程、网表映射过程及网表产生过程的方块图。
图5示出根据一些实施例的用于产生映射表的数据库的流程图,所述映射表指明用于将多个来源组件库中所定义的标准单元迁移到多个目标组件库中所定义的等效组件的映射规则。
图6示出根据一些实施例的用于将现有的ASIC设计迁移到最新技术的方法的流程图。
具体实施方式
以下参照附图来阐述本公开的各种示例性实施例,以使所属领域中的一般技术人员能够制作及使用本公开。对于所属领域中的一般技术人员来说将显而易见的是,在阅读本公开之后,在不背离本公开的范围的条件下,可对本文阐述的实例进行各种改变或修改。因此,本公开不限于本文阐述及示出的示例性实施例及应用。另外,在本文中公开的方法中步骤的特定次序和/或层次仅是示例性方式。基于设计偏好,所公开的方法或工艺的步骤的特定次序或层次可在保持在本公开的范围内的同时被重新排列。因此,所属领域中的一般技术人员将理解,除非另有明确说明,否则本文公开的方法及技法以样本次序呈现各种步骤或动作,且本公开不限于所呈现的特定次序或层次。
如图1中所示,自动ASIC合成工具102接受例如以下输入:门级来源设计103、与门级来源设计103相关联的来源设计约束105、技术库的来源组、及技术库的目标组104。在一些实施例中,来源设计约束105可为限制集成电路设计的可变性的任意组的规则、障碍或局限。来源设计约束105可还包括指明集成电路的外部时序行为的时序约束。技术库的来源组及技术库的目标组包括标准单元的逻辑描述及物理描述,且可能包括可用于特定半导体制造工艺的集成电路设计中的实例化(instantiation)的客制逻辑单元、功能块及宏单元。
图1示出根据一些实施例的描述使用不涉及自动ASIC合成工具的组件映射技法的门级网表迁移过程100的流程图。在一些实施例中,门级网表迁移过程100接收常常使用硬件描述语言(hardware description language,HDL)(例如Verilog HDL)指明的ASIC设计108。此外,门级网表迁移过程100包括组件映射引擎101,所述组件映射引擎101接受例如ASIC设计108的门级来源设计103(例如,“金来源功能门极网表(Golden SourceFunctional Gate Netlist)”)及与门级来源设计103相关联的来源设计约束105。在一些实施例中,门级来源设计103可由RTL编译器合成工具从寄存器传输级(RTL)源代码合成。在又一些实施例中,门级来源设计103包括代表要迁移的电路的分层的或扁平的门级网表。设计中的各种信号被称为网络(net)。分层网表由一系列区块组成,而扁平网表仅包括一个区块。网表区块可包括组件及它们使用网络内连的说明。可将组件简化成组合逻辑门或顺序逻辑门,或者它们可为下部层级的分层区块。举例来说,组件可为表示单个组合逻辑功能(例如,“与”、“与非”、“或非”、“或”、“异或”、“同或”等)的标准单元或者单个存储元件(例如,用于顺序逻辑的触发器或锁存器)。作为另一种选择,组件可为可由一组标准单元代表的库单元。在再一实例中,组件也可为代表一组逻辑功能及存储的可编程原语。在替代实施例中,组件可为表示复杂逻辑功能的宏块,例如存储器、计数器、移位器、加法器、乘法器等。可将组件中的每一者进一步简化成用于形成组合逻辑或顺序逻辑的标准单元。
在一些实施例中,组件映射引擎101可包括在数据库中组织的多个映射表102。此外,所述多个映射表102的每一行可将标准单元从一种半导体制作技术映射到另一种半导体制作技术。举例来说,所述多个映射表102中的一者中的一个行可将在28nm制作工艺中阐述的标准组件(例如,“与”、“与非”、“或非”、“或”、“异或”、“同或”等)映射到10nm制作工艺中的等效组件。在组件映射引擎101中实作的示例性映射表如下表1中所示。在示例性映射表1中,第一列列出来自来源技术库的标准组件。来源技术库可包括在过时的半导体制作工艺(例如65nm)中实作的多个标准单元。在一些实施例中,可产生所述多个映射表的数据库。在一个示例性实施例中,数据库中的所述多个映射表中的每一者可基于来源技术库及目标技术库来识别或索引。在一些实施例中,来源技术库可还包括由自动放置及布线工具使用的布局视图、示意性视图及模拟视图。表1的第二列定义第一列中所列出的标准单元的输入及输出。举例来说,表1列出双输入“NAND2”标准单元,所述双输入“NAND2”标准单元具有输入端子“A”及“B”以及输出端子“Z”。此外,第三列列出来自目标技术库的标准单元。目标技术库可包括在新的半导体制作工艺(例如,10nm)中实作的多个标准单元。在一些实施例中,目标技术库可还包括由自动放置及布线工具使用的布局视图、示意性视图及模拟视图,所述自动放置及布线工具使用目标半导体制造技术产生用于制作的电路布局。表1的第四列定义第三列中所列出的标准单元的输入及输出。举例来说,表1列出具有输入端子“In1”及“In2”以及输出端子“Out”的双输入“ND2”标准单元。这样一来,表1的第一列及第三列提供来源技术库中所定义的标准单元到目标技术库中所定义的标准单元的一对一映射。此外,表1的第二列及第四列提供来源技术库中所定义的标准单元的输入端子及输出端子到目标技术库中所定义的标准单元的输入端子及输出端子的一对一映射。举例来说,根据表1中指明的映射规则,来源技术库的双输入“NAND2”标准单元被映射到目标技术库的双输入“ND2”标准单元,“NAND2”标准单元的输入端子“A”及“B”被映射到“ND2”标准单元的输入端子“In1”及“In2”,且“NAND2”标准单元的输出端子“Z”被映射到“ND2”标准单元的输出端子“Out”。
表1
在一些实施例中,组件映射引擎101可包括网表剖析器及目标网表写入器,网表剖析器被配置成实行门级来源设计103的基于行的剖析,目标网表写入器被配置成使用所述多个映射表102产生目标门级网表106。以下将更详细地阐述网表剖析器及目标网表写入器。
如图1中所示,可由自动放置及布线工具使用由组件映射引擎101提供的目标门级网表106来产生物理布局107,然后可将物理布局107用于使用技术库的目标组104中指明的新的半导体制造工艺来完成及制造门级来源设计103中所描述的ASIC。在一些示例性实施例中,门级网表迁移过程100可输出用于以目标制作工艺进行制造的ASIC设计的经迁移物理布局109。
具有组件映射引擎101的门级网表迁移过程100的一个示例性优点是会减少将设计从一种技术工艺迁移到另一种技术工艺所需的运行时间。此是由于组件映射引擎101,所述组件映射引擎101使用所述多个映射表102实行从一种半导体制作技术到另一种半导体制作技术的标准单元映射。门级网表迁移过程100的另一示例性优点在于,门级网表迁移过程100提供用于在不使用第三方自动ASIC合成工具的条件下将设计从一种半导体技术工艺迁移到另一种半导体技术工艺的改善的能力,此也使得能够实作优化功率、性能及面积(power,performance and area,PPA)设计度量的快速设计技术协同优化(DesignTechnology Co-Optimization,DTCO)解决方案。
图2示出根据一些实施例的集成电路设计系统200的方块图,集成电路设计系统200包括:组件映射引擎101,接受门级来源设计103作为输入并产生目标门级网表106、处理器202、及存储器204。
在一个实施例中,处理器202执行常驻在例如存储器204等机器可读介质上的指令。在一些实施例中,可将指令从例如以下机器可读介质加载到存储器204(存储器204可包括随机存取存储器(Random Access Memory,RAM)、动态RAM(dynamic RAM,DRAM)等)中:光学介质(光盘(compact disk,CD)、数字视盘(digital video disk,DVD)等)、磁介质(磁盘、磁带等)、或两者的组合。处理器202可从存储器204检索指令并执行所述指令来实行以下阐述的组件映射引擎103的操作。
注意,图2中所示的组件中的任意者或全部以及相关联的硬件可用于系统200的各种实施例中。然而,应理解,系统200的其他配置可包括比图2中所示装置多或少的装置。
计算机系统通常包括至少一个处理器202,所述至少一个处理器202经由总线子系统与多个外围装置进行通信。这些外围装置可包括存储子系统、用户接口输入装置、用户接口输出装置及网络接口子系统,所述存储子系统包括存储器子系统及文件存储子系统。输入及输出装置使得用户能够与计算机系统进行交互。
如图2中所示,组件映射引擎101包括所述多个映射表102,所述多个映射表102提供用于将标准单元从一种半导体制作技术映射到另一种半导体制作技术的映射规则。
在一些实施例中,组件映射引擎101可还包括网表剖析器201,网表剖析器201被配置成每次一行地剖析所接收的门级来源设计103。在又一些实施例中,门级来源设计103可为包含ASIC的网表描述的文本文件,并且网表剖析器201可被配置成对代表ASIC的文本文件进行剖析。此外,网表剖析器201可包括剖析算法,所述剖析算法剖析网表文本文件以获得经剖析的网表数据,经剖析的网表数据代表ASIC的装置数据、装置属性数据、宏数据、宏属性数据、连接数据及连接属性数据。
在又一些实施例中,网表剖析器201可将从门级来源设计103提取的经剖析的来源网表数据发送到单元映射器203。在一些实施例中,单元映射器203可被配置成使用所述多个映射表102将从门级来源设计103提取的经剖析的网表数据映射到目标网表数据。在一些实施例中,来源网表数据及目标网表数据可包括标准单元的名称、标准单元的连接属性、宏、或宏属性。
在一个示例性实施例中,单元映射器203可还被配置成为组合逻辑元件以及顺序逻辑元件提供直接的一对一映射。在一些实施例中,单元映射器203可还能够在经剖析的来源网表数据的组合逻辑元件或顺序逻辑元件与目标制作技术中的一个或多个组合逻辑元件或顺序逻辑元件对应时,基于所述多个映射表102,实行一对多映射。
在一些实施例中,单元映射器203可还包括“包装单元”库或数据库205,所述“包装单元”库或数据库205被提供给组件映射引擎101,用于将例如微处理器及微控制器等大的单元或单元的群组从门级来源设计103迁移到目标门级网表106(图1)。在一些实施例中,每一包装单元具有与标准单元中的一或多者的对应的群组的覆盖面积相匹配的覆盖面积。在一些实施例中,库或数据库205可包括客制逻辑单元、功能区块及宏单元,用于将在门级来源设计103中找到的客制逻辑单元、功能区块或宏单元迁移到目标门级网表106。
在一些实施例中,组件映射引擎101可还包括目标网表写入器207,所述目标网表写入器207耦合到映射器203且被配置成产生目标门级网表106。在又一些实施例中,目标网表写入器207可被配置成产生包含经迁移ASIC的门级网表描述的文本文件。这样一来,经迁移ASIC的门级网表描述可包括经迁移ASIC的装置数据、装置属性数据、宏数据、宏属性数据、连接数据及连接属性数据。
图3及图4是根据一些实施例的分别由组件映射引擎101实行的来源门级网表剖析、映射、以及目标门级网表产生过程的方块图。
现在参照图3,网表剖析器201(图2)可被配置成接收文本文件301,文本文件301包括需要迁移的ASIC芯片设计的门级网表。在一些实施例中,具有门级网表的文本文件可从Verilog格式或VHDL格式合成。
在又一些实施例中,网表剖析器201开始每次一行地剖析文本文件301,直到它到达最后一行或文件结束(End of File,EoF)字符。如图3中所示,网表剖析器201可将文本文件301的第一行剖析成三输入或非门303,所述三输入或非门303具有连接到其“A”输入端子的节点“net11”、连接到其“B”输入端子的节点“net12”、以及连接到其“C”输入端子的节点“net13”,而节点“out11”连接到或非门的输出端子。根据又一些实施例,网表剖析器201随后将文本文件301的剩余行剖析成反相器305、第一触发器307、两输入与非门309及第二触发器311。在一些实施例中,网表剖析器201可将文本文件301中的门级网表剖析成例如有向图等数据结构,图的顶点用作经剖析的标准单元(例如,三输入或非门303、反相器305、第一触发器307或两输入与非门309)且有向边用作经剖析的标准单元的输入及输出。在其他实施例中,网表剖析器201可利用有向无环图来代表来自文本文件301的经剖析的标准单元。
在又一些实施例中,映射器203(图2)可在所述多个映射表102的第一列中查找每一经剖析的标准单元,以寻找匹配条目。映射器可随后基于所述多个映射表102中所定义的映射规则,将每一经剖析的标准单元映射到在目标半导体制作技术中实作的等效标准单元。举例来说,映射器203可使用第一映射规则315将反相器305映射到在目标半导体制作技术中实作的反相器中。这样一来,可使用第二映射规则317将所述两输入与非门309映射到在目标半导体制作技术中实作的两输入ND2门。此外,可使用第三映射规则319将三输入或非门303映射到在目标半导体制作技术中实作的三输入NR3门。且最后,可使用第四映射规则324将第一触发器307及第二触发器311各自映射到在目标半导体制作技术中实作的触发器中。
现在参照图4,可由目标网表写入器207(图2)基于所述多个映射表102中所定义的映射规则来产生目标网表文本文件401。更具体来说,根据一些实施例,可由目标网表写入器207(图2)基于第一映射规则315、第二映射规则317、第三映射规则319及第四映射规则324来产生目标网表文本文件401。在又一些实施例中,可将目标网表编码成ASCII文本或Unicode文本。
在又一些实施例中,目标网表写入器207可在目标网表文本文件401中产生三输入NR3门403,所述三输入NR3门403与所接收的文本文件301中的三输入或非门303对应。同样地,目标网表写入器207可还在目标网表文本文件401中产生反相器405、第一触发器407、两输入ND2门409及第二触发器411,所述反相器405、第一触发器407、两输入ND2门409及第二触发器411分别与所接收的文本文件301中所定义的反相器305、第一触发器307、两输入与非门309及第二触发器311对应
图5示出根据一些实施例的用于产生映射表的数据库507的流程图,所述映射表指明用于将多个来源组件库503中所定义的标准单元迁移到多个目标组件库501中所定义的等效组件的映射规则。在一些实施例中,所述多个来源组件库503可包括一个或多个标准单元库及宏单元库。此外,所述多个来源组件库503在可能不是最近的来源制作技术中定义标准单元及宏单元。另一方面,所述多个目标组件库501在最新的目标或期望的制作技术中定义等效的标准单元及宏单元。举例来说,所述多个来源组件库503可在65nm制作技术中指明标准单元及宏单元,而所述多个目标组件库501可在10nm制作技术中指明等效的标准单元及宏单元。
在一些实施例中,映射表的数据库507可由映射表产生器505产生,映射表产生器505被配置成接受来源组件库503及目标组件库501作为输入。在又一些实施例中,映射表产生器505可基于设计因素(例如候选单元的覆盖面积及复杂性)从所述多个目标组件库501选择等效的标准单元及宏单元。如本文中所使用的,标准单元的覆盖面积意指其布局的规划尺寸。此外,标准单元的复杂性由用于实作标准单元的功能的逻辑门的数目决定。举例来说,在实作相同功能的同时,具有较少逻辑门的标准单元没有具有大量逻辑门的标准单元复杂。
图6示出根据一些实施例的用于将现有ASIC设计迁移到最新的制作技术的方法的流程图。在操作600处,接收ASIC设计。在一些实施例中,可使用硬件描述语言(HDL)(例如Verilog HDL)来指明ASIC设计。
在操作601处,可每次一行地剖析描述现有的ASIC设计的来源门级网表且可提取用于形成现有的ASIC设计的一个或多个标准单元。在一些实施例中,门级网表可为由RTL编译器合成工具从寄存器传输级(RTL)源代码合成的文本文件。在又一些实施例中,来源门级网表可包括代表要迁移的现有的ASIC的分层的或扁平的门级网表。此外,来源门级网表可包括组件及它们使用网络内连的说明。此外,可将组件来源门级网表简化成组合逻辑门或顺序逻辑门,或者它们可为下部层级的分层区块。在一些实施例中,可将来源门级网表剖析成例如有向图等数据结构,图的顶点用作经剖析的标准单元且有向边用作经剖析的标准单元的输入及输出。
在操作603处,可形成包括映射规则的多个映射表,所述映射规则用于将在第一半导体制作工艺中实作的经剖析的所述一个或多个标准单元映射到在第二半导体制作工艺中实作的等效目标标准单元。在一些实施例中,可基于所述多个来源组件库503及所述多个目标组件库501来形成所述多个映射表。在一些实施例中,所述多个映射表的每一行可将标准单元或宏单元从一种半导体制作技术映射到另一种半导体制作技术。在又一些实施例中,如果在所述多个目标组件库501中存在两个或更多个等效的候选标准单元或宏单元,则映射表产生器505可基于候选单元的覆盖面积、组成及复杂性来产生候选标准单元或宏单元的所述多个映射表。
在操作604处,可使用所述多个映射表将标准单元或宏单元映射到等效的目标标准单元。在一个示例性实施例中,映射可为一对一的,其中标准单元或宏单元被映射到一个等效的候选标准单元或宏单元。在另一实施例中,当经剖析的来源门级网表的标准宏单元与目标制作工艺中的一个或多个等效的候选标准单元或宏单元对应时,映射也可为一对多的。
在操作606处,可产生目标门级网表。在一些实施例中,目标网表写入器207(图2)可被配置成产生目标门级网表。在又一些实施例中,所产生的目标门级网表可为包含经迁移ASIC的门级网表描述的文本文件。随后,可由自动放置及布线工具使用目标门级网表来产生经迁移ASIC的物理布局,然后可使用目标半导体制作工艺利用所述物理布局来完成及制造经迁移ASIC。
在操作608处,可输出用于以目标制作工艺进行制造的ASIC设计的经迁移物理布局。可使用常常被称为“几何形状(geometry)”的经迁移物理布局来产生集成电路工具,所述集成电路工具是一系列掩模,所述一系列掩模各自代表ASIC的层。然后由制造商使用所述工具来制作集成电路。
在一实例中,一种将具有专用集成电路设计的门级网表从第一半导体制作工艺迁移到第二半导体制作工艺的方法,包括:接收以硬件描述语言指明的所述专用集成电路设计;将所述门级网表每次一行地剖析成用于形成所述专用集成电路设计的一个或多个标准单元;形成具有映射规则的多个映射表,所述映射规则用于将经剖析的所述一个或多个标准单元映射到在所述第二半导体制作工艺中实作的等效目标标准单元;使用所述多个映射表将经剖析的所述一个或多个标准单元映射到所述等效目标标准单元;产生以所述等效目标标准单元来描述所述专用集成电路设计的目标门级网表;以及输出用于以所述第二半导体制作工艺进行制造的所述专用集成电路设计的经迁移物理布局。
在相关实施例中,所述剖析还包括:提取一个或多个经剖析的标准单元的连接属性。
在相关实施例中,所述映射规则是在所述多个映射表的每一行中进行定义的。
在相关实施例中,所述形成所述多个映射表还包括:接收来源组件库及目标组件库,所述来源组件库指明用于在所述第一半导体制作工艺中形成所述专用集成电路设计的所述一个或多个标准单元,所述目标组件库指明所述第二半导体制作工艺中的所述等效目标标准单元;以及基于所接收的所述来源组件库及所述目标组件库产生所述多个映射表。
在相关实施例中,所述目标门级网表是包括所述等效目标标准单元的连接属性的文本文件。
在另一实例中,一种非暂时性机器可读介质,存储有指令,所述指令在由处理器执行时实行一种将集成电路的网表从第一技术库迁移到第二技术库的方法,所述方法包括:接收以硬件描述语言指明的专用集成电路设计;接收原始网表;每次一行地剖析所述原始网表,以定义一个或多个标准单元;产生包含映射规则的多个映射表,所述映射规则将所述一个或多个标准单元映射到在所述第二技术库中实作的等效目标标准单元;使用所述多个映射表将所述一个或多个标准单元映射到所述等效目标标准单元中的相应的一个或多个等效目标标准单元;产生与所述第二技术库相关联的目标网表,所述目标网表以所述等效目标标准单元来描述所述集成电路;以及输出用于以所述第二技术库进行制造的所述专用集成电路设计的经迁移物理布局。
在相关实施例中,所述方法还包括:提取一个或多个标准单元的连接属性。
在相关实施例中,所述目标网表是以ASCII格式进行编码且包括所述等效目标标准单元的连接属性。
在相关实施例中,所述方法还包括:产生用于将经剖析的所述一个或多个标准单元映射到使用所述第二技术库实作的所述相应的一个或多个等效目标标准单元的映射规则,其中所述映射规则是在所述多个映射表的每一行中进行定义的。
在相关实施例中,所述方法还包括:将所述原始网表剖析成一个或多个宏单元;以及使用包装单元数据库将经剖析的所述一个或多个宏单元映射到等效目标宏单元。
在相关实施例中,所述方法还包括:将所述原始网表剖析成有向图,所述有向图的每一顶点被指派到所述一个或多个标准单元中的每一者。
在相关实施例中,所述方法还包括:从所述目标网表产生所述集成电路的物理布局,其中所述物理布局用于以由所述第二技术库指明的半导体制造工艺制作所述集成电路。
在相关实施例中,所述方法还包括:从所述多个映射表产生数据库,其中所述多个映射表中的每一者是基于所述第一技术库及所述第二技术库来识别。
在又一实例中,一种集成电路设计系统,包括:计算机,具有处理器及存储器;软件应用,由所述计算机的所述处理器运行,且常驻在所述计算机的所述存储器中;所述软件应用包括多个软件功能模块,所述多个软件功能模块包括:剖析器,被配置成接收用于描述现有的专用集成电路的门级网表,并将所述门级网表剖析成一个或多个标准单元;单元映射器,耦合到所述剖析器且被配置成使用多个映射表将在原始的一组技术库中描述的经剖析的所述一个或多个标准单元映射到在新的一组技术库中描述的等效目标标准单元,其中所述多个映射表提供用于将经剖析的所述一个或多个标准单元映射到所述等效目标标准单元的映射规则,且其中所述映射规则是基于所述原始的一组技术库及所述新的一组技术库;以及目标网表写入器,耦合到所述单元映射器且被配置成产生以所述等效目标标准单元来描述所述专用集成电路的目标门级网表。
在相关实施例中,所述剖析器还被配置成提取一个或多个经剖析的标准单元的连接属性。
在相关实施例中,所述映射规则是在所述多个映射表的每一行中定义的。
在相关实施例中,所述单元映射器还包括:接收来源组件库及目标组件库,所述来源组件库指明用于在所述原始的一组技术库中形成所述专用集成电路的所述一个或多个标准单元,所述目标组件库指明所述新的一组技术库中的所述等效目标标准单元;以及基于所接收的所述来源组件库及所述目标组件库产生所述多个映射表。
在相关实施例中,所述目标门级网表是包括所述等效目标标准单元的连接属性的文本文件。
在相关实施例中,所述剖析器还被配置成将所述门级网表剖析成有向图,所述有向图的顶点被指派到所述一个或多个标准单元。
在相关实施例中,所述剖析器还被配置成将所述门级网表剖析成一个或多个宏单元,其中所述一个或多个宏单元中的至少一者是微处理器。
尽管以上已阐述了本公开的各种实施例,然而应理解,所述实施例仅以举例方式而非限制方式呈现。同样,各个图可绘示示例性架构或配置,提供所述示例性架构或配置是为了使所属领域中的一般技术人员能够理解本公开的示例性特征及功能。然而,所属领域中的一般技术人员应理解,本公开并非仅限于所示出的示例性架构或配置,而是可使用各种替代架构及配置来实作。另外,如所属领域中的一般技术人员应理解,一个实施例的一个或多个特征可与本文中所述的另一实施例的一个或多个特征进行组合。因此,本公开的广度及范围不应受上述示例性实施例中的任一示例性实施例限制。
还应理解,本文中每当使用例如“第一”、“第二”等称谓来提及元件时均不是笼统地限制所述元件的数量或次序。而是,本文中使用这些称谓作为区分两个或更多个元件或区分元件的实例的便捷手段。因此,提及“第一元件”及“第二元件”并不意味着仅可采用两个元件或者第一元件必须以某种方式在第二元件之前。
另外,所属领域中的一般技术人员应理解,可使用各种不同的技术及技法中的任意者来表示信息及信号。举例来说,数据、指令、命令、信息、信号、位及符号(举例来说,在以上说明中可能提及的)可由电压、电流、电磁波、磁场或磁性粒子、光学场或光学粒子或其任意组合来表示。
所属领域中的一般技术人员还应理解,结合本文所公开的各个方面阐述的各种例示性逻辑区块、模块、处理器、构件、电路、方法及功能中的任意者可由电子硬件(例如,数字实施方式、模拟实施方式或两者的组合)、韧件、包含指令的各种形式的程序或设计代码(为方便起见,在本文中可被称为“软件”或“软件模块”)或这些技法的任意组合来实作。
为清楚地例示硬件、韧件及软件的此种可互换性,以上已对各种例示性组件、区块、模块、电路及步骤在其功能方面进行了大体阐述。此种功能是被实作成硬件、韧件还是软件、抑或被实作成这些技法的组合取决于具体应用及施加于整个系统的设计约束条件。所属领域中的技术人员可针对每一具体应用以各种方式实施所阐述的功能,但此种实施方式决策不会导致背离本公开的范围。根据各种实施例,处理器、器件、组件、电路、结构、机器、模块等可被配置成实行本文中所述的功能中的一个或多个功能。本文中针对规定操作或功能使用的用语“被配置成”或“被配置用于”是指处理器、器件、组件、电路、结构、机器、模块、信号等被实体构造成、编程成、排列成和/或格式化成实行规定操作或功能。
此外,所属领域中的一般技术人员应理解,本文中所述的各种例示性逻辑区块、模块、器件、组件及电路可在集成电路(IC)内实作或由集成电路(IC)实行,所述集成电路可包括数字信号处理器(digital signal processor,DSP)、专用集成电路(ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或其他可编程逻辑器件、或其任意组合。逻辑区块、模块及电路可还包括天线和/或收发器,以与网络内或器件内的各种组件进行通信。被编程成实行本文中的功能的处理器将变成专门编程的或专用的处理器,且可被实作成计算器件的组合,例如DSP与微处理器的组合、多个微处理器、一个或多个微处理器与DSP核的结合、或者实行本文中所述的功能的任何其他合适的配置。
如果以软件的形式实作,则所述功能可作为一个或多个指令或代码存储在计算机可读介质上。因此,本文中所公开的方法或算法的步骤可被实作成存储在计算机可读介质上的软件。计算机可读介质包括计算机存储介质及通信介质二者,包括可能够将计算机程序或代码从一个地方传递到另一地方的任何介质。存储介质可为可由计算机存取的任何可用介质。作为示例而非限制,这种计算机可读介质可包括随机存取存储器(RAM)、只读存储器(read-only memory,ROM)、电可擦可编程只读存储器(electrically erasableprogrammable read-only memory,EEPROM)、只读光盘(compact disk-ROM,CD-ROM)或其他光盘存储器件、磁盘存储器件或其他磁性存储器件、或者可用于以指令或数据结构的形式存储所期望的程序代码且可由计算机存取的任何其他介质。
在本文件中,本文使用的用语“模块”是指用于实行本文中所述的相关联的功能的软件、韧件、硬件以及这些元件的任意组合。另外,为便于论述,各种模块被阐述为离散模块;然而,对于所属领域中的一般技术人员来说显而易见的是,可将两个或更多个模块组合形成单个模块,由所述单个模块实行根据本公开的实施例的相关联的功能。
对本公开中所述的实施方式的各种修改对于所属领域中的技术人员来说将显而易见,且在不背离本公开的范围的条件下,本文中所定义的一般原理也可应用于其他实施方式。因此,本公开并非旨在仅限于本文中所示的实施方式,而是符合与本文所公开新颖特征及原理一致的最宽广范围。
Claims (10)
1.一种将具有专用集成电路设计的门级网表从第一半导体制作工艺迁移到第二半导体制作工艺的方法,包括:
接收以硬件描述语言指明的所述专用集成电路设计;
将所述门级网表每次一行地剖析成用于形成所述专用集成电路设计的一个或多个标准单元;
形成具有映射规则的多个映射表,所述映射规则用于将经剖析的所述一个或多个标准单元映射到在所述第二半导体制作工艺中实作的等效目标标准单元;
使用所述多个映射表将经剖析的所述一个或多个标准单元映射到所述等效目标标准单元;
产生以所述等效目标标准单元来描述所述专用集成电路设计的目标门级网表;以及
输出用于以所述第二半导体制作工艺进行制造的所述专用集成电路设计的经迁移物理布局。
2.根据权利要求1所述的方法,其中所述剖析还包括:
提取一个或多个经剖析的标准单元的连接属性。
3.根据权利要求1所述的方法,其中所述形成所述多个映射表还包括:
接收来源组件库及目标组件库,所述来源组件库指明用于在所述第一半导体制作工艺中形成所述专用集成电路设计的所述一个或多个标准单元,所述目标组件库指明所述第二半导体制作工艺中的所述等效目标标准单元;以及
基于所接收的所述来源组件库及所述目标组件库产生所述多个映射表。
4.一种非暂时性机器可读介质,存储有指令,所述指令在由处理器执行时实行一种将集成电路的网表从第一技术库迁移到第二技术库的方法,所述方法包括:
接收以硬件描述语言指明的专用集成电路设计;
接收原始网表;
每次一行地剖析所述原始网表,以定义一个或多个标准单元;
产生包含映射规则的多个映射表,所述映射规则将所述一个或多个标准单元映射到在所述第二技术库中实作的等效目标标准单元;
使用所述多个映射表将所述一个或多个标准单元映射到所述等效目标标准单元中的相应的一个或多个等效目标标准单元;
产生与所述第二技术库相关联的目标网表,所述目标网表以所述等效目标标准单元来描述所述集成电路;以及
输出用于以所述第二技术库进行制造的所述专用集成电路设计的经迁移物理布局。
5.根据权利要求4所述的非暂时性机器可读介质,其中所述方法还包括:提取一个或多个标准单元的连接属性。
6.根据权利要求4所述的非暂时性机器可读介质,其中所述方法还包括:产生用于将经剖析的所述一个或多个标准单元映射到使用所述第二技术库实作的所述相应的一个或多个等效目标标准单元的映射规则,其中所述映射规则是在所述多个映射表的每一行中进行定义的。
7.根据权利要求4所述的非暂时性机器可读介质,其中所述方法还包括:
将所述原始网表剖析成一个或多个宏单元;以及
使用包装单元数据库将经剖析的所述一个或多个宏单元映射到等效目标宏单元。
8.根据权利要求4所述的非暂时性机器可读介质,其中所述方法还包括:将所述原始网表剖析成有向图,所述有向图的每一顶点被指派到所述一个或多个标准单元中的每一者。
9.一种集成电路设计系统,包括:
计算机,具有处理器及存储器;
软件应用,由所述计算机的所述处理器运行,且常驻在所述计算机的所述存储器中;
所述软件应用包括多个软件功能模块,所述多个软件功能模块包括:
剖析器,被配置成接收用于描述现有的专用集成电路的门级网表,
并将所述门级网表剖析成一个或多个标准单元;
单元映射器,耦合到所述剖析器且被配置成使用多个映射表将在原始的一组技术库中描述的经剖析的所述一个或多个标准单元映射到在新的一组技术库中描述的等效目标标准单元,
其中所述多个映射表提供用于将经剖析的所述一个或多个标准单元映射到所述等效目标标准单元的映射规则,且其中所述映射规则是基于所述原始的一组技术库及所述新的一组技术库;以及
目标网表写入器,耦合到所述单元映射器且被配置成产生以所述等效目标标准单元来描述所述专用集成电路的目标门级网表。
10.根据权利要求9所述的集成电路设计系统,其中所述剖析器还被配置成提取一个或多个经剖析的标准单元的连接属性。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/239,000 | 2021-04-23 | ||
US17/239,000 US11403448B1 (en) | 2021-04-23 | 2021-04-23 | Apparatus and method for mapping foundational components during design porting from one process technology to another process technology |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114925647A true CN114925647A (zh) | 2022-08-19 |
Family
ID=82652567
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110818747.8A Pending CN114925647A (zh) | 2021-04-23 | 2021-07-20 | 门级网表迁移方法、机器可读介质及集成电路设计系统 |
Country Status (3)
Country | Link |
---|---|
US (3) | US11403448B1 (zh) |
CN (1) | CN114925647A (zh) |
TW (1) | TW202242699A (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230074528A1 (en) * | 2021-09-07 | 2023-03-09 | International Business Machines Corporation | Iterative design of an integrated circuit design |
US11803684B1 (en) * | 2021-10-04 | 2023-10-31 | Cadence Design Systems, Inc. | Relative placement by application of layered abstractions |
CN115345112B (zh) * | 2022-08-17 | 2024-03-26 | 上海极海盈芯科技有限公司 | 一种集成电路图生成的方法、装置、电子设备及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5491640A (en) * | 1992-05-01 | 1996-02-13 | Vlsi Technology, Inc. | Method and apparatus for synthesizing datapaths for integrated circuit design and fabrication |
US5841663A (en) * | 1995-09-14 | 1998-11-24 | Vlsi Technology, Inc. | Apparatus and method for synthesizing integrated circuits using parameterized HDL modules |
US8756048B2 (en) * | 2011-04-15 | 2014-06-17 | Stmicroelectronics S.R.L. | Method for technology porting of CAD designs, and computer program product therefor |
CN113011122A (zh) * | 2019-12-19 | 2021-06-22 | 台湾积体电路制造股份有限公司 | 用于减少迁移错误的方法和系统 |
-
2021
- 2021-04-23 US US17/239,000 patent/US11403448B1/en active Active
- 2021-07-20 CN CN202110818747.8A patent/CN114925647A/zh active Pending
- 2021-08-10 TW TW110129534A patent/TW202242699A/zh unknown
-
2022
- 2022-07-14 US US17/865,084 patent/US11783104B2/en active Active
-
2023
- 2023-08-08 US US18/231,762 patent/US20240037302A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
TW202242699A (zh) | 2022-11-01 |
US11783104B2 (en) | 2023-10-10 |
US11403448B1 (en) | 2022-08-02 |
US20220414304A1 (en) | 2022-12-29 |
US20240037302A1 (en) | 2024-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11783104B2 (en) | Apparatus and method for mapping foundational components during design porting from one process technology to another process technology | |
WO2000065492A1 (en) | Method for storing multiple levels of design data in a common database | |
US11055463B1 (en) | Systems and methods for gate array with partial common inputs | |
CN113408222B (zh) | 文件生成方法、装置、电子设备及存储介质 | |
CN113361223B (zh) | 面向sot-mram相关电路的自旋电子工艺设计系统 | |
Chowdhary et al. | Extraction of functional regularity in datapath circuits | |
US8281269B2 (en) | Method of semiconductor integrated circuit device and program | |
US11694016B2 (en) | Fast topology bus router for interconnect planning | |
CN114764555A (zh) | 产生方法 | |
US11734489B2 (en) | Circuit layout verification | |
US20220171912A1 (en) | Poly-bit cells | |
US20210390244A1 (en) | System and Method for Synchronizing Net Text Across Hierarchical Levels | |
US11159163B2 (en) | Single phase clock-gating circuit | |
US11328109B2 (en) | Refining multi-bit flip flops mapping without explicit de-banking and re-banking | |
US9721051B2 (en) | Reducing clock skew in synthesized modules | |
US9454632B1 (en) | Context specific spare cell determination during physical design | |
US11080450B1 (en) | Calculating inductance based on a netlist | |
US20230252208A1 (en) | Transforming a logical netlist into a hierarchical parasitic netlist | |
US11144700B1 (en) | Grouping nets to facilitate repeater insertion | |
US11416661B2 (en) | Automatic derivation of integrated circuit cell mapping rules in an engineering change order flow | |
US11893332B2 (en) | Global mistracking analysis in integrated circuit design | |
US20200334408A1 (en) | Enforcing simulation-based physical design rules to optimize circuit layout | |
CN115796090A (zh) | 电路模型生成方法、电路仿真验证方法及对应装置 | |
CN115470746A (zh) | 使用馈送时序成本的动态时钟树规划 | |
CN116187253A (zh) | 使用图案匹配的布局与原理图比对(lvs)器件提取 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |