以自动流水线操作能力设计集成电路的方法和工具的制作方法

文档序号:8259040阅读:546来源:国知局
以自动流水线操作能力设计集成电路的方法和工具的制作方法
【专利说明】
[0001] 相关申请的交叉引用
[0002] 本申请要求于2013年10月25日提交的美国专利申请号14/064,031的优先权, 其由此通过参考全部并入本文。
技术领域
[0003] 本公开的领域涉及以自动流水线操作能力涉及集成电路的方法和工具。
【背景技术】
[0004] 本发明涉及集成电路设计,并更具体地涉及在寄存器传输级(RTL)处集成电路设 计描述的可验证的自动寄存器流水线操作。
[0005] 从一个技术节点到下一个技术节点的每次过渡导致了更小的晶体管几何结构并 因此导致集成电路区域的每个单元潜在地实施更多功能。同步集成电路进一步得益于由减 小的互连和信元延迟所证明的这种发展,其导致了性能提升。然而,较新的技术节点已经看 至IJ了减小延迟中的显著减慢并因此减慢了性能提升。
[0006] 已经提出了诸如寄存器流水线操作的解决方案以进一步提升性能。在寄存器流水 线操作期间,在同步元件之间插入附加寄存器,这导致有益于增大时钟频率和吞吐量的潜 伏期的增加。然而,执行寄存器流水线操作常常涉及花费大量时间和精力,因此通常要求定 位性能瓶颈、插入或去除寄存器和编译修改的集成电路设计的若干迭代。
[0007] 在其中插入或去除寄存器的多次迭代之后,常常出现寄存器流水线集成电路设计 仍显示出令人不满意的性能的情况,因为在当前迭代中添加流水线寄存器到给定路径可废 弃在先前迭代期间已经添加寄存器到不同路径的影响。
[0008] 执行寄存器流水线操作的困难进一步通过以下事实加剧,即不同路径或块中的潜 伏期可以是相关的、某些状况(诸如复位去除)可以是延迟依赖的以及验证相关活动(诸 如仿真)的事实会需要考虑对由寄存器流水线操作引起的测试平台和被测设计(DUT)的修 改。

【发明内容】

[0009] 在计算设备上实施的用于开发集成电路的电路设计的设计自动化工具可接收命 令,该命令限定流水线寄存器数目的有效范围并且限定包括路径的两种实施的电路描述。 路径的第一实施可包括有效范围内的流水线寄存器的第一数目,并且路径的第二实施可包 括流水线寄存器的第二数目。电路描述可最初选择路径的第一实施。设计自动化工具可仍 进一步选择路径的第二实施并记录路径的第二实施的选择。
[0010] 应当理解,能够以许多方式(诸如过程、装置、系统、设备,或计算机可读介质上的 指令)实施本发明。下面描述本发明的若干发明实施例。
[0011] 在某些实施例中,上述电路描述可使用定义默认值的参数选择路径的第一实施, 并可通过更新参数来记录路径的第二实施的选择。
[0012] 如果需要,设计自动化工具可更新测试平台。例如,测试平台可以路径的第二实施 而不是路径的第一实施来验证电路描述。可使用所记录的路径的第二实施的选择更新测试 平台。另外,仿真器工具可使用所更新的测试平台、电路描述,和所记录的选择执行仿真。
[0013] 本发明的进一步特征、其性质和各种优点从附图和优选实施例的以下具体实施方 式中将是更显而易见。
【附图说明】
[0014] 图1为根据一个实施例可用于设计集成电路的电路设计系统的示图。
[0015] 图2为根据一个实施例可用于电路设计系统中的示例性计算机辅助设计(CAD)工 具的示图。
[0016] 图3为根据一个实施例用于设计集成电路的示例性步骤的流程图。
[0017] 图4为根据一个实施例以自动流水线操作能力设计集成电路的示例性步骤的流 程图。
[0018] 图5为根据一个实施例以自动流水线操作能力最优化集成电路的示例性步骤的 流程图。
[0019] 图6为根据一个实施例从两个寄存器流水线路径接收信号的集成电路的示例性 部分的不图。
[0020] 图7为根据一个实施例包括由组合逻辑分离的两个寄存器流水线的示例性路径 的示图。
[0021] 图8为根据一个实施例在包括并行多位互连的电路设计上执行自动流水线操作 的示例性步骤的流程图。
[0022] 图9为根据一个实施例在组合逻辑之间的具有流水线寄存器的示例性并行路径 的示图。
【具体实施方式】
[0023] 本发明的实施例涉及使用计算机辅助设计(CAD)工具,用于利用寄存器流水线操 作能力最优化集成电路(1C)设计,以便实施为集成电路的方法,其中该计算机辅助设计 (CAD)工具有时也称为设计自动化(DA)工具或电子设计自动化(EDA)工具。集成电路可以 是任何合适类型的集成电路,诸如微处理器、专用集成电路、数字信号处理器、存储器电路 等。如果需要,该集成电路可以是可编程集成电路,其能够由用户配置以使用可编程电路执 行集成电路设计中所描述的功能。可编程电路能够通过调整存储器元件的设置来配置。
[0024] 寄存器流水线操作指在集成电路设计的同步元件之间插入或去除寄存器的过程。 例如,为了有益于潜在增加的时钟频率和吞吐量,在集成电路设计的两个同步元件之间插 入寄存器以增大那些两个同步元件之间的潜伏期。寄存器流水线操作是复杂的设计最优化 方法,该方法如像【背景技术】部分所示出的一样而实施可能是非常耗时且昂贵的。因此,期望 在会受寄存器流水线操作(例如,仿真)影响的所有设计步骤中自动化寄存器流水线操作 的过程。
[0025] 本申请的示例性实施例可在没有这些具体细节的一些或所有的情况下实践,这对 本领域技术人员来说是显而易见的。在其他实例中,没有详细描述众所周知的操作,以免不 必要地模糊本申请的实施例。
[0026] 图1示出根据本发明的示例性电路设计系统100。系统100可基于一个或多个处 理器(诸如个人计算机、工作站等)。可使用网络(例如,局域网或广域网)连接(一个或 多个)处理器。这些计算机中的存储器或诸如内部和/或外部硬盘的外部存储器和存储设 备可用于存储指令和数据。
[0027] 基于软件的部件(诸如计算机辅助设计工具120和数据库130)驻留在系统100 上。在操作期间,可执行的软件(诸如计算机辅助设计工具120的软件)在系统100的(一 个或多个)处理器上运行。数据库130用于存储系统100的操作数据。通常,软件和数据可 存储在系统100中的任何计算机可读介质(存储装置)上。该类存储装置可包括计算机存 储芯片、可移动介质或固定介质(诸如硬盘驱动器、闪存、光盘(⑶)、数字通用光盘OVD)、 蓝光光盘(BD)、其他光学介质和软盘、磁带)或任何其他合适的存储器或(一个或多个)存 储设备。当安装了系统100的软件时,系统100的存储装置具有使系统100中的计算设备 执行不同方法(过程)的指令和数据。当执行这些过程时,计算设备经配置实施电路设计 系统的功能。
[0028] 可通过单个供应商或多个供应商提供计算机辅助设计(CAD)工具120,其中一些 或全部有时可共同地称为CAD工具或电子设计自动化(EDA)工具。工具120可被提供作为 一套或多套工具(例如,编译器套件,其用于执行与在可编程逻辑器件中实施电路设计关 联的任务)和/或作为一个或多个独立的软件部件(工具)。(一个或多个)数据库130 可包括仅通过一个或多个特定工具访问的一个或多个数据库,并可包括一个或多个共享数 据库。可通过多个工具访问共享数据库。例如,第一工具可在共享数据库中为第二工具存 储数据。第二工具可访问共享数据库以取回通过第一工具存储的数据。这允许一个工具将 信息传递到另一个工具。如果需要,工具还可在彼此之间传递信息,而不需要将数据存储在 共享数据库中。
[0029] 图2示出可用于电路设计系统(诸如图1的电路设计系统100)中的示例性计算 机辅助设计工具220。
[0030] 设计过程可以以集成电路设计的功能规格制定(例如,集成电路设计的功能描述 或行为描述)开始。电路设计者可使用设计和约束输入工具264指定所需电路设计的功能 操作。设计和约束输入工具264可包括工具(诸如设计和约束输入辅助设备266和设计编 辑器268)。诸如辅助设备266的设计和约束输入辅助设备可用于帮助电路设计者从现有电 路设计库定位所需的设计,并可提供给电路设计者计算机辅助的辅助设备,以输入(指定) 所需的电路设计。
[0031] 作为一个示例,设计和约束输入辅助设备266可用于为用户呈现屏幕选项。用户 可在屏幕上的选项上点击,以选择被设计的电路是否应当具有某些特征。设计编辑器268 可用于输入设计(例如,通过输入硬件描述语言代码行)、可用于编辑从库中获得的设计 (例如,使用设计和约束输入辅助设备),或者可帮助用户选择和编辑适当的预封装代码/ 设计。
[0032] 设计和约束输入工具264可用于允许电路设计者使用任何合适格式提供所需的 电路设计。例如,设计和约束输入工具264可包括允许电路设计者使用真值表输入电路设 计的工具。可使用文本文件或时序图指定真值表并且可从库中输入真值表。真值表电路设 计和约束输入可用于大规模电路的一部分或者可用于整个电路。
[0033] 作为另一个示例,设计和约束输入工具264可包括原理图捕获工具。原理图捕获 工具可允许电路设计者根据组成部件(诸如逻辑门和逻辑门组)可视化地构造集成电路设 计。预先存在的集成电路设计库可用于允许利用原理图捕获工具有待导入所需的设计部 分。
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1