当前位置: 首页 > ai >正文

Design Compiler:使用IC Compiler II Link

相关阅读

Design Compilerhttps://blog.csdn.net/weixin_45791458/category_12738116.html?spm=1001.2014.3001.5482


简介

        拓扑模式的Design Compiler NXT引入了IC Compiler II Link功能,该功能允许在综合工具中调用IC Compiler II进行优化(实际上Design Compiler NXT自带了IC Compiler II,因此无需单独安装IC Compiler II),可以在Milkyway和NDM两种模式下使用,但建议在NDM模式下使用,这更加便捷。

NDM与Milkyway模式

        Design Compiler中使用关于库的命令将决定工具的工作模式。

NDM模式

        当使用create_lib命令创建NDM设计库或使用open_lib命令打开NDM设计库时,Design Compiler将自动进入NDM模式,并出现下面的消息。

Information: Using the '***' command has enabled NDM mode for the current Design Compiler NXT session. (DCT-294)

        需要注意的是,只有Design Compiler NXT支持NDM模式,而DC Ultra和Design Compiler Graphical不支持。

        当工具处于NDM模式时,不能使用Milkyway模式特有的命令,否则会出现以下错误。

Error: Command 'create_mw_lib' is disabled in Design Compiler NXT NDM mode. (DCT-290)

        要检查当前处于NDM模式还是Milkyway模式,可以使用shell_is_in_ndm_mode命令,返回1表示NDM模式,0表示Milkyway模式。

使用NDM参考库

        NDM参考库可以分为多种,其中一种被称为Cell Library(CLIB),单元库中包含了物理信息和时序信息等;而一种被称为Physical Library(Frame-only Library),物理库中只包含了物理信息。

        Design Compiler支持使用它们之一或组合作为NDM参考库创建NDM设计库(IC Compiler II在T-2022.03-SP3版本后不支持直接使用物理库作为NDM参考库),但需要注意的是,即使使用单元库,Design Compiler也只从中获取物理信息而依旧从target_library变量和link_library变量中获得时序信息。

        下面展示了用create_lib命令创建NDM设计库的过程。

dcnxt_shell> set_app_var target_library $TARGET_LIBRARY_FILES
dcnxt_shell> set_app_var link_library "* $target_library $LINK_LIB_FILES"
dcnxt_shell> create_lib $DESIGN_LIBRARY -technology $TECH_FILE -ref_libs $REFERENCE_LIBRARY
...

        在Design Compiler调用IC Compiler II时,会将自己使用的NDM参考库、技术文件和link_library变量传递给IC Compiler II供其创建临时的NDM设计库使用。如果传递的NDM参考库中存在物理库,则IC Compiler II首先会调用自带的Library Manager根据物理库创建对应的单元库,随后再创建临时的NDM设计库;如果传递的NDM参考库只有单元库,则IC Compiler II可以直接根据单元库创建临时的NDM设计库。需要注意的是,Design Compiler可以多次调用IC Compiler II,但单元库只在首次需要时构建,一旦库创建完成,即使后续多次调用IC Compiler II,也不会重复创建这些库。

        关于IC Compiler II自动创建单元库的详细信息,可以参考IC Compile II Data Model User Guide中的Configuring Cell Libraries一章。

       提前用Library Manager创建单元库供Design Compiler使用也是一种解决办法。

Milkyway模式

        Design Compiler默认处于Milkyway模式,即使用create_mw_lib命令创建Milkyway设计库或使用open_mw_lib命令打开Milkyway设计库。

        当工具处于Milkyway模式时,不能使用NDM模式特有的命令,否则会出现以下错误。

Error: Command '***' is disabled in Design Compiler NXT Milkyway mode. (DCT-292)

        由于IC Compiler II必须使用NDM库,需要使用set_icc2_options命令至少设置NDM参考库和技术文件,如果NDM参考库中存在物理库,处理方式与NDM模式下相同。

启用IC Compiler II工具特性

        IC Compiler II Link由三个属性和四个变量控制,其中IC Compiler II Link布局器是很多其他特性的基础。

        使用dcnxt_use_icc2_link命令可以对IC Compiler II Link布局器、IC Compiler II Link自动布图规划和IC Compiler II Link拥塞报告三个属性进行设置,如下所示,其他特性则由变量控制。

dcnxt_shell> dcnxt_use_icc2_link -placement *** -auto_floorplan *** -congestion_use_global_route ***

        使用dcnxt_use_icc2_link命令时添加-report_only选项可以查看IC Compiler II Link相关属性和变量的设置情况,如下所示。

dcnxt_shell-topo> dcnxt_use_icc2_link -report_only 
===================================================================================================================
| Flow         | DCNXT Graphical IC Compiler II Link Flow                                                         |
===================================================================================================================
| Features                                                | Current Setting | Default Setting                     |
===================================================================================================================
|   Placement                                             | true            | true                                |
|   Auto Floorplan                                        | true            | true                                |
|   Zroute-Based Congestion Reporting                     | true            | true                                |
===================================================================================================================
| Option Name                                             | Type            | Current Setting | Default Setting   |
===================================================================================================================
|   Automatic Timing Control                              | App Variable    | true            | true              |
|   Buffer Aware Placement                                | App Variable    | true            | true              |
|   Enhanced Low Power Placement                          | App Variable    | false           | false             |
|   Congestion Driven Restructuring                       | App Variable    | false           | false             |
===================================================================================================================

        需要注意的是,如果要使用IC Compiler II Link,则需要在综合时添加-spg选项。

使用IC Compiler II Link布局器

        Design Compiler默认使用原生的IC Compiler布局器进行布局,使用IC Compiler II Link则可以调用IC Compiler II布局器进行布局,此时会提示使用ICC2 Link Placer。

使用IC Compiler II Link自动布图规划

        Design Compiler默认使用原生的IC Compiler进行自动布图规划,使用IC Compiler II Link则可以调用IC Compiler II布局器进行布图规划,此时会出现以下提示。

Information: There are missing outline, sites, tracks, thus IC Compiler II based Auto floorplan will be triggered. (DCT-425)

        即使-auto_floorplan选项设置为false,只要-placement选项设置为true,当用户提供的物理约束中缺少core_area、site_rows或tracks信息,或设计中存在未布局的宏单元/端口时,Design Compiler会自动开启IC Compiler II Link进行布图规划,并出现以下警告。

Warning: Turning on ICC2Link based Auto-floorplan capabilities. (DCT-413)

        对于10 nm及以下工艺节点,应使用基于IC Compiler II Link的布图规划,而不是原生的自动布图规划。

使用IC Compiler II Link拥塞报告

        Design Compiler默认使用原生的IC Compiler进行拥塞报告,使用IC Compiler II Link则可以调用IC Compiler II进行拥塞报告。

        当工具处于NDM模式时,该特性无法关闭,即使将-congestion_use_global_route选项设置为false,在使用report_congestion命令时Design Compiler会自动开启IC Compiler II Link进行拥塞报告,并出现以下警告。

Warning: Global Router cannot be disabled in NDM mode. The tool will use the global router engine in congestion driven placement and report_congestion command. (DCT-411)

        当处于Milkyway模式时,只有将-placement选项设置为false,并将-congestion_use_global_route选项设置为false才可以关闭该特性,否则会出现以下警告。

Warning: Global Router cannot be disabled in ICCII link placer. The tool will use the global router engine in congestion driven placement. (DCT-412)

        在过去曾经使用set_icc2_options命令的-congestion_use_global_route选项开启该特性,但它已经过时,不要使用该选项。

使用IC Compiler II Link自动时序控制

        Design Compiler默认进行拥塞驱动布局,而直接时序驱动布局会把优化重心放在最关键时序路径上,在降低WNS与降低TNS之间取得平衡,该特性由placer_auto_timing_control变量(默认为True)控制。

        需要注意的是,在增量综合期间,仅启用直接时序驱动布局,若要同时进行拥塞驱动布局,需要将spg_congestion_placement_in_incremental_compile变量设置为true。该特性只在-placement选项设置为true时才起作用,并出现以下提示。

Information: Auto timing control is enabled in the placer. (SPG-129)

使用IC Compiler II Link缓冲感知布局

        缓冲感知布局用于在初始布局阶段重点考虑高扇出线网与长互连,以更好地平衡时序与布线,提升QoR,开启后将使用近似时序模型评估对这些网络插入缓冲的影响,不改动网表,只影响布局,该特性由placer_buffering_aware变量(默认为True)控制。

        需要注意的是,该特性只在-placement选项设置为true时才起作用,并出现以下提示。

Information: Automatic timing control is enabled in the placer. (SPG-130)

使用IC Compiler II Link增强型低功耗布局

        增强型低功耗布局是IC Compiler II布局器的一个特性,通过给高活跃度网络加权,引导布局器缩短关键高活跃线网,在功耗与时序之间取得更好平衡,降低切换功耗与总功耗,该特性由placer_enhanced_low_power_effort变量(默认为Low)控制。

        需要注意的是,该特性只在-placement选项设置为true且compile_enable_total_power_optimization变量设置为true时才起作用,并出现以下提示。

Information: Design Compiler NXT Total Power Optimization is enabled. (PWR-1101)

使用IC Compiler II Link拥塞驱动重构

         设计中的拥塞可能由满足交换律和结合律的逻辑树引起,例如OR树、AND树、XOR树。借助拥塞驱动重构功能,通过重新连线这些逻辑树的输入可以缓解拥塞,该特性由placer_cong_restruct变量(默认为False)控制。

        需要注意的是,该特性只在-placement选项设置为true时才起作用,并出现以下提示。

Information: Congestion driven restructuring placement is enabled. (SPG-131)
http://www.xdnf.cn/news/17858.html

相关文章:

  • Tasking编译问题: E207: syntax error - token “<integer>“ delete的解决方案
  • 【机器学习】核心分类及详细介绍
  • 电视同轴电缆全面指南:从基础到应用,批量测量一键计量
  • 【博客系统测试报告】---web界面自动化测试
  • 使用PyTorch实现手写数字识别系统:从理论到实践
  • 附045.Kubernetes_v1.33.2高可用部署架构二
  • 介绍大根堆小根堆
  • C++——分布式
  • 从 0 到 1 玩转Claude code(蓝耘UI界面版本):AI 编程助手的服务器部署与实战指南
  • Unity 绳子插件 ObjRope 使用简记
  • C#文件复制异常深度剖析:解决“未能找到文件“之谜
  • 硬件开发_基于STM32单片机的热水壶系统
  • 领域防腐层(ACL)在遗留系统改造中的落地
  • 疯狂星期四文案网第40天运营日记
  • 分布式锁那些事
  • AI浪潮之巅:解码技术革命、重塑产业生态与构建责任未来
  • 超高车辆碰撞预警系统如何帮助提升城市立交隧道安全?
  • uniApp App 端日志本地存储方案:实现可靠的日志记录功能
  • 【python实用小脚本-187】Python一键批量改PDF文字:拖进来秒出新文件——再也不用Acrobat来回导
  • RH134 管理存储堆栈知识点
  • Day60--图论--94. 城市间货物运输 I(卡码网),95. 城市间货物运输 II(卡码网),96. 城市间货物运输 III(卡码网)
  • StarRocks集群部署
  • 顺丰面试题
  • 最长递增子序列-dp问题+二分优化
  • 金融业务安全增强方案:国密SM4/SM3加密+硬件加密机HSM+动态密钥管理+ShardingSphere加密
  • 【职场】-啥叫诚实
  • es7.x的客户端连接api以及Respository与template的区别
  • 基本电子元件:碳膜电阻器
  • pytorch 数据预处理,加载,训练,可视化流程
  • Ubuntu DNS 综合配置与排查指南