Design Compiler:使用IC Compiler II Link
相关阅读Design Compilerhttps://blog.csdn.net/weixin_45791458/category_12738116.html?spm1001.2014.3001.5482目录简介NDM与Milkyway模式NDM模式更建议使用NDM参考库Milkyway模式启用IC Compiler II工具特性使用IC Compiler II Link布局器使用IC Compiler II Link自动布图规划使用IC Compiler II Link进行拥塞报告和拥塞驱动的单元布局使用IC Compiler II Link自动时序控制(ATC)使用IC Compiler II Link缓冲感知布局(BAP)使用IC Compiler II Link增强型低功耗布局使用IC Compiler II Link拥塞驱动重构(CDR)简介拓扑模式的Design Compiler NXT在2019版本引入了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在2022版本后不支持直接使用物理库作为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但单元库只在首次需要时构建单元库保存的位置由应用选项lib.configuration.central_output_dir或lib.configuration.local_output_dir决定默认为当前工作目录下的CLIBs子目录一旦库创建完成即使后续多次调用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参考库和技术文件会被忽略如果NDM参考库中存在物理库处理方式与NDM模式下相同。启用IC Compiler II工具特性IC Compiler II Link由三个属性和四个变量控制其中IC Compiler II Link布局器是很多其他特性的基础需要注意的是综合时需要使用-spg选项。使用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 ***即使其中两个变量的默认值为true还是需要使用dcnxt_use_icc2_link命令激活如果不使用该命令而直接设置变量值虽然也可以启用IC Compiler II Link但会出现DCT-410警告不建议这样做。使用dcnxt_use_icc2_link命令时添加-report_only选项可以查看IC Compiler II Link相关属性、变量和应用选项通过set_app_options命令的设置情况如下所示。dcnxt_shell-topo set_app_options -name place.coarse.max_density -value 0.9 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 | | place.coarse.max_density | App Option | 0.9 | | 使用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在使用综合时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选项和placer_enable_enhanced_router变量开启该特性但它们已经过时使用时会出现以下警告更建议使用dcnxt_use_icc2_link命令。Warning: The option congestion_use_global_route will be deprecated in future releases. Use dcnxt_use_icc2_link command to turn on IC Compiler II link in report_congestion. (DCT-408) Warning: IC Compiler II link features are being turned on using app_vars. This behavior will be deprecated in future releases. Use the dcnxt_use_icc2_link command to turn on IC Compiler II link features. (DCT-410)使用IC Compiler II Link自动时序控制(ATC)Design Compiler默认在直接时序驱动布局(DTDP)阶段把优化重心放在最关键的时序路径上在降低WNS与降低TNS之间取得平衡指使用IC Compiler II Link布局器但不使用自动时序控制如果使用自动时序控制则更加有助于改善TNS该特性由2019版本引入的placer_auto_timing_control变量默认值为true控制并通过place.coarse.auto_timing_control应用选项不通过set_app_options命令设置传递给IC Compiler II。如果不使用IC Compiler II Link布局器Design Compiler默认针对WNS进行优化如果想优先降低TNS则需要设置2017版本引入的placer_tns_driven和placer_tns_driven_in_incremental_compile变量对于Design Compiler Graphical综合时提示TNS-driven-DTDP is turned ON对于Design Compiler NXT综合时提示Enhanced timing-DTDP is turned ON但是这两个变量在同时使用Design Compiler NXT和IC Compiler II Link布局器时失效实验结果表明尽管手册中似乎没有提到这一点或者设置2015版本引入的compile_timing_high_effort和2017版本引入的compile_timing_high_effort_tns变量综合时提示Warning: The compile_timing_high_effort variable is a hidden variable。需要注意的是在增量综合期间仅启用直接时序驱动布局若要同时进行拥塞驱动布局需要将spg_congestion_placement_in_incremental_compile变量设置为true默认值为false。该特性只在-placement选项设置为true时才起作用并出现以下提示。Information: Auto timing control is enabled in the placer. (SPG-130)使用IC Compiler II Link缓冲感知布局(BAP)缓冲感知布局用于在初始布局阶段重点考虑高扇出线网与长互连以更好地平衡时序与布线提升结果质量(QoR)开启后将使用近似时序模型评估对这些线网插入缓冲的影响不改动网表只影响布局如图1所示该特性由2019版本引入的placer_buffering_aware变量默认值为true控制。图1 缓冲感知布局需要注意的是该特性只在-placement选项设置为true时才起作用并出现以下提示。Information: Buffering aware placement is enabled. (SPG-129)使用IC Compiler II Link增强型低功耗布局增强型低功耗布局是IC Compiler II布局器的一个特性通过给高活跃度线网加权引导布局器缩短关键高活跃线网在功耗与时序之间取得更好平衡降低切换功耗与总功耗该特性由2020版本引入的placer_enhanced_low_power_effort变量默认值为low控制并通过place.coarse.enhanced_low_power_effort应用选项不通过set_app_options命令设置传递给IC Compiler II。需要注意的是该特性只在-placement选项设置为true且2019版本引入的compile_enable_total_power_optimization变量设置为true时才起作用默认值为false并出现以下提示。Information: Design Compiler NXT Total Power Optimization is enabled. (PWR-1101)使用IC Compiler II Link拥塞驱动重构(CDR)设计中的拥塞可能由满足交换律和结合律的逻辑树引起例如OR树、AND树、XOR树。借助拥塞驱动重构功能通过重新连线这些逻辑树的输入可以缓解拥塞如图2所示该特性由2019版本引入的placer_cong_restruct变量默认值为false控制并通过place.coarse.cong_restruct应用选项不通过set_app_options命令设置传递给IC Compiler II。图2 拥塞驱动重构需要注意的是该特性只在-placement选项设置为true时才起作用并出现以下提示。Information: Congestion driven restructuring placement is enabled. (SPG-131)

相关新闻

SpringBoot+Vue构建乡镇卫生所医用物资管理系统实践

SpringBoot+Vue构建乡镇卫生所医用物资管理系统实践

1. 项目背景与核心需求乡镇卫生所作为基层医疗服务的重要节点,其医用物资管理一直面临着诸多痛点。我在实地调研中发现,许多乡镇卫生所仍在使用纸质台账记录物资进出,不仅效率低下,还容易出现人为差错。某次走访时,亲眼…

2026/9/23 16:47:45 阅读更多 →
基于随机森林的水稻产量预测:从数据划分到Python实现

基于随机森林的水稻产量预测:从数据划分到Python实现

简介:这是一份基于随机森林算法实现的水稻产量预测Python源码项目,面向计算机、数据科学、人工智能等专业学生,可支撑课程设计、毕业设计或初期项目演示。项目包含8个文件,核心main.py为模型训练与预测主程序,两个csv文…

2026/9/23 16:46:45 阅读更多 →
Java实现环境监测系统:从数据采集到WebSocket实时可视化

Java实现环境监测系统:从数据采集到WebSocket实时可视化

简介:这是一份面向Java初学者与毕业设计学生的环境监测系统完整源码,涵盖空气、温度、湿度等多类环境数据的采集、展示与管理流程。项目采用Spring、Servlet/JSP与DAO分层架构,覆盖业务处理、数据持久化与请求响应链路,适合课程设…

2026/9/23 16:46:45 阅读更多 →

最新新闻

面试被问中值滤波性能优化?3个技巧让速度提升10倍

面试被问中值滤波性能优化?3个技巧让速度提升10倍

面试被问中值滤波性能优化?3个技巧让速度提升10倍 上周陪一个做嵌入式转后端的朋友模拟面试,面试官刚抛出“中值滤波在百万像素图像处理中卡顿怎么办”,他愣住两秒,开始背教科书定义。结果面试官追问:“你代码里怎么写的?瓶颈在哪?”他哑口无言。这…

2026/9/23 18:02:15 阅读更多 →
交通灯检测数据集:XML转TXT与YOLO训练实战指南

交通灯检测数据集:XML转TXT与YOLO训练实战指南

简介:这是一份面向交通场景目标检测实验的交通标志与交通信号灯数据集,原创并由LabelImg手工标注,覆盖限速牌、警告牌以及红灯、绿灯、黄灯等常见类别,图片为真实路况高清照片,适合目标检测入门、模型效果对比和毕业设…

2026/9/23 18:02:15 阅读更多 →
OOMWOO 已知地图定位与导航:基于 Nav2、AMCL 与 slam_toolbox 的 nav-localize 实战指南

OOMWOO 已知地图定位与导航:基于 Nav2、AMCL 与 slam_toolbox 的 nav-localize 实战指南

智能硬件机器人嵌入式物联网 【免费下载链接】oomwoo Open-source vacuum robot cleaner 项目地址: https://gitcode.com/gh_mirrors/oo/oomwoo 点击查看 免费下载 导读 本指南围绕 OOMWOO 开源扫地机器人的 nav-localize 需求文档(RFC)展开…

2026/9/23 18:02:15 阅读更多 →
YOLO鸟类数据集从VOC转YOLO格式到训练避坑全流程

YOLO鸟类数据集从VOC转YOLO格式到训练避坑全流程

简介:面向目标检测初学者与课程设计学生,这是一套完整的YOLO鸟类检测项目包,整合了原始图像、已标注文件和可直接运行的训练代码,适合作为期末大作业或课堂项目参考,免去自行采集数据与标注的繁琐流程。压缩包内共2000…

2026/9/23 18:02:15 阅读更多 →
PSO优化风-水电联合调度:快速求解多约束能源调度问题

PSO优化风-水电联合调度:快速求解多约束能源调度问题

简介:本资源是基于粒子群算法(PSO)实现风电-水电(抽水蓄能)联合优化调度的MATLAB仿真程序,面向电力系统优化、新能源并网调度及智能算法应用方向的研究生、工程师与科研人员,解决风电出力波动大…

2026/9/23 18:02:15 阅读更多 →
Apache Arrow R 包表达式绑定开发实战:以 lubridate::mday() 为例的完整教程

Apache Arrow R 包表达式绑定开发实战:以 lubridate::mday() 为例的完整教程

数据工程大数据序列化数据分析 【免费下载链接】arrow Apache Arrow is a multi-language toolbox for accelerated data interchange and in-memory processing 项目地址: https://gitcode.com/gh_mirrors/arrow13/arrow 点击查看 免费下载 本教程源自 Apache Arr…

2026/9/23 18:01:15 阅读更多 →

日新闻

3招搞定手机怎么下载微信面试难题实战项目解析

3招搞定手机怎么下载微信面试难题实战项目解析

3招搞定手机怎么下载微信面试难题实战项目解析 面试被问“手机怎么下载微信”背后的原理,90%的人答不上来。别笑,这看似弱智的问题,实则是考察你对移动应用分发机制、安全校验及网络协议理解的试金石。我带过不少校招新人,他们背了八股文,却连一个A…

2026/9/23 0:00:23 阅读更多 →
2k显示屏性能优化踩坑:版本升级后API全变了,这份源码解析救了我

2k显示屏性能优化踩坑:版本升级后API全变了,这份源码解析救了我

2k显示屏性能优化踩坑:版本升级后API全变了,这份源码解析救了我 刚把开发环境的显示器从1080P换到2K,跑老项目直接报错,版本升级后 API…

2026/9/23 0:01:25 阅读更多 →
3步搞定美眉图实战项目,告别官方文档抓不住重点

3步搞定美眉图实战项目,告别官方文档抓不住重点

3步搞定美眉图实战项目,告别官方文档抓不住重点 官方文档翻了三遍还是云里雾里?别急,美眉图在实战项目中常被用来做数据可视化,但它的原理比你想的简单。今天咱们直接上手,用一个完整的小项目把美眉图跑通,不再死磕那些冗长的理论说明。…

2026/9/23 0:01:25 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/23 4:55:02 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/23 4:49:06 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/23 9:53:41 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/23 9:53:40 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/23 9:53:40 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/23 9:53:40 阅读更多 →