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

        ?

        FPGA設(shè)計(jì)中狀態(tài)機(jī)穩(wěn)定問題的研究

        2012-06-29 01:37:10衛(wèi)一然甄國涌單彥虎
        電視技術(shù) 2012年23期
        關(guān)鍵詞:編碼方式記錄器狀態(tài)機(jī)

        衛(wèi)一然,甄國涌,單彥虎

        (中北大學(xué)儀器科學(xué)與動態(tài)測試教育部重點(diǎn)實(shí)驗(yàn)室,電子測試技術(shù)國家重點(diǎn)實(shí)驗(yàn)室,山西 太原 030051)

        責(zé)任編輯:時(shí) 雯

        隨著大規(guī)模和超大規(guī)模FPGA/CPLD器件的誕生和發(fā)展,以VHDL(硬件描述語言)為工具、FPGA/CPLD器件為載體的EDA技術(shù)的應(yīng)用越來越廣泛。在基于FPGA的數(shù)字設(shè)計(jì)中,狀態(tài)機(jī)是使用最為廣泛的時(shí)序電路模塊,它使得控制更加靈活、高效。因此如何提高狀態(tài)機(jī)的穩(wěn)定性成為目前必須面對的問題。

        FPGA的穩(wěn)定性會因?yàn)橥饨绲暮芏嘁蛩?如工作電壓、溫度)而受到影響,使?fàn)顟B(tài)機(jī)出現(xiàn)亞穩(wěn)定狀態(tài),造成電路出現(xiàn)異常。本文針對記錄器在溫度實(shí)驗(yàn)中,高溫造成FPGA狀態(tài)機(jī)穩(wěn)定性下降,出現(xiàn)的亞穩(wěn)定問題,對各種狀態(tài)編碼進(jìn)行了解研究,比較各種編碼方式的特點(diǎn),修改選定最適合的編碼方式,再結(jié)合FPGA綜合方面的約束,降低了溫度對其的影響,使其恢復(fù)正常工作。

        1 狀態(tài)編碼

        FPGA狀態(tài)機(jī)的設(shè)計(jì)中,編碼方式的選擇是一個(gè)重要的部分。方法選擇得當(dāng),設(shè)計(jì)的電路可以很簡單;反之,電路會占用過多的邏輯或速度降低。下面介紹一下狀態(tài)機(jī)的幾種編碼方式及其特點(diǎn)。

        二進(jìn)制編碼(Sequential)和格雷碼(Gray)都屬于壓縮編碼。二進(jìn)制編碼有其最典型的優(yōu)點(diǎn),即狀態(tài)向量最少。但是每次狀態(tài)轉(zhuǎn)換時(shí),需要同時(shí)發(fā)生變化的比特位較多。格雷碼雖然每次只有一位發(fā)生變化,大大降低了產(chǎn)生暫態(tài)的可能,但不適合有很多狀態(tài)跳轉(zhuǎn)的情況。

        One-h(huán)ot編碼的典型定義為:在狀態(tài)機(jī)中,每一個(gè)狀態(tài)都使用一個(gè)寄存器來表達(dá),并有相對應(yīng)的唯一寄存器位,每次只有一個(gè)稱為“hot”的有效位“1”。所以,在編譯的時(shí)候僅需要獲取“1”值的位。狀態(tài)轉(zhuǎn)移則是由“1”變?yōu)椤?”,或是由“0”變?yōu)椤?”的那些位所表示的狀態(tài)發(fā)生了轉(zhuǎn)移。采用這種編碼方式需要的組合邏輯少、速度快,但占用觸發(fā)器多,考慮到FPGA更多的提供觸發(fā)器資源,所以該編碼方式更適合于FPGA的設(shè)計(jì)。但是One-h(huán)ot編碼的使用將大大增加設(shè)計(jì)面積,因此在時(shí)序可以滿足的條件下還是建議盡可能使用二進(jìn)制編碼[1]。

        Compact編碼盡量減少狀態(tài)變量和觸發(fā)器的位數(shù)。當(dāng)試圖優(yōu)化面積時(shí),這種編碼方式是一種不錯(cuò)的選擇。

        Johnson編碼方式與格雷碼類似,適用于長路徑無分支的狀態(tài)機(jī)。Speed1編碼是面向速度優(yōu)化,一個(gè)狀態(tài)寄存器中的位的數(shù)量依賴于特定的有限狀態(tài)機(jī),但一般比有限狀態(tài)機(jī)的數(shù)量多。

        2 高溫造成的亞穩(wěn)態(tài)問題

        該記錄器用于導(dǎo)引頭試驗(yàn)過程中視頻回波數(shù)據(jù)、實(shí)時(shí)圖像數(shù)據(jù)、控制信號時(shí)序數(shù)據(jù)以及狀態(tài)檢測信號的采集和記錄,記錄器在出廠前要進(jìn)行一定的溫度試驗(yàn),確定其能在任務(wù)書規(guī)定的溫度環(huán)境范圍內(nèi)正常工作,即記錄器能夠?qū)?dǎo)引頭試驗(yàn)過程中的數(shù)據(jù)及信號準(zhǔn)確地采集并存儲到記錄器的Flash芯片中。

        記錄器溫度試驗(yàn)的過程中,在高溫60oC的環(huán)境下對記錄器進(jìn)行測試,發(fā)現(xiàn)采集到的數(shù)據(jù)有錯(cuò)誤。通過利用示波器對采集存儲過程中的一些關(guān)鍵信號進(jìn)行觀察研究,將問題定位到了FPGA控制Flash進(jìn)行存儲這一模塊:用示波器觀察Flash芯片的信號,正常情況下,F(xiàn)lash最先進(jìn)行無效塊校驗(yàn),信號連續(xù)出現(xiàn)一段方波然后拉高(如圖1)說明無效塊校驗(yàn)完畢,之后程序向下執(zhí)行擦、寫、讀。但是60℃環(huán)境下,信號一直沒有出現(xiàn)拉高,圖2是出現(xiàn)異常時(shí)的波形。說明程序在執(zhí)行過程中,無效塊校驗(yàn)?zāi)K出現(xiàn)了異常并且一直游離在這種異常狀態(tài)中無法恢復(fù)正常,導(dǎo)致無效塊校驗(yàn)一直完成不了,程序無法往下執(zhí)行。

        3 問題的分析與解決

        3.1 選擇合適的編碼方式以減少過渡狀態(tài)產(chǎn)生概率

        以FPGA為核心控制Flash進(jìn)行存儲的程序設(shè)計(jì),主要依靠的是大量的狀態(tài)機(jī)。在對FPGA進(jìn)行綜合后,會生成以觸發(fā)器為核心的狀態(tài)寄存電路,其穩(wěn)定性就是由此決定。時(shí)鐘信號在FPGA器件內(nèi)通過連線到達(dá)各觸發(fā)器時(shí),都有一定的延時(shí)。延時(shí)的長短不僅與pcb走線有關(guān),還受到一些其他因素影響,如器件本身、外界激勵、溫度變化等[2]。實(shí)際的綜合布線后,各個(gè)觸發(fā)器的位置不同,連線長短不同,再加上溫度等外在條件對器件穩(wěn)定性的影響,使得在多個(gè)觸發(fā)器在同步觸發(fā)時(shí),觸發(fā)不能嚴(yán)格同步,總是出現(xiàn)無法避免的過渡狀態(tài)。若程序游離于這種過渡狀態(tài)無法恢復(fù)正常就會導(dǎo)致電路異常。圖3為記錄器異常時(shí),利用邏輯分析儀抓到的狀態(tài)機(jī)波形。

        圖3 記錄器異常情況下狀態(tài)機(jī)運(yùn)行波形圖(截圖)

        從圖中可以看出,狀態(tài)機(jī)運(yùn)行過程中,在由狀態(tài)“0001111”向下一個(gè)狀態(tài)跳轉(zhuǎn)時(shí)出現(xiàn)了問題,狀態(tài)機(jī)并沒有按照程序跳轉(zhuǎn)到“0010000”,而是跳到了一個(gè)未被定義的狀態(tài)(也稱為“非法”狀態(tài))“1001001”,并且進(jìn)入了死循環(huán)長期無法跳出,造成程序進(jìn)行不下去,電路出現(xiàn)異常[3]。

        在實(shí)際的程序設(shè)計(jì)中是很難做到全編碼狀態(tài)機(jī)。該記錄器存儲程序設(shè)計(jì)中,狀態(tài)機(jī)的設(shè)計(jì)屬于非全編碼,采用的是二進(jìn)制編碼風(fēng)格。高溫60oC環(huán)境中器件穩(wěn)定性有所下降,狀態(tài)機(jī)轉(zhuǎn)換時(shí),由于記錄器中使用的狀態(tài)機(jī)數(shù)量眾多,同時(shí)需要跳變的比特位也相應(yīng)劇增,很容易進(jìn)入到非法狀態(tài)。很顯然這樣的非法狀態(tài)不屬于電路穩(wěn)態(tài)下的邏輯,所以電路會出現(xiàn)異常,輸出一些不可預(yù)測的錯(cuò)誤數(shù)據(jù)。程序在在進(jìn)行無效塊校驗(yàn)時(shí),進(jìn)入到非法狀態(tài)后沒有及時(shí)返回到正常狀態(tài),而是長期游離在這樣的異常下就導(dǎo)致了正常程序無法進(jìn)行下去。要減少這種情況的方法之一就是要盡量降低過渡狀態(tài)出現(xiàn)的概率。

        One-h(huán)ot編碼方式中,每一個(gè)狀態(tài)都使用一個(gè)寄存器來表達(dá),每個(gè)狀態(tài)都有它獨(dú)立的寄存器位,對應(yīng)于任何給定狀態(tài)的狀態(tài)向量各位中僅有一位為1,其他位全為0。例如state0=00000001,state1=00000010,state2=00000100……狀態(tài)轉(zhuǎn)移時(shí),需要同時(shí)發(fā)生翻轉(zhuǎn)的比特位數(shù)與狀態(tài)數(shù)量無關(guān),只有由“1”變?yōu)椤?”,和由“0”變?yōu)椤?”的那兩位發(fā)生翻轉(zhuǎn)。在比較大型的狀態(tài)機(jī)設(shè)計(jì)中,與二進(jìn)制編碼相比,采用One-h(huán)ot編碼在很大程度上降低了相鄰狀態(tài)轉(zhuǎn)換時(shí)需要同時(shí)發(fā)生翻轉(zhuǎn)的比特位,從而大大降低進(jìn)入非法狀態(tài)的概率。在資源允許的情況下,可以考慮采用這種編碼方式。

        3.2 添加綜合約束控制非法狀態(tài)

        針對個(gè)人的情況選擇合適的編碼方式可以減少非法狀態(tài)產(chǎn)生的概率,但并不等于完全將其消除。在編寫FPGA控制程序時(shí),如果對非法狀態(tài)沒有進(jìn)行有效處理,在外界一些不確定因素的干擾下,狀態(tài)機(jī)一旦進(jìn)入了非法狀態(tài),電路會出現(xiàn)短暫的失控,或者一直無法返回正常工作狀態(tài)。

        對于One-h(huán)ot編碼方式來說,有效狀態(tài)中只可能有一個(gè)觸發(fā)器的狀態(tài)為“1”,其余觸發(fā)器的狀態(tài)全為“0”,即任何狀態(tài)中只要為“1”的觸發(fā)器個(gè)數(shù)大于1就被確定為非法狀態(tài)[4]。而且在該記錄器的FPGA設(shè)計(jì)中,使用的狀態(tài)機(jī)數(shù)量眾多,相對應(yīng)的非法狀態(tài)數(shù)量也劇增。

        記錄器的系統(tǒng)程序設(shè)計(jì)中已經(jīng)利用語句:When others=>next_state<=“初始狀態(tài)”對非法狀態(tài)進(jìn)行轉(zhuǎn)移。考慮到在60oC的環(huán)境下還是出現(xiàn)了問題,程序進(jìn)入非法狀態(tài)后并沒有及時(shí)回到正常狀態(tài),所以在此基礎(chǔ)上,現(xiàn)利用Xilinx XST軟件在FPGA綜合中添加安全模式約束來實(shí)現(xiàn)有限狀態(tài)機(jī),將添加額外的邏輯將狀態(tài)機(jī)從無效狀態(tài)調(diào)轉(zhuǎn)到有效狀態(tài),否則只能復(fù)位來實(shí)現(xiàn)。

        在使用One-h(huán)ot風(fēng)格對狀態(tài)機(jī)編碼的基礎(chǔ)上,添加安全模式約束后進(jìn)行高低溫試驗(yàn),電路恢復(fù)正常,信號的波形也恢復(fù)如圖1正常狀態(tài)。

        4 測試結(jié)果

        在第一狀態(tài)編碼上改用One-h(huán)ot,第二綜合上添加安全模式加以約束,這兩方面做出改變后,溫度試驗(yàn)中,記錄器正常工作,沒有再出現(xiàn)異常情況。圖4是狀態(tài)機(jī)穩(wěn)定工作時(shí)的波形圖。

        圖4 狀態(tài)機(jī)穩(wěn)定工作波形圖(截圖)

        由圖可知,One-h(huán)ot編碼方式對降低非法狀態(tài)發(fā)生概率,提高設(shè)備穩(wěn)定性方面較二進(jìn)制編碼方式確實(shí)有很大的優(yōu)勢。再加上綜合約束的進(jìn)一步保障,在高溫環(huán)境下程序運(yùn)行時(shí),由狀態(tài)“0001111”向下一個(gè)狀態(tài)跳轉(zhuǎn)時(shí)沒有出現(xiàn)進(jìn)入非法狀態(tài)無法跳出的情況,而是能夠順利地向下執(zhí)行。

        5 結(jié)論

        在FPGA的設(shè)計(jì)中,狀態(tài)機(jī)是使用最為廣泛的時(shí)序電路模塊,一個(gè)好的狀態(tài)機(jī)可以使控制更加靈活、高效。實(shí)現(xiàn)一個(gè)好的狀態(tài)機(jī)關(guān)鍵是好的編碼方式,以及對狀態(tài)機(jī)中出現(xiàn)的錯(cuò)誤進(jìn)行很好的轉(zhuǎn)移處理。本文詳細(xì)分析了在溫度實(shí)驗(yàn)中,高溫造成FPGA狀態(tài)機(jī)穩(wěn)定性下降,出現(xiàn)的一系列亞穩(wěn)定問題的原因。并根據(jù)分析的結(jié)果,對狀態(tài)機(jī)的編碼方式和FPGA綜合方面進(jìn)行了相應(yīng)的改進(jìn),消除了高溫對其的影響,提高了FPGA在溫度方面的穩(wěn)定性,使其能夠正常工作。

        [1]魏芳,劉志軍,王立華.基于Verilog HDL的可綜合有限狀態(tài)機(jī)設(shè)計(jì)[J].電子工程師,2006(6):6-10.

        [2]李雪梅.FPGA設(shè)計(jì)中由于延遲產(chǎn)生的冒險(xiǎn)現(xiàn)象分析及消除[J].微計(jì)算機(jī)應(yīng)用,2005,26(2):201-203.

        [3]宋烈武,石強(qiáng).設(shè)計(jì)CPLD/FPGA狀態(tài)機(jī)的穩(wěn)定性探究[J].中南民族大學(xué)學(xué)報(bào):自然科學(xué)版,2003(S1):24-25.

        [4]龔書濤,呂國強(qiáng),彭良清.在FPGA中狀態(tài)機(jī)的編碼方式[J].電子工程師,2005(11):51-53.

        猜你喜歡
        編碼方式記錄器狀態(tài)機(jī)
        基于有限狀態(tài)機(jī)的交會對接飛行任務(wù)規(guī)劃方法
        GCOA算法
        汽車事故數(shù)據(jù)記錄器數(shù)據(jù)規(guī)范及應(yīng)用進(jìn)展綜述
        可穿戴式多通道傳感系統(tǒng)功能需求分析及設(shè)計(jì)
        混合編碼方式自適應(yīng)差分進(jìn)化算法優(yōu)化設(shè)計(jì)寬帶天線
        列車車廂視頻記錄器的應(yīng)用
        基于彈載圖像記錄器的壓縮系統(tǒng)設(shè)計(jì)
        電子器件(2015年5期)2015-12-29 08:43:03
        淺談計(jì)算機(jī)網(wǎng)絡(luò)通信中實(shí)時(shí)差錯(cuò)控制技術(shù)
        FPGA設(shè)計(jì)中狀態(tài)機(jī)安全性研究
        基于反熔絲FPGA的有限狀態(tài)機(jī)加固設(shè)計(jì)
        国产亚洲一区二区三区综合片| 久热re在线视频精品免费| 一本大道久久精品一本大道久久| 白白色最新福利视频二| 久久久亚洲av波多野结衣| 免费在线观看播放黄片视频| 亚洲国产成人久久三区| 国产精品国产三级国av| 草莓视频中文字幕人妻系列| 东京热加勒比国产精品| 一区二区三区国产内射| 国产成年女人毛片80s网站| 国产亚洲精品第一综合麻豆| AV熟妇导航网| 精品国产一区二区三广区| 国产av久久在线观看| 97人妻精品一区二区三区| 国产亚洲蜜芽精品久久| 国产毛片一区二区日韩| 巨大巨粗巨长 黑人长吊| 亚洲饱满人妻视频| 扒开非洲女人大荫蒂视频| 国内自拍色第一页第二页 | 国产高清av首播原创麻豆| 热re99久久精品国产99热| 伊人婷婷在线| 精品中文字幕日本久久久| 国产乱码精品一区二区三区久久| 韩日午夜在线资源一区二区| 一区二区日韩国产精品| 日韩av他人妻中文字幕| 丰满人妻一区二区三区视频| 亚洲精品久久久久久久久av无码| 牛牛本精品99久久精品88m| 日本av在线精品视频| 插入日本少妇一区二区三区| 国产二级一片内射视频插放| 久久九九青青国产精品| av网址在线一区二区| 又紧又大又爽精品一区二区| 熟女人妻在线视频|