日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > > ZYNQ
		


前面講解了門級功耗的優(yōu)化方法,包括靜動態(tài)和總體的功耗?,F(xiàn)在來記錄一下門級層次(有點書也說是在系統(tǒng)級)常用的一種低功耗方法——電源門控。


①電源門控概述與原理



電源門控是指芯片中某個區(qū)域的供電電源被關掉,即該區(qū)域內的邏輯電路的供電電源斷開。電源門控(Power Gating)的設計如下圖所示:

如果某一模塊在一段時間內不工作,可以關掉它的供電電源(關掉供電電源可以使用MTCMOS開關,通常在使用后端工具進行布局布線時加入MTCMOS,這屬于后端知識,這里不進行介紹)。斷電后,設計進入睡眠模式,其漏電功率很小。喚醒時,為了使模塊盡快恢復工作模式,需要保持關電前的狀態(tài)。保持寄存器(retention  register)可用于記憶狀態(tài)。使用保持寄存器設計電源門控如下圖所示:


下面來解釋一下上面的設計:


  • 在睡眠模式,寄存器的電源Vdd2被切斷,因此它的漏電功耗極小;這時候僅僅保持鎖存器處于工作狀態(tài),寄存器的值保留在鎖存器里。由于鎖存器是用高閾值電壓的晶體管組成,漏電功耗很低。

  • 當Restore信號被激活時,寄存器的電源Vdd2被加上,保留在鎖存器里的值被載入到寄存器。寄存器在工作(活躍)狀態(tài)時,它作為一般的寄存器工作。Save/Restore引腳也稱為電源門控引腳(power gating pins),它們被用于把電路置于適當?shù)哪J健?/span>

  • 電源門控模塊的輸出端需要使用隔離單元(Isolation Cell)(我們在前面講過),因為在睡眠模式時,模塊的輸出為不確定值。為了保證在睡眠模式時,下一級的輸入不會懸空,插入隔離單元,提供一個"1”或”0”的輸出,使下一級的輸入為確定的邏輯值,如下所示:


ISO為睡眠控制信號,用于控制隔離單元的運作。電路在正常工作模式時,ISO=0,ISO_ IN=IN。電路在睡眠模式時,ISO=1時,如果使用下面左圖的單元作為隔離單元,輸出邏輯為“1";如使用下面右圖的單元作為隔離單元,則輸出邏輯為“0":


②工藝庫中的電源門控單元



進行電源門控設計,需要用綜合庫的支持。綜合庫中的電源門控單元的庫模型如下所示:

下面是庫模型的部分解釋:


  • 單元級屬性(Cell level attribute)

    power_gating_cell:"type","type”不可以是“none”或空字符,它鑒別所描述的保持寄存器的類型。本例中保持寄存器的類型為PG_1。

  • 電源門控寄存器的功能描述

    它是保持寄存器在活躍模式的功能。

  • 引腳級的屬性(Pin level attribute)

    power_pin_1~ power_pin_5列出了現(xiàn)有的電源門控信號的名字。例如,power_pin_1可以用于定義為睡眠(sleep)信號,power_pin_2可以用于定義叫醒(wake)信號。power_pin_[1-5]信號的默認值是寄存器處于非工作(disable)狀況的值,可以是“0”或“1"。例如,如果當power_pin_1的邏輯值為“1”時,電路進入睡眠模式,那么,其非工作(disable)狀況的值應該是邏輯“0”。


③電源門控設計流程



了解了電源門控的原理和綜合庫的電源門控單元,下面我們就來介紹電源門控的設計流程。使用電源門控的設計流程和相應的腳本如下所示:


下面進行解釋一下部分命令:


  • 腳本中使用set_power_gating_style命令來映射保持寄存器。例如對于下面的代碼

    ······

    always@ (posedge clk)  begin:sub_block_1

    g=d;

    end

    ······

    set_power_gating  -style  -type   PG_1  -hdl_block   sub_block_1命令可以把代碼中的寄存器映射為保持寄存器。選項“-type PG_1”指定使用庫中類型為PG_1的保持寄存器。選項“-hdl_block   sub_block_1”指定把RTL代碼中進程(process)名為“sub_block_1"中的所有寄存器用類型為PCG_ 1的保持寄存器代替。

  • 腳本中使用hookup_power_gating_ports命令來自動插入power_pin[1-5]端口和層次模塊的引腳。同類功耗引腳的端口或引腳會被連接在一起。例如屬性同為“power_pin_1”的引腳將被連接在一起,其默認名為“power_pin_1"。下圖為執(zhí)行hookup_power_gating_ports命令后設計中插入端口和層次模塊的引腳。我們可以使用選項“-default_port_naming_style”和“-port_naming_styles”來改變端口和/或層次模塊引腳的命名:


下面的腳本用set_power_gating_signal命令指定把電源門控引腳與現(xiàn)有的端口或層次引腳連接起來,如下所示:

set_power_gating_signal  -power_pin_index  1  [get_ports  Save]

set_power_gating_signal  -power_pin_index  2  [get_pins  A/p1]

······

hookup_power_gating_ports

結果如下所示:


  • 最后,我們可以用report_power_gating命令報告設計中的電源門控單元,如下所示:

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
關閉