使用Leda进行低功耗规则检查
📑 目录
- 1. **使用Leda进行低功耗规则检查**
- 2. **目录**
- 3. **图表目录**
- 4. **1.0 引言**
- 5. 可开/关的标准单元逻辑由NMOS footer[[休眠晶体管 Sleep Transistor]]进行功耗门控。NMOS
- 6. **1.3 Leda详细信息**
- 7. **2.0 方法论**
- 8. 
- 9. 
- 10. **2.4 时钟树中的错误**
- 11. 
- 12. 图2-7 休眠单元
使用Leda进行低功耗规则检查
会议: SNUG San Jose 2008
作者: Shailja Garg, Jason Ferrell, Sanjay Sancheti, Parthasarathy Narasimhan, Anup Nayak (Cypress Semiconductor)
页数: 12
源文件: SNUG_2008_SanJose_Mills_How_to_build_a_million_gate_paper_4.pdf
Page 1
使用Leda进行低功耗规则检查
Shailja Garg, Jason Ferrell, Sanjay Sancheti, Parthasarathy Narasimhan, Anup Nayak
Cypress Semiconductor sgq@cypress.com
摘要
低功耗设计 Low Power Design可能包含一个或多个工作在不同电压水平的模块,实际上甚至允许其中一些模块不时被关闭以降低功耗。在处理多电压设计时,还需要隔离单元 Isolation Cell。本文讨论了使用Leda进行全芯片级别电源域 Power Domain一致性验证的完整方法论。
Page 2
目录
1.0 引言 1.1 多电源域 1.2 使用Leda的重要性 1.3 Leda详细信息 2.0 方法论 2.1 电压区域 2.2 错误的电源域 2.3 缺失的隔离单元 2.4 时钟树中的错误 2.5 休眠晶体管 3.0 结果 4.0 结论与建议 5.0 致谢 6.0 参考文献
Page 3
图表目录
图1-1 电源域 图1-2 Leda流程 图2-1 错误的电源域 图2-2 布图规划中的错误 图2-3 隔离单元 图2-4 布图规划错误——隔离单元 图2-5 时钟门控 图2-6 布图规划错误——时钟树 图2-7 休眠单元
Page 4
1.0 引言
对不同电源域 Power Domain之间交互规则进行静态验证非常重要。挑战在于能够在设计周期早期使用低功耗设计 Low Power Design规则进行验证,例如它可以检查跨电压域信号上是否存在电平转换器 Level Shifter。低功耗设计应用广泛应用于具有低动态功耗和待机功耗的手持设备。
为了能够实现低功耗,我们确实需要使用各种低功耗技术。一些常用的低功耗设计技术包括:
动态功耗降低技术: 1. 时钟门控 Clock Gating 2. 降低供电电压,多电源域 Multiple Power Domains
泄漏功耗 Leakage Power降低技术: 1. 体偏置晶体管 2. 休眠晶体管 Sleep Transistor 3. 双阈值电压CMOS
本文选择讨论完整方法论的示例是一个用于低功耗手持消费类应用的0.13um工艺器件。该器件的全芯片待机电流规格在最恶劣的工艺、电压和温度条件下为45uA。对存储器和逻辑模块都广泛使用了电源门控 Power Gating,以降低漏电流并满足规格要求。
1.1 多电源域
为了使用功耗降低技术,需要创建多电源域 Multiple Power Domains。这包括一个或多个工作在不同电压水平的模块,实际上甚至允许其中一些模块不时被关闭以降低功耗。休眠晶体管连接在全局电源/地总线和这些不同电源域的相应虚拟电源/地网络之间,如下图所示:
图1-1 电源域
Page 5
可开/关的标准单元逻辑由NMOS footer休眠晶体管 Sleep Transistor进行功耗门控。NMOS休眠晶体管的输出成为虚拟vgnd(vgnd_vir电压区域)。一小部分标准单元逻辑实例始终保持开启。始终开启的逻辑包含全局控制逻辑。
1.2 使用Leda的重要性
Leda是一个静态RTL或门级电气设计规则检查器,可以检查低功耗设计规则。它有助于检查与休眠晶体管相关的电气规则以及管理多电源域 Multiple Power Domains的其他电气设计规则。
Leda做什么? Leda通过使用与低功耗相关的电气设计规则(如电压域、开/关区域和隔离单元 Isolation Cell)检查物理实现是否正确。它检查以下内容: 1. 在修改后的RTL上检查低功耗规则。 2. 验证物理实现是否符合低功耗流程中指定的设计规则。 3. 检查电源域和电压域 Voltage Domain是否正确。 4. 节省调试门级Verilog仿真和在正确电压区域中物理放置缓冲器/隔离单元的周期。
何时使用: Leda在设计过程的多个阶段运行,以创建干净的设计,从而节省多轮RTL到GDSII迭代的时间: 1. 布图规划阶段,检查电源总线、电压区域、休眠晶体管放置。 2. 设计编译后阶段,对最终RTL进行检查。 3. 物理综合阶段。 4. 时钟树综合之后,建立时序优化和放置之后。 5. 插入隔离单元之后。 6. 最后在布线后数据库就绪时,即所有修正已到位。
Page 6
1.3 Leda详细信息
图1-2 Leda流程
Leda使用流程图中所示的输入文件: 1. filter.tcl - 过滤虚假错误的脚本 2. cfg.tcl - Synopsys Leda主要功耗规则的设置 3. synopsys_Leda.setup - 引用.db文件的设置文件 4. runme - 启动Leda运行的脚本 5. createLogicVA - CSH脚本,从电压区域(VA)布图规划文件中创建OFF区域中的缓冲器列表
Page 7
2.0 方法论
2.1 电压区域
当在物理设计中引入功耗门控休眠晶体管时,必须创建不同的电压区域(VA)来分离具有虚拟电源/地和真实电源/地的区域。这些电压区域基于设计要求创建;其理念是将电压区域数量最小化到尽可能少,以最小化运行时间。
电压区域——电压区域是设计中工作在同一电压水平的一组一个或多个模块。 关断区域——关断区域定义为可以被关闭或可以在较低电压水平下工作以节省功耗的电压区域。
2.2 错误的电源域
在设计中创建不同的电压区域使得检查控制信号是否始终从始终开启区域驱动变得极为重要。
图2-1 错误的电源域
例如,休眠单元和隔离单元 Isolation Cell的控制信号应来自始终开启区域,并由该区域中的缓冲器驱动。下面布图规划示例中显示的错误中可以看到相反的情况——本应在ALWAYS ON(黄色)区域中的缓冲器出现在on/off(红色)区域中。因此,为了纠正此错误,这些缓冲器被移到ALWAYS ON区域并连接到全局vgnd。
Page 8
图2-2 布图规划中的错误
2.3 缺失的隔离单元
隔离单元 Isolation Cell插入在OFF模块和ON模块的边界之间。这确保了当一个模块被关闭时,到ON模块的输入被驱动到已知状态。Leda检查来自OFF区域的缓冲器是否不驱动隔离单元的控制信号。隔离单元上的控制信号引脚/端口名称通过EN_PIN定义。设计中要检查的隔离单元列表通过一个属性定义它们为ISO单元来确定。此规则验证隔离单元是否放置在ON/OFF和ALWAYS ON区域之间。此规则将检查隔离单元的控制信号是否来自始终开启区域 Always-On Region。
图2-3 隔离单元
Page 9
它检查以下内容,如下例所示: 1. 缺失的ISOLATION单元(以粉色显示) 2. ISOLATION单元后未插入缓冲器 3. ISOLATION单元的位置 4. ISOLATION单元的引脚电压
图2-4 布图规划错误——隔离单元
Page 10
2.4 时钟树中的错误
此规则验证在不同电源供电区域内驱动的所有时钟树是否保持在其相关的电源供电区域内,即是否有任何时钟缓冲器从始终开启区域分支到任何关断区域。此外,如果设计中使用了时钟门控 Clock Gating技术,它还将检查每个关断区域是否存在时钟门控。
图2-5 时钟门控
如下例所示,此检查确保从OFF到ON运行的任何CLK缓冲器链都按预期正确终止于隔离单元 Isolation Cell,并且没有CLK路径直接从OFF区域驱动到ON区域。它还提供了一种查看CLK路径从源到终端所经历的转换的方法,确保CLK路径不会从ON区域进入OFF然后终止于ON。这种情况在任何地方都应避免。
Page 11
图2-6 布图规划错误——时钟树
2.5 休眠晶体管
此规则将检查每个电源域 Power Domain是否存在休眠晶体管 Sleep Transistor。它还将检查休眠单元的使能信号是否来自始终开启区域 Always-On Region。它验证连接到休眠晶体管的所有ON/OFF模块。
Page 12
图2-7 休眠单元
3.0 结果
这是一种在设计周期 Design Cycle早期对不同电源域 Power Domain之间交互进行静态验证的使能方法论。
设计团队能够在运行动态仿真之前在门级网表中找到并修复错误。
与其他仿真器(如NanoSim)相比,运行时间较短,因此节省了多次待机电流仿真。
4.0 结论与建议
在后端设计的不同阶段运行Leda低功耗检查可以改善后端周期时间: 1. 设计编译后的最终RTL 2. 建立时序优化和放置后 3. 时钟树综合(CTS)后 4. 布线后(所有修正到位)
我们不仅通过在设计周期早期解决这些问题获得了更优化的设计,而且还提高了设计流程其余部分的效率。
5.0 致谢
感谢John Busco审阅并为本文提供反馈,感谢Cypress Semiconductor的CAD和芯片集成团队提供的所有支持。
6.0 参考文献
1. Analyzing Power Integrity on Power Gated Designs, Anil Gundurao and Sanjay Sancheti - Cypress Semiconductor, SNUG, San Jose 2007. 2. Full Chip IR Drop Methodology for Low Power Applications, Shailja Garg, Sanjay Sancheti, Anup Nayak - Cypress Semiconductor, SNUG, Boston 2007.
图片索引
本文共3张图片,存放于 SNUG_2008_SanJose_Mills_How_to_build_a_million_gate_paper_4_images/ 目录。
第4页:图1-1 电源域 第6页:图1-2 Leda流程 第7页:图2-1 错误的电源域、图2-2 布图规划中的错误 第8页:图2-3 隔离单元 第9页:图2-4 布图规划错误——隔离单元 第10页:图2-5 时钟门控 第11页:图2-6 布图规划错误——时钟树 第12页:图2-7 休眠单元