国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

嵌入式低功耗8位微控制器的設(shè)計(jì)

2010-06-05 15:30:00趙毅強(qiáng)劉長龍嚴(yán)新文
關(guān)鍵詞:存儲(chǔ)器低功耗寄存器

趙毅強(qiáng),劉長龍,嚴(yán)新文

(天津大學(xué)電子信息工程學(xué)院,天津 300072)

嵌入式低功耗8位微控制器的設(shè)計(jì)

趙毅強(qiáng),劉長龍,嚴(yán)新文

(天津大學(xué)電子信息工程學(xué)院,天津 300072)

設(shè)計(jì)實(shí)現(xiàn)了一款嵌入式低功耗8位微控制器,采用了類精減指令集計(jì)算機(jī)(RISC)指令集、哈佛雙總線體系和兩級(jí)四段流水線結(jié)構(gòu).重點(diǎn)研究了微控制器的功耗分布,并從系統(tǒng)級(jí)、寄存器傳輸級(jí)(RTL)和邏輯級(jí)進(jìn)行了功耗的優(yōu)化.基于Chartered 0.35,μm CMOS Logic工藝進(jìn)行了后端設(shè)計(jì)并流片,測(cè)試結(jié)果表明其工作頻率可達(dá)80,MHz,32,kHz下工作電流為6.75,μA.該微控制器已作為核心控制單元應(yīng)用于無磁流量計(jì)量SoC芯片中,用于完成數(shù)據(jù)處理和調(diào)度工作.

低功耗;嵌入式;微控制器

無磁流量計(jì)量是當(dāng)今流量計(jì)量技術(shù)的發(fā)展趨勢(shì),與之配套的專用芯片是該類儀表的關(guān)鍵模塊.基于無磁流量計(jì)量SoC芯片的項(xiàng)目背景,設(shè)計(jì)了一款8位嵌入式微控制器,作為SoC芯片的CPU核,完成數(shù)據(jù)處理和調(diào)度工作.傳統(tǒng)微控制器一般采用多閾值電壓、門控功耗、流水線等方法達(dá)到低功耗效果[1],筆者在此基礎(chǔ)上針對(duì)功耗進(jìn)行了分析和優(yōu)化.

1 體系結(jié)構(gòu)設(shè)計(jì)與優(yōu)化

設(shè)計(jì)中采用了一種類精減指令集計(jì)算機(jī)(reduced instruction set computer,RISC)的指令體系,除了具有指令簡潔、 每條指令所需要的周期數(shù)(cycles per instruction,CPI)較小等優(yōu)勢(shì)外,還具有以下特點(diǎn):①區(qū)別于Load/Store體系,采用了Register-Memory體系,運(yùn)算指令可以直接訪問存儲(chǔ)器,這有效地提高了代碼密度;②所有指令均等長,大大簡化了解碼和控制電路的設(shè)計(jì),具有較低的功耗和結(jié)構(gòu)尺寸.

由于采用了哈佛雙總線結(jié)構(gòu),指令和數(shù)據(jù)空間獨(dú)立編址,CPU可以同時(shí)訪問程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器,并在芯片內(nèi)部將數(shù)據(jù)總線和指令總線分離,有效地提高了數(shù)據(jù)的吞吐量.雖然雙總線結(jié)構(gòu)會(huì)引起電路規(guī)模的擴(kuò)大,但是控制電路大幅度簡化,與傳統(tǒng)的馮諾伊曼結(jié)構(gòu)相比,電路規(guī)模仍有所減小[2].

深度流水會(huì)帶來控制冒險(xiǎn)和數(shù)據(jù)沖突,為解決這些問題需要增加復(fù)雜的控制邏輯和直通(bypass)結(jié)構(gòu),這會(huì)大大增加芯片的面積和功耗.本次設(shè)計(jì)采用了二級(jí)四段流水線結(jié)構(gòu),由四相時(shí)鐘驅(qū)動(dòng)工作,每一段流水線在對(duì)應(yīng)時(shí)鐘相內(nèi)完成功能.

(1)在時(shí)鐘的第一相里,指令譯碼器、程序計(jì)數(shù)器等工作,從指令總線獲得指令并進(jìn)行譯碼操作,同時(shí)將程序指針指向下一條指令.

(2)在第二相里,數(shù)據(jù)寄存器從存儲(chǔ)器中讀出數(shù)據(jù),ALU 進(jìn)行低4位運(yùn)算.

(3)在第三相里,ALU進(jìn)行高4位的運(yùn)算.

(4)在第四相里,將運(yùn)算結(jié)果送至數(shù)據(jù)總線,回寫到數(shù)據(jù)存儲(chǔ)器、累加器、內(nèi)部堆棧的相應(yīng)寄存器內(nèi),并將下一條指令從程序存儲(chǔ)器中取出放到指令總線上.

采用這樣的流水線結(jié)構(gòu),既能夠節(jié)省面積和功耗,又能有效地利用現(xiàn)有資源,提高處理器的運(yùn)算效率[3].

2 低功耗實(shí)現(xiàn)技術(shù)

2.1 系統(tǒng)級(jí)的低功耗設(shè)計(jì)

2.1.1 休眠模式的設(shè)計(jì)

休眠模式的功耗是決定芯片整體平均功耗的重要部分.執(zhí)行SLEEP指令后,處理器會(huì)進(jìn)入休眠工作狀態(tài),當(dāng)發(fā)生外部中斷或是看門狗溢出時(shí),會(huì)從休眠模式返回,繼續(xù)執(zhí)行休眠指令之后的下一條指令.

休眠模式設(shè)計(jì)存在的一個(gè)問題是,當(dāng)微控制單元(micro control unit,MCU)進(jìn)入休眠狀態(tài),主時(shí)鐘已經(jīng)關(guān)閉,當(dāng)產(chǎn)生中斷時(shí),MCU如何從休眠狀態(tài)中恢復(fù).筆者設(shè)計(jì)了主時(shí)鐘切換和同步電路,如圖1所示.片內(nèi)存在2種振蕩電路,包括外接晶振的起振電路和極低頻的RC振蕩回路,分別為處理器提供主時(shí)鐘頻率和保持時(shí)鐘頻率.當(dāng)處理器工作在休眠模式時(shí),時(shí)鐘網(wǎng)絡(luò)并沒有完全關(guān)閉,而是將主時(shí)鐘切換成頻率很低的RC振蕩信號(hào),在部分模塊中仍然保留時(shí)鐘,當(dāng)出現(xiàn)中斷時(shí),能夠及時(shí)將狀態(tài)字置位,切換到主時(shí)鐘,MCU繼續(xù)取指工作.為了避免出現(xiàn)切換時(shí)鐘時(shí)產(chǎn)生毛刺導(dǎo)致誤操作,要將切換后的時(shí)鐘經(jīng)過自同步后再送到時(shí)鐘網(wǎng)絡(luò).由于無磁流量計(jì)量SOC芯片一般工作在低功耗模式,故采取2種振蕩器設(shè)計(jì),在低功耗模式時(shí),選用低時(shí)鐘頻率,可以大大降低系統(tǒng)功耗.

需要注意的是,計(jì)量芯片也存在休眠模式,MCU可通過寄存器置位使計(jì)量芯片進(jìn)入休眠狀態(tài).但如果兩者都停掉了,就會(huì)出現(xiàn)一種死鎖現(xiàn)象:CPU等待計(jì)量芯片產(chǎn)生中斷來喚醒,而計(jì)量芯片也在等待CPU給出對(duì)它的喚醒信號(hào).實(shí)際中,這種情況的避免通過軟件來實(shí)現(xiàn),停時(shí)鐘和開時(shí)鐘都由用戶來完成.

圖1 時(shí)鐘選擇和同步電路Fig.1 Clock select and sync circuit

2.1.2 時(shí)鐘網(wǎng)絡(luò)的管理

時(shí)鐘網(wǎng)絡(luò)是數(shù)字系統(tǒng)中翻轉(zhuǎn)率最高、驅(qū)動(dòng)能力最大的網(wǎng)絡(luò),具有較大的電容和負(fù)載,數(shù)據(jù)表明,現(xiàn)代數(shù)字芯片有1/3的功耗是消耗在時(shí)鐘網(wǎng)絡(luò)上的.

通過關(guān)閉閑置模塊的時(shí)鐘,可以有效降低時(shí)鐘網(wǎng)絡(luò)的功耗.如圖2所示,時(shí)鐘網(wǎng)絡(luò)管理模塊根據(jù)指令譯碼器的輸出和休眠模式來決定全局的功耗策略,STATE1通過切換高低頻時(shí)鐘來降低功耗;STATE2將選擇性地關(guān)閉閑置子模塊的源時(shí)鐘網(wǎng)絡(luò);STATE3在STATE2的基礎(chǔ)上關(guān)閉外設(shè)模塊如計(jì)量芯片和ADC的時(shí)鐘.采用這樣的時(shí)鐘策略,MCU的平均功耗約能降低20%[4].

圖2 時(shí)鐘網(wǎng)絡(luò)的管理Fig.2 Clock network manage

2.1.3 存儲(chǔ)器的低功耗設(shè)計(jì)

現(xiàn)代SOC系統(tǒng)中一般都要集成存儲(chǔ)器,降低存儲(chǔ)器的功耗對(duì)整個(gè)芯片的功耗優(yōu)化會(huì)起很大作用.筆者對(duì)片內(nèi)SRAM采用了分頁訪問和塊尋址技術(shù).

分頁訪問類似于采用門控技術(shù),首先根據(jù)地址將存儲(chǔ)器分成容量相等的頁面,用最高位地址線作為片選使能信號(hào)(CS),這樣當(dāng)訪問的單元不在某個(gè)分區(qū)中時(shí),該分區(qū)可以停止工作.2塊128K的SRAM的功耗本身已遠(yuǎn)小于1塊256K的RAM的功耗,而且同時(shí)只會(huì)有一頁存儲(chǔ)器在工作,這大大降低了存儲(chǔ)器的靜態(tài)功耗.

對(duì)于每頁SRAM,為避免產(chǎn)生較大的譯碼電路,將存儲(chǔ)器單元分割成較小的塊,使用塊譯碼電路,再使用地址線的低位選擇需要的數(shù)據(jù),這樣可以有效地降低訪問存儲(chǔ)單元的動(dòng)態(tài)功耗[5-6].

2.2 RTL級(jí)的低功耗設(shè)計(jì)

在系統(tǒng)級(jí)的優(yōu)化中,主要從系統(tǒng)時(shí)序和模塊的工作狀態(tài)入手.而在寄存器傳輸級(jí)設(shè)計(jì)中,低功耗設(shè)計(jì)的主要手段是降低模塊內(nèi)部的組合電路和寄存器單元的規(guī)模和翻轉(zhuǎn)頻率.

算術(shù)邏輯單元是MCU的核心模塊,其內(nèi)部結(jié)構(gòu)如圖3所示.由于運(yùn)算電路復(fù)雜,且內(nèi)部節(jié)點(diǎn)的翻轉(zhuǎn)率比較高,常常成為芯片功耗的瓶頸.

圖3 ALU結(jié)構(gòu)示意Fig.3 Structure of ALU unit

加法器是ALU中耗費(fèi)門數(shù)最多的部分,且每增加1位,所用總門數(shù)都會(huì)有較大增加.因此如何改進(jìn)加法器的電路結(jié)構(gòu),降低電路規(guī)模,是對(duì)ALU進(jìn)行功耗優(yōu)化的工作重點(diǎn).在加法器的設(shè)計(jì)中,采用了用速度換功耗的思路,利用分時(shí)復(fù)用結(jié)構(gòu),降低運(yùn)算體的位數(shù),將本來在1個(gè)時(shí)鐘相位的8位運(yùn)算,用1個(gè)4位的加法器在2個(gè)相位分別完成高4位和低4位運(yùn)算.表1是2種加法器經(jīng)DC綜合后得到的參數(shù),可以看到,與原先的結(jié)構(gòu)相比,加法器的等效門數(shù)減少了40.5%,單位面積下降了35.9%,工作頻率雖略有下降,但是滿足了芯片工作環(huán)境的要求.

表1 2種結(jié)構(gòu)的參數(shù)對(duì)比Tab.1 Comparison of two structures

ALU內(nèi)部主要是組合邏輯電路,當(dāng)輸入信號(hào)的改變引起輸出信號(hào)的改變時(shí),絕大多數(shù)節(jié)點(diǎn)會(huì)發(fā)生翻轉(zhuǎn).降低組合電路模塊輸入信號(hào)的無效翻轉(zhuǎn)可以最終降低這部分電路的功耗.

存儲(chǔ)器會(huì)根據(jù)解碼電路輸出的控制信號(hào) ENR來決定是否更新自身保存的值,當(dāng)ENR 信號(hào)為低時(shí),ALU的計(jì)算結(jié)果是無效的.

當(dāng)執(zhí)行運(yùn)算指令時(shí),邏輯單元的運(yùn)算是無效的,反之亦然;以上這些都造成了內(nèi)部邏輯的無效翻轉(zhuǎn),從而造成功耗上的浪費(fèi).

解決辦法可以由指令譯碼器產(chǎn)生加法器和邏輯運(yùn)算單元的使能信號(hào),通過降低組合邏輯輸入級(jí)的變化率,來減少其內(nèi)部的無效反轉(zhuǎn).這種操作數(shù)分離的本質(zhì)就是在組合邏輯模塊中間加入Latch,當(dāng)Latch的使能無效時(shí),隔斷組合路徑的傳遞.這樣ALU的每一次操作都是有效操作,并且只有相應(yīng)的運(yùn)算單元進(jìn)入工作狀態(tài),極大地降低了其功耗[7].

2.3 邏輯綜合的低功耗設(shè)計(jì)

2.3.1 門控時(shí)鐘的插入

在幾個(gè)指令周期之間或者一個(gè)指令周期內(nèi)的幾個(gè)時(shí)鐘周期之間,某些模塊內(nèi)部的寄存器會(huì)消耗不必要的功耗,針對(duì)這種情況,可以運(yùn)用門控來分配各個(gè)功能塊內(nèi)的寄存器工作.在高效能的處理器設(shè)計(jì)中,門控時(shí)鐘更多的是應(yīng)用于控制一個(gè)指令周期內(nèi)的功耗.然而,這種門控時(shí)鐘是不能隨便應(yīng)用的,原因是:①應(yīng)用門控時(shí)鐘的寄存器可能在需要工作的時(shí)候不能被及時(shí)地喚醒, 造成流水線的停頓;②門控單元產(chǎn)生的毛刺可能會(huì)導(dǎo)致寄存器誤觸發(fā),導(dǎo)致邏輯錯(cuò)誤.基于以上2點(diǎn),在一些關(guān)鍵路徑的寄存器上,如指令譯碼器和程序計(jì)數(shù)器,沒有采用門控時(shí)鐘,保證了處理器的穩(wěn)定工作;其他模塊中,使用Design Compiler來自動(dòng)插入基于Latch結(jié)構(gòu)的門控時(shí)鐘,由于將寄存器數(shù)據(jù)輸入端的多路選擇器替換成了時(shí)鐘端的與門,不僅功耗大大降低,同時(shí)設(shè)計(jì)面積也相應(yīng)減小.

2.3.2 DC功耗的優(yōu)化

采用Design Compiler進(jìn)行電路綜合時(shí),默認(rèn)采用的是無向量(Vector-Free)的方法進(jìn)行功耗分析,但是由于DC的默認(rèn)節(jié)點(diǎn)翻轉(zhuǎn)率較高,而實(shí)際上某些特殊信號(hào)在電路工作時(shí)處于靜態(tài)值,如Reset信號(hào),這往往會(huì)對(duì)內(nèi)部節(jié)點(diǎn)的翻轉(zhuǎn)率造成誤分析,因此一般采用由動(dòng)態(tài)仿真產(chǎn)生的saif文件進(jìn)行反標(biāo)注,并對(duì)特殊的輸入信號(hào)設(shè)置常量傳播或者設(shè)定開關(guān)活動(dòng)率值,然后再進(jìn)行功耗優(yōu)化.具體命令為

Set_case_analysis 1 reset [get_ports reset]

Read_saif-input rtl.saif-inst test.top

Set_max_dynamic_power 0

這樣DC 會(huì)根據(jù)節(jié)點(diǎn)的實(shí)際情況,對(duì)單元的驅(qū)動(dòng)能力和負(fù)載進(jìn)行調(diào)整,對(duì)高活動(dòng)性的節(jié)點(diǎn)進(jìn)行優(yōu)化,降低電路的動(dòng)態(tài)功耗[8].

3 測(cè)試結(jié)果

采用Chartered 0.35,μm Logic工藝完成了MCU芯片(EEPROM除外)的邏輯綜合與后端布局布線,單元總面積7,487.310,059,μm2,芯片總面積11,522.109,375,μm2,并參加了MPW流片,目前芯片已經(jīng)完成了封裝和測(cè)試,圖4為MCU芯片在顯微鏡下的照片,其中在白框內(nèi)的為MCU,其余部分為SOC芯片項(xiàng)目的其他單元電路.

功能測(cè)試的結(jié)果表明,MCU可正確完成指令集的全部35條指令,包括運(yùn)算類指令和控制類指令,圖5為邏輯分析儀對(duì)MCU執(zhí)行運(yùn)算指令的采樣截圖.

經(jīng)測(cè)試,內(nèi)部定時(shí)器和中斷電路可正確完成相應(yīng)的功能.圖6是采得的休眠、喚醒以及時(shí)鐘切換的過程.

圖4 MCU芯片照片F(xiàn)ig.4 Photo of MCU chip

圖5 MCU執(zhí)行運(yùn)算指令Fig.5 MCU executing operating instruction

圖6 休眠及恢復(fù)示意Fig.6 Sleep and awake

測(cè)試結(jié)果表明,該MCU的工作頻率為4,kHz~80,MHz,工作電壓范圍2.7~5.5,V,32,kHz(3.3,V)下工作電流為6.75,μA.在32,kHz和5,V條件下,比較測(cè)試了幾款常用的8位MCU,結(jié)果見表2.

表2 功耗評(píng)估Tab.2 Power evaluation

4 結(jié) 語

在研究分析低功耗設(shè)計(jì)技術(shù)的基礎(chǔ)上,設(shè)計(jì)了一款以無磁流量計(jì)量技術(shù)為應(yīng)用背景的專用嵌入式8位微控制器,它將集成在包含計(jì)量電路、SAR ADC和通訊電路模塊等在內(nèi)的計(jì)量SOC芯片中,作為核心控制模塊,調(diào)度整個(gè)系統(tǒng)的工作.同時(shí)該MCU可作為一款獨(dú)立IP,集成于其他控制系統(tǒng)中.

[1] Kang Sung-Mo,Leblebici Yusuf. CMOS Digital Integrated Circuits[M]. Beijing:Tsinghua University Press,2004.

[2] Piguet C. Low power design of 8-bit embedded cool-RISC microcontroller cores[J]. IEEE Journal of Solid-State Circuits,1997,32(7):1067-1077.

[3] Masgonty J M,Arm C,Durand S,et al.Low-power design of an embedded microprocessor core[C]// Solid-State Circuits Conference. Neuchatel,Switzerland,1996:272-275.

[4] Zheng Xinjian,Liu Zexiang,Peng Bo. Design and implementation of an ultra low power RSA coprocessor [C]// Wireless Communications,Networking and Mobile Computing. Dalian,China,2008:1-5.

[5] 應(yīng)繼宏,張盛兵. 八位高性能低功耗微控制器的設(shè)計(jì)與實(shí)現(xiàn)[J]. 科學(xué)技術(shù)與工程,2007,7(6):984-988. Ying Jihong,Zhang Shengbing. The design and implementation of high-performance low-power 8-bit microcontroller[J]. Science Technology and Engineering,2007,7(6):984-988(in Chinese).

[6] 羅 旻,楊 波,高德遠(yuǎn),等. 寄存器傳輸級(jí)低功耗設(shè)計(jì)方法[J]. 小型微型計(jì)算機(jī)系統(tǒng),2004,27(7):1207-1211. Luo Min,Yang Bo,Gao Deyuan,et al. Low-power design method of register transfer level[J]. Journal of Chinese Computer Systems,2004,27(7):1207-1211(in Chinese).

[7] 夏樹榮,陳 進(jìn),唐 亮. 嵌入式MCU的SOC設(shè)計(jì)中的低功耗設(shè)計(jì)[J]. 計(jì)算機(jī)工程,2004,30(增12):452-453,466. Xia Shurong,Chen Jin,Tang Liang. Low power design in SOC design of embedded MCU[J]. Computer Engineering,2004,30(Suppl 12):452-453,466(in Chinese).

[8] Ajit Pal,Santanu Chattopadhyay. Synthesis and testing for low power [C]// 2009 22nd International Conference on VLSI Design. New Delhi,India,2009:37-38.

Design of an Embedded Low-Power 8-bit Microcontroller

ZHAO Yi-qiang,LIU Chang-long,YAN Xin-wen
(School of Electronic Information Engineering,Tianjin University,Tianjin 300072,China)

A low-power 8-bit embedded microcontroller was proposed,which consisted of reduced instruction set computer (RISC)-like instruction set architecture,Harvard separation-bus architecture and a two-stage four-phase pipeline. Power distribution was emphasized in this research with power consumption optimized at system,register transfer level(RTL) and logic level. An experimental chip was fabricated using Chartered 0.35 μm CMOS Logic process. The measurement results indicate that the microcontroller can function well at a frequency of 80 MHz and the power consumption is approximately 6.75 μA under 32 kHz. As controlling core,the microcontroller is used in nonmagnetic measurement SoC chip to achieve data processing and dispatching.

low-power;embedded;microcontroller

TN492

A

0493-2137(2010)12-1098-05

2009-04-07;

2009-09-21.

天津市科技支撐計(jì)劃資助項(xiàng)目(08ZCKFGX00200).

趙毅強(qiáng)(1964— ),男,博士,教授.

趙毅強(qiáng),yq_zhao@tju.edu.cn.

猜你喜歡
存儲(chǔ)器低功耗寄存器
一種高速低功耗比較器設(shè)計(jì)
靜態(tài)隨機(jī)存儲(chǔ)器在軌自檢算法
Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
分簇結(jié)構(gòu)向量寄存器分配策略研究*
存儲(chǔ)器——安格爾(墨西哥)▲
基于Nand Flash的高速存儲(chǔ)器結(jié)構(gòu)設(shè)計(jì)
ADI推出三款超低功耗多通道ADC
IDT針對(duì)下一代無線通信推出低功耗IQ調(diào)制器
低功耗加權(quán)cache替換策略
高速數(shù)模轉(zhuǎn)換器AD9779/AD9788的應(yīng)用
承德县| 内乡县| 伊金霍洛旗| 柯坪县| 遂川县| 永昌县| 四子王旗| 两当县| 双辽市| 凤凰县| 纳雍县| 大厂| 台中市| 五峰| 合作市| 井陉县| 富川| 雷山县| 雅安市| 孟津县| 凌海市| 镇坪县| 桐柏县| 双江| 梧州市| 定州市| 唐河县| 柯坪县| 浮梁县| 水城县| 阿鲁科尔沁旗| 大埔区| 即墨市| 通海县| 五家渠市| 宁武县| 临安市| 绥芬河市| 奉贤区| 卓资县| 昌平区|