数字IC后端布局阶段对Tie-high和Tie-low Net的处理
本文转自:自己的微信公众号《集成电路设计及EDA教程》

里面主要讲解数字IC前端、后端、DFT、低功耗设计以及验证等相关知识,并且讲解了其中用到的各种EDA工具的教程。
考虑到微信公众平台上面发布的很多推文百度搜索不到,所以以后的推文也会在这里进行转载。

《数字IC后端布局阶段对Tie-high和Tie-low Net的处理》
布局阶段ICC对于时钟网络和恒0/1网络(Constant Net)的行为:
在布局阶段,在默认情况下,对于时钟网络和恒0/1网络(也就是Tie-high和Tie-low的net),ICC是不会做逻辑DRC(Design RuleConstraint)的检查与修复的。这也意味着在执行place_opt时,ICC不会在这些net上插入Buffer。在布局阶段我们也不想在时钟网络上插入Buffer,但是对于Tie-high和Tie-low的Net,如果软件不在上面插入Buffer,可能会产生一些问题。在默认设置下工具在place_opt时对tie-high和tie-low的net的行为:会用tie-high和tie-low的Cell去驱动尽量多的Cell。
逻辑DRC(Design Rule Constraint):
即max_transition, max_capacitance, max_fanout。这些规则决定布局布线引擎是否需要在这些Net上插入Buffer。
Constant Net上面不插入Buffer的缺点:
其信号容易受到串扰的影响,如下图所示:

在离Tie-high的Net比较近的地方,如果有个高速时钟信号(两条线并行走了很长的距离),那么它的恒定电平会受到串扰的影响而产生毛刺。
而对于加了Buffer的Tie-high网络,它不容易受到串扰的影响,原因如下:
1、由于互连线长度缩短了,因此耦合电容大幅降低,串扰会大大降低;
2、由于Buffer有非常好的电平保持和恢复能力,与Tie-high Cell相比,抗串扰能力更好。
Constant Net上面插入Buffer的缺点:
以面积为代价,Tie-high/low的net扇出越大(也就是说设计中固定0/1输入比较多),加的Buffer越多。
如何使能Constant Net Buffering呢?
ICC命令:set_auto_disable_drc_nets -constant false
set_app_varphysopt_new_fix_constants true
set_attribute[...] max_fanout 12
set_attribute[...] max_capacitance 0.2 -type float
设置完成后工具的行为:
用tie-high和tie-low尽量驱动更多的单元,同时满足指定的最大扇出和最大电容约束。
set_auto_disable_drc_nets命令可以在常量网络上启用DRC修复。
physopt_new_fix_constants变量设置为true会使得工具在优化期间注意最大电容约束。最大电容约束由max_capacitance属性确定,该属性使用set_max_capacitance或set_attribute命令设置。 set_attribute命令用于明确指定设计中对象的最大扇出和最大电容约束。
## 为了方便大家交流讨论 ##
## 建了一个QQ群 ##
## 集成电路设计及EDA教程 ##
## 加群请备注:EDA ##
## 群二维码如下 ##

数字IC后端布局阶段对Tie-high和Tie-low Net的处理的更多相关文章
- 数字IC前后端设计中的时序收敛(五)--Max Transition违反的修复方法
本文转自:自己的微信公众号<数字集成电路设计及EDA教程> 里面主要讲解数字IC前端.后端.DFT.低功耗设计以及验证等相关知识,并且讲解了其中用到的各种EDA工具的教程. 考虑到微信公众 ...
- 数字IC前后端设计中的时序收敛(二)--Setup违反的修复方法
本文转自:自己的微信公众号<数字集成电路设计及EDA教程> 里面主要讲解数字IC前端.后端.DFT.低功耗设计以及验证等相关知识,并且讲解了其中用到的各种EDA工具的教程. 考虑到微信公众 ...
- 数字IC前后端设计中的时序收敛(四)--Max Capacitance违反的修复方法
本文转自:自己的微信公众号<数字集成电路设计及EDA教程> 里面主要讲解数字IC前端.后端.DFT.低功耗设计以及验证等相关知识,并且讲解了其中用到的各种EDA工具的教程. 考虑到微信公众 ...
- 数字IC前后端设计中的时序收敛(三)--Hold违反的修复方法
本文转自:自己的微信公众号<数字集成电路设计及EDA教程>(二维码见博文底部) 里面主要讲解数字IC前端.后端.DFT.低功耗设计以及验证等相关知识,并且讲解了其中用到的各种EDA工具的教 ...
- 数字IC前后端设计中的时序收敛(一)前言
本文转自:自己的微信公众号<数字集成电路设计及EDA教程> 里面主要讲解数字IC前端.后端.DFT.低功耗设计以及验证等相关知识,并且讲解了其中用到的各种EDA工具的教程. 为了纪念,同时 ...
- 数字IC前后端设计中的时序收敛(六)--Max Fanout违反
本文转自:自己的微信公众号<数字集成电路设计及EDA教程>(二维码见博文底部) 里面主要讲解数字IC前端.后端.DFT.低功耗设计以及验证等相关知识,并且讲解了其中用到的各种EDA工具的教 ...
- VerilogHDL概述与数字IC设计流程学习笔记
一.HDL的概念和特征 HDL,Hard Discrimination Language的缩写,翻译过来就是硬件描述语言.那么什么是硬件描述语言呢?为什么不叫硬件设计语言呢?硬件描述语言,顾名思义就是 ...
- 数字IC笔试题-芯源
前言 由于最近开始找数字IC的工作,所以准备多练笔试题,下面贴上芯源笔试题,来源微信公众号<数字IC打工人> 参考资源: 1. mu_guang_ 2. 李锐博恩 3. 长弓的坚持 4. ...
- (数字IC)低功耗设计入门(一)
低功耗设计这个专题整理了好久,有一个月了,有图有证据: 然而最近一直有些烦心事.郁闷事,拖延了一下,虽然现在还是有点烦,但是还是先发表了吧.下面我们就来聊聊低功耗设计吧,由于文章比较长,因此我就不一次 ...
随机推荐
- 【wpf】在win10系统上弹出toast和notification
原文:[wpf]在win10系统上弹出toast和notification 老规矩,先看效果 右下角的notification: 操作中心的notification: 整体效果: 前提条件 1.需要在 ...
- Spring 核心技术(1)
接上篇:Spring 框架概述 version 5.1.8.RELEASE 这部分参考文档涵盖了 Spring Framework 所有绝对不可或缺的技术. 其中最重要的是 Spring Framew ...
- UWP ListView
ListViewItem项填充整个宽度最大化<ListView.ItemContainerStyle> <Style TargetType="ListViewItem&qu ...
- linux的自动化操作相关使用方法汇总 专题
Crontab中的除号(slash)到底怎么用? crontab 是Linux中配置定时任务的工具,在各种配置中,我们经常会看到除号(Slash)的使用,那么这个除号到底标示什么意思,使用中有哪些需要 ...
- 使用Notepad++远程编辑Ubuntu上的源码
简单搭建了在Windows上远程编辑Ubuntu Server 14.04上面源代码的环境,记录一下,给需要的人. Notepad++安装NppFTP 从插件菜单打开PluginManager,选中N ...
- C++数组指针、指针数组、函数指针的核心概念
1.什么叫数组指针? 数组指针:一个指向一维或者多维数组的指针. 比如:int * b=new int[10];指向一维数组的指针b ; 注意,这个时候释放空间一定要delete [] ,否则会造成内 ...
- 使用WebBrowser并调用网页中的JS函数
在界面上拖入QAxWidget,注意这里不建议直接在UI设计界面指定控件,否则可能引起QtCreator崩溃 建议在代码中动态设置,如: ui->axWidget->setControl( ...
- Delphi&C#代码模拟“显示桌面”的功能(使用CreateOleObject('Shell.Application'))
今天有人问我:“用shell打开文件(显示桌面.scf)的方式还是用模拟键盘(Win+D)显示桌面”这应该有更好的方法,就搜了搜,关键字定位“ToggleDesktop”因为显示桌面.scf的内容是: ...
- 编译 Qt 5.6(使QtWebEngine支持XP)
说明 qt 5.6的编译进行了数十遍,才得出本文的可行方案,之所以花了这么多的时间,主要是qt引入了QtWebEngine模块后,导致编译难度直线上升,而且又有一些中国特色的问题(如360安全卫士)导 ...
- UILabel实现自适应宽高需要注意的地方(三)
一.需求图如下所示 UILabel 的高度自适应 UILabel中的段落间距可设置 图片效果如下: 调整段落适应长宽高方式: 需求: 保证"游戏玩法 ...