[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN112926283B - 用于集成电路的布局设计方法及装置、设备和存储介质 - Google Patents

用于集成电路的布局设计方法及装置、设备和存储介质 Download PDF

Info

Publication number
CN112926283B
CN112926283B CN202110381962.6A CN202110381962A CN112926283B CN 112926283 B CN112926283 B CN 112926283B CN 202110381962 A CN202110381962 A CN 202110381962A CN 112926283 B CN112926283 B CN 112926283B
Authority
CN
China
Prior art keywords
layout
input
target unit
unit
structures
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.)
Active
Application number
CN202110381962.6A
Other languages
English (en)
Other versions
CN112926283A (zh
Inventor
杜华斌
王鑫鑫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Haiguang Integrated Circuit Design Co Ltd
Original Assignee
Chengdu Haiguang Integrated Circuit Design Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Chengdu Haiguang Integrated Circuit Design Co Ltd filed Critical Chengdu Haiguang Integrated Circuit Design Co Ltd
Priority to CN202110381962.6A priority Critical patent/CN112926283B/zh
Publication of CN112926283A publication Critical patent/CN112926283A/zh
Application granted granted Critical
Publication of CN112926283B publication Critical patent/CN112926283B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Architecture (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

一种用于集成电路的布局设计方法及装置、电子设备和存储介质。该布局设计方法包括:获取第一布局结构,第一布局结构包括至少一个目标单元;基于至少一个目标单元的输入端的数量,得到多个输入数据组合,多个输入数据组合与提供给至少一个目标单元的输入端的信号的多种组合方式一一对应;基于多个输入数据组合和第一布局结构,生成多个第二布局结构,多个第二布局结构与至少一个目标单元的输入端的多种连接方式一一对应;基于多个第二布局结构,得到第三布局结构。上述方法可以基于第一布局结构获得期望的第三布局结构,例如泄漏功耗最小的第三布局结构。上述方法可以自动实现,方便且快速,提高了工作效率,且具有较高的稳定性和可靠性。

Description

用于集成电路的布局设计方法及装置、设备和存储介质
技术领域
本公开的实施例涉及一种用于集成电路的布局设计方法及装置、电子设备和非瞬时可读存储介质。
背景技术
随着集成电路工艺的发展,互补金属氧化物半导体(CMOS)管及金属布线的尺寸越来越小,芯片规模及集成密度越来越高,芯片制造过程中工艺的可靠性及可控性随之降低。因此,在芯片设计过程中通过对设计进行改良而提升芯片制造过程中的可靠性,成为芯片设计过程中不可忽视的重要环节。
发明内容
本公开至少一个实施例提供一种用于集成电路的布局设计方法,包括:获取第一布局结构,所述第一布局结构包括至少一个目标单元;基于所述至少一个目标单元的输入端的数量,得到多个输入数据组合,所述多个输入数据组合与提供给所述至少一个目标单元的输入端的信号的多种组合方式一一对应;基于所述多个输入数据组合和所述第一布局结构,生成多个第二布局结构,所述多个第二布局结构与所述至少一个目标单元的输入端的多种连接方式一一对应;基于所述多个第二布局结构,得到第三布局结构。
例如,在本公开一实施例提供的方法中,基于所述至少一个目标单元的输入端的数量,得到所述多个输入数据组合,包括:使用第一算法,基于所述至少一个目标单元的输入端的数量,得到多个输入数据组合,每一个输入数据组合包括多个数据位,所述多个数据位与所述至少一个目标单元的输入端一一对应,每一个数据位表示输入到对应的输入端的逻辑数。
例如,在本公开一实施例提供的方法中,所述第一算法包括:M=2N,其中,N表示所述至少一个目标单元的输入端的数量,并且表示所述多个输入数据组合中每一个输入数据组合的位数,M表示所述多个输入数据组合的数量,N和M均为正整数。
例如,在本公开一实施例提供的方法中,每一个数据位为二进制数据位,所述逻辑数包括0或1。
例如,在本公开一实施例提供的方法中,所述多个第二布局结构的数量等于M。
例如,在本公开一实施例提供的方法中,基于所述多个输入数据组合和所述第一布局结构,生成所述多个第二布局结构,包括:基于所述多个输入数据组合,得到所述至少一个目标单元的输入端的多种连接方式;基于所述至少一个目标单元的输入端的多种连接方式和所述第一布局结构,生成所述多个第二布局结构。
例如,在本公开一实施例提供的方法中,基于所述多个输入数据组合,得到所述至少一个目标单元的输入端的多种连接方式,包括:基于所述多个输入数据组合中的每一个输入数据组合,确定各个输入端对应的逻辑数;基于所述各个输入端对应的逻辑数,确定各个输入端连接第一连接单元或第二连接单元,以得到所述至少一个目标单元的输入端的多种连接方式。
例如,在本公开一实施例提供的方法中,所述第一连接单元配置为提供第一逻辑电平,所述第一逻辑电平对应于所述逻辑数中的1,所述第二连接单元配置为提供第二逻辑电平,所述第二逻辑电平对应于所述逻辑数中的0。
例如,在本公开一实施例提供的方法中,基于所述至少一个目标单元的输入端的多种连接方式和所述第一布局结构,生成所述多个第二布局结构,包括:将所述至少一个目标单元的输入端的多种连接方式分别应用到所述第一布局结构,得到所述多个第二布局结构。
例如,在本公开一实施例提供的方法中,所述多个第二布局结构中与所述至少一个目标单元的输入端连接的信号线的布线方式不同。
例如,在本公开一实施例提供的方法中,基于所述多个第二布局结构,得到所述第三布局结构,包括:获取所述多个第二布局结构分别对应的评价参数;基于所述评价参数,选择所述多个第二布局结构中的一个第二布局结构以作为所述第三布局结构。
例如,在本公开一实施例提供的方法中,所述评价参数包括泄漏功耗值。
例如,在本公开一实施例提供的方法中,基于所述评价参数,选择所述多个第二布局结构中的一个第二布局结构以作为所述第三布局结构,包括:比较所述多个第二布局结构分别对应的泄漏功耗值,将多个所述泄漏功耗值中最小的泄漏功耗值对应的第二布局结构作为所述第三布局结构。
例如,在本公开一实施例提供的方法中,所述目标单元包括冗余单元,所述冗余单元配置为在变更所述集成电路的设计时提供可使用的功能和信号。
本公开至少一个实施例还提供一种用于集成电路的布局设计装置,包括:获取单元,被配置为获取第一布局结构,所述第一布局结构包括至少一个目标单元;计算单元,被配置为基于所述至少一个目标单元的输入端的数量,得到多个输入数据组合,所述多个输入数据组合与提供给所述至少一个目标单元的输入端的信号的多种组合方式一一对应;生成单元,被配置为基于所述第一布局结构和所述至少一个目标单元的输入端的数量,生成多个第二布局结构,所述多个第二布局结构与所述至少一个目标单元的输入端的多种连接方式一一对应;选择单元,被配置为基于所述多个第二布局结构,得到第三布局结构。
例如,在本公开一实施例提供的装置中,所述选择单元包括:评价子单元,被配置为获取所述多个第二布局结构分别对应的评价参数;以及选择子单元,被配置为基于所述评价参数,选择所述多个第二布局结构中的一个第二布局结构以作为所述第三布局结构。
例如,在本公开一实施例提供的装置中,所述评价参数包括泄漏功耗值。
本公开至少一个实施例还提供用于集成电路的布局设计装置,包括:处理器;存储器,包括一个或多个计算机程序模块;所述一个或多个计算机程序模块被存储在所述存储器中并被配置为由所述处理器执行,所述一个或多个计算机程序模块包括用于执行上述任一实施例所述的用于集成电路的布局设计方法的指令。
本公开至少一个实施例还提供一种非瞬时可读存储介质,其上存储有计算机指令,所述计算机指令被处理器执行时执行上述任一实施例所述的用于集成电路的布局设计方法。
本公开至少一个实施例还提供一种电子设备,包括上述任一实施例所述的用于集成电路的布局设计装置。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。
图1为本公开至少一个实施例提供的一种用于集成电路的布局设计方法的流程图;
图2为本公开至少一个实施例提供的在N=2的情况下的输入数据组合表;
图3A为根据本公开至少一个实施例的对应图1中步骤S103的流程图;
图3B为根据本公开至少一个实施例的目标单元的一种输入端连接方式;
图3C为根据本公开至少一个实施例的目标单元的另一种输入端连接方式;
图4为根据本公开至少一个实施例的对应图1中步骤S104的流程图;
图5为本公开至少一个实施例提供的在N=2的情况下的另一种输入数据组合表;
图6为本公开至少一个实施例提供的另一种用于集成电路的布局设计方法的流程图;
图7为根据本公开至少一个实施例的对应图6中步骤S504的循环比较流程图;
图8为本公开至少一个实施例提供的一种用于集成电路的布局设计装置的示意框图;
图9为本公开至少一个实施例提供的另一种用于集成电路的布局设计装置的示意框图;
图10为根据本公开至少一个实施例的一种非瞬时可读存储介质的示意框图;以及
图11为根据本公开至少一个实施例的一种电子设备的示意框图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“一个”、“一”或者“该”等类似词语也不表示数量限制,而是表示存在至少一个。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
在芯片设计领域,芯片流片的费用及成本随着集成度的提高而快速增长,因此对成本因素的考量也必须贯穿芯片设计领域的各个方面。可靠性设计常常是通过在电路中引入冗余设计而实现的,由此提高可靠性,而冗余设计的代价则是成本的提高。兼顾成本因素的可靠性设计逐渐成为这一领域的热点。
目前,在电路中加入冗余单元(spare cell)是提高设计可靠性的一种有效手段,其原理就是在电路的各个区域加入冗余的标准单元,这些单元本身具有一些简单的逻辑功能或存储功能。例如,当芯片的初始设计在流片完成后的验证中发现问题时(这种问题可能是多方面的,有可能是工艺问题,有可能是版图结构问题,也有可能是由于前期功能验证的不充分而导致的功能问题),需要通过更改或调整电路某一部分的结构来修正这些问题,这些改动便可以通过设计阶段预先加入的冗余单元来完成,并且仅仅只需通过修改冗余单元相应管脚的金属连接便可实现。
通常,大型电路设计里为了做设计变更会布置大量的冗余单元,包括了不同类型的标准单元。冗余单元的输入管脚不能浮空,需要连接钳高(tie-high)电路或钳低(tie-low)电路相连,以避免浮动。当工程变更需要使用冗余单元时再将冗余单元的输入端和输出端连接具体的信号。
针对冗余单元的输入端的连接处理,通常本领域技术人员采取的第一种方案是:批量连接钳高电路或钳低电路,不必区分各个冗余单元的类型和输入管脚。虽然这种方案的连接方式简单,但是,不同类型的冗余单元以及不同的管脚均连接钳高电路或者钳低电路会导致不同的泄漏功耗,这种简单的连接方式会导致较大的泄漏功耗。
例如,还可以采取第二种方案:区分各个冗余单元的类型和输入管脚,手动连接冗余单元的各个输入端,不同管脚可能采用不同的连接方式。然而,这种方案耗时长、工作量大。如果一一查询参数配置文件中(例如,liberty文件)的参数,然后比较功耗的高低,工作量很大,并且人为估算比较麻烦,工作效率低。此外,输入管脚越多、数据量越大,则越难比较,因此,对于大型芯片设计而言,这种方案难以实现。
为了克服了上述第一种方案(批量连接方式)的泄漏功耗较大的问题以及上述第二种方案(手动连接方式)的耗时长、效率低的问题,本公开至少一个实施例提供了一种用于集成电路的布局设计方法,该方法包括:获取第一布局结构,第一布局结构包括至少一个目标单元;基于至少一个目标单元的输入端的数量,得到多个输入数据组合,多个输入数据组合与提供给至少一个目标单元的输入端的信号的多种组合方式一一对应;基于多个输入数据组合和第一布局结构,生成多个第二布局结构,多个第二布局结构与至少一个目标单元的输入端的多种连接方式一一对应;基于多个第二布局结构,得到第三布局结构。
相应地,本公开至少一个实施例还提供了一种对应于上述布局设计方法的装置、非瞬时可读存储介质和电子设备。
通过本公开至少一个实施例提供的布局设计方法,可以基于第一布局结构,自动筛选出最佳或者期望的布局结构(例如,第三布局结构),该布局设计方法可以自动实现,方便且快速,提高了工作效率,并且具有较高的稳定性和可靠性。例如,该布局设计方法相对于批量连接方式可以减小泄漏功耗,相对于手动连接方式可以减少耗时,提高效率。
下面通过几个示例或实施例对根据本公开的至少一个实施例提供的布局设计方法进行非限制性的说明,如下面所描述的,在不相互抵触的情况下这些具体示例或实施例中不同特征可以相互组合,从而得到新的示例或实施例,这些新的示例或实施例也都属于本公开保护的范围。
图1为本公开至少一个实施例提供的一种用于集成电路的布局设计方法的流程图。
本公开至少一个实施例提供一种用于集成电路的布局设计方法10。如图1所示,布局设计方法10包括以下步骤S101-S104。
步骤S101:获取第一布局结构,第一布局结构包括至少一个目标单元。
步骤S102:基于至少一个目标单元的输入端的数量,得到多个输入数据组合,多个输入数据组合与提供给至少一个目标单元的输入端的信号的多种组合方式一一对应。
步骤S103:基于多个输入数据组合和第一布局结构,生成多个第二布局结构,多个第二布局结构与至少一个目标单元的输入端的多种连接方式一一对应。
步骤S104:基于多个第二布局结构,得到第三布局结构。
例如,对于步骤S101,在本公开至少一个实施例中,所获取的第一布局结构是指经过布局摆放、并且在部分布局区域加入了一些冗余单元的电路结构。例如,冗余单元可以用于在变更集成电路时(例如,为相应的集成电路增加更多功能,或者改变电路设计时),提供可使用的功能和信号,例如代替逻辑单元执行相应的功能。例如,冗余单元可以是或门、与门、多路复用器、触发器、反向器等,本公开的实施例对此不作限制,可以根据实际需求设置。需要说明的是,在本公开的实施例中,所获取的第一布局结构也可以不包括冗余单元,仅包括逻辑单元,本公开的实施例对此不作限制。
例如,目标单元可以是指第一布局结构中的冗余单元。需要说明的是,在本公开的实施例中,目标单元也可以包括第一布局结构中的其他逻辑单元,本公开的实施例对此不作限制。
例如,在本公开至少一个实施例中,对于步骤S102,目标单元的输入端可以是指冗余单元的输入管脚(pin)。需要说明的是,在目标单元包括逻辑单元(例如,逻辑门电路等)的情况下,本文中“至少一个目标单元的输入端”可以包括逻辑单元的空闲(idle)输入端,例如,空闲输入端无论是连接到钳高电路或连接到钳低电路都不会影响相应逻辑单元的正常功能。
例如,在本公开至少一个实施例中,对于步骤S102,基于至少一个目标单元的输入端的数量,得到多个输入数据组合,可以包括:使用第一算法,基于至少一个目标单元的输入端的数量,得到多个输入数据组合。例如,每一个输入数据组合包括多个数据位,多个数据位与至少一个目标单元的输入端一一对应,每一个数据位表示输入到对应的输入端的逻辑数。例如,多个输入数据组合与提供给目标单元的输入端的信号的多种组合方式一一对应。
例如,在本公开至少一个实施例中,第一算法可以是指数运算,如下等式,
M=2N
其中,N表示至少一个目标单元的输入端的数量,也表示多个输入数据组合中每一个输入数据组合的位数,M表示多个输入数据组合的数量,N和M均为正整数。
例如,在一个示例中,第一布局结构中至少一个目标单元的输入端的数量为N=2时,可以得到输入数据组合的数量为:M=22=4,并且每一个输入数据组合的位数为2。
例如,本公开至少一个实施例中,M个输入数据组合可以是位数为N的二进制数的排列组合。图2是本公开至少一个实施例提供的在N=2的情况下的输入数据组合表。
例如,如图2所示,在至少一个目标单元的输入端的数量N为2时,即图2中的输入端A和输入端B,可以得到四个输入数据组合,例如,四个二进制数据组合,即“00”、“01”、“10”和“11”。每一个输入数据组合(例如“01”)包括两个数据位,两个数据位(例如,“0”和“1”)分别与目标单元的两个输入端(例如,输入端A和输入端B)一一对应,每一个数据位表示输入到对应的输入端的逻辑数(例如,0或者1)。例如,输入数据组合“01”表示向输入端A提供低电平(逻辑数0),向输入端B提供高电平(逻辑数1)。
需要说明的是,在本公开的实施例中,N为大于或等于1的整数。例如,当输入端的数量N为3,可以得到的输入数据组合的数量为:M=23=8,例如分别为“000”、“001”、“010”、“100”、“110”、“101”、“011”和“111”,即通过第一算法,可以自动列举3位二进制数据的排列组合,即从“000”到“111”的每一个组合。每一个输入数据组合包括三个数据位,三个数据位与目标单元的三个输入端一一对应,每一个数据位表示输入到对应的输入端的逻辑数(例如,0或者1)。
例如,通过第一算法,以至少一个目标单元的输入端的数量N作为参数,得到M个输入数据组合,每一个输入数据组合对应N个输入端的一种连接方式,从而得到M种输入端的连接方式,进而得到M个第二布局结构。
需要说明的是,本公开的实施例对第一算法不作限制,第一算法还可以采用其他等式,可以根据实际需求来设置。
步骤S103:基于多个输入数据组合和第一布局结构,生成多个第二布局结构,多个第二布局结构与至少一个目标单元的输入端的多种连接方式一一对应。
图3A为根据本公开至少一个实施例的对应图1中步骤S103的流程图。如图3A所示,在本公开至少一个实施例中,对于步骤S103,可以包括以下步骤S201-S202。
步骤S201:基于多个输入数据组合,得到至少一个目标单元的输入端的多种连接方式。
例如,在本公开至少一个实施例中,对于步骤S201,首先,基于多个输入数据组合中的每一个输入数据组合,确定各个输入端对应的逻辑数。例如,对于二进制数据位,输入端可以对应逻辑数“0”或者逻辑数“1”。例如,在图2所示的输入数据组合表中,某一输入数据组合为“01”,则表示一个输入端(例如,输入端A)对应二进制数据位“0”,另一个输入端(例如,输入端B)对应二进制数据位“1”。
例如,基于各个输入端对应的逻辑数,确定各个输入端连接第一连接单元或第二连接单元,从而得到至少一个目标单元的输入端的多种连接方式。
例如,第一连接单元配置为提供第一逻辑电平,第一逻辑电平对应于逻辑数中的1。例如,第一连接单元可以是钳高电路(例如,tie-1电路)。第二连接单元配置为提供第二逻辑电平,第二逻辑电平对应于逻辑数中的0。例如,第二连接单元可以是钳低电路(例如,tie-0电路)。
图3B为根据本公开至少一个实施例的目标单元的一种输入端连接方式,图3C为根据本公开至少一个实施例的目标单元的另一种输入端连接方式。
例如,在一个示例中,如图3B所示,当目标单元的输入端A对应的二进制数据位为逻辑数“1”时,该输入端A可以连接第一连接单元,例如钳高电路,当目标单元的输入端B对应的二进制数据位为逻辑数“0”,该输入端B连接第二连接单元,例如钳低电路。
例如,在另一个示例中,如图3C所示,当目标单元的输入端A和输入端B对应的二进制数据位为逻辑数“1”时,该输入端A和输入端B均连接到第一连接单元,例如钳高电路。
例如,如图3B和3C所示,对于不同的输入数据组合,目标单元的输入端的连接方式不同,例如输入端连接的信号线的布线方式不同,从而对应不同的第二布局结构。
需要说明的是,在本公开的实施例中,也可以是当输入端A对应的二进制数据位为逻辑数“0”时,该输入端连接第一连接单元,当输入端对应的二进制数据位为逻辑数“1”,该输入端连接第二连接单元,本公开对此不作限制,可以根据实际需求来调整。例如,逻辑数“0”对应低电平信号且逻辑数“1”对应高电平信号,或者,逻辑数“0”对应高电平信号且逻辑数“1”对应低电平信号,本公开的实施例对此不作限制。
例如,在本公开的实施例中,通过上述方法获得的M种输入端的连接方式包含了至少一个目标单元的输入端所有可能的连接方式。
步骤S202:基于至少一个目标单元的输入端的多种连接方式和第一布局结构,生成多个第二布局结构。
例如,在本公开至少一个实施例中,对于步骤S202,可以将至少一个目标单元的输入端的多种连接方式分别应用到第一布局结构,得到多个第二布局结构。
例如,在一个示例中,目标单元的输入端为N个时,可以得到M个输入数据组合,如上所述,每一个输入数据组合可以对应一种输入端的连接方式,则M个输入数据组合,可以得到M种输入端的连接方式。将这M种输入端连接方式分别应用到步骤S101中获取的第一布局结构,则可以得到M种第二布局结构。例如,M种第二布局结构与M个输入数据组合一一对应,与M种输入端的连接方式一一对应。
例如,在本公开至少一个实施例中,多个第二布局结构中与至少一个目标单元的输入端连接的信号线的布线方式不同。例如,不同的第二布局结构所对应的输入数据组合不同,即输入端的连接方式不同,因此输入端连接的信号线的布线方式不同,如图3B和3C所示。
例如,在本公开至少一个实施例中,通过采用上述第一算法,将第一布局结构中目标单元的输入端的个数N作为输入参数,得到M个输入数据组合。该M个输入数据组合对应了目标单元至少一个输入端的所有可能的连接方式,从而得到M个第二布局结构,以便在M个第二布局结构中选择最佳的或者所期望的第三布局结构。因此,上述布局设计方法具有较高的稳定性和可靠性。
图4为根据本公开至少一个实施例的对应图1中步骤S104的流程图。如图4所示,在本公开至少一个实施例提供的方法中,对于步骤S104,可以包括以下步骤S401-S402。
步骤S401:获取多个第二布局结构分别对应的评价参数。
步骤S402:基于评价参数,选择多个第二布局结构中的一个第二布局结构以作为第三布局结构。
例如,在本公开至少一个实施例中,评价参数可以包括泄漏功耗值。需要说明的是,评价参数还可以包括其他指标,本公开的实施例对此不作限制,可以根据实际需求来设置。
例如,在本公开至少一个实施例中,以评价参数是泄漏功耗值为示例,则对于步骤S104,可以包括:获取多个第二布局结构分别对应的泄漏功耗值,比较多个第二布局结构分别对应的泄漏功耗值,将多个泄漏功耗值中最小的泄漏功耗值对应的第二布局结构作为第三布局结构。
图5是本公开至少一个实施例提供的在N=2的情况下的另一种输入数据组合表。
例如,如图5所示,在一个示例中,第一布局结构包括输入端A和输入端B,通过上述布局设计方法10,可以生成4种输入数据组合,进而得到4种第二布局结构。例如,动态扫描每一个第二布局结构的泄漏功耗,可以得到对应的4个泄漏功耗值,即Y1、Y2、Y3和Y4。例如通过循环比较等方式,从4个第二布局结构中选择最小泄漏功耗值(例如Y3)对应的第二布局结构作为第三布局结构。
例如,在一个示例中,对于具有5个输入端的第一布局结构,使用上述第一算法(M=2N),可以自动列举5位二进制数据的排列组合,即从“00000”到“11111”的二进制数据组合,一共32种数据组合。例如,比较每一个数据组合对应的第二布局结构的泄漏功耗值,以便从32种第二布局结构中选择具有最小泄漏功耗值的第二布局结构作为第三布局结构。如果采用人工连接的方式,难以实现一一列举所有可能的连接方式并进行对比。此外,对于特殊的单元,例如隔离单元(isolation cell)、电平转换单元(level shifter)等,数据输入端和使能端(enable pin)的泄漏功耗差别较大,人工连接可能出现错误,而采用本公开的实施例提供的布局设计方法10,从所有可能的输入端连接方案中自动筛选最佳方案,具有较高的稳定性和可靠性。例如,第一布局结构中包括的目标单元(例如,冗余单元或者其他逻辑单元)的类型越多、输入端数量越多,更能体现出上述布局设计方法10的优势。
通过上述布局设计方法10,可以基于最初获取的第一布局结构,自动选出最佳的连接方案,即第三布局结构(例如,泄漏功耗最小的布局结构)。上述布局设计方法10可以快速方便地确定最佳连接方案,提高了工作效率,并且具有较高的可靠性和稳定性。
图6为本公开至少一个实施例提供的另一种用于集成电路的布局设计方法的流程图。例如,在本公开至少一个实施例中,如图6所示,用于集成电路的布局设计方法20可以包括步骤S501-S506。
步骤S501:设计数据输入。
步骤S502:设计布局和摆放。
例如,在一个示例中,设计集成电路的布局规划和逻辑单元的摆放等。
步骤S503:插入冗余单元。
例如,在一个示例中,可以按照步长分区域插入至少一个冗余单元。
步骤S504:连接冗余单元输入循环比较流程。
例如,对于步骤S504,可以利用上述布局设计方法10来实现。
例如,在步骤S501、S502和S503之后,得到第一布局结构,通过图1中的步骤S101-S103,可以得到多个第二布局结构。步骤S101-S103可以参考图1的相关说明,在此不再赘述。
例如,根据多个第二布局结构,创建一个循环比较流程,如图7所示。例如,循环比较所有可能的输入端连接方案对应的泄漏功耗值,即上述多个第二布局结构对应的泄漏功耗值,从而选择满足需求的连接方案,即上述第三布局结构。
在步骤301中,采用多个第二布局结构中的第一个第二布局结构,例如,第一种连接方案,扫描泄漏功耗,保存泄漏功耗值Y1。
在步骤302中,采用多个第二布局结构中的第二个第二布局结构,例如,第二种连接方案,扫描泄漏功耗,保存泄漏功耗值Y2。
在步骤303中,比较上述两种第二布局结构的泄漏功耗值Y1和Y2。
在步骤304中,若Y2大于Y1,则选择第一个第二布局结构(305),即第一连接方案;若Y2小于Y1,则选择第二个第二布局结构(306),即第二连接方案。
在步骤307中,将在步骤304比较得到的具有更小泄漏功耗值的第二布局结构与下一个布局结构的泄漏功耗值继续循环比较,直至结束。
在步骤308中,循环结束,最终得到具有最小泄漏功耗值的第二布局结构,以作为第三布局结构。
按照上述循环结果(例如,第三布局结构)连接冗余单元的各个输入端。
回到图6中的步骤S505,在连接冗余单元之后,继续后续的物理设计流程,本公开的实施例对此不作限制,可以参考常规操作。
步骤S506,设计流程结束。
通过上述布局设计方法20可以降低集成电路中冗余单元的泄漏功耗,并且整个方法可以自动实现,快速方便,提高了工作效率,还具有较高的稳定性和可靠性。当然,本公开实施例提供的布局设计方法20除了适用于冗余单元以外,也可以适用于其他类型的逻辑单元,本公开的实施例对此不作限制。
需要说明的是,本公开的各个实施例中,布局设计方法10/20的各个步骤的执行顺序不受限制,虽然上文以特定顺序描述了各个步骤的执行过程,但这并不构成对本公开实施例的限制。布局设计方法10/20中的各个步骤可以串行执行或并行执行,这可以根据实际需求而定。例如,布局设计方法10/20还可以包括更多或更少的步骤,本公开的实施例对此不作限制。
图8为根据本公开至少一个实施例的一种用于集成电路设计的装置的示意框图。
本公开的实施例还提供一种用于集成电路的布局设计装置,如图8所示,该用于集成电路的布局设计装置80包括获取单元801、计算单元802、生成单元803和选择单元804。
获取单元801被配置为获取第一布局结构,第一布局结构包括至少一个目标单元。例如,该获取单元801可以实现步骤S101,其具体实现方法可以参考步骤S101的相关描述,在此不再赘述。
计算单元802被配置为基于至少一个目标单元的输入端的数量,得到多个输入数据组合。例如,该计算单元802可以实现步骤S102,其具体实现方法可以参考步骤S102的相关描述,在此不再赘述。
生成单元803被配置为基于多个输入数据组合和第一布局结构,生成多个第二布局结构,多个第二布局结构与至少一个目标单元的输入端的多种连接方式一一对应。例如,该生成单元803可以实现步骤S103,其具体实现方法可以参考步骤S103的相关描述,在此不再赘述。
选择单元804被配置为基于多个第二布局结构,得到第三布局结构。例如,该选择单元804可以实现步骤S104,其具体实现方法可以参考步骤S104的相关描述,在此不再赘述。
例如,上述获取单元801、计算单元802、生成单元803和选择单元804被配置执行的具体操作均可以参见上文中本公开的至少一个实施例提供的布局设计方法10和20的相关描述,在此不再赘述。
需要说明的是,获取单元801、计算单元802、生成单元803和选择单元804可以通过软件、硬件、固件或它们的任意组合实现,例如,获取单元801、计算单元802、生成单元803和选择单元804可以分别实现为获取电路801、计算电路802、生成电路803和选择电路804,本公开的实施例对它们的具体实施方式不作限制。
例如,在本公开至少一个实施例中,计算单元802可以包括计算子单元。例如,计算子单元被配置为使用第一算法,基于至少一个目标单元的输入端的数量,得到多个输入数据组合,每一个输入数据组合包括多个数据位,多个数据位与至少一个目标单元的输入端一一对应,每一个数据位表示输入到对应的输入端的逻辑数。例如,计算子单元可以实现的操作可以参考前述布局设计方法10和20的相关描述,在此不再赘述。
例如,在一些实施例中,第一算法可以包括:M=2N,其中,N表示至少一个目标单元的输入端的数量,并且表示多个输入数据组合中每一个输入数据组合的位数,M表示多个输入数据组合的数量,N和M均为正整数。
例如,在一些实施例中,每一个数据位为二进制数据位,逻辑数包括0或1。
例如,在一些实施例中,多个第二布局结构的数量等于M。
例如,在本公开至少一个实施例中,生成单元803可以包括连接子单元和生成子单元。例如,连接子单元被配置为基于多个输入数据组合,得到至少一个目标单元的输入端的多种连接方式。例如,连接子单元可以实现步骤S201,其具体实现方法可以参考步骤S201的相关描述,在此不再赘述。
例如,在一些实施例中,连接子单元可以包括第一确定子单元和第二确定子单元。例如,第一确定子单元被配置为基于多个输入数据组合中的每一个输入数据组合,确定各个输入端对应的逻辑数,第二确定子单元被配置为基于各个输入端对应的逻辑数,确定各个输入端连接第一连接单元或第二连接单元,以得到至少一个目标单元的输入端的多种连接方式。例如,第一确定子单元和第二确定子单元可以实现的操作可以参考前述布局设计方法10和20的相关描述,在此不再赘述。
例如,在一些实施例中,第一连接单元配置为提供第一逻辑电平,第一逻辑电平对应于逻辑数中的1,第二连接单元配置为提供第二逻辑电平,第二逻辑电平对应于逻辑数中的0。
例如,生成子单元被配置为基于至少一个目标单元的输入端的多种连接方式和第一布局结构,生成多个第二布局结构。例如,生成子单元可以实现步骤S202,其具体实现方法可以参考步骤S202的相关描述,在此不再赘述。
例如,在一些实施例中,生成子单元可以包括应用子单元。例如,应用子单元被配置为将至少一个目标单元的输入端的多种连接方式分别应用到第一布局结构,得到多个第二布局结构。例如,应用子单元可以实现的操作可以参考前述布局设计方法10和20的相关描述,在此不再赘述。
例如,在一些实施例中,选择单元804可以包括评价子单元和选择子单元。例如,评价子单元被配置为获取多个第二布局结构分别对应的评价参数,选择子单元被配置为基于评价参数,选择多个第二布局结构中的一个第二布局结构以作为第三布局结构。例如,评价子单元和选择子单元可以实现的操作可以参考前述布局设计方法10和20的相关描述,在此不再赘述。
例如,在一些实施例中,评价参数包括泄漏功耗值。需要说明的是,本本公开的实施例对此不作限制,评价参数可以根据实际需求来设置。
例如,在一些实施例中,选择子单元可以包括比较子单元,比较子单元被配置为比较多个第二布局结构分别对应的泄漏功耗值,将多个泄漏功耗值中最小的泄漏功耗值对应的第二布局结构作为第三布局结构。例如,比较子单元可以实现的操作可以参考前述布局设计方法10和20的相关描述,在此不再赘述。
例如,在一些实施例中,多个第二布局结构中与至少一个目标单元的输入端连接的信号线的布线方式不同。
例如,在一些实施例中,目标单元包括冗余单元,冗余单元配置为在变更集成电路的设计时提供可使用的功能和信号。
例如,上述计算子单元、连接子单元、生成子单元、第一确定子单元、第二确定子单元、应用子单元、评价子单元、选择子单元和比较子单元被配置执行的具体操作均可以参见上文中本公开的至少一个实施例提供的布局设计方法10和20的相关描述,在此不再赘述。
需要说明的是,计算子单元、连接子单元、生成子单元、第一确定子单元、第二确定子单元、应用子单元、评价子单元、选择子单元和比较子单元可以通过软件、硬件、固件或它们的任意组合实现,例如,计算子单元、连接子单元、生成子单元、第一确定子单元、第二确定子单元、应用子单元、评价子单元、选择子单元和比较子单元可以分别实现为计算子电路、连接子电路、生成子电路、第一确定子电路、第二确定子电路、应用子电路、评价子电路、选择子电路和比较子电路,本公开的实施例对它们的具体实施方式不作限制。
应当理解的是,本公开实施例提供的用于集成电路的布局设计装置80可以实施前述布局设计方法10和20,也可以实现与前述布局设计方法10和20相似的技术效果,在此不作赘述。
需要注意的是,在本公开的实施例中,该用于集成电路的布局设计装置可以包括更多或更少的电路或单元,并且各个电路或单元之间的连接关系不受限制,可以根据实际需求而定。各个电路的具体构成方式不受限制,可以根据电路原理由模拟器件构成,也可以由数字芯片构成,或者以其他适用的方式构成。
本公开的实施例还提供一种用于集成电路的布局设计装置。图9是根据本公开至少一个实施例的另一种用于集成电路的布局设计装置的示意框图。如图9所示,布局设计装置90包括处理器910和存储器920。存储器920包括一个或多个计算机程序模块921。一个或多个计算机程序模块921被存储在存储器920中并被配置为由处理器910执行,该一个或多个计算机程序模块921包括用于执行本公开的至少一个实施例提供的布局设计方法10/20的指令,其被处理器910执行时,可以执行本公开的至少一个实施例提供的布局设计方法10/20中的一个或多个步骤。存储器920和处理器910可以通过总线系统和/或其它形式的连接机构(未示出)互连。
例如,处理器910可以是中央处理单元(CPU)、数字信号处理器(DSP)或者具有数据处理能力和/或程序执行能力的其它形式的处理单元,例如现场可编程门阵列(FPGA)等;例如,中央处理单元(CPU)可以为X86或ARM架构等。处理器910可以为通用处理器或专用处理器,可以控制布局设计装置90中的其它组件以执行期望的功能。
例如,存储器920可以包括一个或多个计算机程序产品的任意组合,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(ROM)、硬盘、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、闪存等。在计算机可读存储介质上可以存储一个或多个计算机程序模块921,处理器910可以运行一个或多个计算机程序模块921,以实现布局设计装置90的各种功能。在计算机可读存储介质中还可以存储各种应用程序和各种数据以及应用程序使用和/或产生的各种数据等。布局设计装置90的具体功能和技术效果可以参考上文中关于布局设计方法的描述,此处不再赘述。
本公开的实施例还提供一种非瞬时可读存储介质。图10是根据本公开至少一个实施例的一种非瞬时可读存储介质的示意框图。如图10所示,非瞬时可读存储介质100上存储有计算机指令111,该计算机指令111被处理器执行时执行如上所述的用于集成电路的布局设计方法10/20中的一个或多个步骤。
例如,该非瞬时可读存储介质100可以是一个或多个计算机可读存储介质的任意组合,例如,一个计算机可读存储介质包含用于获取第一布局结构的计算机可读的程序代码,另一个计算机可读存储介质包含用于基于至少一个目标单元的输入端的数量,得到多个输入数据组合的计算机可读的程序代码,另一个计算机可读存储介质包含用于基于多个输入数据组合和第一布局结构,生成多个第二布局结构的计算机可读的程序代码,又一个计算机可读存储介质包含用于基于多个第二布局结构,得到第三布局结构的计算机可读的程序代码。当然,上述各个程序代码也可以存储在同一个计算机可读介质中,本公开的实施例对此不作限制。
例如,当该程序代码由计算机读取时,计算机可以执行该计算机存储介质中存储的程序代码,执行例如本公开任一个实施例提供的布局设计方法10/20。
例如,存储介质可以包括智能电话的存储卡、平板电脑的存储部件、个人计算机的硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、闪存、或者上述存储介质的任意组合,也可以为其他适用的存储介质。例如,该可读存储介质也可以为图9中的存储器920,相关描述可以参考前述内容,此处不再赘述。
本公开的实施例还提供一种电子设备。图11是根据本公开至少一个实施例的一种电子设备的示意框图。如图11所示,该电子设备60可以包括如上所述的用于集成电路的布局设计装置80或90。例如,该电子设备60可以实施本公开任一个实施例提供的布局设计方法10/20。
在本公开中,术语“多个”指两个或两个以上,除非另有明确的限定。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (15)

1.一种用于集成电路的布局设计方法,包括:
获取第一布局结构,其中,所述第一布局结构包括至少一个目标单元;
基于所述至少一个目标单元的输入端的数量,得到多个输入数据组合,其中,所述多个输入数据组合与提供给所述至少一个目标单元的输入端的信号的多种组合方式一一对应;
基于所述多个输入数据组合和所述第一布局结构,生成多个第二布局结构,其中,所述多个第二布局结构与所述至少一个目标单元的输入端的多种连接方式一一对应;
基于所述多个第二布局结构,得到第三布局结构,
其中,基于所述多个第二布局结构,得到所述第三布局结构,包括:
获取所述多个第二布局结构分别对应的评价参数;
基于所述评价参数,选择所述多个第二布局结构中的一个第二布局结构以作为所述第三布局结构,
其中,所述评价参数包括泄漏功耗值,
其中,基于所述评价参数,选择所述多个第二布局结构中的一个第二布局结构以作为所述第三布局结构,包括:
比较所述多个第二布局结构分别对应的泄漏功耗值,将多个所述泄漏功耗值中最小的泄漏功耗值对应的第二布局结构作为所述第三布局结构。
2.根据权利要求1所述的方法,其中,基于所述至少一个目标单元的输入端的数量,得到所述多个输入数据组合,包括:
使用第一算法,基于所述至少一个目标单元的输入端的数量,得到所述多个输入数据组合,其中,每一个输入数据组合包括多个数据位,所述多个数据位与所述至少一个目标单元的输入端一一对应,每一个数据位表示输入到对应的输入端的逻辑数。
3.根据权利要求2所述的方法,其中,所述第一算法包括:
M=2N
其中,N表示所述至少一个目标单元的输入端的数量,并且表示所述多个输入数据组合中每一个输入数据组合的位数,M表示所述多个输入数据组合的数量,N和M均为正整数。
4.根据权利要求2或3所述的方法,其中,每一个数据位为二进制数据位,所述逻辑数包括0或1。
5.根据权利要求3所述的方法,其中,所述多个第二布局结构的数量等于M。
6.根据权利要求1所述的方法,其中,基于所述多个输入数据组合和所述第一布局结构,生成所述多个第二布局结构,包括:
基于所述多个输入数据组合,得到所述至少一个目标单元的输入端的多种连接方式;
基于所述至少一个目标单元的输入端的多种连接方式和所述第一布局结构,生成所述多个第二布局结构。
7.根据权利要求6所述的方法,其中,基于所述多个输入数据组合,得到所述至少一个目标单元的输入端的多种连接方式,包括:
基于所述多个输入数据组合中的每一个输入数据组合,确定各个输入端对应的逻辑数;
基于所述各个输入端对应的逻辑数,确定各个输入端连接第一连接单元或第二连接单元,以得到所述至少一个目标单元的输入端的多种连接方式。
8.根据权利要求7所述的方法,其中,所述第一连接单元配置为提供第一逻辑电平,所述第一逻辑电平对应于所述逻辑数中的1,
所述第二连接单元配置为提供第二逻辑电平,所述第二逻辑电平对应于所述逻辑数中的0。
9.根据权利要求6所述的方法,其中,基于所述至少一个目标单元的输入端的多种连接方式和所述第一布局结构,生成所述多个第二布局结构,包括:
将所述至少一个目标单元的输入端的多种连接方式分别应用到所述第一布局结构,得到所述多个第二布局结构。
10.根据权利要求1所述的方法,其中,所述多个第二布局结构中与所述至少一个目标单元的输入端连接的信号线的布线方式不同。
11.根据权利要求1所述的方法,其中,所述目标单元包括冗余单元,所述冗余单元配置为在变更所述集成电路的设计时提供可使用的功能和信号。
12.一种用于集成电路的布局设计装置,包括:
获取单元,被配置为获取第一布局结构,其中,所述第一布局结构包括至少一个目标单元;
计算单元,被配置为基于所述至少一个目标单元的输入端的数量,得到多个输入数据组合,其中,所述多个输入数据组合与提供给所述至少一个目标单元的输入端的信号的多种组合方式一一对应;
生成单元,被配置为基于所述多个输入数据组合和所述第一布局结构,生成多个第二布局结构,其中,所述多个第二布局结构与所述至少一个目标单元的输入端的多种连接方式一一对应;
选择单元,被配置为基于所述多个第二布局结构,得到第三布局结构,
其中,所述选择单元包括:
评价子单元,被配置为获取所述多个第二布局结构分别对应的评价参数;以及
选择子单元,被配置为基于所述评价参数,选择所述多个第二布局结构中的一个第二布局结构以作为所述第三布局结构,
其中,所述评价参数包括泄漏功耗值,
其中,所述选择子单元包括:
比较子单元,比较子单元被配置为比较所述多个第二布局结构分别对应的泄漏功耗值,将多个所述泄漏功耗值中最小的泄漏功耗值对应的第二布局结构作为所述第三布局结构。
13.一种用于集成电路的布局设计装置,包括:
处理器;
存储器,包括一个或多个计算机程序模块;
其中,所述一个或多个计算机程序模块被存储在所述存储器中并被配置为由所述处理器执行,所述一个或多个计算机程序模块包括用于执行如权利要求1-11中任一项所述的用于集成电路的布局设计方法的指令。
14.一种非瞬时可读存储介质,其上存储有计算机指令,其中,所述计算机指令被处理器执行时执行如权利要求1-11中任一项所述的用于集成电路的布局设计方法。
15.一种电子设备,包括权利要求12-13中任一项所述的用于集成电路的布局设计装置。
CN202110381962.6A 2021-04-09 2021-04-09 用于集成电路的布局设计方法及装置、设备和存储介质 Active CN112926283B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110381962.6A CN112926283B (zh) 2021-04-09 2021-04-09 用于集成电路的布局设计方法及装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110381962.6A CN112926283B (zh) 2021-04-09 2021-04-09 用于集成电路的布局设计方法及装置、设备和存储介质

Publications (2)

Publication Number Publication Date
CN112926283A CN112926283A (zh) 2021-06-08
CN112926283B true CN112926283B (zh) 2023-09-15

Family

ID=76173952

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110381962.6A Active CN112926283B (zh) 2021-04-09 2021-04-09 用于集成电路的布局设计方法及装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN112926283B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117494620B (zh) * 2023-11-16 2024-08-02 海光集成电路设计(北京)有限公司 综合方法、冗余单元的删除方法、装置、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104077138A (zh) * 2014-06-27 2014-10-01 中国科学院计算技术研究所 一种集成网络路由器的众核处理器系统及其集成方法和实现方法
CN104424367A (zh) * 2013-08-22 2015-03-18 京微雅格(北京)科技有限公司 一种优化寄存器控制信号的工艺映射方法及集成电路
CN104965937A (zh) * 2014-03-31 2015-10-07 德克萨斯仪器股份有限公司 经由布尔可满足性的设备引脚复用配置求解和代码生成
US10783292B1 (en) * 2015-05-21 2020-09-22 Pulsic Limited Automated analog layout
CN112257375A (zh) * 2020-10-26 2021-01-22 海光信息技术股份有限公司 用于集成电路设计的布局调整方法、装置和电子设备
CN112257377A (zh) * 2020-10-29 2021-01-22 海光信息技术股份有限公司 器件布局方法、装置、电子设备和计算机可读存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011065320A (ja) * 2009-09-16 2011-03-31 Renesas Electronics Corp レイアウト方法、レイアウト装置及びレイアウトプログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104424367A (zh) * 2013-08-22 2015-03-18 京微雅格(北京)科技有限公司 一种优化寄存器控制信号的工艺映射方法及集成电路
CN104965937A (zh) * 2014-03-31 2015-10-07 德克萨斯仪器股份有限公司 经由布尔可满足性的设备引脚复用配置求解和代码生成
CN104077138A (zh) * 2014-06-27 2014-10-01 中国科学院计算技术研究所 一种集成网络路由器的众核处理器系统及其集成方法和实现方法
US10783292B1 (en) * 2015-05-21 2020-09-22 Pulsic Limited Automated analog layout
CN112257375A (zh) * 2020-10-26 2021-01-22 海光信息技术股份有限公司 用于集成电路设计的布局调整方法、装置和电子设备
CN112257377A (zh) * 2020-10-29 2021-01-22 海光信息技术股份有限公司 器件布局方法、装置、电子设备和计算机可读存储介质

Also Published As

Publication number Publication date
CN112926283A (zh) 2021-06-08

Similar Documents

Publication Publication Date Title
US7464310B2 (en) Programmable state machine of an integrated circuit
CN112257375B (zh) 用于集成电路设计的布局调整方法、装置和电子设备
CN112926283B (zh) 用于集成电路的布局设计方法及装置、设备和存储介质
CN115270687A (zh) 芯片布局方法、装置、设备及存储介质
CN114492265B (zh) 一种芯片可测试设计的确定方法、设备和存储介质
US10777293B2 (en) Semiconductor device, memory test method for semiconductor device, and test pattern generation program
CN108459876B (zh) 用于缩减面积的控制寄存器电路的方法与装置
CN117852476B (zh) 基于不完备算法进行仿真的方法和装置
JP2014001937A (ja) スキャンテスト方法、プログラムおよびスキャンテスト回路
JP4526596B2 (ja) 信号遅延評価プログラム、信号遅延評価方法、および信号遅延評価装置
CN114091393A (zh) 一种执行工程变更指令的方法、装置、设备和存储介质
JP4136451B2 (ja) Bist回路
KR20180051708A (ko) 스위칭 액티비티에 기초한 반도체 장치의 배치 방법 및 이에 의해 제조된 반도체 장치
KR102499932B1 (ko) 다중 비트 플립 플롭
CN215910890U (zh) 一种众核计算电路和堆叠芯片
JP2009122009A (ja) テスト回路
US8726206B1 (en) Deadlock detection method and related machine readable medium
US7861197B2 (en) Method of verifying design of logic circuit
CN113360323A (zh) 一种众核计算电路、堆叠芯片和容错控制方法
CN112257384A (zh) 标准单元的检测方法
WO2024065693A1 (zh) 一种生成压缩测试向量的方法和装置
CN118313335B (zh) 基于dcap单元的芯片eco方法、装置和电子设备
KR100396096B1 (ko) 반도체 집적 회로의 테스트 회로
US7240260B2 (en) Stimulus generation
JP2000194734A (ja) 半導体集積回路のバックアノテ―ション方法

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