微波EDA网,见证研发工程师的成长! 2025濠电姷鏁告慨鐑藉极閸涘﹥鍙忛柟缁㈠枟閸庡顭块懜闈涘缂佺嫏鍥х閻庢稒蓱鐏忣厼霉濠婂懎浜惧ǎ鍥э躬婵″爼宕熼鐐差瀴闂備礁鎲¢悷銉ф崲濮椻偓瀵鏁愭径濠勵吅闂佹寧绻傚Λ顓炍涢崟顓犵<闁绘劦鍓欓崝銈嗙箾绾绡€鐎殿喖顭烽幃銏ゅ川婵犲嫮肖闂備礁鎲¢幐鍡涘川椤旂瓔鍟呯紓鍌氬€搁崐鐑芥嚄閼搁潧鍨旀い鎾卞灩閸ㄥ倿鏌涢锝嗙闁藉啰鍠栭弻鏇熺箾閻愵剚鐝曢梺绋款儏濡繈寮诲☉姘勃闁告挆鈧Σ鍫濐渻閵堝懘鐛滈柟鍑ゆ嫹04闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁惧墽鎳撻—鍐偓锝庝簼閹癸綁鏌i鐐搭棞闁靛棙甯掗~婵嬫晲閸涱剙顥氬┑掳鍊楁慨鐑藉磻閻愮儤鍋嬮柣妯荤湽閳ь兛绶氬鎾閳╁啯鐝曢梻浣藉Г閿氭い锔诲枤缁辨棃寮撮姀鈾€鎷绘繛杈剧秬濞咃絿鏁☉銏$厱闁哄啠鍋撴繛鑼枛閻涱噣寮介褎鏅濋梺闈涚墕濞诧絿绮径濠庢富闁靛牆妫涙晶閬嶆煕鐎n剙浠遍柟顕嗙節婵$兘鍩¢崒婊冨箺闂備礁鎼ú銊╁磻濞戙垹鐒垫い鎺嗗亾婵犫偓闁秴鐒垫い鎺嶈兌閸熸煡鏌熼崙銈嗗14闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁惧墽鎳撻—鍐偓锝庝簼閹癸綁鏌i鐐搭棞闁靛棙甯掗~婵嬫晲閸涱剙顥氬┑掳鍊楁慨鐑藉磻閻愮儤鍋嬮柣妯荤湽閳ь兛绶氬鎾閳╁啯鐝栭梻渚€鈧偛鑻晶鎵磼椤曞棛鍒伴摶鏍归敐鍫燁仩妞ゆ梹娲熷娲偡閹殿喗鎲奸梺鑽ゅ枂閸庣敻骞冨鈧崺锟犲礃椤忓棴绱查梻浣虹帛閻熴垽宕戦幘缁樼厱闁靛ǹ鍎抽崺锝団偓娈垮枛椤攱淇婇幖浣哥厸闁稿本鐭花浠嬫⒒娴e懙褰掑嫉椤掑倻鐭欓柟杈惧瘜閺佸倿鏌ㄩ悤鍌涘 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁惧墽鎳撻—鍐偓锝庝簼閹癸綁鏌i鐐搭棞闁靛棙甯掗~婵嬫晲閸涱剙顥氬┑掳鍊楁慨鐑藉磻閻愮儤鍋嬮柣妯荤湽閳ь兛绶氬鎾閻樻爠鍥ㄧ厱閻忕偛澧介悡顖氼熆鐟欏嫭绀€闁宠鍨块、娆戠磼閹惧墎绐楅梻浣告啞椤棝宕橀敐鍡欌偓娲倵楠炲灝鍔氭繛鑼█瀹曟垿骞橀懜闈涙瀭闂佸憡娲﹂崜娑㈡晬濞戙垺鈷戦柛娑樷看濞堟洖鈹戦悙璇ц含闁诡喕鍗抽、姘跺焵椤掆偓閻g兘宕奸弴銊︽櫌婵犮垼娉涢鍡椻枍鐏炶В鏀介柣妯虹仛閺嗏晛鈹戦鑺ュ唉妤犵偛锕ュ鍕箛椤掑偊绱遍梻浣筋潐瀹曟﹢顢氳閺屻劑濡堕崱鏇犵畾闂侀潧鐗嗙€氼垶宕楀畝鍕厱婵炲棗绻戦ˉ銏℃叏婵犲懏顏犵紒杈ㄥ笒铻i柤濮愬€ゅΣ顒勬⒒娴e懙褰掓晝閵堝拑鑰块梺顒€绉撮悞鍨亜閹哄秷鍏岄柛鐔哥叀閺岀喖宕欓妶鍡楊伓婵犵數濮烽弫鍛婃叏閻戣棄鏋侀柛娑橈攻閸欏繘鏌i幋锝嗩棄闁哄绶氶弻鐔兼⒒鐎靛壊妲紒鐐劤椤兘寮婚敐澶婄疀妞ゆ帊鐒﹂崕鎾绘⒑閹肩偛濡奸柛濠傛健瀵鈽夐姀鈺傛櫇闂佹寧绻傚Λ娑⑺囬妷褏纾藉ù锝呮惈灏忛梺鍛婎殕婵炲﹤顕f繝姘亜闁惧繐婀遍敍婊堟⒑闂堟稓绠冲┑顔炬暬閹﹢宕奸姀銏紲闂佺粯鍔﹂崜娆撳礉閵堝棎浜滄い鎾跺Т閸樺鈧鍠栭…閿嬩繆閹间礁鐓涢柛灞剧煯缁ㄤ粙姊绘担鍛靛綊寮甸鍌滅煓闁硅揪瀵岄弫鍌炴煥閻曞倹瀚�
首页 > 硬件设计 > 嵌入式设计 > SoC设计流程中的功耗管理

SoC设计流程中的功耗管理

时间:06-05 来源:互联网 点击:

量,库供应商手册中的数据可用于确定正确的功率速度比(mW/MHz)。一个模块内每种类型的单元的内部功耗可由下式计算:功耗=门数×mW/MHz×活动×频率。将一个模块内所有不同类型的单元的功率加在一起,就可得出这一模块总的内部动态功率的估计值。在综合前,可根据所选择的体系结构和对设计本身的理解来对门数进行估计。例如,从总线宽度、字长、控制层和存储器深度等可得出大致的门数。在选择了库以后,模块的门数就可以利用Design Compiler的report-reference命令在初期综合后进行估计,这项功能将报告设计中每个例化设计的数量。功率计算的一个关键方面是指定活动水平。设计中的门电路都具有不同的活动水平,在对设计进行仿真提取开关动作或不进行仿真的情况下进行估计均可。但在选择了库之后,推荐进行功能仿真来确定开关动作。

开关动作以翻转率(TR)衡量。翻转率是指在单位时间内,一个设计对象(如节点、引脚或端口)从逻辑0至逻辑1以及从逻辑1至逻辑0进行转换的次数。对于一个节点来说,如果它在100ns的时间间隔内有50次从逻辑1至逻辑0的转换,以及50次从逻辑0至逻辑1的转换,则其翻转率为1,表示每ns有1次动作转换。功率与转换率之间的关系可以理解为,在状态改变的时间间隔内,为了完成内部电路的状态转换,就必须提供一定的能量,因此,每次转换都会消耗功率。

重要的是,只有在开关动作代表了芯片的实际工作状态的情况下,在任何抽象层次上的功率估计才有意义。常见的错误是在试图确定活动时,使用一个向量来仿真系统启动序列。此项活动极少能够代表真实的工作状况,因而会导致不准确的功率估计。采用RTL级仿真能够自动生成一个SAIF(Switching Activity Interchange Format)文件,但是活动值只有在此向量现实时才是准确的。目前的工具尚不能自动生成这样的向量,因为它需要对电路的实质有明确的理解。

图3所示为可以在VCS内使用的编程语言接口(PLI)系统任务,用于在仿真期间生成SAIF文件。Power Compiler提供了一项power_estimate功能,这项功能使用SAIF文件来定义库和约束条件,以及对设计进行注释,以用于功率估计。Power Compiler针对未注释端口的默认开关动作是,每个上升沿有1/4的概率翻转,此数值在整个模块内应用和传送。
闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁惧墽鎳撻—鍐偓锝庝簼閹癸綁鏌i鐐搭棞闁靛棙甯掗~婵嬫晲閸涱剙顥氬┑掳鍊楁慨鐑藉磻濞戔懞鍥偨缁嬪灝鐎俊銈忕到閸燁偆绮诲☉妯忓綊鏁愰崨顔跨缂備礁顑勯懗鍓佹閹捐纾兼慨姗嗗厴閸嬫捇鎮滈懞銉モ偓鍧楁煥閺囨氨鍔嶉柟鍐茬焸濮婄粯鎷呴崨濠傛殘闂佽崵鍠嗛崕鎶藉箲閵忕媭娼ㄩ柍褜鍓欓锝嗙節濮橆厼浜滅紒鐐妞存悂寮查鍕拺闁圭ǹ娴风粻鎾寸箾鐠囇呭埌閺佸牊淇婇妶鍛櫤闁稿鍓濈换婵囩節閸屾稑娅e銈忕到閵堟悂骞冩禒瀣垫晬婵炴垶蓱鐠囩偤姊虹拠鈥虫灍闁荤噦濡囬幑銏犫攽鐎n亞鍊為梺闈浤涢崘銊ヮ洭濠电姷鏁告慨鐑藉极閹间礁纾规い鏍仜閻掑灚銇勯幒鎴濐仼缁炬儳顭烽弻鐔煎礈瑜忕敮娑㈡煟閹惧娲撮柟顔筋殜閺佹劖鎯旈垾鑼晼濠电姭鎷冮崘顏冪驳闂侀€涚┒閸斿秶鎹㈠┑瀣窛妞ゆ洖鎳嶉崫妤呮⒒娴e憡璐¢柟铏尵閳ь剚姘ㄦ晶妤佺┍婵犲洤绠瑰ù锝堝€介妸鈺傜叆闁哄啠鍋撻柛搴$-缁辩偤骞掑Δ浣叉嫽闂佺ǹ鏈悷銊╁礂瀹€鍕厵闁惧浚鍋呭畷宀€鈧娲滈弫璇差嚕娴犲鏁囬柣鎰問閸炵敻姊绘担鑺ョ《闁革綇绠撻獮蹇涙晸閿燂拷...
表2和表3所示为采用上述方式的估计结果。计算出内部功率之后,开关功率可以按内部功率的30%进行估计。由于没有精确的负载和开关数据,此数值仅为粗略的估计值。这样的估计主要用于对不同设计方案的功耗进行比较,而非用于预测芯片的实际功耗。但是,正如前文所述,RTL级的近似估计的确能够在早期对芯片设计的可实现性提供参考意见。
闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁惧墽鎳撻—鍐偓锝庝簼閹癸綁鏌i鐐搭棞闁靛棙甯掗~婵嬫晲閸涱剙顥氬┑掳鍊楁慨鐑藉磻濞戔懞鍥偨缁嬪灝鐎俊銈忕到閸燁偆绮诲☉妯忓綊鏁愰崨顔跨缂備礁顑勯懗鍓佹閹捐纾兼慨姗嗗厴閸嬫捇鎮滈懞銉モ偓鍧楁煥閺囨氨鍔嶉柟鍐茬焸濮婄粯鎷呴崨濠傛殘闂佽崵鍠嗛崕鎶藉箲閵忕媭娼ㄩ柍褜鍓欓锝嗙節濮橆厼浜滅紒鐐妞存悂寮查鍕拺闁圭ǹ娴风粻鎾寸箾鐠囇呭埌閺佸牊淇婇妶鍛櫤闁稿鍓濈换婵囩節閸屾稑娅e銈忕到閵堟悂骞冩禒瀣垫晬婵炴垶蓱鐠囩偤姊虹拠鈥虫灍闁荤噦濡囬幑銏犫攽鐎n亞鍊為梺闈浤涢崘銊ヮ洭濠电姷鏁告慨鐑藉极閹间礁纾规い鏍仜閻掑灚銇勯幒鎴濐仼缁炬儳顭烽弻鐔煎礈瑜忕敮娑㈡煟閹惧娲撮柟顔筋殜閺佹劖鎯旈垾鑼晼濠电姭鎷冮崘顏冪驳闂侀€涚┒閸斿秶鎹㈠┑瀣窛妞ゆ洖鎳嶉崫妤呮⒒娴e憡璐¢柟铏尵閳ь剚姘ㄦ晶妤佺┍婵犲洤绠瑰ù锝堝€介妸鈺傜叆闁哄啠鍋撻柛搴$-缁辩偤骞掑Δ浣叉嫽闂佺ǹ鏈悷銊╁礂瀹€鍕厵闁惧浚鍋呭畷宀€鈧娲滈弫璇差嚕娴犲鏁囬柣鎰問閸炵敻姊绘担鑺ョ《闁革綇绠撻獮蹇涙晸閿燂拷...
泄漏功率可以根据每种单元类型的泄漏数据进行估算。由于高态和低态下的泄漏不同,所以泄漏功率分析必须在信号处于一定逻辑状态的静态概率的基础上进行。静态概率表示为0至1之间的一个数,该数值可以根据信号的功能进行估计。例如,一般情况下,一个低态有效的复位信号的逻辑“1”静态概率(SP1)等于或接近1.0(100%)。对于一个数据总线信号而言,除非某些架构特性建议有其它概率,其SP1通常可以 假设为0.5(50%)。在选定了库之后,静态概率可在仿真期间,通过将信号处于某一特定逻辑状态下的时间和总仿真时间进行比较来计算得到。

门电路级功率分析

在综合完成后,有可能根据实际门数和仿真得到的活动来从Power Compiler中获得相当精确的功率估计值。这时估计的不准确性来自活动以及布局前的线负载值。通过从门级仿真中生成SAIF文件,准确性可以得到改善。在VCS中,与图3中相同的指令可用于生成SAIF文件,只是其中的第一条指令应当改为:

$set_gate_level_monitoring (on);

这里必须再次强调,只有在仿真向量代表了真实的应用行为时,活动值才是准确的。Physical Compiler工具在物理优化后使用write_parasitics -distributed指令用于改善负载的准确性,这项指令能够产生注释了Steiner路径和寄生电阻、电容估计值的SPEF文件。

布局完成后,门级仿真能够生成VCD(Value Change Dump)文件,用于PrimePower分析。VCD文件的记录在仿真过程中变为一个信号值,并提供了设计的节点活动、结构数据体系连接性、路径延迟、时序和事件方面的信息。

如果芯片的I/O数量众多、在高速下切换开关并驱动很长的线路,那它将有可能成为造成估计不准确的重要因素。如果设计目标要求得到准确而非最坏情况下的功率估计时,I/O的集总负载模型可能会产生过分悲观的估计结果。要想获得更为准确的结果,可以在关键的I/O

鐏忓嫰顣舵稉鎾茬瑹閸╃顔勯弫娆戔柤閹恒劏宕�

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top