【IC】mem、macro功耗计算时模式选择--全翻转

macro/mem的电流取决于mem的运行模式,例如读、写、同时读写、空闲等,每个模式的电流在AVM中有定义:

state_boolean avm_读_worse “CLKA” “MEA & WEA & !LS”
state_boolean avm_写_worse “CLKB” “MEB & !LS”
state_boolean avm_读写_worse “CLKA & CLKB” “MEB & (MEA & WEA) & !LS”
state_boolean 空闲 “!CLKA | !CLKB”
...

并且AVM文件中有每个mode模式的电流值:

Leakage_I {
	VDD VSS 2.2e-04
}
Peak_I avm_读_worse {
	VDD VSS 1.59e-01
}
Peak_I avm_写_worse {
	VDD VSS 1.66e-01
}
Peak_I avm_读写_worse {
	VDD VSS 3.25e-01
}
...

在计算mem电流或功耗时需指定mem的运行模式,有两种指定mem运行模式的方法,一种是通过mode_sequence,一种是通过mode_probabilities:

  • Mode Sequence: 读 | 读 | 写 | 空闲 | 读 | 读 | 写 | 空闲 | …
  • Mode Probabilities:读 0.2、写 0.3、空闲 0.5

计算功耗时会计算mem给定模式序列的平均功耗或给定模式概率的平均功耗,mem的功耗值就指定为该平均功耗。
上述方法需要指定mode的具体名称,对于不同IP vendor,mode名称可能不同,这时可使用redhawk工具内置的模式(内置隐藏变量,名称使用_开头_结尾):

例如:

  • high_energy_mode 最高能量模式
  • leakage_only_mode 只有leakage
  • off_mode leakage都没有

例如,mem的avm中定义的read write worst电流最大,即为_high_energy_mode_。当如下设置时,mem的功耗计算如下:

mode_probabilities:{
high_energy_mode’:1.0,
leakage_only_mode’:0.0
}

Mem current=(1.0 * avm_读写_worst) + (0.0 * Leakage_I)

上述1.0/0.0的设置是最悲观的场景,用于前期快速识别mem IR风险,后期再酌情根据波形放松。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值