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

SDC命令详解:使用set_max_fanout命令进行约束

相关阅读

SDC命令详解https://blog.csdn.net/weixin_45791458/category_12931432.html?spm=1001.2014.3001.5482


目录

指定最大扇出负载值

指定对象列表/集合

Multicorner-Multimode支持

简单使用

写在最后


set_max_fanout命令用于设置最大扇出负载(设置了对象的max_fanout属性),这是一种设计规则约束(Design Rule Constraint),Design Compiler在综合的门级优化阶段会尝试确保每个输入端口/输出引脚驱动的扇出负载总和不超过设置的最大扇出负载(优先级高于优化约束(Optimization Constraint),即可能以时序违例为代价修复设计规则违例)。

在逻辑库中可以使用库属性default_fanout_load或库引脚属性fanout_load(优先级高于库属性)指定输入引脚的扇出负载(对于输出端口,可以使用set_fanout_load命令指定扇出负载,默认情况下扇出负载为0);使用库属性default_max_fanout或库引脚属性max_fanout(优先级高于库属性)指定输出引脚的最大扇出负载(对于输入端口,可以使用set_max_fanout命令指定最大扇出负载,默认情况下最大扇出负载无穷大)。需要注意的是,set_max_fanout命令只能比库属性或库引脚属性更严格,如果设置的值更宽松(更大)则会被忽略。如果想要移除最大扇出负载,使用remove_attribute命令。

本文针对Design Compiler,但该命令同样存在于PrimeTime、IC Compiler等工具中,它们大致相同,略有差别。set_max_fanout命令的BNF范式(有关BNF范式,可以参考以往文章)为:

set_max_fanout fanout_value object_list //注:该命令的object_list参数一定要放在fanout_value参数后

指定最大扇出负载值

fanout_value是一个非负的扇出负载值,它是一个无量纲数值,不是电容也不是真实的扇出数量,它是一种对有效扇出的表示。

指定对象列表/集合

指定一个列表/集合,包含输入端口对象或设计对象(影响设计中的所有输入端口和单元输出引脚),需要注意的是,无法直接指定某个单元引脚的最大扇出负载。对于列表而言,如果有多于一个对象,需要使用引号或大括号包围(对使用集合无效),关于列表和集合的区别,可以参考下面的博客。

SDC命令详解:使用集合(Collection)而不是字符串(String)/列表(List)作为命令参数https://chenzhang.blog.csdn.net/article/details/147144571

Multicorner-Multimode支持

该命令仅对当前场景生效,换句话说只能在当前场景设置最大扇出负载。

关于场景的更多介绍,可以参考下面的博客。

Design Compiler:多工艺角和多工作模式(Multicorner-Multimode, MCMM)https://blog.csdn.net/weixin_45791458/article/details/149578771?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522e3267dcc7cc26380435f53994dc8b9b8%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=e3267dcc7cc26380435f53994dc8b9b8&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-1-149578771-null-null.nonecase&utm_term=MCMM&spm=1018.2226.3001.4450

简单使用

以图1所示的电路图为例,逻辑库中使用库属性default_fanout_load定义了扇出负载为1.0,而库单元CLKBUFX1的输入引脚定义了库引脚属性fanout_load为1.5(优先级更高);逻辑库中使用库属性default_max_fanout定义了最大扇出负载为5,而库单元CLKBUFX1的输出引脚定义了库引脚属性max_fanout为2(优先级更高)。

图1 简单的例子

考虑单元u1的输出引脚Y,其驱动的扇出负载为1.5(如果不使用set_fanout_load命令,输出端口b的扇出负载为0),小于其允许的最大扇出负载2,也可以使用report_constraint -max_fanout命令查看此时设计的整体约束情况,如图2所示。

图2 最大扇出负载(满足)

下面使用set_max_fanout命令设置设计的最大扇出负载为1.4,此时对于输入端口a和单元输出引脚来说,其需要满足的最大扇出负载变成了1.4。

dc_shell> set_max_fanout 1.4 [current_design]

此时的整体约束情况,如图3所示,可以看出此时出现设计规则违例,代价函数的值此时恰好为1.5-1.4+1.5-1.4=0.2。

图3 最大扇出负载(违例)

写在最后

如果同时在输入端口对象和设计对象上设置了最大扇出负载,Design Compiler在计算时会选择最严格的最大扇出负载。

对于时钟信号等特殊信号,其设计规则约束不会被检查,具体可见下面的博客。

Design Compiler:时钟树等高扇出信号在综合时的特性文章浏览阅读1.7k次,点赞61次,收藏71次。本文讨论了在数字电路综合过程中对高扇出信号(如时钟、复位、扫描使能信号)的处理方法。重点分析了时钟树在综合阶段的特性:由于综合工具不进行时钟树综合,时钟路径被视为理想网络,其DRC约束通常不被检查。文章比较了三种禁止缓冲器插入的方法:set_dont_touch_network(会报告DRC违例)、set_ideal_network(可能影响数据路径优化)和推荐的set_auto_disable_drc_nets命令(可完全禁止时钟路径的DRC检查)。_长时钟树要避开drc的命令https://blog.csdn.net/weixin_45791458/article/details/154489915?ops_request_misc=elastic_search_misc&request_id=e753ed6a1950984ee7d9bfa2a99ce736&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~ElasticSearch~search_v2-1-154489915-null-null.541^v3^control&utm_term=%E6%97%B6%E9%92%9F%E6%A0%91&spm=1018.2226.3001.4450

http://www.jsqmd.com/news/1174645/

相关文章:

  • 我谈区域偏心率——Gonzalez错了
  • ADB Monkey 压力测试进阶:3种事件比例配置与ANR/Crash日志精准捕获
  • fprime:项目核心功能/场景
  • DELL R720xd 安装第三方网卡后风扇狂转:ipmitool 3步排查与降速方案
  • ExplorerPatcher深度解析:Windows界面定制工具的技术架构与实践指南
  • 2026 重庆钻石变现攻略:7 家权威持证回收门店实地深度测评 - 奢侈品回收中心
  • 未来展望:NVIDIA Llama-Nemotron-Colembed-VL-3B-V2在多模态AI生态系统中的定位与发展
  • 第2周AI工具链总结——Spring AI 生态的生产化落地全景图
  • Process Governor隐藏功能:进程优先级与效率模式配置技巧
  • 录播姬:mikufans直播录制完整解决方案终极指南
  • Mininet 2.3.0 自定义拓扑实战:Python脚本 vs mn命令启动效率实测
  • 2026最新排行榜池州名表名包奢侈品回收卡地亚万国沛纳海香奈儿古驰普拉达最新排行榜实力排名 - 谊识预商贸
  • CUDA 12.8 与 GCC 14 兼容性解析:从 host_config.h 到 3 种编译环境配置
  • RAG失效、实时数据断供、知识库同步中断,DeepSeek联网搜索限制全链路故障排查手册,含7个生产环境checklist
  • TB6593FNG与PIC18LF45K22直流电机控制方案详解
  • LlamaFarm桌面应用:无代码AI开发的完整解决方案
  • Jenkins 2.426.2 LTS Docker 部署:3步配置国内插件源与8个必备插件清单
  • 终极指南:如何用浏览器扩展免费下载30+平台文档
  • IPEX-LLM终极指南:10个核心API让PyTorch与Transformers完美集成
  • Java的接口
  • 2026年7月最新万国天津万象城维修保养服务电话 - 万国中国官方服务中心
  • Vivado 2023.2 VIO与ILA联调:1个工程实现信号驱动与波形捕获
  • 2026最新排行榜汉中名表名包奢侈品回收劳力士卡地亚伯爵香奈儿罗意威圣罗兰最新排行榜门店排行 - 谊识预商务
  • IntelliJ IDEA 2024.3 集成 SVN 1.14:3步配置与5大高频操作避坑指南
  • Phi-4-da8w8-torchao-v0.16.0深度解析:AMD打造的高效CPU推理模型来了!
  • Cursor写API接口时,这6类HTTP状态码你真的用对了吗?附RFC 7231合规性校验清单
  • Windows 11终极瘦身指南:3分钟让你的系统快如闪电
  • libgdbm-rust最佳实践总结:20个提升数据库性能的技巧与建议
  • Awesome Wails社区生态:如何为开源项目贡献代码
  • SolidWorks 2023 与 Creo 8.0 三维建模对比:5类典型零件出图效率与标准符合度评测