低功耗設計與UPF(Unified Power Format)

簡介與重要性

早期的製程因為功耗不高,因此通常會忽略功耗的問題。然而,隨著製程進步到 90 奈米後,漏電流帶來的靜態功耗顯著增加,使得功耗問題不能再忽視。

UPF 的角色

UPF(Unified Power Format)是一個用來描述 IC 設計中電源管理的標準語言,最新版本為 UPF 3.1(IEEE 1801-2018)。UPF 將設計中的電源需求與 RTL分離,幫助設計者定義和管理多電源域,使低功耗策略更靈活且易於集成。

UPF新版本有些語法會被捨棄,不一定要用到最新的3.1,用2.0甚至1.0也可以。

常見的低功耗技術像是power gating,做了之後還會再搭配isolation,retention。

以下為 UPF 中的一些常見語法:

create_power_domain:用於定義電源域,劃分出虛擬的等電位作用範圍。

create_power_supply_port:用來定義電源或接地端口。

create_supply_net:定義電源線路。

connect_supply_net:連接電線與電源

create_supply_set:定義電源與線路的集合。

create_power_switch:定義電源開關。

set_retention:定義在斷電期間需要保存的資料,當重新供電時,將這些資料寫回到電路,以便快速恢復到斷電前的狀態,減少重新初始化的時間和功耗。

set_isolation:定義在斷電期間輸出端的固定值,以防止輸出未知或不穩定的訊號,確保其他電路不受干擾,避免整體運作受到影響。

以下的的圖片語法都是最新的UPF3.1,跟舊版的會有點差異。

create_power_domain

create_power_domain 最常用的參數是elements

要宣告為top domain

upf 2.0之後的寫法為

create_power_domain_top -elements {.}

1.0的寫法是

create_power_domain_top -include_scope

-include_scope,這個參數在2.0已經被捨棄

create_power_domain PDTop

-elements {.}

-supply {primary PDTop_s}

create_power_supply_port

direction參數通常不會寫

create_power_supply_port VDD

create_power_supply_port VSS

create_supply_net

create_supply_net VDD

create_supply_net VSS

connect_supply_net

connect_supply_net VDD -ports VDD

connect_supply_net VSS -ports VSS

create_supply_set

create_supply_set PDTop_s

-function {power VDD} -function {ground VSS}

create_power_switch

create_power_switch ps_Sel

-domain PD

-input_supply_port {VDD_in VDD}

-output_supply_port {VDD_out VDD_Sel}

-control_port {enable power_switch}

-on_state {on_state VDD_in {!enable}}

-off_state {off_state {enable}}

control_port是控制switch的訊號

on_state是power on時

off_state是pwoer off

set_retention

set_retention ret

-domain PDTop

-elements module_instance

-restore_signal {restore_signal posedge}

-save_signal {save_signal posedge}

-retention_supply PDTop_s

elements是要儲存的訊號

restore_signal是恢復供電時的觸發訊號

save_signal是斷電前要保存的觸發訊號

set_isolation

set_isolation iso

-domain PDTop

-elements module_instance/module_output

-clamp_value Z

-isolation_signal power_switch

-isolation_sense high

-isolation_supply PDTop_s

elements是要保持穩定的output訊號

clamp_value表示斷電時要為什麼值,可設為0、1、Z、latch

isolation_signal是觸發的訊號

isolation_sense是在high還是low觸發

剩下的我就不介紹了

而其他的低功耗這篇寫得很好

https://medium.com/@victor785413/low-power-design-fpga-asic-%E7%A1%AC%E9%AB%94%E8%A8%AD%E8%A8%88%E7%90%86%E8%AB%96%E7%AF%87-2c677469184d

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *