国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

芯片低功耗設計之UPF簡介

這篇具有很好參考價值的文章主要介紹了芯片低功耗設計之UPF簡介。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

可以把芯片設計粗略分為三個部分:功能、時序和電源,它們分別對應RTL、SDC和UPF三種設計文件。

芯片低功耗設計之UPF簡介

前端工程師對RTL和SDC肯定是非常熟悉的,但是UPF(SNPS叫UPF,Cadence叫CPF)更多地是跟后端相關,所以前端不一定了解。這里簡單介紹一下UPF的原理。

?

首先要明白幾個概念。

1、Power Domain(PD)

網上關于PD的解釋:Hence, the UPF power domain is a collection of instances that are treated as a group for power-management purposes. Power domain defines the group of instances that shares the common set of power supply requirements.

形象化一點的理解,PD就是共用一個電源(包括VDD和VSS)的一堆電路,而且這堆電路的邊界往往是根據RTL Hierarchy的boundary來定義的。

芯片低功耗設計之UPF簡介

芯片低功耗設計之UPF簡介

2、Supply Nets, Supply Ports, Power Switches

Supply Nets:可以類比RTL里面的wire,用來定義一根電源線,而且只在聲明它的PD中有效。

Supply Ports:可以類比RTL里面的port,在電路中它們對應的是電源pin。

Power Switches:這個沒有可類比的RTL元素,它就是一個電源開關,其兩端電源屬于不同的Nets,控制信號來自RTL function電路。

芯片低功耗設計之UPF簡介

?

3、Isolation Cell(ISO)

在用到power switch的多電源域芯片中,ISO是必須用到的單元。原因很簡單,可關電的PD的邏輯輸出,在power down以后呈現X態(tài),如果不加處理連到always on的邏輯,可能導致功能異常。ISO的功能類似AND和OR(取決于掉電后希望保持1還是0),其中ISO_EN由always on domain的信號驅動,在掉電前會先打開ISO_EN,保證掉電PD的輸出都處于確定值,然后再關電;反過來,上電完成后才會關閉ISO_EN,從而保證電路的穩(wěn)定。

那么ISO應該放到關電PD還是always on呢?答案是都可以。放到關電PD的優(yōu)點是可以節(jié)省ISO數量(考慮到一個輸出連到多個PD的情況),缺點是需要把always on的power rail拉過來;放到always on的話其電源連接比較簡單。筆者更傾向于后者。

芯片低功耗設計之UPF簡介

4、Power State Table(PST)

用來定義芯片低功耗模式的一張表格,包含power supplies(nets/ports)以及它們在不同模式下的狀態(tài)(on/off)。

芯片低功耗設計之UPF簡介

有了這些基本概念,我們可以試著設計一個簡單的UPF。

############################################################################
## UPF Demo                                                               ##
############################################################################
## create power domains
create_power_domain chip_top    -include_scope
create_power_domain block1      -elements {inst_block1}
create_power_domain block2      -elements {inst_block2}
create_power_domain block3      -elements {inst_block3}

## create common supply net
## VDD is the always on source net for every block
create_supply_net   VDD      -domain chip_top
create_supply_net   VDD      -domain block1         -reuse
create_supply_net   VDD      -domain block2         -reuse
create_supply_net   VDD      -domain block3         -reuse

## create supply nets for blocks functional logic
create_supply_net   VDD_1    -domain block1     
create_supply_net   VDD_2    -domain block2     
create_supply_net   VDD_3    -domain block3  

## create common VSS net for whole chip
create_supply_net   VSS           -domain chip_top
create_supply_net   VSS           -domain block1     -reuse
create_supply_net   VSS           -domain block2     -reuse
create_supply_net   VSS           -domain block3     -reuse

## create VDD port and connect it to VDD supply net
create_supply_port  VDD
connect_supply_net  VDD      -ports   VDD

## create VSS port and connect it to VSS supply net
create_supply_port  VSS     
connect_supply_net  VSS      -ports   VSS

## set primary supply net
set_domain_supply_net chip_top      -primary_power_net VDD      -primary_ground_net VSS
set_domain_supply_net block1        -primary_power_net VDD_1    -primary_ground_net VSS 
set_domain_supply_net block2        -primary_power_net VDD_2    -primary_ground_net VSS 
set_domain_supply_net block3        -primary_power_net VDD_3    -primary_ground_net VSS

## create power switch
create_power_switch block1_sw   -domain block1  -input_supply_port {<PIN_NAME> VDD} -output_supply_port {<PIN_NAME> VDD_1} \
                                -control_port {<PIN_NAME> inst_always_on/pwr_ctrl} \
                                -on_state     {<state_name> <input_pin_name> <boolean_expression>} \
                                -off_state    {<state_name> <boolean_expression>}
map_power_switch    block1_sw   -domain block1 -lib_cells {<cell_list>}

create_power_switch block2_sw   -domain block2  -input_supply_port {<PIN_NAME> VDD} -output_supply_port {<PIN_NAME> VDD_2} \
                                -control_port {<PIN_NAME> inst_always_on/pwr_ctrl} \
                                -on_state     {<state_name> <input_pin_name> <boolean_expression>} \
                                -off_state    {<state_name> <boolean_expression>}
map_power_switch    block2_sw   -domain block2 -lib_cells {<cell_list>}

create_power_switch block3_sw   -domain block3  -input_supply_port {<PIN_NAME> VDD} -output_supply_port {<PIN_NAME> VDD_3} \
                                -control_port {<PIN_NAME> inst_always_on/pwr_ctrl} \
                                -on_state     {<state_name> <input_pin_name> <boolean_expression>} \
                                -off_state    {<state_name> <boolean_expression>}
map_power_switch    block3_sw   -domain block3 -lib_cells {<cell_list>}

## set isolation cells, default clamp value = 0
set_isolation block1_iso_out    -domain block1      -isolation_power_net VDD -isolation_ground_net VSS -clamp_value 0 -applies_to outputs
set_isolation block2_iso_out    -domain block2      -isolation_power_net VDD -isolation_ground_net VSS -clamp_value 0 -applies_to outputs
set_isolation block3_iso_out    -domain block3      -isolation_power_net VDD -isolation_ground_net VSS -clamp_value 0 -applies_to outputs

## set exceptions for the isolation cells with clamp value = 1
set_isolation block1_iso_high_out -domain block1    -isolation_power_net VDD -isolation_ground_net VSS -clamp_value 1 -applies_to outputs -elements { \
                inst_block1/output_signal1 \
                inst_block1/output_signal2 \
                inst_block1/output_signal3 \
                inst_block1/output_signal4 }

set_isolation block3_iso_high_out -domain block3    -isolation_power_net VDD -isolation_ground_net VSS -clamp_value 1 -applies_to outputs -elements { \
                inst_block3/output_signal1 \
                inst_block3/output_signal2 \
                inst_block3/output_signal3 \
                inst_block3/output_signal4 \
                inst_block3/output_signal5 \
                inst_block3/output_signal6 \
                inst_block3/output_signal7 \
                inst_block3/output_signal8 }

## set isolation control signals for both clamp vaule 0 and clamp value 1 cells
set_isolation_control block1_iso_out       -domain block1  -isolation_signal inst_always_on/block1_iso_en  -isolation_sense high -location parent
set_isolation_control block1_iso_high_out  -domain block1  -isolation_signal inst_always_on/block1_iso_en  -isolation_sense high -location parent
set_isolation_control block1_iso_out       -domain block2  -isolation_signal inst_always_on/block2_iso_en  -isolation_sense high -location parent
set_isolation_control block1_iso_high_out  -domain block2  -isolation_signal inst_always_on/block2_iso_en  -isolation_sense high -location parent
set_isolation_control block1_iso_out       -domain block3  -isolation_signal inst_always_on/block3_iso_en  -isolation_sense high -location parent
set_isolation_control block1_iso_high_out  -domain block3  -isolation_signal inst_always_on/block3_iso_en  -isolation_sense high -location parent

## define power state on supply port
add_port_state VDD                            -state {on  0.81}
add_port_state block1_sw/<output_pin_name>    -state {on  0.81} -state {off off}
add_port_state block2_sw/<output_pin_name>    -state {on  0.81} -state {off off}
add_port_state block3_sw/<output_pin_name>    -state {on  0.81} -state {off off}
add_port_state VSS                            -state {on  0}

#############################################
## Create PST                              ##
#############################################
create_pst flatten_pst -supplies                {VDD  VDD_1  VDD_2  VDD_3}
## all power on
add_pst_state pwr_s0  -pst flatten_pst  -state  { on   on     on     on  }  
## block2 & block3 power off
add_pst_state pwr_s1  -pst flatten_pst  -state  { on   on     off    off }
## block1 & block3 power off
add_pst_state pwr_s2  -pst flatten_pst  -state  { on   off    on     off }
## block1 & block2 & block3 power off
add_pst_state pwr_s3  -pst flatten_pst  -state  { on   off    off    off }

除了上面提到的內容,UPF還包含level shifter/retention/always_on_cell等單元,可以實現多電壓域等更復雜的低功耗設計。此外,UPF2.0以后的版本還支持面向對象的寫法,靈活度更高,不過可讀性較差。UPF1.0應對一般的電源設計是足夠用了。文章來源地址http://www.zghlxwxcb.cn/news/detail-438144.html

到了這里,關于芯片低功耗設計之UPF簡介的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 國內幾款常用熱門音頻功放芯片-低功耗、高保真

    國內幾款常用熱門音頻功放芯片-低功耗、高保真

    音頻功放芯片,又稱為音頻功率放大器芯片,是指一種將音頻信號轉換成線性的輸出功率的集成電路芯片,在音頻功放領域中一類是傳統(tǒng)意義上的模擬功放;另一類是數字功放,它們都可以實現模擬信號到數字信號的轉換。 隨著智能手機、汽車音頻、AI智能音箱,智能家居、

    2024年02月13日
    瀏覽(21)
  • 算力256TOPS,典型功耗35W,存算一體芯片殺入智能駕駛

    算力256TOPS,典型功耗35W,存算一體芯片殺入智能駕駛

    作者 | 張祥威 編輯 | 德新 國產智駕芯片有了新玩家 “最高物理算力256 TOPS,典型功耗35W,基于12nm制程工藝?!?5月10日,后摩智能發(fā)布首款基于存算一體架構的智駕芯片—— 鴻途?H30 ,并公布上述關鍵指標。 算力、數據和算法,并稱AI的三大核心要素。其中,算力屬于基礎

    2024年02月04日
    瀏覽(20)
  • 技術之外(02)猿創(chuàng)征文|寶藏工具篇|數字芯片設計,嵌入式開發(fā),人工智能|沒我可以,沒你不行

    技術之外(02)猿創(chuàng)征文|寶藏工具篇|數字芯片設計,嵌入式開發(fā),人工智能|沒我可以,沒你不行

    新芯設計:專注,積累,探索,挑戰(zhàn) ??由于工作的繁忙,已經有較長的時間沒有發(fā)文了。偶然之間,在回復讀者來信的時候,關注到了 CSDN 創(chuàng)作活動中的「 猿創(chuàng)征文 」 第四季 | 2022 年我的開發(fā)者工具 。這時才晃過神來,2022 年,已經跨入了倒數的一個四分之一,歲月的印

    2024年01月23日
    瀏覽(62)
  • Si3262 一款低功耗刷卡+觸摸+mcu 三合一SOC芯片

    Si3262 一款低功耗刷卡+觸摸+mcu 三合一SOC芯片

    ?Si3262是-款高度集成的低功耗soC芯片,其集成了基于RISC-V 核的低功耗MCU和工作在13.56MHz的非接觸式讀寫器模塊。 該芯片ACD模式下刷卡距離可達4-5cm(天線決定),適用于智能門鎖,電子鎖,柜鎖,桑拿鎖,物流鎖等。 MCU模塊具有低功耗、Low Pin Count、寬電壓工作范圍,集成了

    2024年02月09日
    瀏覽(20)
  • PHY6222系統(tǒng)級SOC藍牙芯片低功耗高性能藍牙MESH組網智能家居

    PHY6222系統(tǒng)級SOC藍牙芯片低功耗高性能藍牙MESH組網智能家居

    ?PHY6222是一款支持BLE 5.2功能和IEEE 802.15.4通信協(xié)議的系統(tǒng)級芯片(SoC),集成了超低功耗的高性能多模射頻收發(fā)機,搭載32-bit ARM?Cortex?-M0處理器,提供64K retention SRAM、可選128K-8M Flash、96KB ROM以及256bit efuse,支持基于BLE和IEEE 802.15.4的安全架構、應用和OTA在線升級。此外,芯片串

    2024年03月17日
    瀏覽(36)
  • 數字IC設計之——低功耗設計

    數字IC設計之——低功耗設計

    目錄 概述 背景 為什么需要低功耗設計 CMOS IC功耗分析 基本概念 功耗的分類 功耗相關構成 不同層次低功耗設計方法 芯片中的功耗分布以及對應的低功耗方案 低功耗方案 系統(tǒng)算法級的低功耗技術 編碼階段的低功耗技術 門控時鐘 Clock Gating 物理實施的低功耗技術 操作數分離

    2023年04月18日
    瀏覽(22)
  • IOT低功耗設計思路

    IOT低功耗設計思路

    IOT低功耗設備設計大致為3個方面的設計: 器件選型、電路設計、軟件設計、續(xù)航壽命估算 單片機 1.選擇具備多種低功耗工作模式的MCU,如MCU支持5種低功耗模式(Sleep,Stop0,Stop2,Standby,VBat),開啟帶有RTC喚醒的Stop模式可讓功耗盡可能低;低功耗MCU的選型:總功耗可以分為

    2024年03月25日
    瀏覽(18)
  • 手機中的功耗設計介紹(一)

    最近在找新工作,對某大廠的功耗工程師的職位比較感興趣。于是整理一下網絡上查到的和之前基帶工作中與功耗相關的知識。 不同的公司可能會有不同的責任劃分,上份工作,硬件部分的功耗是由基帶負責。主要接觸到的是整機的關機漏電流,待機底電流,其他場景下的電

    2024年02月10日
    瀏覽(22)
  • PMIC芯片簡介

    PMIC(Power Management Integrated Circuit),即電源管理集成電路,是一種專門用于管理和分配電子設備中電源的關鍵組件。它通過集成多種電源管理功能,提高了電源系統(tǒng)的效率和可靠性,同時減小了設備的尺寸和成本。 工作原理和功能 電源轉換 :PMIC通常包含內置的DC-DC轉換器,

    2024年04月09日
    瀏覽(26)
  • 芯片FT量測簡介

    芯片FT量測簡介

    概要:芯片的量測需求的資源主要是ATE+Handler+量測治具+測試程序。 ATE:ATE是Automatic Test Equipment的縮寫, 于半導體產業(yè)意指集成電路(IC)自動測試機, 用于檢測集成電路功能之完整性, 為集成電路生產制造之最后流程, 以確保集成電路生產制造之品質。 Handler:即Test Handler集

    2024年02月02日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包