使用考虑不同电路拓扑结构生成的输入波形特征化单元的制作方法_3

文档序号:8445697阅读:来源:国知局
路拓扑结构所获得的具有代表性尾部特性的输入波形,使用 利用输入波形所特征化的模型生成单元的输出响应更可能类似于失真的传播输入波形,并 且输出响应可能更加准确。
[0058] 图1是根据一些实施例的单元设计流程100以及集成电路(IC)芯片的芯片设计 流程150的流程图。流程100和150利用一个或多个电子设计自动化(EDA)工具,执行流 程100和150中的一个或多个阶段或操作。
[0059] 芯片设计流程150目标在于实现从高级说明至物理布局的IC芯片设计,例如,其 用于验证功能、性能和功率。单元设计流程100为在芯片设计流程150中要用作构建块的 单元提供单元的物理设计以及对经过物理设计的单元的抽象。在一些实施例中,如图1所 示,单元设计流程100独立于芯片设计流程150的特定阶段并且在芯片设计流程150的特 定阶段之前被执行。在其他实施例中,单元设计流程100结合到芯片设计流程150中。
[0060] 在一些实施例中,单元设计流程100包括单元设计阶段102和单元特征化阶段 104。
[0061] 在单元设计阶段102,执行晶体管级的单元设计,并且根据说明、相关技术信息和 设计规则,对单元电路进行物理布局和验证。
[0062] 在单元特征化阶段104,物理上实现的单元被特征化,以创建例如单元的时序模型 和功率模型。在一些实施例中,单元的网表、物理上实现的单元和单元的模型被收集在标准 单元库中并且是可用的。在此并且贯穿本发明所使用的术语"网表"是指基于图形和/或 基于文本的电路的表示。可以在单元设计流程100的该阶段或其他阶段使用本发明的一些 实施例。
[0063] 在一些实施例中,芯片设计流程150包括系统设计阶段152、逻辑设计阶段154、 逻辑合成阶段156、物理实现158、寄生提取阶段160和物理验证和电签收(signoff)阶段 162。
[0064] 在系统设计阶段152,设计者根据分别用于特定功能的较大模块来描述IC芯片。 而且,执行包括设计架构的各选项的考察,以考虑例如在优化设计规范和成本之间做出折 衷。在该阶段规定IC芯片的时序要求。
[0065] 在逻辑设计阶段154,使用VHDL或Verilog在寄存器传输级(RTL)描述IC芯片的 模块,并且验证IC芯片的模块的功能准确度。
[0066] 在逻辑合成阶段156,在RTL中所描述的IC芯片的模块被转换为门级网表。在一 些实施例中,将逻辑门和寄存器映射为由单元设计流程100所创建的标准单元库中的可用 单元的工艺也在该阶段发生。在进行逻辑合成之后,IC芯片设计已经过前端设计工艺,并 且在随后阶段进入后端物理设计工艺。
[0067] 在物理实现阶段158,门级网表被划分为块,并且创建用于块的平面布置图。块中 的逻辑门和寄存器的映射单元被置于IC芯片设计的芯片区域中的特定位置处。合成时钟 网络,并且对连接各单元的互连件进行布线。在一些实施例中,执行IC芯片设计的时序驱 动布置和布线,以在较早设计阶段为时序收敛做计划。在该阶段后,创建IC芯片的布置和 布线布局。
[0068] 在寄生提取阶段160,从IC芯片的布局中提取物理网表。物理网表包括诸如通过 互连引入单元的寄生电阻器和电容器的寄生现象。
[0069] 在物理验证和电签收阶段162,对物理网表执行时序分析和布线后优化,以确保 时序收敛。单元库中的时序模型用于在时序分析期间的延迟计算。本发明的一些实施例 可以用于芯片设计流程150的该阶段或者其他阶段。IC芯片的布局被检验,以确保对应 于门级网表,并且确保清除例如制造过程中的电气问题和光刻问题。可以执行增量修复 (incrementalfixing),以在下线之前实现设计的最终签收。
[0070] 图1中的单元设计流程100和芯片设计流程150是示例性的。其他顺序的阶段或 操作、阶段的划分、或者在所示阶段之前、之间或之后的附加阶段或操作都在本发明的可应 用的范围内。
[0071] 图2是根据一些实施例的用于创建时序库并且使用时序库执行时序分析的软件 系统2的功能框图。软件系统2包括库创建工具20和静态时序分析工具25。库创建工具 20被配置为使用考虑不同电路拓扑结构而生成的输入波形以生成相同输入转换特性,来特 征化用于延迟计算的单元。例如,库创建工具20用于图1中的单元设计流程100的单元特 征化阶段104。库创建工具20包括波形获取模块202和单元特征化模块204。例如,波形 获取模块202被配置为从单元特征化模块204接收输入转换特性以及驱动需考虑的单元的 前级驱动器的不同电路拓扑结构的信息,并且获取用于不同电路拓扑结构的代表性输入波 形或者分别用于不同电路拓扑结构的不同输入波形。单元特征化模块204被配置为接收单 元网表192和来自波形获取模块202的具有输入转换特性的一个或多个输入波形,并且关 于一个或多个输入波形来特征化单元,以在用于延迟计算的时序库242中创建一个或多个 记录(entry)。例如,静态时序分析工具25被配置为接收在图1中的寄生提取阶段160所 获得的物理网表244,并且使用时序库242对物理网表244进行静态时序分析。例如,静态 时序分析工具25用于图1中的芯片设计流程150中的物理验证和电签收阶段162。静态时 序分析工具25包括时序图建立和遍历模块252和延迟计算模块254。时序图建立和遍历模 块252被配置成将物理网表公式化为时序图并且遍历该时序图,以执行用于延迟计算的输 入波形传播。延迟计算模块254被配置为从单元特征化模块204接收时序库242,并且从时 序图建立和遍历模块252接收单元的类型和传播的单元的输入波形,并且生成单元的输出 响应,作为传播到随后单元的输入波形。
[0072] 图3是根据一些实施例使用考虑不同电路拓扑结构生成的输入波形以生成相同 输入转换特性,特征化用于延迟计算的单元的方法300的流程图。在一些实施例中,在图1 中的单元设计流程100的单元特征化阶段104执行方法300。在一些实施例中,通过图2中 的库创建工具20执行方法300。在操作302中,获取对应于驱动单元前级驱动器的不同电 路拓扑结构的不同输入波形以得到相同输入转换特性。在操作304中,使用不同输入波形 来特征化单元,以在时序库中创建与输入转换特性和不同电路拓扑结构相关联的记录。在 操作306中,检验在时序库中所列举的任何输入转换特性是否还未被特征化。如果存在,则 在操作308中,将要被特征化的输入转换特性改变为时序库中所列举的输入转换特性,并 且方法返回到操作302。如果不存在,则在连接点或终止点310,单元的时序库被建立并且 是可用的。
[0073] 在图3的操作302中,构建对应于驱动单元前级驱动器的不同电路拓扑结构的不 同输入波形以得到相同输入转换特性。图4是根据一些实施例的实现图3中的操作302的 方法的流程图。在操作402中,接收驱动配置在不同电路拓扑结构中的单元的前级驱动器 的不同网表。在操作404中,使用驱动单元的前级驱动器的不同电路,构建具有输入转换特 性的不同输入波形。
[0074] 在图4的操作402中,接收使用不同电路拓扑结构驱动单元的前级驱动器的不同 网表。图5包括根据一些实施例的驱动配置在不同电路拓扑结构中的单元的前级驱动器的 不同网表500、520和540的示意性电路图。不同网表是用于普通电路拓扑结构的网表500、 用于高电阻(R)电路拓扑结构的网表520和用于高扇出(F0,highfanout,又称多输出) 电路拓扑结构的网表540。用于普通电路拓扑结构的网表500包括前级驱动器502、前级驱 动器502的FO508、以及介于前级驱动器502和前级驱动器的FO508之间的互连件506。 FO508中的单元504是要使用输入波形,S卩,单元504的输入端处的转换电压Vin特征化的 单元。在一些实施例中,通过具有电阻R的电阻器和具有电容C的两个电容器对互连环节 进行建模。每个电容器都连接在电阻器的相应端部和接地端之间。例如,通过互连件的长 度来确定包括在互连件中的互连环节的数量。在网表500中的普通电路拓扑结构的示例性 实例中,互连件506包括一个互连环节并且具有平均值R。另外,在用于普通电路拓扑结构 的实例中,FO508是3个普通F0。除了互连电阻不同和FO不同之外,用于高R电路拓扑结 构的网表520和用于高FO电路拓扑结构的网表540分别类似于用于普通电路拓扑结构的 网表500。在用于高R电路拓扑结构的网表520中,例如,将FO508连接至前级驱动器502 的互连件526包括10个互连环
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1