集成电路设计和库的优化制造技术

技术编号:5072989 阅读:182 留言:0更新日期:2012-04-11 18:40
一种方法以选择用于实现设计的最佳单元集合的方式对设计和库进行共同优化。该方法考虑到了在降低目标成本和遵守设计约束的同时限制新单元数目的思想。该方法选择最小接近最优单元集合来优化设计。这包括对基于单元的设计和用于实现它的单元库的同时优化。当忽略电路时,本发明专利技术可以针对特定应用仅产生优化的库。该方法考虑了被描述为最终单元或虚拟单元的新单元的集合,这些新单元可能具有与原始库不同的晶体管拓扑、不同的大小、不同的逻辑功能和/或不同的单元模板。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及电子设计自动化领域,更具体而言涉及其设计基于单元库(cell library)的数字电路的优化。
技术介绍
集成电路是信息时代的重要组成部分并且对于信息时代是很关键的,其影响着包 括金融、银行、法律、军事、高科技、运输、电话、石油、医疗、药物、食品、农业、教育以及许多 其他产业在内的每一种产业。诸如DSP、放大器、DRAM、SRAM、EPROM、EEPR0M、闪存、微处理 器、ASIC和可编程逻辑之类的集成电路被用于诸如计算机、联网、电信和消费类电子产品之 类的许多应用中。消费者不断地要求其电子产品具有更高的性能。例如,更高速的计算机将会提供 更高速的图形用于多媒体应用或开发。更高速的因特网web服务器将带来更强的在线商 务,包括在线股票交易、书籍销售、拍卖以及杂货购买,这些只是几个示例。更高性能的集成 电路将提高包含这些集成电路的产品的性能。大型的当代集成电路具有数百万的包括门和晶体管在内的器件,并且是非常复杂 的。随着工艺技术的改进,在单个集成电路上可制造越来越多的器件,因此集成电路将随着 时间而继续变得更加复杂。为了应对构建更复杂且更高性能的集成电路的挑战,使用了软 件工具。这些工具处于通常称为计算机辅助设计(CAD)、计算机辅助工程(CAE)或电子设计 自动化(EDA)的领域中。始终需要改进这些电子自动化工具以便满足对集成电路的更高集 成度和更佳性能的需求。因此,需要用于电子设计自动化的改进技术。
技术实现思路
一种方法以选择用于实现设计的最佳单元集合的方式对设计和库(或库的集合) 进行共同优化。该方法考虑到了在降低设计成本和遵守设计约束的同时限制新单元数目的 思想。该方法选择最小接近最优单元集合来优化设计。这包括对基于单元的设计和用于实 现它的单元库的同时优化。该方法考虑了被描述为虚拟单元的新单元的集合,这些新单元 可能具有与原始库不同的晶体管拓扑、不同的大小、不同的逻辑功能和/或不同的单元模板。映射过程可以取描述尚未实现但可得到估计成本的可能单元的额外方法作为输入;这些单元在本申请中被称为虚拟单元。设计随后被映射到真实和虚拟单元以确定初始 最优单元集合。重映射的设计随后被递增地重映射以减少所使用的单元的数目,同时不会 显著恶化实现成本并且仍遵守设计约束。整个过程可以被迭代若干次。在确定理想单元集 合之后,可以插入每个单元的一些额外大小以保证时序闭合。最终单元集合的行高也可被 优化以更好地适配于为最终库选择的单元。在一种实现方式中,一种用于电路设计和库的同时优化的方法包括提供初始电 路网表(其可以通过多个单元或布尔方程或其他方式(例如RTL代码)来表述);提供初 始存在单元集合(可以为空);提供额外可容许功能/单元集合,其中可能包括虚拟单元; 在考虑初始存在单元集合和额外可容许功能或单元集合的情况下,映射电路以使实现成本 最小化;产生新的重映射的网表;以及产生由重映射的网表中使用的预先存在的单元和可 容许功能构成的新单元库规格和描述。额外可容许功能或单元集合可以通过功能或单元(可能包括虚拟单元)的列表来 显式地定义。每个额外可容许逻辑功能可具不同的实现,包括不同的晶体管拓扑、晶体管 的不同大小和不同的驱动强度。额外可容许功能或单元集合可以通过某个参数来隐式地定 义。额外可容许功能集合可由所允许的最大输入数目来隐式地定义。额外可容许功能集合 可由处于串联或并联关联的串联和并联开关的最大数目来隐式地定义。额外可容许功能集合可由功能的BDD实现中串联的电弧的最大数目来隐式地定 义。额外可容许功能集合可由一般晶体管实现中串联的开关的最大允许数目来隐式地定 义。额外可容许功能集合可由用于实现组合逻辑功能的两个晶体管平面中串联开关数目的 准确下限上的最大允许开关数目来隐式地定义。在一种实现方式中,一种优化单元库模板的方法包括接收目标技术信息;接收 要包括在库中的功能或单元的集合;接收要为每个功能创建的驱动强度的集合;为每对功 能和驱动强度接收或得出晶体管拓扑的集合;为不同的备选单元模板产生单元特性的初步 估计;以及作为为所需单元的全体估计的特性的函数,为所述库选择最终模板。在一种实现方式,一种在布置和布线之后优化与电路网表相关联的单元库的方法 包括接收经布置和布线的电路网表;接收相关联的单元库;从所述库中去除(或忽略或不 允许使用)未使用的功能;可选地去除(或忽略或不允许使用)使用的功能的未使用的驱 动强度;对于每个使用的单元,添加邻近驱动强度的集合,以允许进一步的大小调节;根据 本专利中描述的约束中的任何一个或组合,可选地使单元库模板适应于单元的新混合;以 及输出考虑到引入的修改的新的库规格。在一种实现方式中,一种用于在电路设计中使用的库的优化的方法包括提供初 始电路网表;提供一个或多个已存在单元集合;提供一个或多个额外可容许单元集合;在 考虑初始存在单元集合和额外可容许单元集合的情况下,分析所述初始电路网表以找出降 低实现成本的单元;以及输出一个或多个新单元库规格和描述,这一个或多个新单元库规 格和描述包括潜在地降低设计成本的预先存在的单元的子集和可容许单元的子集。初始电路网表可由布尔方程或若干个单元的表述中的至少一种来提供的。分析初 始电路网表可包括在考虑初始存在单元集合和额外可容许单元集合的同时重映射电路。该方法可包括输出新的重映射的网表。额外可容许单元集合可至少包括列出额外可得功能或单元的显式集合。额外可容 许单元集合可包括列出额外可得单元的显式集合,并且每个额外可容许逻辑功能可具有不 同的实现。额外可容许单元集合可包括通过某个参数隐式地定义的功能或单元的集合。额外可容许单元集合可包括由所允许的最大输入数目隐式地定义的功能或单元 的集合。额外可容许单元集合可包括由处于串联或并联关联的串联和并联开关的最大数目 隐式地定义的功能或单元的集合。额外可容许单元集合可包括由功能的BDD实现中串联的 电弧的最大数目隐式地定义的单元的集合。额外可容许单元集合可包括由一般晶体管实现中串联的开关的最大允许数目隐 式地定义的功能或单元的集合。额外可容许功能集合可由用于实现组合逻辑功能的两个晶 体管规划中串联开关数目的准确下限上的最大允许开关数目来隐式地定义。在一种实现方式中,一种优化单元库模板的方法包括接收目标技术信息;接收 要包括在库中的功能或单元的集合;接收要为每个功能创建的驱动强度的集合;为每对功 能和驱动强度接收或得出晶体管拓扑的集合;为不同的备选单元模板输出单元特性的初步 估计;以及按照为所需单元的全体估计的特性的函数,为库选择最终模板。在一种实现方式中,一种在布置和布线之后优化与电路网表相关联的单元库的方 法包括接收经布置和布线的电路网表;接收相关联的单元库;从库中去除未使用的功能; 可选地去除使用的功能的未使用的驱动强度;对于每个使用的单元,添加邻近驱动强度的 集合,以允许进一步大小调节;可选地使单元库模板适应于单元的新混合;以及输出考虑 到引入的修改的新的库规格。可选地使单元库模板适应于单元的新混合可包括接收目标技术信息;接收要包 括在库中的功能或单元的集合;接收要为每个功能创建的驱动强度的集合;为每对功能和 驱动强度接收或得出晶体管拓扑的集合;为不同的备选单元模板输出单元本文档来自技高网...

【技术保护点】
一种用于对在电路设计中使用的库的优化的方法,该方法包括:提供初始电路网表;提供一个或多个已存在单元集合;提供一个或多个额外可容许单元集合;在考虑初始存在单元集合和额外可容许单元集合的情况下,分析所述初始电路网表以找出降低实现成本的单元;以及输出一个或多个新单元库规格和描述,这一个或多个新单元库规格和描述包括潜在地降低设计成本的预先存在的单元的子集和可容许单元的子集。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:安德烈伊纳西欧瑞斯安德斯博拉斯穆森维尼克休斯派苏提考雷尔奥尔克里斯坦安德森
申请(专利权)人:纳恩盖特公司
类型:发明
国别省市:US[美国]

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1