亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種低功耗異步FIFO存儲器的設(shè)計

        2008-04-12 00:00:00張海勇葉顯陽皮代軍秦水介
        現(xiàn)代電子技術(shù) 2008年18期

        摘 要:針對傳統(tǒng)異步FIFO功耗較高的缺點,設(shè)計一種低功耗異步FIFO存儲器。通過采用對異步讀寫指針的前兩個狀態(tài)位直接比較的方法,減少格雷碼向二進(jìn)制轉(zhuǎn)換的電路,并增加門控時鐘電路,從而大大降低了存儲器的動態(tài)功耗。通過軟件Quartus Ⅱ 7.2對其進(jìn)行功耗估算,功耗降低了8%。用ModelSim SE 6.1b進(jìn)行仿真,驗證了設(shè)計功能的正確性。

        關(guān)鍵詞:異步FIFO;格雷碼;門控時鐘;動態(tài)功耗

        中圖分類號:TN402 文獻(xiàn)標(biāo)識碼:B 文章編號:1004373X(2008)1800103

        Design of a Low Power Asynchronous FIFO Memory

        ZHANG Haiyong,YE Xianyang,PI Daijun,QIN Shuijie

        (Guizhou Laboratory for Photoelectric Technology and Application,Guiyang,550025,China)

        Abstract: Due to the high power of the traditional asynchronous FIFO.A low powerconsumption asynchronous FIFO memory is designed.The dynamic power consuming of this FIFO memory is reduced greatly by directly comparing the two precedent state bytes of the asynchronous readwrite pointer,dropping a conversion circuit of the gray code to the binary,and adding a clockgating circuit.The power consumption of the memory is estimated at about 8% by using the soft Quartus II 7.2.The simulation results indicate the well function through the Modelsim SE 6.1b.

        Keywords:asynchronous FIFO;Gray code;clockgating circuit;dynamic power consuming

        在集成電路的設(shè)計中,隨著芯片設(shè)計規(guī)模的擴(kuò)大,一個模塊與外圍芯片的通信時往往存在多個時鐘,當(dāng)數(shù)據(jù)從一個時鐘域傳遞到另一個時鐘域,并且目標(biāo)時鐘域與源時鐘域不相同時,有可能造成亞穩(wěn)態(tài)的產(chǎn)生,從而使源數(shù)據(jù)丟失或混亂,導(dǎo)致系統(tǒng)無法正常無誤的工作。而異步FIFO可以在兩個不同的時鐘系統(tǒng)之間快速準(zhǔn)確地傳輸數(shù)據(jù),在進(jìn)行跨時鐘域傳輸時,它是一種有效、快捷的解決方案[1]。

        FIFO(First IN First Out)電路是一種實現(xiàn)數(shù)據(jù)先進(jìn)先出的存儲器件,通常用作數(shù)據(jù)緩沖器,其原理框圖見文獻(xiàn)[2]。異步FIFO的讀動作與寫動作分別受讀時鐘(rclk)、讀使能(inrptr)和寫時鐘(wclk)、寫使能(inwptr)控制。當(dāng)讀時鐘(寫時鐘)上升沿來到,并且讀使能(寫使能)有效時,則向存儲器讀出(寫入)數(shù)據(jù),同時讀指針、寫指針都加1指向下一個單元。但是由于讀時鐘與寫時鐘的頻率不同,所以讀動作和寫動作不同步。當(dāng)讀指針(rptr)追上寫指針(wptr)時,會造成存儲器的讀空;當(dāng)寫指針比讀指針多循環(huán)1次,追上讀指針時,則存儲器會處于寫滿狀態(tài)。如何根據(jù)異步的指針信號來判斷并產(chǎn)生正確的空、滿標(biāo)志,是異步FIFO設(shè)計的一個主要問題。因此,要完成一個異步FIFO的設(shè)計,必須要解決2個問題:

        (1) 避免亞穩(wěn)態(tài)的產(chǎn)生;

        (2) 產(chǎn)生正確的空、滿標(biāo)志。

        傳統(tǒng)的異步FIFO采用對讀寫指針的1位狀態(tài)位進(jìn)行判斷,這樣就必須增加格雷碼向二進(jìn)制轉(zhuǎn)換的電路,本設(shè)計采用對讀寫指針的兩位狀態(tài)位直接比較的方法,從而減少了電路結(jié)構(gòu),并增加了門控時鐘電路,使功耗有所降低。下面是其具體的實現(xiàn)方法。

        1 異步FIFO的設(shè)計與實現(xiàn)

        1.1 異步時鐘下亞穩(wěn)態(tài)的問題

        1.1.1 亞穩(wěn)態(tài)產(chǎn)生的原因

        在時序電路中,通常采用觸發(fā)器和鎖存器作為存儲單元。對于觸發(fā)器,在時鐘沿觸發(fā)前后有一段判決時間,這段判決時間由建立時間(setup time)和保持時間(hold time)組成,輸入信號在這段時間內(nèi),必須保持穩(wěn)定。否則,無法輸出一個確定的值,如圖1中rdata1所示。

        圖1 兩級觸發(fā)器的同步器wdata1在時鐘rclk的上升沿時刻發(fā)生翻轉(zhuǎn),則采樣結(jié)果rdata1可能是0,也可能是1,或是0、1之間的某個值,并且在未知時刻會固定到高電平或低電平。此時寄存器進(jìn)入亞穩(wěn)態(tài),亞穩(wěn)態(tài)產(chǎn)生后若不做處理,直接把信號送到組合電路中,經(jīng)過布線延遲再經(jīng)過各種邏輯門將產(chǎn)生不可預(yù)知的后果[2]。

        1.1.2 亞穩(wěn)態(tài)的解決辦法[3,4]

        亞穩(wěn)態(tài)的平均無故障時間(Meantime Between Failures,MTBF)是系統(tǒng)頻率、器件速度等的指數(shù)函數(shù)。MTBF(tr)=Exp(tr/τ)T0fclkfdata(1)

        在式(1)中tr是觸發(fā)器對輸入的判決時間;fclk,fdata分別是時鐘頻率和數(shù)據(jù)翻轉(zhuǎn)頻率;T0和τ是觸發(fā)器在某種制造工藝下的常數(shù)。因此,由式(1)可以得出增大MTBF的途徑,本文采用如下方法:

        (1) 降低輸入數(shù)據(jù)的變化頻率fdata,可以降低亞穩(wěn)態(tài)的出現(xiàn)頻率。把讀指針和寫指針變換成格雷碼的形式,而不是二進(jìn)制指針。格雷碼指針是一種在相鄰計數(shù)值之間只有1位發(fā)生變化的編碼方式。所以,讀寫指針采用格雷碼后,就能解決異步時鐘對二進(jìn)制計數(shù)器采樣時存在的多位同時發(fā)生變化的問題。從而大大降低了亞穩(wěn)態(tài)的出現(xiàn)。例如,二進(jìn)制指針為0011,加1后變?yōu)?100,有3位同時發(fā)生變化,出現(xiàn)亞穩(wěn)態(tài)的幾率比格雷碼大3倍。

        (2) 采用2級采樣的同步器。如圖1所示,第一級觸發(fā)器采樣異步輸入信號wdata,并等待rclk的一個時鐘周期,以便使第一級輸出信號rdata1的亞穩(wěn)態(tài)逐漸達(dá)到穩(wěn)定狀態(tài),形成一個固定的值0或1。這樣在第二級觸發(fā)器采樣時,其輸出rdata2就是一個穩(wěn)定的值。

        亞穩(wěn)態(tài)不可能完全消除,但可以把它降低到一個可以接受的概率范圍內(nèi)。根據(jù)經(jīng)驗,當(dāng)時鐘周期滿足公式:tclk≥20×tcq+tsetup(2)其中,tclk為同步器的時鐘周期;tcq,tsetup分別為觸發(fā)器的輸出延時和建立時間,則第一級輸出rdata1經(jīng)過20×tcq的延時后仍不穩(wěn)定的概率非常小,因此第二級輸出rdata2仍不穩(wěn)定的概率可以忽略不計。

        1.2 滿、空標(biāo)志的產(chǎn)生

        如果FIFO處于空狀態(tài),再進(jìn)行1個讀出動作會產(chǎn)生1個向下溢出動作(underflow),1個無效的數(shù)據(jù)會被讀出;同樣,對于一個寫滿的FIFO如果進(jìn)行1個寫入動作,會產(chǎn)生向上溢出(overflow),一個有用的數(shù)據(jù)會被新寫入的數(shù)據(jù)覆蓋。所以,為了避免這種錯誤的產(chǎn)生,設(shè)置空、滿信號是必要的。

        本文采用象限法,與采用1位狀態(tài)位進(jìn)行同步比較相比,簡化了電路結(jié)構(gòu),省去了將讀、寫指針同步到對方時鐘域再進(jìn)行比較的步驟和格雷碼向二進(jìn)制轉(zhuǎn)換的電路。具體的方法如圖2所示。

        圖2 讀、寫指針象限分別將讀、寫指針劃分成4個連續(xù)區(qū)間,取每個指針的最高位和次高位4位狀態(tài)位進(jìn)行譯碼,并結(jié)合讀寫指針是否相等來產(chǎn)生空、滿標(biāo)志;然后把空、滿標(biāo)志同步到相應(yīng)的時鐘域中,以便在同一時鐘下,作為控制信號。

        圖2中實線箭頭表示寫指針落后讀指針一個區(qū)間,這說明wptr可能要追上rptr,存儲器可能將為滿狀態(tài);同理,圖2中虛線表示讀指針落后寫指針1個區(qū)間,這說明rptr可能要追上wptr,存儲器可能將為空狀態(tài)。此處設(shè)置一個鎖存器,當(dāng)寫指針落后讀指針1個區(qū)間時將鎖存器置位,當(dāng)讀指針落后寫指針1個區(qū)間時將鎖存器清零。在讀指針和寫指針相等時,如果鎖存器為1,那么存儲器就為滿狀態(tài);如果鎖存器為0,則存儲器為空狀態(tài)。當(dāng)存儲器復(fù)位時,鎖存器將變?yōu)?,表示存儲器為空狀態(tài)。

        可以用下面表達(dá)式表示鎖存器的置位、清零的產(chǎn)生過程:

        flrst=~((wptr[N]^rptr[N-1])~(wptr[N-1]^rptr[N]));

        fldir=~(((~wptr[N]^rptr[N-1])(wptr[N-1]^rptr[N]))|~wrst);

        if(!flrst) fliplatch<=1′b1;

        if(!fldir) fliplatch<=1′b0;

        從圖3中可以看出,如果寫指針落后讀指針1個區(qū)間,則寫指針的最高位wptr[N]與讀指針的次高位rptr[N-1]不同,而寫指針的次高位wptr[N-1]與讀指針的最高位rptr[N]相同,所以此時flrst的值應(yīng)為0;同理,當(dāng)讀指針落后寫指針1個區(qū)間時,那么讀指針的最高位rptr[N]與寫指針的次高位wptr[N-1]不同,而讀指針的次高位rptr[N-1]與寫指針的最高位wptr[N]相同,或者此時復(fù)位信號(wrst)有效(為高電平),fldir的值應(yīng)為0。所以通過flrst,fldir的值可以看出讀、寫指針的位置關(guān)系。當(dāng)flrst為0時,將鎖存器(fliplatch)置位為1;當(dāng)fldir為0時,將鎖存器(fliplatch)清零。使用下面表達(dá)式來判斷滿空狀態(tài):

        empty=~((wptr= =rptr)!fliplatch);

        full=~((wptr= =rptr)fliplatch);

        從以上表達(dá)式可以得出,空、滿標(biāo)志均為低電平有效。

        圖3 比較器仿真1.3 門控時鐘電路

        采用門控時鐘技術(shù),是對RTL級降低功耗的有效手段。此技術(shù)主要是對觸發(fā)器或鎖存器的時鐘輸入進(jìn)行門控。當(dāng)子模塊處于空閑狀態(tài)時關(guān)斷其時鐘,既可以使本模塊時序電路保持靜態(tài),又可以使其后組合邏輯沒有翻轉(zhuǎn)。因此門控時鐘技術(shù)很好地達(dá)到了關(guān)閉子電路的目的,有效地降低了時鐘功耗[5]

        在本設(shè)計中,時鐘模塊主要是讀寫指針的產(chǎn)生電路。對于寫指針電路而言,如圖4所示,當(dāng)寫復(fù)位(wrst)有效或滿標(biāo)志(full)有效或?qū)懼羔樤黾恿?inwptr)為零時,關(guān)斷寫時鐘,使其不翻轉(zhuǎn),這樣減少了大量觸發(fā)器的工作。從而降低了寫指針產(chǎn)生電路的功耗。

        圖4 門控電路表1,2分別給出了沒有門控和基于門控時鐘下,讀、寫指針產(chǎn)生電路的性能參數(shù)。本設(shè)計采用Quartus II 7.2對電路進(jìn)行功耗估算,可以看出基于門控時鐘下,電路功耗減小。

        表1 寫指針電路性能

        門控寫時鐘 /MHz面積 /gates功耗 /mW沒有門控96.13653.80基于門控96.241.049.49

        表2 讀指針電路性能

        門控讀時鐘 /MHz面積 /gates功耗 /mW沒有門控96.03053.58基于門控96.434.049.68

        2 仿真驗證結(jié)果

        本設(shè)計完成FIFO各模塊的RTL級編碼,并通過ModelSim SE 6.1b對程序進(jìn)行仿真驗證。

        圖3為比較電路,當(dāng)wptr和rptr均為0101,且此時鎖存器為1,則滿信號full有效變?yōu)榈碗娖?;同理,?dāng)wptr和rptr均為1110,且此時鎖存器為0,則空信號empty有效變?yōu)榈碗娖健?/p>

        圖5為讀指針產(chǎn)生電路,指針的二進(jìn)制增加量為0001,rempty為將空信號empty同步到讀時鐘域中得到。

        圖6為寫指針產(chǎn)生電路,其中指針的增加量為0001,wfull為將滿信號full同步到寫時鐘域中得到的。通過對各模塊的時鐘和狀態(tài)位變化的分析,驗證輸出結(jié)果的正確性。

        圖5 讀指針及空標(biāo)志仿真圖6 寫指針及滿標(biāo)志仿真3 結(jié) 語

        本文通過對異步FIFO原理的分析,成功解決了在設(shè)計過程中可能要出現(xiàn)的2個關(guān)鍵問題。

        本設(shè)計中FIFO的寬度為16位,深度為8位。用Verilog HDL語言對電路進(jìn)行設(shè)計,并用ModelSim SE 6.1b對各模塊進(jìn)行仿真,驗證了功能時序的正確性。且增加了門控時鐘電路,使系統(tǒng)的功耗降低了8%,該設(shè)計可以成功的擴(kuò)展到多異步時鐘域間數(shù)據(jù)傳輸,具有廣泛的應(yīng)用前景。

        參 考 文 獻(xiàn)

        [1]魏芳,劉志軍,馬克杰.基于Verilog HDL的異步FIFO設(shè)計與實現(xiàn)[J].電子技術(shù)應(yīng)用,2006(7):97100.

        [2]蘇進(jìn).異步FIFO存儲器的設(shè)計[D].合肥:合肥工業(yè)大學(xué),2007.

        [3]李媛,盧宏生.異步FIFO設(shè)計的實現(xiàn)與時序分析[J].高性能計算技術(shù),2007(6):3539.

        [4]張英武,杜波,袁國順.一款低功耗異步 FIFO的設(shè)計與實現(xiàn)[J].電子器件,2007,30(3):962964.

        [5]張永新,陸生禮,茆邦琴.門控時鐘的低功耗設(shè)計技術(shù)[J].微電子學(xué)與計算機(jī),2004,21(1):2326.

        [6]梁曉瑩,岳洪偉.ASIC中的異步FIFO的實現(xiàn)[J].微計算機(jī)信息,2007,23(1):246248.

        [7]徐世偉,劉嚴(yán)嚴(yán),劉紅俠.異步時鐘亞穩(wěn)態(tài)及FIFO標(biāo)志位的產(chǎn)生[J].電子技術(shù)應(yīng)用,2006(11):99102.

        [8]張維旭,賀占莊.基于FPGA的異步FIFO設(shè)計[J].計算機(jī)技術(shù)與發(fā)展,2006,16(7):168170.

        [9]熊洪兵,陳琦.基于FPGA的異步FIFO設(shè)計與實現(xiàn)[J].微計算機(jī)信息,2006,22(6):216218.

        [10]羅昊.一種異步FIFO的設(shè)計方法[J].電子技術(shù)應(yīng)用,2004(8):7074.

        [11]楊軍,孔兵,宋克儉,等.基于FPGA的高速異步FIFO存儲器設(shè)計[J].云南大學(xué)學(xué)報:自然科學(xué)版,2007,29(6):560565.

        作者簡介 張海勇 男,1981年出生,微電子學(xué)與固體電子學(xué)專業(yè),貴州大學(xué)在讀碩士研究生。研究方向為數(shù)字集成電路。

        葉顯陽 男,1982年出生,微電子學(xué)與固體電子學(xué)專業(yè),貴州大學(xué)在讀碩士研究生。研究方向為數(shù)字集成電路。

        皮代軍 男,1983年出生,微電子學(xué)與固體電子學(xué)專業(yè),貴州大學(xué)在讀碩士研究生。研究方向為數(shù)字集成電路。

        秦水介 女,1963年出生,教授,博士,博士生導(dǎo)師。主要從事微電子機(jī)械系統(tǒng)、激光與光電子技術(shù)的研究。

        注:本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文

        富婆猛男一区二区三区| 欧美xxxx新一区二区三区 | 日韩精品无码免费专区网站| 欧美色色视频| 久久久99精品国产片| 中文字幕亚洲乱码成熟女1区| 亚洲av成人无码精品电影在线| 亚洲美女啪啪| 成人影院免费视频观看| 久久精品国产熟女亚洲| 亚洲精品乱码久久久久久日本蜜臀 | 美女视频永久黄网站免费观看国产 | 亚洲一区在线二区三区 | 中文字幕+乱码+中文字幕一区| 亚洲天堂成人在线| 蜜臀久久久精品国产亚洲av| 一个色综合中文字幕人妻激情视频| 中国农村妇女hdxxxx| 亚洲Va中文字幕久久无码一区 | 亚洲精品中文字幕观看| 日本女优久久精品观看| 免费国产在线精品一区| 亚洲中文无码永久免| 亚洲日本VA午夜在线电影| 蜜桃视频一区二区三区四| 影音先锋中文字幕无码资源站| 国产精品无需播放器| 国产三级在线观看高清| 人妻少妇偷人精品免费看| 熟妇人妻无乱码中文字幕| 在线观看av国产自拍| 深夜福利国产精品中文字幕| 亚洲国产成人久久三区| 日韩在线无| 国产亚洲精品高清视频| 国产精品婷婷久久爽一下| 亚洲乱亚洲乱少妇无码99p| 国模少妇无码一区二区三区 | 午夜日本精品一区二区| 91精品国产综合久久熟女| 亚洲av成人一区二区三区|