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

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.dtcms.com/a/333853.html

相关文章:

  • PCA降维 提升模型训练效率
  • CUDA TensorRT Python智能提示补全解决方案
  • MySQL约束知识点
  • iceberg 底层存储HDFS与juiceFS的区别
  • epoll发数据学习
  • 自己开发的VIP monitor通过TLM port口连接到RefenceModel 但是get不出transaction的问题
  • 《中国棒球知识科普》国家级运动健将标准·棒球1号位
  • 力扣(接雨水)——标准双指针
  • 最长链(二叉树直径DFS)
  • 【学习笔记】NTP服务客户端配置
  • 医疗领域名词标准化工具
  • 二分算法(模板)
  • Vue插槽---slot详解
  • RAGFlow入门
  • 大麦APP抢票揭秘
  • 亚马逊新品推广的智能突围:从传统SP广告到DeepBI策略革新
  • 结合项目对AOP的实践和理论讲解-AOP八股
  • 第十四节:物理引擎集成:Cannon.js入门
  • Windows Server Core智能调优
  • 智能体开发实战:用Deepseek做一个生成思维导图的智能体
  • SSH协议的GIT转换
  • 访问者模式C++
  • Day55 Java面向对象09 super关键字详解
  • MySQL 高效查询五虎将——分页、排序、分组、去重、聚合函数实战手册
  • 解决HFSS许可证激活错误的实用方法
  • QT开发中QString是怎么转char*类型的
  • 轴机械臂cad【7张】三维图+设计说明书
  • 子进程资源回收与线程相关概念
  • 机器视觉助力柔性屏贴合工艺升级,精度可达0.01mm
  • 文章数据发布到苹果CMS(MacCMS)网站技巧