0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

采用硬件描述語言實(shí)現(xiàn)PMC時(shí)鐘功耗管理控制器的設(shè)計(jì)

電子設(shè)計(jì) ? 來源:郭婷 ? 作者:電子設(shè)計(jì) ? 2019-09-27 07:54 ? 次閱讀

本文闡述了一種芯片時(shí)鐘與功耗管理控制器工作原理,進(jìn)行了模塊劃分,采用硬件描述語言實(shí)現(xiàn)了設(shè)計(jì),并利用Synopsys公司EDA工具進(jìn)行了仿真和綜合。該控制器已成功應(yīng)用于東南大學(xué)ASIC中心研制的嵌入式處理器芯片Garfield4Plus中,并通過了實(shí)際的流片和測試。 在SoC芯片設(shè)計(jì)中,功耗是微處理器芯片是否成功的重要標(biāo)準(zhǔn)之一。同時(shí),作為一個(gè)龐大的數(shù)字電路系統(tǒng),處理器芯片的時(shí)鐘架構(gòu)及其控制也將變得尤為重要,將直接影響到芯片的功耗?;谝陨峡紤],整個(gè)芯片的時(shí)鐘和功耗必須得到統(tǒng)一的管理和控制。包括核與總線在內(nèi)的各功能模塊的時(shí)鐘應(yīng)當(dāng)能夠跟據(jù)具體工作需要自由開關(guān),以保證芯片盡可能地減小功耗。因此,處理器中需要一個(gè)專門的時(shí)鐘與功耗管理控制器(以下統(tǒng)稱PMC)來實(shí)現(xiàn)這些功能。PMC控制著整個(gè)芯片的工作模式和系統(tǒng)時(shí)鐘頻率,其穩(wěn)定和完善將影響整個(gè)芯片的性能。

本文通過對PMC工作原理的分析確定了設(shè)計(jì)的總體結(jié)構(gòu)并進(jìn)行了具體的模塊劃分,使用基于硬件描述語言的邏輯綜合方式進(jìn)行了設(shè)計(jì)實(shí)現(xiàn),并成功應(yīng)用于東南大學(xué)ASIC工程中心研制的嵌入式處理器芯片Garfield4Plus中,通過了實(shí)際的流片和測試。

PMC功能描述

PMC負(fù)責(zé)管理整個(gè)芯片工作模式的切換和系統(tǒng)時(shí)鐘頻率的設(shè)定,并負(fù)責(zé)管理芯片上各功能模塊的時(shí)鐘信號和復(fù)位信號。通過設(shè)定PMC的功能寄存器,可以控制芯片在SLOW、NORMAL、IDLE、SLEEP四種工作模式間進(jìn)行切換。

系統(tǒng)啟動(dòng)后默認(rèn)工作在SLOW模式下,時(shí)鐘頻率較低,系統(tǒng)時(shí)鐘由外部晶振直接提供,并且可以通過設(shè)置PMC相關(guān)控制寄存器,得到分頻后更低速的時(shí)鐘。

NORMAL模式是系統(tǒng)最常用的正常工作模式,系統(tǒng)工作在較高的頻率上。外部晶振時(shí)鐘通過DPLL數(shù)字鎖相環(huán)倍頻后,還可以再次被分頻,得到一個(gè)可選頻率范圍較寬的高速時(shí)鐘。數(shù)字鎖相環(huán)倍頻值和穩(wěn)定時(shí)間等參數(shù)可以通過PMC進(jìn)行設(shè)置。

當(dāng)內(nèi)核空閑時(shí)可以設(shè)置系統(tǒng)進(jìn)入IDLE模式。當(dāng)總線也空閑時(shí),內(nèi)核時(shí)鐘將被關(guān)閉,同時(shí)停止對外部存儲設(shè)備的操作,可以大大減小系統(tǒng)功耗。這種模式可以被各種內(nèi)外部中斷信號喚醒,喚醒后的系統(tǒng)將恢復(fù)到進(jìn)入此狀態(tài)之前的工作模式繼續(xù)工作。

如果系統(tǒng)當(dāng)前工作全部完成,整個(gè)系統(tǒng)都空閑的時(shí)候,可以設(shè)置系統(tǒng)進(jìn)入SLEEP模式。PMC將會關(guān)閉除實(shí)時(shí)控制模塊RTC以外的所有模塊,系統(tǒng)功耗降低到最小。系統(tǒng)將會等待外部喚醒信號或RTC的定時(shí)喚醒信號來恢復(fù)系統(tǒng)時(shí)鐘。被喚醒的系統(tǒng)將會首先進(jìn)入SLOW模式。為了確保實(shí)現(xiàn)系統(tǒng)的喚醒,RTC和系統(tǒng)時(shí)鐘喚醒模塊使用獨(dú)立的電源和晶振。

PMC還可以自由控制各功能模塊時(shí)鐘的開關(guān)。在正常的工作模式下,可以關(guān)閉暫時(shí)不用的模塊以減小系統(tǒng)的功耗。另外,PMC還管理系統(tǒng)的復(fù)位信號并實(shí)現(xiàn)軟件復(fù)位功能。

模塊劃分及實(shí)現(xiàn)

根據(jù)以上對于PMC工作原理和欲實(shí)現(xiàn)功能的分析,可將PMC劃分為6個(gè)功能模塊:PMC控制器狀態(tài)機(jī)(FSM)、數(shù)字鎖相環(huán)控制器(DPLL控制)、時(shí)鐘分頻選擇模塊(包括兩個(gè)時(shí)鐘分頻器和一個(gè)無毛刺時(shí)鐘切換專用電路GCM)、復(fù)位信號控制模塊(Reset)、系統(tǒng)時(shí)鐘喚醒模塊(Wakeup)和總線接口模塊,如圖1所示。另外,數(shù)字鎖相環(huán)DPLL為硬件宏模塊,其性能經(jīng)過專門的調(diào)試和驗(yàn)證以保證符合使用要求;GCM用于保證時(shí)鐘切換時(shí)電路能夠穩(wěn)定工作。

采用硬件描述語言實(shí)現(xiàn)PMC時(shí)鐘功耗管理控制器的設(shè)計(jì)

從圖1中還可以清晰看出PMC的時(shí)鐘結(jié)構(gòu)。Wakeup模塊使用RTC的專用晶振時(shí)鐘,以保證主時(shí)鐘關(guān)閉后還能正常工作。Reset模塊使用主晶振時(shí)鐘。主晶振時(shí)鐘經(jīng)過可選分頻得到較慢的時(shí)鐘,同時(shí)主晶振時(shí)鐘經(jīng)過DPLL倍頻,再經(jīng)過可選分頻得到較快的時(shí)鐘。兩路時(shí)鐘經(jīng)過GCM的平穩(wěn)切換可獲得整個(gè)系統(tǒng)所使用的工作時(shí)鐘,該時(shí)鐘將會分別提供給內(nèi)核、總線和各功能模塊(包括PMC自身的控制和接口模塊)。

PMC控制器狀態(tài)機(jī)

PMC控制器狀態(tài)機(jī)的功能是決定系統(tǒng)的工作狀態(tài)變化,并根據(jù)所處工作狀態(tài)輸出控制信號以及與其它模塊的握手信號。此模塊是整個(gè)PMC的控制核心,它可以分析軟件命令,根據(jù)軟件命令改變系統(tǒng)當(dāng)前的工作模式,并收集總線、存儲器、中斷控制器等其他功能模塊的工作狀態(tài)信息;再根據(jù)這些信息控制工作模式的改變,輸出包括開啟晶振時(shí)鐘、開啟數(shù)字鎖相環(huán)、時(shí)鐘源選擇、SDRAM自刷新等控制信號,以及與總線、中斷控制器等模塊的握手信號。系統(tǒng)工作模式轉(zhuǎn)換的狀態(tài)機(jī)如圖2所示。

采用硬件描述語言實(shí)現(xiàn)PMC時(shí)鐘功耗管理控制器的設(shè)計(jì)

數(shù)字鎖相環(huán)控制器

數(shù)字鎖相環(huán)控制器負(fù)責(zé)根據(jù)PMC的相關(guān)控制寄存器配置數(shù)字鎖相環(huán)DPLL,并通過硬件計(jì)數(shù)實(shí)現(xiàn)用戶設(shè)定的穩(wěn)定過渡時(shí)間,以保證DPLL有足夠的穩(wěn)定時(shí)間來鎖定所設(shè)置的工作頻率。控制器狀態(tài)機(jī)發(fā)出的時(shí)鐘選擇命令和用戶發(fā)出的頻率重配命令都要經(jīng)過此模塊的管理,以保證切換過程中的時(shí)鐘穩(wěn)定。

時(shí)鐘分頻選擇模塊

時(shí)鐘分頻選擇模塊負(fù)責(zé)選擇和產(chǎn)生整個(gè)系統(tǒng)工作所需的時(shí)鐘信號。時(shí)鐘的可選范圍和時(shí)鐘切換的穩(wěn)定,對于 PMC和整個(gè)芯片都十分重要。本文采用2MHz“5MHz的主晶振時(shí)鐘和經(jīng)過DPLL倍頻后的100MHz”300MHz時(shí)鐘作為時(shí)鐘源,再經(jīng)過多種倍率的可選分頻,最終獲得一個(gè)比較寬的可選時(shí)鐘范圍。為了提高時(shí)鐘切換的穩(wěn)定性,還專門設(shè)計(jì)了一種無毛刺時(shí)鐘切換電路GCM(專利電路),可以在三個(gè)周期之內(nèi)平穩(wěn)切換兩路各種周期差異的時(shí)鐘,并同時(shí)改善輸出時(shí)鐘的質(zhì)量。在本設(shè)計(jì)中,GCM用以實(shí)現(xiàn)晶振和DPLL兩路時(shí)鐘的平穩(wěn)切換。

GCM的原理框圖如圖3所示。用普通二選一電路(PRE_MX)初步切換得到的時(shí)鐘CLK3同步外界輸入的時(shí)鐘選擇信號SEL;得到的同步選擇信號SEL1實(shí)際控制時(shí)鐘的切換,同時(shí)SEL1再經(jīng)過進(jìn)一步同步得到屏蔽殘缺周期的門控信號;最后用門控信號去除時(shí)鐘切換中的不穩(wěn)定部分,得到平穩(wěn)的時(shí)鐘輸出。

復(fù)位信號控制模塊

復(fù)位信號控制模塊負(fù)責(zé)接收外部復(fù)位信號和軟件復(fù)位信號,并按照工作時(shí)序的需要,分別向芯片的各個(gè)功能模塊發(fā)出復(fù)位信號。可以向某些對復(fù)位有特定時(shí)序和順序要求的模塊單獨(dú)發(fā)送復(fù)位信號。并且可以區(qū)分軟、硬件復(fù)位,對不同的模塊集合進(jìn)行復(fù)位。

系統(tǒng)時(shí)鐘喚醒模塊

系統(tǒng)時(shí)鐘喚醒模塊負(fù)責(zé)恢復(fù)關(guān)閉的系統(tǒng)時(shí)鐘,并保證時(shí)鐘穩(wěn)定可用。在系統(tǒng)從節(jié)能模式(IDLE或SLEEP)恢復(fù)到正常工作模式(NORMAL或SLOW)的過程中,系統(tǒng)必須將已關(guān)閉的時(shí)鐘恢復(fù)到正常穩(wěn)定的狀態(tài)。當(dāng)系統(tǒng)從IDLE模式下喚醒時(shí),需要恢復(fù)內(nèi)核的時(shí)鐘。本模塊可以接收外部的喚醒信號形成一個(gè)喚醒中斷,提交到中斷控制器,這與其他所有模塊產(chǎn)生的內(nèi)部中斷一樣,可以喚醒內(nèi)核時(shí)鐘,使系統(tǒng)恢復(fù)正常工作。當(dāng)系統(tǒng)從SLEEP模式下喚醒時(shí),需要恢復(fù)整個(gè)系統(tǒng)的時(shí)鐘。本模塊可以接收外部喚醒信號或者RTC的定時(shí)喚醒信號,并穩(wěn)定開啟和恢復(fù)系統(tǒng)時(shí)鐘,最終切換到正常的工作模式下。

AMBA總線接口模塊

RISC的內(nèi)核通過APB總線讀寫PMC時(shí)鐘功耗管理單元的寄存器,這些寄存器映射到統(tǒng)一的地址空間。另外,輸出到各個(gè)模塊的時(shí)鐘信號也通過這個(gè)模塊進(jìn)行開關(guān)控制。PMC的主要控制寄存器描述如表1所示。

仿真結(jié)果及流片

PMC時(shí)鐘功耗管理控制器采用RTL級的Verilog HDL進(jìn)行描述。使用A720T內(nèi)核仿真模型、AMBA總線和中斷控制器等功能模塊的RTL級Verilog代碼,以及本設(shè)計(jì)的源代碼,共同組成完整的仿真環(huán)境。其中A720T內(nèi)核是ARM公司設(shè)計(jì)的一款A(yù)RM7系列內(nèi)核,在ARM7TDMI基礎(chǔ)上增加了虛擬地址與物理地址轉(zhuǎn)換器MMU、指令Cache和數(shù)據(jù)Cache。A720T內(nèi)核仿真模型是ARM公司提供給授權(quán)開發(fā)機(jī)構(gòu)用以完成仿真的功能模型,它不能被綜合,只能用于功能驗(yàn)證。使用Synopsys公司的EDA工具VCS對本設(shè)計(jì)的功能進(jìn)行仿真和驗(yàn)證。其中GCM模塊還使用HSIM進(jìn)行了SPICE晶體管級的模型仿真。GCM時(shí)鐘切換的仿真結(jié)果如圖4所示,PMC時(shí)鐘變頻和工作模式切換的仿真結(jié)果如圖5所示,PMC進(jìn)入IDLE節(jié)能模式的仿真波形如圖6所示。從仿真結(jié)果可以看出,PMC能夠正常完成預(yù)計(jì)功能,可以穩(wěn)定地改變時(shí)鐘頻率,并根據(jù)工作模式開關(guān)時(shí)鐘。

采用硬件描述語言實(shí)現(xiàn)PMC時(shí)鐘功耗管理控制器的設(shè)計(jì)

采用硬件描述語言實(shí)現(xiàn)PMC時(shí)鐘功耗管理控制器的設(shè)計(jì)

PMC時(shí)鐘功耗管理控制器已成功應(yīng)用于東南大學(xué)ASIC工程中心自主開發(fā)的基于ARM7的嵌入式處理器Garfield4Plus中。通過該芯片的實(shí)際流片,PMC獲得實(shí)片測試的機(jī)會。測試結(jié)果表明,PMC能夠正常穩(wěn)定地完成預(yù)計(jì)功能,包括工作頻率的實(shí)時(shí)配置、工作模式的切換以及芯片的節(jié)能和喚醒。

結(jié)語

本文描述的PMC設(shè)計(jì)的特點(diǎn)在于工作時(shí)鐘的統(tǒng)一和時(shí)鐘結(jié)構(gòu)的清晰簡潔。GCM無毛刺時(shí)鐘切換電路,使得多個(gè)時(shí)鐘源(包括每個(gè)時(shí)鐘源的各種不同的頻率配置)在真正提供給系統(tǒng)使用之前就得到了很好的統(tǒng)一。這種時(shí)鐘結(jié)構(gòu)可以帶來更好的系統(tǒng)穩(wěn)定性和時(shí)序上的余量,也就代表著可以使用更高的系統(tǒng)時(shí)鐘頻率。

今后對PMC的優(yōu)化應(yīng)當(dāng)重點(diǎn)關(guān)注以下兩點(diǎn)。一方面,應(yīng)當(dāng)使PMC在針對不同系統(tǒng)的具體特點(diǎn)時(shí),能夠?qū)牡膶?shí)時(shí)管理進(jìn)行更靈活的配置。既要保證最大限度的節(jié)能,又要增加PMC本身的可移植性。另一方面,應(yīng)當(dāng)進(jìn)一步探索更科學(xué)的結(jié)構(gòu),使提供給系統(tǒng)的時(shí)鐘在更靈活的配置方式下,仍然能夠保證安全和穩(wěn)定。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 芯片
    +關(guān)注

    關(guān)注

    450

    文章

    49636

    瀏覽量

    417170
  • 控制器
    +關(guān)注

    關(guān)注

    112

    文章

    15885

    瀏覽量

    175370
  • soc
    soc
    +關(guān)注

    關(guān)注

    38

    文章

    4021

    瀏覽量

    217028
收藏 人收藏

    評論

    相關(guān)推薦

    請問如何使用Verilog硬件描述語言實(shí)現(xiàn)AES密碼算法?

    如何使用Verilog硬件描述語言實(shí)現(xiàn)AES密碼算法?
    發(fā)表于 04-14 06:29

    如何使用VHDL硬件描述語言實(shí)現(xiàn)的十六路彩燈控制系統(tǒng)?

    本文介紹應(yīng)用美國ALTERA公司的MAX+PLUSⅡ平臺,使用VHDL硬件描述語言實(shí)現(xiàn)的十六路彩燈控制系統(tǒng)。
    發(fā)表于 04-19 07:43

    VHDL硬件描述語言教學(xué).

    VHDL硬件描述語言教學(xué):包括fpga講義,VHDL硬件描述語言基礎(chǔ),VHDL語言的層次化設(shè)計(jì)的教學(xué)幻燈片
    發(fā)表于 03-27 23:46 ?93次下載

    VHDL語言實(shí)現(xiàn)DDR2 SDRAM控制

    文章對適用DDR2 SDRAM控制器的結(jié)構(gòu)、接口和時(shí)序進(jìn)行了深入研究與分析,總結(jié)出一些控制器的關(guān)鍵技術(shù)特性,然后采用了自頂向下(TOP-IX)WN)的設(shè)計(jì)方法,用Verilog硬件
    發(fā)表于 09-01 16:36 ?174次下載
    VHDL<b class='flag-5'>語言實(shí)現(xiàn)</b>DDR2 SDRAM<b class='flag-5'>控制</b>

    verilog硬件描述語言課程講義

    verilog硬件描述語言課程講義
    發(fā)表于 05-21 15:01 ?33次下載
    verilog<b class='flag-5'>硬件</b><b class='flag-5'>描述語言</b>課程講義

    VHDL硬件描述語言

    VHDL語言編程學(xué)習(xí)之VHDL硬件描述語言
    發(fā)表于 09-01 15:27 ?0次下載

    Verilog硬件描述語言

    VHDL語言編程學(xué)習(xí)Verilog硬件描述語言
    發(fā)表于 09-01 15:27 ?0次下載

    硬件描述語言VHDL

    硬件描述語言VHDL的學(xué)習(xí)文檔,詳細(xì)的介紹了VHDL
    發(fā)表于 09-02 17:00 ?12次下載

    基于Verilog硬件描述語言的IEEE標(biāo)準(zhǔn)硬件描述語言資料合集免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是基于Verilog硬件描述語言的IEEE標(biāo)準(zhǔn)硬件描述語言資料合集免費(fèi)下載:1995、2001、2005;SystemVerilog標(biāo)準(zhǔn):2005、2009
    發(fā)表于 06-18 08:00 ?10次下載

    基于VHDL硬件描述語言實(shí)現(xiàn)CPSK調(diào)制的程序及仿真

    本文檔的主要內(nèi)容詳細(xì)介紹的是基于VHDL硬件描述語言實(shí)現(xiàn)CPSK調(diào)制的程序及仿真。
    發(fā)表于 01-19 14:34 ?11次下載
    基于VHDL<b class='flag-5'>硬件</b><b class='flag-5'>描述語言實(shí)現(xiàn)</b>CPSK調(diào)制的程序及仿真

    使用VHDL硬件描述語言實(shí)現(xiàn)基帶信號的MASK調(diào)制的程序與仿真

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用VHDL硬件描述語言實(shí)現(xiàn)基帶信號的MASK調(diào)制的程序與仿真。
    發(fā)表于 01-19 14:34 ?13次下載
    使用VHDL<b class='flag-5'>硬件</b><b class='flag-5'>描述語言實(shí)現(xiàn)</b>基帶信號的MASK調(diào)制的程序與仿真

    使用VHDL硬件描述語言實(shí)現(xiàn)基帶信號的MFSK調(diào)制的程序與仿真

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用VHDL硬件描述語言實(shí)現(xiàn)基帶信號的MFSK調(diào)制的程序與仿真。
    發(fā)表于 01-19 14:34 ?4次下載
    使用VHDL<b class='flag-5'>硬件</b><b class='flag-5'>描述語言實(shí)現(xiàn)</b>基帶信號的MFSK調(diào)制的程序與仿真

    如何使用VHDL硬件描述語言實(shí)現(xiàn)基帶信號的MPSK調(diào)制

    本文檔的主要內(nèi)容詳細(xì)介紹的是如何使用VHDL硬件描述語言實(shí)現(xiàn)基帶信號的MPSK調(diào)制。
    發(fā)表于 01-19 14:34 ?2次下載
    如何使用VHDL<b class='flag-5'>硬件</b><b class='flag-5'>描述語言實(shí)現(xiàn)</b>基帶信號的MPSK調(diào)制

    使用VHDL硬件描述語言實(shí)現(xiàn)基帶碼發(fā)生的程序設(shè)計(jì)與仿真

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用VHDL硬件描述語言實(shí)現(xiàn)基帶碼發(fā)生的程序設(shè)計(jì)與仿真免費(fèi)下載。
    發(fā)表于 01-20 13:44 ?16次下載
    使用VHDL<b class='flag-5'>硬件</b><b class='flag-5'>描述語言實(shí)現(xiàn)</b>基帶碼發(fā)生<b class='flag-5'>器</b>的程序設(shè)計(jì)與仿真

    CN0540硬件描述語言設(shè)計(jì)

    CN0540硬件描述語言設(shè)計(jì)
    發(fā)表于 03-23 00:07 ?4次下載
    CN0540<b class='flag-5'>硬件</b><b class='flag-5'>描述語言</b>設(shè)計(jì)