在一个cell library中,比较重要的是cell height,cell height由tracks来决定,track表示一个metal线的pitch。

一个cell通常被做成一定数量的tracks,主要由timing和routing来进行优化。

1)Tall track height library可以支持复杂的routing,更大的drive strength,但是leakage和area较大。

适用于perormance要求比较大的地方。一般会有11-12track。

2)low-track height library,适用于area efficiency的区域,相应的drive strength较小。一般有7-8track。

3)standard track height library,drive strength与area之间的trade-off。

根据不同的threshold voltage来进行分类:

1)high-Vt library,适用于non-timing-critical design,leakage较小,timing较差。

2)low-Vt library,适用于speed logic。leakage较大。

3)Regular/Standard library,leakage和speed之间的trade-off。

长沟道gates(Long channel-length)减小leakage,增加timing和area。

Cell library的model:

1)Timing model:完成multiple corner的synthesis,optimization。

2)Physical model:针对layout,包含power和signal ports。

3)Functional model:为了gate level的netlist simulation

4)Power model:分析dynamic和leakage的power optimization

5)Test model:支持ATPG和fault coverage。

针对multi-voltage,voltage scaling和power gating的design,传统的timing model变得不是太精确,

所以目前在后端多使用current source model(CCS)这样的模型来进行建模。

Isolation cell:主要实现有两种:

1)Power down domain输出的信号,进行isolate。

2)Power active domain输入的信号,进行isolate。

一般都使用Power down domain的输出信号进行isolate,因为:

1)当一个output signal输出到多个domain时,output的isolate只需要做一次,而input需要每个domain做一次。

2)output isolate,可以共享一个控制信号,而input需要做多个控制信号。

使用output isolate有一个缺点,iso_ctrl必须是aon的信号,所以在power rail上需要做特别处理。

而input isolate,iso_ctrl可以使用和domain一样的power rail。

信号的isolate分类三种:

1)clamp到"0",   2)clamp到“1”,  3)clamp到last值。

isolate的控制信号一般都是一个跨power domain的global信号,属于always-on的domain。

isolate cell外接一个门电路时,一般会带来sneak path leakage。从VDD到VSS的一条DC path。

总之:output signal isolate会比input isolate更好一些。

如果lib中的isolate cell不可用,使用门电路(AND,NOR)也可以自己搭建。

pass-gate logic不应该放在两个power domain的interface上,防止sneak DC path。

在placement和physical synthesis中,应该将isolate cell放在power island boundary上。

isolate cell会带来delay,所以不用的地方,尽量不用

lower power的physical library的更多相关文章

  1. Lower Power with CPF(二)

    CPF文件可以有两种组织方式:Flat CPF file or Hierarchical CPF file. 由于在大型的SoC设计中,一般都采用Hierarchical的形式,所以本文主要按这个方式 ...

  2. Lower Power with CPF(三)

    常用的一些Lower Power的策略: 1)Clock tree optimization and clock gating:在正常情况下clock信号会一直toggle at the maximu ...

  3. lower power的IP设计

    在IP的实现过程中,考虑lower power部分进行设计: 1)Partition the design来满足lower power的一些strategies,尤其是power gating和clo ...

  4. Lower Power with CPF(四)

    CPF从Front-end到Back-end(RTL--GDSII)的整个流程: 1)Creating a CPF file:来在前端就建立lower power的规范. 2)检查CPF文件的正确性, ...

  5. Lower Power with CPF(一)

    CPF(Common Power Format):cadence推出的一种在设计中描述低功耗设计的文件.完全按Tcl的语言格式来定义. CPF文件在整个前端后端的过程中,需要的部分不一样,所以CPF文 ...

  6. lower power设计中的DVFS设计

    Pswitch = Ceff * Vvdd^2*Fclk, Pshort-circuit = Isc * Vdd * Fclk, Pleakage = f(Vdd, Vth, W/L) 尽管对电压的s ...

  7. Multi-voltage和power gating的实现

    power domain:一个逻辑的集合体,包含power supply的一些信息.建立在FE. voltage area:chip上的一块物理区域.可以看作power domain的物理实现. Le ...

  8. Power Gating的设计(模块二)

    针对lower power的验证,由cpf/upf来建模,包括: 1)power gating的功能模型(在power gate之后将output force为x) 2)isolation功能模型: ...

  9. Power Profiles for Android

    http://source.android.com/devices/tech/power.html Battery usage information is derived from battery ...

随机推荐

  1. Maximal Square || LeetCode

    dp. #define MAX 1000 int rowLeft[MAX][MAX]; int colUp[MAX][MAX]; int dp[MAX][MAX]; void calRow(char ...

  2. 对象(List<T>)的序列化和反序列化

    本文描述将对象(List<T>)序列化到 XML 文档中和从 XML 文档中反序列化为对象(List<T>). 命名空间: System.Xml.Serialization 程 ...

  3. Cocos2d-JS引入其他场景小实例

    创建新项目,目标是把LogoNode.js场景引入app.js 新建LogoNode.js var LogoLayer = cc.Layer.extend({ ctor:function () { t ...

  4. AGS API for JavaScript 图表上地图

    原文:AGS API for JavaScript 图表上地图 图1 图2 图3 -------------------------------------华丽丽的分割线--------------- ...

  5. [LeetCode]题解(python):088 Merge Sorted Array

    题目来源 https://leetcode.com/problems/merge-sorted-array/ Given two sorted integer arrays nums1 and num ...

  6. 修改phpmyadmin文件的最大上传大小

    修改php.ini 1.file_uploads on 是否允许通过HTTP上传文件的开关 2.upload_tmp_dir 文件上传至服务器上存储临时文件的地方,如果没指定就会用系统默认的临时文件夹 ...

  7. MFC之常用控件(四)

    常用控件主要包括:静态文本框.编辑框.单选按钮.复选框.分组框.列表框.组合框.图片控件.列表控件.树形控件和进度条控件等等.本节教程先来讲解静态文本框的使用. 控件的通知消息 在将静态文本框的使用之 ...

  8. imx6 启动 init进程

    之前不知道imx6内核是怎么启动文件系统的init进程,查了下资料,记录于此,以后再来补充. kernel/init/main.c static noinline int init_post(void ...

  9. php 如何进入mysql数据库

    我是初学者,有两台电脑,进入数据库通用的方法直接找mysql.exe,如下例: F:\Program Files\wamp\bin\mysql\mysql5.5.20\bin

  10. vsUnit单元测试

    在自定义的方法名上[右键]然后选择[创建单元测试],之后在项目中就添加了一个单元测试的项目,找到对应的单元测试的方法[TestMethod()]特性修饰,将单元测试的方法中最后一句:Assert.In ...