从ICG cell 在 library 中的定义说起

如Coding 时需要考虑什么样的代码风格会使gating 的效率更高;综合时需要特别设置要插入的gating 类型,每个gating 的fanout 范围,是否可以跨层次,是否需要做physical aware 的gating;DFT 时需要确定clock gating 的TE pin 如何连接以保证在DFT 模式clock 可控;P&R 时需要考虑gating 的位置是否合理,是否由于物理上相互拉扯做gating 复制,是否需要人工约束某些关键gating 的位置,CTS 是否需要对gating 做特殊处理;形式验证时需要对gating 做特殊建模;STA时需要明白工具在什么情况下会映射出clock gating 的check, 哪些是真实的clock gating 哪些又是假的clock gating。

Icer 发明了Gating 这一技能,在不需要时钟翻转的时候就把时钟关掉,据统计这一技术可以减少20%的动态功耗。Clock gating 并不是一日长成今日这般模样,经过各种摸索尝试之后,时至今日使用最广泛的clock gating cell 就是glitch free 的Integrated clock-gating cell (ICG). 目前主流工艺Foundry 提供的库中都有ICG cell.

原文地址:https://www.cnblogs.com/lelin/p/11456486.html

时间: 2024-10-08 09:34:44

从ICG cell 在 library 中的定义说起的相关文章

as3.0 library中图片的使用,及Bitmap常用属性

1. 在library中的图片如加载到显示列表中呢,我们可以使用Bitmap这个对象来载图片 如上图片,在library中我有一张图片,并给予了链接名为myBitMap,如何使用这张图片代码如下 import flash.display.Bitmap; var bitmap:Bitmap = new Bitmap(new myBitMap() as BitmapData);  bitmap.scaleX = 0.5; bitmap.scaleY = .5; bitmap.x = 110; bit

Matlab中函数定义方法

Matlab自定义函数的六种方法 n1.函数文件+调用函数(命令)文件:需单独定义一个自定义函数的M文件: n2.函数文件+子函数:定义一个具有多个自定义函数的M文件: n3.Inline:无需M文件,直接定义: n4.匿名函数: n5.Syms+subs:无需M文件,直接定义: n6.字符串+subs:无需M文件,直接定义. ------------ 1.函数文件+调用函数文件:定义多个M文件 % 调用函数文件:myfile.m clear clc for t=1:10 y=mylfg(t);

在phpWeChat中如何定义一个授权登录(获取昵称)的链接

在phpWeChat中如何定义一个授权登录(获取昵称)的超链接?使其点击后出现如下效果? 由于集成了这个功能,其实这个需要是很简单的. 假如您想在授权后跳转到http://www.baidu.com/,那么这个链接的地址就是: 1 http://devtest.phpwechat.com/index.php?m=wechat&a=auth20&redirect_url=urlsafe_b64decode('http://www.baidu.com') 授权登录后,系统自动生成$_SESSI

C语言中宏定义(#define)时do{}while(0)的价值(转)

C语言中宏定义(#define)时do{}while(0)的价值 最近在新公司的代码中发现到处用到do{...}while(0),google了一下,发现Stack Overflow上早有很多讨论,总结了一下讨论,加上自己的理解,do{...}while(0)的价值主要体现在: 1. 增加代码的适应性 下面的宏定义没有使用do{...}while(0) #define FOO(x) foo(x); bar(x); 这样宏定义,单独调用不会出现问题,例如: FOO(100) 宏扩展后变成: 1 f

编写STL中没有定义的函数(如果能编译)

实例目标:本例介绍如何编写标准模板库STL中没有定义的函数.这里列举两个例子,一个是将所有数据类型转换成字符串型的to_string函数,另一个是它的"反函数"from_string函数,用来将字符串转化为某一类型 具体内容: 在std::string模板中没有包含一些函数实用性较强的,原因就是因为客户轻易编写其中的代码.例如:可以实现一个将所有数据类型转换为字符串型的to_string函数代码如下: #include<iostream> template<class

ATL中宏定义offsetofclass的使用

近日学习ATL,通过对宏定义offsetofclass的解惑过程,顺便分析下虚函数表,以及通过虚函数表调用函数的问题. 1 解开ATL中宏定义offsetofclass的疑惑 #define _ATL_PACKING  8 #define offsetofclass(base, derived) ((unsigned long)(static_cast <base*>((derived*)_ATL_PACKING))-_ATL_PACKING) 分析如下:(base 基类 , derived

sencha 2.3中自己定义PullRefreshFn给PullRefresh加入下拉刷新事件

Sencha removed the refreshFn from the pullrefresh plugin in ST 2.2. Here is an user extension with gives the old functionality back to you. /** * This user extension gives st 2.3.0 Pullrefresh the RefreshFn back * based on sencha touch 2.3.0 * * @cla

C++编译与链接(0)-.h与.cpp中的定义与声明

C++中有的东西需要放在可以在.h文件中定义,有的东西则必须放在.cpp文件中定义,有的东西在不同的cpp文件中的名字可以一样,而有的则不能一样 那么究竟哪些东西可在头文件中定义,声明,哪些东西又必须在.cpp中定义,声明呢? *以下所有的讨论都是在全局命名空间中(即不定义自己的namespace)下进行的 函数 1.在.h中只能声明函数,在.cpp中可以声明与定义函数 如果在.h中声明并定义一个函数,则该函数只能被#include一次,否则则会出现重定义错误 比如 1.h #pragma on

获取iPod library中的媒体文件

[获取iPod library中的媒体文件] The Media Player framework provides facilities for playing movie, music, audio podcast, and audio book files. This framework also gives your application access to the iPod library, letting you find and play audio-based media it