low power-upf-vcsnlp(一)

本文深入解析了动态功耗(包括switching power和internal power)、静态功耗(leakage power)的概念,探讨了时钟门控、格雷码编码、多电压域设计、低电压待机等低功耗策略,以及VCSnlp工具的应用实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、功耗概念

1.Dynamic power

(1).switching power

动态功耗:如图中, CMOS 反向器输出在 0,1 之间转换时,对负载电容的重放电过程。

(2).internal power

内部功耗:输入信号处于中间电压时,有个短时间的功耗,此时PMOSNMOS都可以导电,此时

的功耗就是 internal power

2.Static power(Leakage power)

静态功耗:是由于在没有开关活动时的功耗,分为三类:P-N junction leakage,Gate leakage,Subthreshold leakage。

三、低功耗方法

1.clock gating

     时钟门控,对于选定的寄存器,如果某段时间保存的值不在改变。那么可以暂停其时钟信号。关闭时钟可以避免每个cycle都去重载寄存器。主要挑战是:使用在合适的地方、需要创建逻辑在恰当时间打开或关闭时钟。

2.使用格雷码编码手段。

3.直接降低供电电压(Supply Voltage Reduction)

但同样会降低开关速度,而且晶体管阈值电压也必须降低,带来抗噪能力(noise immunity),瞬开电流(crowbar currents),亚阈值漏电(subthreshold leakage)等问题

4.多电压域的标准单元(Multi—Vt Library Cells)

 标准单元库可以提供具有不同阈值电压的标准单元来实现一个逻辑函数。

5.  多电压设计(Multi-Voltage Design)

不同chip上不同的部分可能有不同的速度需求。比如CPU和RAM需要比周边模块(peripheral block)工作的更快。那么CPU和RAM可以工作在高电压域,周边模块工作在低电压域。

当然多个电压域也带来一些复杂性和额外的开销。必须提供额外的设备引脚(device pins)来提供芯片电压,并且电网(power grid)必须将每个电压源分别分配到适当的模块。当逻辑信号(logic signal)从一个电压域到另一个电压域时,需要使用level-shifter cell

如下图,高电压域到低电压域时插入了level-shifter(低到高使用得更多)。level-shifter cell需要两个电压供电,分别对应输入和输出的电压,如下图所示。       

 6.门控电压域(Power Gating)

Power gating是指某个时间段内chip内不使用的block可以完全掉电(shut down),使用是在上电。比如在手机待机时,语音功能相关的block可以掉电。

当然这种方法也会带来一些复杂性和额外开销。比如power gating需要引入power switch,isolation-cell,retention registers

Power swich:多阈值CMOS(MTCMOS)技术的High-Vt晶体管用于功耗开关(power switch)。 比如下图,高压PMOS header switch放置在VDD和模块(需要掉电的block)的供电pin之间(supply pins)。高压NMOS footer switch放置在VSS和模块(需要掉电的block)的接地pin之间(ground pins)。当然下面这种是粗粒度的策略(coarse-grain strategy),因为power switch控制了整个block。而细粒度策略(fine-grain strategy)则是可能每个标准单元都有自己的power switch,但是这种策略需要更多面积。

Isolation cells :用于掉电的 block 和没掉电的block 之间。掉电后的 block 输出信号是未知的, 这样可能导致一些接收这些值的 block (未掉电)出现问题。 如下图所示。左边掉电,右边一 直上电,将 P_UP 拉低,那么 isolation cell 会将掉电的 block 输出的信 clamp 成一个 常态( 0,1 )给 右边 block 。注意 block掉电时isolation cell 是必须有电的。
Enable level shifter:power gating可以和多电压相结 合。不同的 block 可以有不 同的电压,并且 可以独自掉电。 此种情况,接口 上就需要 level shift lS )和 isolation 两种 cell 了。这两种 cell 可以结合成 一种 cell, enable level shifter ELS
Retention register 对于掉电 block ,重新 上电时需要 恢复到掉电 之前的状态 。有一种方 法实现这种 策略,比如 可以在掉电 之前将 block 的寄存器内 容复制到 block 外面的 RAM 中,上电 后再复制回
block 中的寄 存器中。 另一种策略 是使用 retention register retention register 以在下电期 间保留数据 ,在下电前 将数据保存 shadow registers (也称为气 泡寄存器, bubble register 。上电时 重新将寄存 器值从 shadow register 载入到 main寄存器中。 注意, shadow register 必须是 always on 的。如下所示,是一种 retention register。 retention register 会带更多的面积上的 消耗,而且它需要一个 always on 的电源 供电。当然这种方式恢复 block 状态相比 其他策略来说比较快,也比较简单。

7.动态(自适应)电压和频率调整(Dynamic/Adaptive Voltage and Frequency Scaling,DVS,DVFS,AVS,AVFS)

多电压( multi-voltage )的原理 可以被扩展到,允 许在芯片的运行过 程中改变电压,以 匹配当前的工作负 载。比如 chip 在处 理常规计算需要的 电压和频率就比较 低,但是在做 3D 染时需要的电压和
频率就比较高。运 行过程中改变电压 和频率,以匹配当 前的工作负载。这 就是动态电压和频 率调整。 自适应是指在运行 过程中自动完成调 节,不需要外部干 预。
芯片和电压电源可以被设计成支持 多个等级,或者是 一个连续的范围。 动态电压调整需要 一个多电平功率电 源( multilevel power )和一个逻 辑block来确定用于给 定任务的最佳电压 电平。这种低功耗 技术,对设计、实 现、验证和测试带 来挑战。 动态电压调整 DVS DFS )可以 与电源门控技术( power gating 相结合,使设计中 的每个 block 可以 在不同性能要求下 ,工作在多个电压 水平,或在根本不 需要时完全关闭。

8.低电压待机(Low VDD standby)

0.6v低电压block是always on的,其他block都可以掉电。然后可以通过此block将其他block唤醒。

一.VCS nlp

vcs nlp(native low power)是vcs的low power仿真工具,用来仿真并debug 低功耗设计的bug。

vcs nlp仿真需要的文件:Design(Verilog/VHDL, RTL, gate-level netlist),UPF文件(Unified  Power  Format),验证平台文件(vcs nlp兼容常规验证流程中的验证平台,Testbench)

二.upf+vcsnlp+verdi实例

low power-upf-vcsnlp(二)

参考: VCS Native Low Power (NLP)User Guide.

<think>好的,用户想了解低功耗设计中的统功率格式(UPF)的相关概念、使用方法和最佳实践。首先,我需要回忆UPF的基本定义和作用。UPF是IEEE 1801标准,用于描述芯片设计中的电源管理意图。它帮助设计工具实现电源关断、多电压域等低功耗技术。 接下来,用户可能需要了解UPF的关键概念,比如电源域、电源状态、隔离单元等。需要分点解释这些术语,确保清晰易懂。例如,电源域是指共享相同供电策略的电路模块,而隔离单元用于防止信号在断电时出现不确定状态。 然后,关于使用方法,应该分步骤说明,比如定义电源域、配置电源策略、验证设计等。每个步骤需要具体例子,比如使用UPF命令创建电源域,设置保留寄存器的电源供应等。同时,要提到常用工具如Synopsys的低功耗工具链,确保信息实用。 最佳实践部分,需要强调模块化设计、早期验证、层次化电源管理、功耗分析和文档记录。这些内容能帮助用户避免常见错误,提高设计效率。例如,模块化设计可以简化电源策略管理,早期验证能减少后期问题。 最后,生成相关问题需要考虑用户可能的进步需求,比如UPF与CPF的区别、电源状态转换的实现、动态电压调节等。这些问题能引导用户深入探索相关主题,符合他们的学习路径。 需要确保回答符合系统级指令,使用正确的中文和LaTeX格式。例如,变量如$V_{dd}$要用行内公式,独立公式如功耗计算使用$$...$$。同时,引用格式要正确,结尾添加引用标识。检查是否有遗漏的关键点,比如UPF版本差异或工具支持情况,可能需要提及但不要过于深入,保持回答的全面性和简洁性。 总结整个思考过程,确保结构清晰,信息准确,满足用户对UPF基础和应用的需求。</think>### 低功耗UPF(统功率格式)在芯片设计中的应用 #### UPF基础概念 低功耗UPF(Unified Power Format)是IEEE 1801标准定义的硬件描述语言扩展,用于描述芯片设计中的电源管理意图。其核心目标是实现$V_{dd}$(工作电压)和$V_{ss}$(地电位)的动态控制,支持多电压域、电源关断、状态保留等低功耗技术[^1]。 关键术语: 1. **电源域(Power Domain)**:共享相同供电策略的电路模块集合 2. **电源状态(Power State)**:如`ON`/`OFF`/`RETENTION`等供电模式 3. **隔离单元(Isolation Cell)**:防止断电模块信号传播异常 4. **电平转换器(Level Shifter)**:跨电压域信号电平适配 #### 二、UPF实现方法 1. **电源域定义** ```tcl create_power_domain PD_CPU \ -elements {cpu_core} \ -supply {primary_rail} ``` 2. **电源策略配置** - 电源关断策略: ```tcl set_power_switch PSW_CPU \ -domain PD_CPU \ -on_state {on_state -supply {VDD}} \ -off_state {off_state -supply {}} ``` 3. **状态保留策略** ```tcl set_retention RTN_CPU \ -domain PD_CPU \ -retention_power_net VDD_RET \ -retention_ground_net VSS ``` 4. **验证流程** $$ \text{功耗完整性} = \sum_{i=1}^n (V_{dd_i} \cdot I_{leakage_i}) + \Delta P_{dynamic} $$ #### 三、最佳实践 1. **模块化设计**:按功能划分电源域,例如: - `PD_CPU`(主处理器) - `PD_GPU`(图形处理器) - `PD_IO`(外设接口) 2. **早期验证**:在RTL阶段集成UPF验证,避免后端物理设计阶段返工 3. **层次化电源管理**: ```tcl create_supply_port VDD_TOP create_supply_net VDD_CPU -domain PD_CPU connect_supply_net VDD_CPU -ports VDD_TOP ``` 4. **功耗分析优化**: - 静态漏电:通过`set_leakage_optimization`指令控制 - 动态功耗:采用时钟门控(Clock Gating)技术 5. **文档同步**:建立UPF spec与设计文档的版本对应关系 #### 四、工具支持 主流EDA工具链支持UPF流程: - Synopsys:VCS + VC LP - Cadence:Joules + Conformal Low Power - Siemens:PowerPro + Questa ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值