本文转自:自己的微信公众号《集成电路设计及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的处理的更多相关文章

  1. 数字IC前后端设计中的时序收敛(五)--Max Transition违反的修复方法

    本文转自:自己的微信公众号<数字集成电路设计及EDA教程> 里面主要讲解数字IC前端.后端.DFT.低功耗设计以及验证等相关知识,并且讲解了其中用到的各种EDA工具的教程. 考虑到微信公众 ...

  2. 数字IC前后端设计中的时序收敛(二)--Setup违反的修复方法

    本文转自:自己的微信公众号<数字集成电路设计及EDA教程> 里面主要讲解数字IC前端.后端.DFT.低功耗设计以及验证等相关知识,并且讲解了其中用到的各种EDA工具的教程. 考虑到微信公众 ...

  3. 数字IC前后端设计中的时序收敛(四)--Max Capacitance违反的修复方法

    本文转自:自己的微信公众号<数字集成电路设计及EDA教程> 里面主要讲解数字IC前端.后端.DFT.低功耗设计以及验证等相关知识,并且讲解了其中用到的各种EDA工具的教程. 考虑到微信公众 ...

  4. 数字IC前后端设计中的时序收敛(三)--Hold违反的修复方法

    本文转自:自己的微信公众号<数字集成电路设计及EDA教程>(二维码见博文底部) 里面主要讲解数字IC前端.后端.DFT.低功耗设计以及验证等相关知识,并且讲解了其中用到的各种EDA工具的教 ...

  5. 数字IC前后端设计中的时序收敛(一)前言

    本文转自:自己的微信公众号<数字集成电路设计及EDA教程> 里面主要讲解数字IC前端.后端.DFT.低功耗设计以及验证等相关知识,并且讲解了其中用到的各种EDA工具的教程. 为了纪念,同时 ...

  6. 数字IC前后端设计中的时序收敛(六)--Max Fanout违反

    本文转自:自己的微信公众号<数字集成电路设计及EDA教程>(二维码见博文底部) 里面主要讲解数字IC前端.后端.DFT.低功耗设计以及验证等相关知识,并且讲解了其中用到的各种EDA工具的教 ...

  7. VerilogHDL概述与数字IC设计流程学习笔记

    一.HDL的概念和特征 HDL,Hard Discrimination Language的缩写,翻译过来就是硬件描述语言.那么什么是硬件描述语言呢?为什么不叫硬件设计语言呢?硬件描述语言,顾名思义就是 ...

  8. 数字IC笔试题-芯源

    前言 由于最近开始找数字IC的工作,所以准备多练笔试题,下面贴上芯源笔试题,来源微信公众号<数字IC打工人> 参考资源: 1. mu_guang_ 2.  李锐博恩 3. 长弓的坚持 4. ...

  9. (数字IC)低功耗设计入门(一)

    低功耗设计这个专题整理了好久,有一个月了,有图有证据: 然而最近一直有些烦心事.郁闷事,拖延了一下,虽然现在还是有点烦,但是还是先发表了吧.下面我们就来聊聊低功耗设计吧,由于文章比较长,因此我就不一次 ...

随机推荐

  1. 【转载】centos7+tomcat部署JavaWeb项目超详细步骤

    我们平时访问的网站大多都是发布在云服务器上的,比如阿里云.腾讯云等.对于新手,尤其是没有接触过linux系统的人而言是比较有困难的,而且至今使用云服务器也是有成本的,很多时候我们可以通过虚拟机自己搭建 ...

  2. VisualSVN-6.0.1Patch just for VS2017补丁原创发布

    VisualSVN-6.0.1Patch_justforVS2017补丁原创发布 一切尽在发布中.

  3. KEIL MDK编译后的代码量和RAM使用详解

    一般 MCU 包含的存储空间有:片内 Flash 与片内 RAM,RAM 相当于内存,Flash 相当于硬盘.编译器会将一个程序分为好几个部分,分别存储在 MCU 不同的存储区.Keil 工程在编译完 ...

  4. Win8 Metro(C#)数字图像处理--2.70修正后的阿尔法滤波器

    原文:Win8 Metro(C#)数字图像处理--2.70修正后的阿尔法滤波器 /// <summary> /// Alpha filter. /// </summary> / ...

  5. The specified type member 'IsLock' is not supported in LINQ to Entities. Only initializers, entity members, and entity navigation properties are supported.

    var query = from C in objDb.GetDb<A>() join a in objDb.GetDb<B>().Where(m => m.Comput ...

  6. ECSHOP 数据库结构说明

    ECSHOP 数据库结构说明 (适用版本v2.7.3) 1.account_log 用户账目日志表 字段 类型 Null/默认 注释 log_id mediumint(8) 否 / 自增 ID 号 u ...

  7. Linux下的帮助命令

    内建命令,外部命令,命令别名:使用:type 命令名,查看 内建命令是shell一部分,一开始就加载进内存,程序一般简单:外部命令反之 2.  帮助命令的使用 内建命令:help 命令名:外部命令:命 ...

  8. 大神为你分析 Go、Java、C 等主流编程语言(Go可以替代Java,而且最小化程序员的工作量,学习比较容易)

    本文主要分析 C.C++98.C++11.Java 与 Go,主要论述语言的关键能力.在论述的过程中会结合华为各语言编程专家和华为电信软件内部的骨干开发人员的交流,摒弃语言偏好或者语言教派之争,尽量以 ...

  9. java多线程之多生产者-多消费者

    多生产者和多消费者是线程通信的经典案例,但是和生产者-消费者相比更为复杂,而且可能会产生程序假死. public class Product { private MyStack myStack; pu ...

  10. python字典的内建函数

    In [70]: test=dict(x=1,y=2,z=3) In [71]: test Out[71]: {'x': 1, 'y': 2, 'z': 3} In [72]: a=['a','b', ...