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

文档序号:8259040阅读:来源:国知局
)以及每个互连中是否存在至少一个寄存器。可在步骤856期间基于步骤854作出决 定。响应当前流水线操作在潜伏期下限以上并且每个互连具有至少一个寄存器的决定,CAD 工具可在返回到步骤848之前,在步骤858处从每个互连中去除寄存器、记录寄存器去除并 测量性能结果。只要性能松弛为所需的、当前流水线操作在潜伏期下限以上并且每个互连 具有至少一个寄存器,则可迭代地重复步骤848、854、856和858。
[0076] 具有多位互连的电路描述的最优化可响应以下决定终止:在步骤848期间不要求 性能松弛,或者在步骤856期间当前流水线操作不在潜伏期下限以上或并不是所有互连都 具有至少一个寄存器,或者在步骤862期间当前流水线操作不在潜伏期上限以下。在终止 电路描述的最优化之后,仿真器工具(诸如图2的行为仿真工具272中的一个)可在步骤 868期间选择地仿真具有记录寄存器插入和/或寄存器去除的电路描述。
[0077] 上述仅仅为本发明的示例性原理,且在不脱离本发明的范围和精神的情况下,本 领域的技术人员可做出各种修改。可单独或以任何组合的形式实施上述实施例。
[0078] 本文所描述的方法和装置可并入任何合适的集成电路或集成电路的系统。例如, 方法和装置可并入许多类型的器件,诸如微处理器或其他1C。仅举几例,示例性1C包括可 编程阵列逻辑(PAL)、可编程逻辑阵列(PLA)、现场可编程逻辑阵列(FPLA)、电可编程集成 电路(EPLD)、电可擦除可编程集成电路(EEPLD)、逻辑单元阵列(LCA)、现场可编程门阵列 (FPGA)、专用标准产品(ASSP)、专用集成电路(ASIC)。
[0079] 本文所描述的可编程集成电路可为数据处理系统的部分,该数据处理系统包括以 下部件中的一个或多个:处理器;存储器;I/O电路以及外围器件。数据处理系统能够用于 广泛的应用程序中,诸如计算机网络、数据网络、使用仪器、视频处理、数字信号处理或其中 使用可编程或可再编程逻辑的优点为所需的任何合适的其他应用程序。可编程集成电路能 够用于执行多个不同的逻辑功能。例如,可编程集成电路能够被配置为处理器或与系统处 理器协同工作的控制器。可编程集成电路还可用作仲裁器,其用于仲裁到数据处理系统中 共享资源的访问。在另一个示例中,可编程集成电路能够被配置为在处理器和系统中其他 部件中的一个之间的接口。在一个实施例中,可编程集成电路可为受让人所有的器件系列 中的一个。
[0080] 尽管以特定顺序描述了方法操作,但应当理解,可在所描述的操作之间执行其他 操作,可调整所描述的操作以使它们发生在稍微不同的时间处,或者所描述的操作可分布 在系统中,该系统允许在与处理关联的不同时间间隔处发生处理操作,只要以期望的方式 执行覆盖操作的处理。
[0081] 附加实施例:
[0082] 附加实施例1。一种方法,其包括:
[0083] 接收在集成电路中将源节点电耦合到目标节点的路径的路径描述,其中路径描述 包括路径的多个路径实施,并且其中预定的流水线寄存器数目与所述多个路径实施中的每 个路径实施关联;接收路径的目标标准;接收路径的流水线最优化约束,其中流水线最优 化约束指定路径的至少一个可允许的流水线寄存器数目;以及选择满足目标标准的目标路 径实施,其中从多个路径实施中选择该目标路径实施,并且与目标路径实施关联的预定的 流水线寄存器数目为路径的至少一个可允许的流水线寄存器数目中的一个。
[0084] 附加实施例2.根据附加实施例1所述的方法,其中路径的目标标准选自包括以下 项的组:
[0085]性能、区域使用、寄存器数目、功率消耗、时钟频率、吞吐量和潜伏期。
[0086] 附加实施例3。根据附加实施例1所述的方法,其中路径的流水线最优化约束选自 包括寄存器数目、潜伏期和吞吐量的组。
[0087]附加实施例4。根据附加实施例1所述的方法,其中集成电路包括可编程集成电 路,并且其中路径的流水线最优化约束基于可编程集成电路中的资源约束。
[0088] 附加实施例5。根据附加实施例4所述的方法,其中可编程集成电路中的资源约束 包括布线资源约束,其选自包括以下项的组:局部互连线数目、水平互连线数目、垂直互连 线数目、对角互连线数目、布线多路复用器数目和时钟信号分布线数目。
[0089] 附加实施例6。根据附加实施例4所述的方法,其中可编程集成电路中的资源约束 包括存储资源约束,其选自包括以下项的组:寄存器数目、锁存器数目,和存储器元件数目。
[0090] 附加实施例7。根据附加实施例1所述的方法,其中路径描述包括寄存器传输级 (RTL)描述。
[0091] 附加实施例8。根据附加实施例1所述的方法,其中从用户输入接收流水线最优化 约束。
[0092] 附加实施例9。根据附加实施例1所述的方法,其中从配置文件接收流水线最优化 约束。
[0093] 附加实施例10。根据附加实施例9所述的方法,其中配置文件包括另一个流水线 最优化约束,其指定路径的最小和最大可允许的流水线寄存器数目。
[0094] 附加实施例11。根据附加实施例9所述的方法,其中配置文件包括另一个流水线 最优化约束,其指定集成电路的所有路径的最大可允许的流水线寄存器数目。
[0095]附加实施例12。根据附加实施例9所述的方法,其中配置文件包括附加流水线最 优化约束,其指定集成电路上所有路径的最小可允许的流水线寄存器数目。
[0096]附加实施例13。根据附加实施例1所述的方法,其中从行为模型接收流水线最优 化约束。
[0097] 附加实施例14。根据附加实施例1所述的方法,进一步包括:确定满足目标标准 的改善的路径实施,该改善的路径实施与目标路径实施的相应路径性能标准比较,具有改 善的路径性能标准,其中与改善的路径实施关联的流水线寄存器数目不同于路径描述的预 定的流水线寄存器数目;以及将所确定的流水线寄存器数目传送到用户。
[0098] 附加实施例15。根据附加实施例14所述的方法,其中确定流水线寄存器数目进一 步包括:确定所确定的流水线寄存器数目是否满足路径的流水线最优化约束。
[0099]附加实施例16。根据附加实施例1所述的方法,其中所选择的目标路径实施违反 目标性能标准中的至少一个,方法进一步包括:确定满足目标标准的改善的路径实施,其中 与改善的路径实施关联的流水线寄存器数目不同于路径描述的预定的流水线寄存器数目; 以及将所确定的流水线寄存器数目传送到用户。
[0100] 附加实施例17。根据附加实施例16所述的方法,其中确定流水线寄存器数目进一 步包括:确定所确定的流水线寄存器数目是否满足路径的流水线最优化约束。
[0101] 附加实施例18。根据附加实施例1所述的方法,进一步包括:将目标路径实施传 送到集成电路的设计描述。
[0102] 附加实施例19。一种使用在计算设备上实施的设计自动化工具以最优化集成电路 的电路设计的方法,其包括:接收具有第一路径和第二路径的第一电路设计描述,其中每个 路径在集成电路中将源节点电耦合到目标节点,其中第一路径包括寄存器的第一数目,并 且其中第二路径包括寄存器的第二数目;接收第一路径的第一可允许的寄存器数目以及接 收第二路径的第二可允许的寄存器数目;从第一可允许的寄存器数目中选择寄存器的第三 数目以及从第二可允许的寄存器数目中选择寄存器的第四数目;以及基于第一电路设计描 述创建第二电路设计描述,其中第二电路设计描述包括第一路径中的寄存器的第三数目和 第二路径中的寄存器的第四数目。
[0103] 附加实施例20。根据附加实施例19所述的方法,进一步包括:至少部分编译第一 和第二电路设计描述;以及获得至少部分编译后的第一和第二电路设计描述的性能结果。
[0104] 附加实施例21。根据附加实施例20所述的方法,进一步包括:基于至少部分编译 后的第一和第二电路设计描述的性能结果生成等级;以及基于等级选择第一和第二电路设 计描述中的一个。
[0105] 附加实施例22。根据附加实施例19所述的方法,其中电路设计的一部分从第一 路径和第二路径接收信号,并且其中选择寄存器的第三数目和寄存器的第四数目进一步包 括:基于第一可允许的寄存器数目、寄存器的第一数目、第二可允许的寄存器数目和寄存器 的第二数目限定所述第一路径中的第一可允许的寄存器数目的子集;基于第一可允许的寄 存器数目、寄存器的第一数目、第二可允许的寄存器数目和寄存器的第二数目限定第二路 径中的第二可允许的寄存器数目的子集;以及从第一可允许的寄存器数目子集选择寄存器 的第三数目以及从第二可允许的寄存器数目子集选择寄存器的第四数目。
[0106] 附加实施例23。根据附加实施例19所述的方法,其中第一电路设计描述包括具有 寄存器的总数目的路径,其中该路径包括第一路径和第二路径,并且基于寄存器的总数目 选择寄存器的第三数目和寄存器的第四数目。
[0107] 附加实施例24。根据附加实施例19所述的方法,其中第一电路描述包括验证指 令,并且其中第一路径中的第一可允许的寄存器数目和第二路径中的第二可允许的寄存器 数目基于验证指令。
[0108] 附加实施例25。用于编译电路描述的非暂时性计算机可读存储介质,其中电路描 述指定多个并行路径,其中多个并行路径中的路径具有对寄存器的总数目的限制,该非暂 时性计算机可读存储介
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1