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

        ?

        基于Verilog HDL的異步FIFO 設(shè)計

        2021-10-10 03:55:52李紅科王慶春余順園
        電子設(shè)計工程 2021年19期
        關(guān)鍵詞:亞穩(wěn)態(tài)同步器二進(jìn)制

        李紅科,王慶春,余順園

        (安康學(xué)院電子與信息工程學(xué)院,陜西安康 725000)

        隨著集成電路的飛速發(fā)展,超大規(guī)模集成電路芯片中一個完整系統(tǒng)包含多個時鐘,不同時鐘域控制下,數(shù)據(jù)在傳輸或存儲之間會出現(xiàn)亞穩(wěn)態(tài)現(xiàn)象。異步FIFO(Frist Input Frist Output)是解決跨時鐘域數(shù)據(jù)傳輸和存儲所引發(fā)亞穩(wěn)態(tài)的有效方法之一。異步FIFO 在雷達(dá)、信號處理及多媒體技術(shù)等領(lǐng)域有著廣泛的應(yīng)用[1-3]。

        1 FIFO結(jié)構(gòu)設(shè)計

        FIFO是一種先進(jìn)先出的雙端口數(shù)據(jù)緩存器,和普通緩沖器區(qū)別在于FIFO沒有外部地址線,優(yōu)點是減少輸入信號控制線,缺點是數(shù)據(jù)只能順序?qū)懭?、順序讀出[4-5]。圖1給出了異步FIFO內(nèi)部結(jié)構(gòu)圖,包括雙端口RAM存儲器、寫控制器、讀控制器、寫地址指針同步到讀時鐘域(W2R 同步器)、讀地址指針同步到寫時鐘域(R2W同步器)、讀狀態(tài)標(biāo)志位和寫狀態(tài)標(biāo)志位等部分[6-8]。

        圖1 異步FIFO內(nèi)部結(jié)構(gòu)圖

        寫控制器模塊:在寫時鐘和寫使能信號作用下,產(chǎn)生寫地址指針。

        讀控制器模塊:在讀時鐘和讀使能信號作用下,產(chǎn)生讀地址指針。

        R2W 同步器模塊:讀計數(shù)器同步到寫時鐘域,同步后計數(shù)器和寫二進(jìn)制計數(shù)器比較用于產(chǎn)生滿標(biāo)志位(full)信號條件。

        W2R 同步器模塊:寫計數(shù)器同步到讀時鐘域,同步后計數(shù)器和讀二進(jìn)制計數(shù)器比較用于產(chǎn)生空標(biāo)志位(empty)信號條件。

        寫狀態(tài)標(biāo)志位模塊:寫時鐘控制下產(chǎn)生滿(full)信號。

        讀狀態(tài)標(biāo)志位模塊:讀時鐘控制下產(chǎn)生空(empty)信號。

        異步FIFO 外部引腳如表1 所示。

        表1 異步FIFO外部引腳

        2 異步FIFO設(shè)計關(guān)鍵技術(shù)問題

        異步FIFO 設(shè)計過程中存在兩個關(guān)鍵技術(shù)問題:1)亞穩(wěn)態(tài);2)空/滿狀態(tài)標(biāo)志位判斷及產(chǎn)生。在處理空/滿標(biāo)志位問題上,目前最常用的方案是增加一位讀寫指針附加位,當(dāng)讀寫指針最高位相同其余位也相同時,認(rèn)為讀空,當(dāng)讀寫指針最高位不相同其余位相同時,認(rèn)為寫滿。

        文中以寬度為8 位、深度為16 位的異步FIF0 為例,介紹亞穩(wěn)態(tài)產(chǎn)生的原因以及降低亞穩(wěn)態(tài)出現(xiàn)概率的方法,分析利用格雷碼和同步轉(zhuǎn)換來產(chǎn)生空/滿標(biāo)志位的方法。

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

        在所有數(shù)字器件中,寄存器都定義了一個信號時序要求,滿足時序要求的寄存器才能正確地在輸入端獲取數(shù)據(jù)、在輸出端產(chǎn)生數(shù)據(jù)[9]。為確保操作可靠,輸入數(shù)據(jù)在時鐘沿之前必須穩(wěn)定一段時間(建立時間),并且在時鐘沿之后保持一段時間(保持時間),觸發(fā)器經(jīng)過一個特定時鐘至輸出延時后有效。如果一個數(shù)據(jù)信號在變化之前不滿足觸發(fā)器建立和保持時間要求,觸發(fā)器輸出可能會進(jìn)入亞穩(wěn)態(tài)。亞穩(wěn)態(tài)觸發(fā)器輸出值會在高低電平之間徘徊不定,如圖2 所示。

        圖2 亞穩(wěn)態(tài)的產(chǎn)生示意圖

        2.2 亞穩(wěn)態(tài)解決辦法

        雖然亞穩(wěn)態(tài)在異步電路中無法避免,但是兩級同步器和格雷碼計數(shù)器可以降低亞穩(wěn)態(tài)概率到可以接受的程度。

        1)兩級同步器

        圖3 中,clk1 和clk2 是異步時鐘,F(xiàn)F1和FF2組成兩級同步器[10-11],對不同時鐘域的輸入數(shù)據(jù)鎖存兩拍。一般情況下,兩級鎖存同步器是一級同步器出現(xiàn)亞穩(wěn)態(tài)概率的平方,在大部分同步設(shè)計中,兩級同步器可以大大降低亞穩(wěn)態(tài)出現(xiàn)概率[12]。

        圖3 異步電路同步化處理

        圖4 中,當(dāng)clk1 和clk2 上升沿很近時,data0 在變化時,此時clk2 上升沿采集到一個正在變化的數(shù)值,data1 是個不確定值,F(xiàn)F1觸發(fā)器輸出處于亞穩(wěn)態(tài),經(jīng)過1 個時鐘延時,data1 值趨于穩(wěn)定,F(xiàn)F2在clk2 上升沿對data1 穩(wěn)定值采樣,輸出data2 為確定值。雖然data1 在被clk2 上升沿采樣時也有處于亞穩(wěn)態(tài)的可能,但是這種概率很小,經(jīng)過兩級同步器能大大降低亞穩(wěn)態(tài)概率[13-15]。兩級同步器設(shè)計程序如下:

        圖4 兩級同步器消除亞穩(wěn)態(tài)

        2)格雷碼計數(shù)器

        格雷碼是一種誤差最小化的可靠性編碼,可以極大地減少由一個狀態(tài)變化到下一個狀態(tài)時電路產(chǎn)生的誤差[11]。這種編碼方式是兩個相鄰碼之間只有一位變化,缺點是格雷碼是無權(quán)碼,不能直接用于計算、比較,需要轉(zhuǎn)換為二進(jìn)制代碼計算。

        亞穩(wěn)態(tài)出現(xiàn)的原因是數(shù)據(jù)變化時建立和保持時間不夠,數(shù)據(jù)地址經(jīng)過二級同步器后,地址指針采用格雷碼編碼,地址指針一次只能變化一位,通過這種可以有效減少亞穩(wěn)態(tài)出現(xiàn)概率。

        但是格雷碼指針不能直接比較產(chǎn)生空/滿標(biāo)志位,要產(chǎn)生空/滿標(biāo)志位,需要將格雷碼讀指針和寫指針轉(zhuǎn)換為相應(yīng)二進(jìn)制讀指針和寫指針進(jìn)行比較。

        格雷碼轉(zhuǎn)二進(jìn)制碼方法是格雷碼最高位碼等于二進(jìn)制最高位碼Bn-1=Gn-1,二進(jìn)制次高位=二進(jìn)制最高位與格雷碼次高位異或,依次將n位格雷碼轉(zhuǎn)換為二進(jìn)制碼[11]。

        2.3 空/滿狀態(tài)標(biāo)志位產(chǎn)生

        為防止FIFO 誤操作,設(shè)置空/滿狀態(tài)標(biāo)志位,當(dāng)空狀態(tài)標(biāo)志位empty=1時,F(xiàn)IFO 不能再讀出數(shù)據(jù)。當(dāng)滿狀態(tài)標(biāo)志位full=1 時FIFO 不能再寫入數(shù)據(jù)。因為FIF0位寬為8位,至少需要3位二進(jìn)制數(shù)表示地址位。

        讀空條件:寫指針(wr_pointer)=讀指針(rd_pointer),如圖5(a)所示。因為讀指針和寫指針變化是在不同時鐘下完成,不能直接比較,必須轉(zhuǎn)換到相同時鐘下進(jìn)行二進(jìn)制比較,將讀指針轉(zhuǎn)換為寫時鐘域,當(dāng)讀指針等于寫指針(w2r_bincnt==rd_bincnt)時,empty=1,F(xiàn)IFO 讀空。

        寫滿條件:對寫滿操作分兩種情況討論:1)一次性寫滿,當(dāng)寫時鐘域下寫二進(jìn)制指針指向最后一個存儲單元時,讀時鐘域下的二進(jìn)制讀指針指向第一存儲單元時,(wr_pointer=15)&&(rd_pointer=0),full=1寫滿,如圖5(b)所示;2)經(jīng)過多次寫滿,一次只向FIFO寫一部分?jǐn)?shù)據(jù),多次FIFO寫滿。例如第一次寫入12個數(shù)據(jù),第一次讀出10 個數(shù)據(jù),第二次再寫入14 個數(shù)據(jù)時寫滿。當(dāng)寫時鐘域下寫指針指向第n個存儲單元,寫指針同步到讀時鐘域下的二進(jìn)制寫指針指向存在單元第n+1 個存儲單元(wr_pointer=n)&&(rd_pointer=n+1)時,full=1,F(xiàn)IFO寫滿,如圖5(c)所示。

        圖5 異步FIFO空/滿狀態(tài)產(chǎn)生邏輯圖

        3 FIFO總體結(jié)構(gòu)設(shè)計

        整體設(shè)計包括:FIFO 存儲器設(shè)計模塊、寫計數(shù)器同步讀時鐘域模塊、讀計數(shù)器同步寫時鐘域模塊、空標(biāo)志產(chǎn)生模塊、滿標(biāo)志產(chǎn)生模塊和格雷碼計數(shù)器模塊[16-19]。

        FIFO 雙端口RAM 模塊設(shè)計代碼如下:

        寫計數(shù)器同步讀時鐘域模塊:用于產(chǎn)生空標(biāo)志信號條件。其中rc1k、rst_n 和w2r_bincnt 分別是寫時鐘復(fù)位和寫計數(shù)器轉(zhuǎn)換到讀時鐘二進(jìn)制計數(shù)器,設(shè)計代碼如下:

        讀計數(shù)器同步寫時鐘域模塊:用于產(chǎn)生滿標(biāo)志信號條件。其中wc1k 和rzw-bincnt 分別是寫時鐘和讀計數(shù)器轉(zhuǎn)換到寫時鐘二進(jìn)制計數(shù)器,設(shè)計代碼如下:

        空標(biāo)志產(chǎn)生模塊:在讀使能有效的情況下,讀二進(jìn)制計數(shù)器=寫格雷碼計數(shù)器同步并轉(zhuǎn)換到讀時鐘域的寫二進(jìn)制計數(shù)器,empty=1,empty 信號產(chǎn)生具體代碼如下:

        滿標(biāo)志產(chǎn)生模塊:讀使能有效情況下,寫二進(jìn)制值計數(shù)器計數(shù)到最大值且同步到寫時鐘域讀計數(shù)器計數(shù)最小值,或經(jīng)同步后讀計數(shù)=寫計數(shù)器+1 時,full=1,full信號產(chǎn)生具體代碼如下:

        4 仿真驗證

        針對異步FIFO 出現(xiàn)滿狀態(tài)的兩種情況進(jìn)行兩次仿真:1)第一種情況,F(xiàn)IFO 一次寫滿,在讀時鐘和讀使能控制下依次向FIFO 寫入十進(jìn)制5~20,16 個無符號數(shù),最后一個寫操作結(jié)束,full=1,F(xiàn)IFO 寫滿。在寫時鐘和寫使能控制下依次從FIFO 讀出5~20,16個無符號數(shù),最后一個讀操作結(jié)束,empty=1,F(xiàn)IFO 讀空,如圖6 所示;2)第二種情況,F(xiàn)IFO 多次寫滿,在讀時鐘和讀使能控制下依次向FIFO 寫入十進(jìn)制1~16,16個無符號數(shù),最后一個寫操作結(jié)束,full=1,F(xiàn)IFO 寫滿。在寫時鐘和寫使能控制下依次從FIFO 讀出1~10,10 個無符號數(shù),再次向FIFO 寫入0~9,10 個無符號數(shù),full=1,F(xiàn)IFO 寫滿,最后把FIFO11~16,0~9,16個數(shù)據(jù)依次讀出,empty=1,F(xiàn)IFO 讀空,如圖7 所示。

        圖6 第一種寫滿情況

        圖7 第二種寫滿情況

        5 結(jié)論

        該文分析異步FIFO 內(nèi)部結(jié)構(gòu),在此基礎(chǔ)之上深入分析異步電路亞穩(wěn)態(tài)產(chǎn)生的原因,針對亞穩(wěn)態(tài)原因提出采用同步器和格雷碼計數(shù)器的方法,可以有效降低亞穩(wěn)態(tài)出現(xiàn)概率。針對傳統(tǒng)的空/滿標(biāo)志位產(chǎn)生方法,提出一種新的空/滿標(biāo)志位產(chǎn)生方法。使讀寫滿邏輯分兩種情況討論,分別對兩種情況進(jìn)行Modelsim 仿真驗證,從仿真圖上看,該設(shè)計正確,實現(xiàn)了預(yù)期目標(biāo)。

        猜你喜歡
        亞穩(wěn)態(tài)同步器二進(jìn)制
        用二進(jìn)制解一道高中數(shù)學(xué)聯(lián)賽數(shù)論題
        2016年門源MS6.4地震前跨斷層短水準(zhǔn)短期異常的機理探討
        地震研究(2020年4期)2020-09-26 10:08:11
        汽車同步器齒環(huán)鍛壓工藝的神經(jīng)網(wǎng)絡(luò)優(yōu)化研究
        有趣的進(jìn)度
        二進(jìn)制在競賽題中的應(yīng)用
        FPGA設(shè)計中跨時鐘域的問題與方法
        考考你
        多錐鎖環(huán)式同步器的應(yīng)用
        汽車零部件(2014年1期)2014-09-20 02:35:00
        新型多錐鎖銷同步器
        非對稱反饋神經(jīng)網(wǎng)絡(luò)中亞穩(wěn)態(tài)的位置與穩(wěn)定性
        试看男女炮交视频一区二区三区| 99蜜桃在线观看免费视频网站| 狠狠色噜噜狠狠狠8888米奇| 又紧又大又爽精品一区二区| 亚洲精品国产美女久久久| 午夜成人理论无码电影在线播放| 红杏亚洲影院一区二区三区| 百合av一区二区三区| 国产午夜精品久久久久九九| 少妇隔壁人妻中文字幕| 丝袜美足在线视频国产在线看| 欧美又大又硬又粗bbbbb| 国产免费艾彩sm调教视频| 婷婷色中文字幕综合在线| 国产九色AV刺激露脸对白| 人妻少妇精品视频一区二区三区| 口爆吞精美臀国产在线| 肥老熟女性强欲五十路| 国产无套粉嫩白浆在线| 少妇性饥渴bbbbb搡bbbb| 国产精品一区二区 尿失禁| 国产精品自产拍在线观看中文| 男女男在线精品免费观看| 久久午夜av一区二区| 国产自国产自愉自愉免费24区 | 日本中文字幕乱码中文乱码| 国产成人自拍高清在线| 午夜福利理论片在线观看| 一个人看的www免费视频中文| 亚洲国产精品日韩专区av| 亚洲精品中文字幕一二三| 日韩精品在线免费视频| 少妇丰满大乳被男人揉捏视频| 国产午夜无码视频免费网站| 亚洲是图一区二区视频| 超短裙老师在线观看一区| 国产亚洲精品精品综合伦理| 欧美激情肉欲高潮视频| 男男性恋免费视频网站| 精品国产高清自在线99| 亚洲无码激情视频在线观看|