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

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

相关阅读

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


        set_dont_touch_network命令可以将当前设计中的一组端口、引脚或时钟标记为dont_touch网络源(设置端口、引脚或时钟对象的dont_touch_network属性为true),且dont_touch属性会沿着组合逻辑进行传播(其实它并不是一个SDC命令,归为此类只是为了方便管理),主要用于时钟路径,以防止工具在优化过程中修改时钟树。如果想要移除dont_touch网络,使用remove_attribute命令。

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

set_dont_touch_networkobjects[-no_propagate]//注:该命令的选项和参数顺序任意

指定dont_touch网络源

        指定一个对象列表/集合,包含端口对象、引脚对象或时钟对象。对于列表而言,如果有多于一个对象,需要使用引号或大括号包围(对使用集合无效),关于列表和集合的区别,可以参考下面的博客。

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

指定不传播

        -no_propagate选项指定dont_touch属性不会跨组合逻辑传播,但仍然可以跨层次结构传播。默认情况下,dont_touch属性会跨组合逻辑传播,直到时序逻辑为止(不会将时序逻辑标记为dont_touch)。

        需要注意的是,如果此时dont_touch网络源是单元的输入引脚,则dont_touch属性可以跨该单元,但无法跨后续的组合逻辑传播。

dont_touch属性传播规则

        dont_touch属性的传播规则与set_ideal_network命令有所不同,dont_touch网络源扇出中的所有单元和线网都会被设置dont_touch属性(例如单元的一个输入引脚被设置为dont_touch网络源,则该单元就会被标记为dont_touch,如果是set_ideal_network命令,则要求其所有输入引脚都被标记为理想)。

dont_touch网络的影响

        1、所有dont_touch网络中的单元和线网都会被设置dont_touch属性,防止它们在优化过程中被修改(需要注意的是,此时的dont_touch属性是隐式设置的,这与使用set_dont_touch命令显式设置不同,无法使用report_attribute命令或get_attribute命令直接查看,而只能使用report_cell命令、report_net命令或report_dont_touch命令间接查看,remove_attribute命令只能移除显式设置的dont_touch属性,隐式dont_touch属性的优先级高于显式dont_touch属性)。

        2、如果dont_touch网络源是单元的输出引脚,则该单元将被设置size_only属性,这样可以确保dont_touch网络源不会在综合过程中被优化掉(需要注意的是,此时的size_only属性是隐式设置的,这与使用set_size_only命令显式设置不同,无法使用report_attribute命令或get_attribute命令直接查看,而只能使用report_cell命令或report_size_only命令间接查看,隐式size_only属性的优先级高于显式size_only属性)。

        3、如果使用-no_propagate选项,则第一个被阻挡传播的单元将被设置size_only属性(需要注意的是,此时的size_only属性是隐式设置的,这与使用set_size_only命令显式设置不同,无法使用report_attribute命令或get_attribute命令直接查看,而只能使用report_cell命令或report_size_only命令间接查看,隐式size_only属性的优先级高于显式size_only属性)。

简单使用

        下面以图1为例说明set_dont_touch_network命令的使用。

图1 简单的例子

        下面使用set_dont_touch_network命令设置端口a为dont_touch网络源,可以使用get_attribute dont_touch_network命令确认一个对象是否是dont_touch网络源。

dc_shell> set_dont_touch_network [get_ports a]

        下面使用report_dont_touch命令报告所有被设置为dont_touch属性的单元和线网,如图2所示。

dc_shell> report_dont_touch

图2 dont_touch属性报告

http://www.dtcms.com/a/553051.html

相关文章:

  • CI/CD(三)—— 【保姆级实操】Jenkins+Docker GitLab+Tomcat 实现微服务CI/CD全流程部署
  • 20. Portals和Fragment
  • 企业网站管理wordpress必备插件
  • 数据结构之栈和队列-栈
  • 操作系统-线程
  • sward零基础学习,创建第一个知识库
  • 门户网站建设方式网站制作叫什么
  • step-ca 证书生成完整步骤指南
  • 从字节码生成看 Lua VM 前端与后端协同:编译器与执行器衔接逻辑
  • SQLite3语句以及FMDB数据存储初步学习
  • 抽奖网站怎么制作长沙人力资源招聘网
  • IntelliJ IDEA 远程断点调试完全指南
  • uniapp使用sqlite模块
  • Lua--数据文件和持久性
  • Spark SQL 解锁电商数据密码:窗口函数大显身手
  • 用R语言生成指定品种与对照的一元回归直线(含置信区间)
  • NVR(网络视频录像机)和视频网关的工作方式
  • 如何架设网站服务器网络搭建百度百科
  • opencv 学习: 04 通过ROI处理图片局部数据,以添加水印为例
  • 中小企业网站模板诚信网站平台建设方案
  • chatgpt崩溃了,gpt怎么了
  • [MySQL] 页与索引
  • 2025年AI生成PPT工具评测:以“全链路一体化服务能力”为尺,ChatPPT再登顶
  • 天津特定网站建设推广搜素引擎优化
  • 直播美颜sdk特效功能架构全解析:从图像处理到AI渲染的技术演进
  • 2025强网杯web wp
  • 超融合架构下,如何智能调度让每台虚拟机都“跑得更快”?
  • 【Web应用安全】SQLmap实战DVWA SQL注入(从环境搭建到爆库,完整步骤+命令解读)
  • 从零打造 Telegram 中文生态:界面汉化 + 中文Bot + @letstgbot 搜索引擎整合实战
  • QT 给Qimage数据赋值,显示异常,像素对齐的坑