芯片設計實戰篇,射頻識別芯片設計的實現與優化

芯片設計是每一個國家的發展重點之一,而壯大中國芯片設計行業將有利於下降我國對國外芯片的依賴程度。再往期文章中,小編曾對芯片設計的正反向流程、芯片設計前景等內容進行過相關介紹。本文中,小編將爲你們介紹帶來芯片設計實戰篇——射頻識別芯片設計中的時鐘樹功耗的優化與實現。前端

1 概述後端

UHF RFID是一款超高頻射頻識別標籤芯片。該芯片採用無源供電方式:在收到載波能量後,RF前端單元產生Vdd電源信號,供給整芯片工做。因爲供電系統的限制,該芯片沒法產生較大的電流驅動,所以低功耗設計成爲芯片研發過程當中的主要突破點。爲了使數字電路部分產生儘可能少的功耗,在數字邏輯電路設計過程當中,除了簡化系統結構外(功能簡單,只包含編碼模塊、解碼模塊、隨機數生成模塊、時鐘、復位模塊,Memory控制單元以及總體控制模塊),在部分電路設計中採用了異步電路設計方式。在這個過程當中,咱們看到因爲時鐘樹消耗掉了數字邏輯的很大一部分功耗(大約30%以上),因此下降時鐘樹帶來的功耗也成爲下降數字邏輯功耗以及整個標籤芯片功耗的重要步驟。網絡

2 芯片功耗組成及下降功耗的方法異步

2.1功耗的組成工具

芯片設計實戰篇,射頻識別芯片設計的實現與優化
圖1 芯片功耗的組成優化

動態功耗主要包括短路功耗和翻轉功耗,是本設計功耗的主要組成部分。短路功耗即內部功耗,指由器件內部因爲P管和N管在某一瞬間同時導通引發的瞬時短路引發。翻轉功耗由CMOS器件的輸出端負載電容充放電引發。漏電功耗主要包括亞閾區漏電和柵極泄漏引發的功耗。編碼

當今,功耗兩個最主要的來源是:電容轉換和亞閾值泄漏。設計

2.2下降功耗的主要方法blog

芯片設計實戰篇,射頻識別芯片設計的實現與優化
圖2 下降芯片功耗的主要方法ci

2.2.1下降電源電壓Vdd

Voltage Island:不一樣的模塊使用不一樣的供電電壓。

MulTI-level Voltage Scaling:同一模塊中存在多種電壓源,根據應用不一樣在這些電壓源之間切換。

Dynamic Voltage Frequency Scaling:「多級電壓調整」的升級版,根據各模塊的工做頻率動態進行電壓調整。

AdapTIve Voltage Scaling:DVFS的升級版,使用可以監視電路行爲的反饋電路,自適應地調整電壓。

亞閾值電路(設計困難較多,還停留在學術界研究範圍)

2.2.2下降頻率f及翻轉率A

代碼優化(提取公因子,資源重用,operand isolaTIon,串行工做下降峯值功耗等)

門控時鐘

多時鐘策略

2.2.3下降負載電容(CL)及晶體管尺寸(Wmos)

減小時序單元

芯片面積和規模減少

工藝升級換代

2.2.4下降漏電電流Ileak

控制閾值電壓(Threshold Voltage)(閾值電壓↑漏電流↓如使用MTCMOS 、VTCMOS 、DTCMOS)

控制柵極電壓(Gate Voltage)(經過控制柵源電壓以控制漏電流)

Transistor Stack(串接冗餘晶體管,增長電阻以下降漏電流)

門控電源(Power gaTIng或PSO)(在模塊不工做時,關斷電源,便可有效減少漏電流)

3 RFID芯片中時鐘樹功耗的優化

芯片工做時,很大一部分功耗是因爲時鐘網絡的翻轉消耗的,若是時鐘網絡較大,這部分引發的功耗損失會很大。在衆多低功耗技術中,門控時鐘對翻轉功耗和內部功耗的抑制做用最強。本設計多級門控時鐘技術相結合,以及特殊的時鐘樹優化策略,節省了很大一部分功耗。本項目在邏輯設計時使用了功耗的多種優化策略,在後端的綜合和物理設計也嘗試了一些方法,經過先後端幾回功耗優化和迭代,找出最小功耗的邏輯代碼設計和綜合的方法。

4.1 RTL階段手工加時鐘門控

芯片設計實戰篇,射頻識別芯片設計的實現與優化
圖3 門控時鐘原理圖

module data_reg (En, Data, clk, out)

input En,clk;

input [7:0] Data;

output [7:0] out;

always @(posedge clk)

if (En) out = Data;

endmodule

這個階段的目的主要有兩個:第一是根據各模塊時鐘翻轉機率更加合理的加入門控時鐘單元以控制翻轉率,減少動態功耗,第二是產生一個結構儘可能平衡的時鐘網絡,這樣能夠保證在後端時鐘樹綜合階段能夠少加入一些時鐘buffer以減少功耗。在實際的代碼設計中能夠直接採用foundry單元庫中的ICG(集成門控)單元。

4.2 綜合階段工具插於集成門控單元

芯片設計實戰篇,射頻識別芯片設計的實現與優化
圖4 邏輯綜合過程當中門控時鐘插入

#Set clock gating options, max_fanout default is unlimited

set_clock_gating_style -sequential_cell latch \

-positive_edge_logic {integrated} \

-control_point before \

-control_signal scan_enable

#Create a more balanced clock tree by inserting 「always enabled」 ICGs

set power_cg_all_registers true

set power_remove_redundant_clock_gates true

read_db design.gtech.db

current_design top

link

source design.cstr.tcl

#Insert clock gating

insert_clock_gating

compile

#Generate a report on clock gating inserted

report_clock_gating

這個階段的目的是經過綜合工具(DC)進行門控單元的自動插入,以便進一步減少功耗。

須要注意的是對插入ICG的參數的設定,好比maximum fanout(扇出越大越節省功耗,扇出越平衡skew越小,視設計而定,如圖所示),以及minimum_bitwidth參數的設定,另外對於較複雜的門控結構須要插入常開ICG以使時鐘網絡結構更加平衡。

4.3 時鐘樹綜合階段優化功耗

芯片設計實戰篇,射頻識別芯片設計的實現與優化
圖5 兩種時鐘樹結構對比(a):多級縱深型;(b):少級扁平型

先介紹一下時鐘樹綜合參數對時鐘樹結構的影響:

Skew :時鐘偏移,總的時鐘樹綜合目標。

Insertion delay(Latency):時鐘路徑總延時,用於限定時鐘樹級數的增長。

Max taranstion:由最大轉換時間限定一級buffer能驅動的buffer 的數量。

Max Capacitance Max Fanout:由最大負載電容、最大扇出限定一級buffer 能驅動的buffer 數量。

通常設計中的時鐘樹綜合以下降時鐘skew爲最終目的,加大level級數,減少每級fanout,將投入較多buffer,更精確的平衡每條時鐘路徑的 latency,從而獲得較小skew。可是對於低功耗設計,尤爲是當時鍾頻率較低的時候,時序要求並非很高,因此但願能減少時鐘樹的規模以減少時鐘樹帶來的動態翻轉功耗。如圖所示,經過減少時鐘樹level級數,加大fanout能夠有效減少時鐘樹的規模,但因爲buffer 數量的減小,較之多級結構的時鐘樹,級數較少結構的時鐘樹只是大概平衡每條時鐘路徑的latency,獲得的skew較大。可見,以下降時鐘樹規模爲目標,進行低功耗時鐘樹綜合是以增大必定的skew爲代價的。

具體到本RFID芯片,咱們採用了TSMC 0.18um CMOS LOGIC/MS/RF工藝,時鐘頻率只有1.92M,是很是低的,此時時鐘進行時鐘樹綜合時,採用以下降時鐘樹規模爲目標的低功耗時鐘樹綜合,主要對 skew,latency和transiton這幾個約束進行了設定,因爲約束fanout會帶來時鐘樹級數的增長,帶來功耗的增長,因此沒有設定這個值,採用庫裏的默認值。在實際中,咱們使用了9種不一樣的時鐘樹約束條件,約束條件及綜合結果如表1 所示。

芯片設計實戰篇,射頻識別芯片設計的實現與優化
5 結論

如表1所示,總的趨勢就是target skew設的越大,最終的時鐘樹規模越小,時鐘樹buffer數量越小,對應的動態靜態功耗也越小,這樣就達到了節省時鐘樹功耗的目的。能夠看到當target skew大於10ns後,功耗基本再也不變化,可是基於大的skew值會帶來hold時序的變差致使修復時序的時候插入buffer增多,因此應該進行折中,從圖表來看策略5和策略6爲優選方案。另外當skew設置選出最優後,還能夠看到Max transition值設的越大最終獲得的功耗也越小,這能夠理解爲時鐘信號躍遷的時間越長所須要的能量越小。另外latency約束的設置能夠儘可能放大,其值的大小對最終的功耗結果影響不大。

相關文章
相關標籤/搜索