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

        ?

        基于Verilog 的有限狀態(tài)機編程方式及研究

        2021-06-01 12:57:14
        數(shù)字技術(shù)與應用 2021年4期
        關(guān)鍵詞:狀態(tài)機寄存器進程

        (西安電子科技大學微電子學院,陜西西安 710126)

        0 引言

        Verilog HDL[1]是一種常用的硬件描述語言,可以從系統(tǒng)級、電路級、門級到開關(guān)級對電路進行設(shè)計和驗證工作。采用Verilog HDL設(shè)計電路并進行仿真實驗,具有方便快捷的特點。

        有限狀態(tài)機FSM(Finite State Machine)的基本結(jié)構(gòu)由狀態(tài)寄存器和組合邏輯電路組成,通過對觸發(fā)器輸入端輸入信號,并由狀態(tài)寄存器對狀態(tài)完成保持或轉(zhuǎn)換,最后通過組合電路完成特定的輸出。分為以下兩種情況:

        (1)Moore型有限狀態(tài)機:輸出的信號只與當前狀態(tài)有關(guān)。(2)Mealy型有限狀態(tài)機:輸出信號不僅與當前狀態(tài)有關(guān),而且與輸入信號有關(guān)。

        傳統(tǒng)的狀態(tài)機設(shè)計方法需要繁瑣的狀態(tài)分配、繪制狀態(tài)表、化簡次態(tài)方程等步驟[2],而使用Verilog語言可以大大簡化這一過程。

        1 有限狀態(tài)機的設(shè)計流程

        有限狀態(tài)機處于工作狀態(tài)時,內(nèi)部的狀態(tài)寄存器保持現(xiàn)有狀態(tài)。

        根據(jù)工作原理,將有限狀態(tài)機的設(shè)計分為以下幾個步驟[3]:

        (1)確定采用Moore型狀態(tài)機還是Mealy型狀態(tài)機。(2)列出狀態(tài)機的所有狀態(tài),并對每一個狀態(tài)進行狀態(tài)編碼。(3)根據(jù)狀態(tài)轉(zhuǎn)移關(guān)系畫出狀態(tài)圖。(4)采用硬件描述語言對狀態(tài)機進行描述。

        每一步的選擇都會導致編程風格的不一樣,更會導致有限狀態(tài)機性能上各方面的差異。

        2 有限狀態(tài)機的狀態(tài)編碼選擇

        狀態(tài)編碼確定維持狀態(tài)所需的觸發(fā)器的數(shù)量并影響實現(xiàn)下一個狀態(tài)和輸出時所用的組合邏輯的復雜度[4]。Verilog中常用的狀態(tài)編碼方式有二進制碼,格雷(Gray)碼和獨熱(One-hot)碼,如表1所示:

        表1 Verilog 的常用狀態(tài)編碼方式Tab.1 Verilog's common state encoding methods

        通過比較,可以發(fā)現(xiàn)二進制編碼和格雷碼所用的狀態(tài)向量最短。但對于二進制編碼,在狀態(tài)寄存器進行狀態(tài)轉(zhuǎn)換時,如果狀態(tài)從2’b2翻轉(zhuǎn)到2’b3即從2’b01至2’b10這樣會產(chǎn)生多個狀態(tài)的翻轉(zhuǎn)。而格雷碼在變化時,實現(xiàn)了僅一位的改變,這樣,格雷碼在實際應用中減少了電路相鄰物理信號線同時變化的情況,從而減少電路中的電噪聲[5],若使用獨熱碼,則X 個狀態(tài)就需要X 個狀態(tài)寄存器,這將使狀態(tài)轉(zhuǎn)換過程更加嚴謹,并且電路的容錯性將更好。盡管使用了更多的觸發(fā)器。但是由于狀態(tài)解碼簡單,可以減少組合邏輯[6]。因此,獨熱碼常常在硬件資源豐富的情況下使用。

        3 有限狀態(tài)機的編程方式及其優(yōu)缺點

        通過分析有限狀態(tài)機的工作方式,可以得到單進程式,雙進程式和三進程式三種編程方法。

        這幾種編程方式的優(yōu)缺點主要從電路的毛刺、延遲、面積、功耗及速度等方面進行考量。毛刺的產(chǎn)生[7]一方面由于狀態(tài)機中的組合邏輯對時鐘邊沿信號的影響,另一方面由于狀態(tài)向量通過多條電路傳輸,形成競爭;延遲存在于當前信號改變到下一級電路信號改變時中間經(jīng)歷的時間,延遲的疊加會導致電路的不靈敏;面積和速度不能同時優(yōu)化,有時為了速度需要犧牲面積。

        3.1 單進程式描述方式

        單進程式描述方式只有一個always過程塊。這種情況下,如果均采用非阻塞語句賦值,電路不會產(chǎn)生毛刺。由于一段式的描述方法是為STATE本身分配一個值,因此會引入一個周期的延時,在設(shè)計中需要通過“預計算”將其考慮在內(nèi)[8]。如果遇到狀態(tài)較多的情況,編程本身極易出錯,且代碼冗長,因此,在任何情況下,都不推薦單進程式編程。

        3.2 雙進程式描述方式

        雙進程式描述方式有兩個always過程塊。第一個過程塊描述了狀態(tài)的轉(zhuǎn)移,第二個過程塊描述了由輸入確定的當前狀態(tài)以及組合邏輯控制的輸出。這種方式使編譯器優(yōu)化效果明顯,可以獲得非常理想的速度和資源占用率,是目前使用最廣泛的狀態(tài)機描述風格[9]。

        3.3 三進程式描述方式

        三進程式描述方式有三個always過程塊。它由當前狀態(tài)及輸入確定下一級狀態(tài),將對輸出的選擇用單獨的一個always過程塊描述,從而將組合邏輯電路分離開,使電路不會產(chǎn)生毛刺,可靠性高,并且代碼條理清晰,更易維護。

        4 實例

        用有限狀態(tài)機實現(xiàn)簡易“110”序列檢測器,要求避免毛刺、冗余現(xiàn)象,有較快速度。

        4.1 狀態(tài)選擇

        采用Moore型狀態(tài)機,即輸出的信號只與當前狀態(tài)有關(guān)。確定狀態(tài)轉(zhuǎn)移圖如圖1 所示:

        圖1 “110”序列檢測器的狀態(tài)轉(zhuǎn)移圖Fig.1 State transition diagram of "110" sequence detector

        4.2 編碼選擇

        因為要實現(xiàn)簡易狀態(tài)機,故選擇向量長度較短的編碼方式,故考慮二進制碼和格雷碼這兩種編碼方式。因為格雷碼降低了冗余,故選用格雷碼進行編碼。

        4.3 編程風格選擇

        由于要求較快速度,則應通過寄存器進行輸出,故選用三段式編程方式,這里是犧牲面積,減小延遲,提高速度。

        4.4 條件語句選擇

        選用case語句不需要考慮優(yōu)先級且編程簡潔方便,不會產(chǎn)生鎖存器。

        4.5 編寫程序

        4.6 仿真結(jié)果

        本例通過ModelSim SE 10.6d進行仿真。前10ns對有限狀態(tài)機實現(xiàn)復位功能,清除上一次運行結(jié)果,在第10ns拉高復位信號,啟動有限狀態(tài)機。之后每過10ns對有限狀態(tài)機輸入一個有效信號x,分別為1、1、1、0、1、1、0作為測試序列。通過仿真可以發(fā)現(xiàn),在第一個零(50ns)以及第二個零(80ns)出現(xiàn)之后的時鐘沿輸出1。運行100ns后,仿真結(jié)果如圖2所示:

        圖2 ModelSim 仿真結(jié)果Fig.2 ModelSim simulation results

        5 結(jié)語

        有限狀態(tài)機在集成電路設(shè)計中有著重要的作用,選用Verilog 語言進行編程有著方便、簡潔等特點。利用Verilog語言編寫有限狀態(tài)機時,編碼的選擇、編程方式的選取均會影響到有限狀態(tài)機的性能。對于精確度要求較高的電路可以選用格雷碼或者獨熱碼。編程方式盡量選擇二進程式或者三進程式。編寫條件語句時,要注意清除鎖存器。

        猜你喜歡
        狀態(tài)機寄存器進程
        Lite寄存器模型的設(shè)計與實現(xiàn)
        計算機應用(2020年5期)2020-06-07 07:06:44
        債券市場對外開放的進程與展望
        中國外匯(2019年20期)2019-11-25 09:54:58
        基于有限狀態(tài)機的交會對接飛行任務規(guī)劃方法
        分簇結(jié)構(gòu)向量寄存器分配策略研究*
        社會進程中的新聞學探尋
        民主與科學(2014年3期)2014-02-28 11:23:03
        我國高等教育改革進程與反思
        Linux僵死進程的產(chǎn)生與避免
        高速數(shù)模轉(zhuǎn)換器AD9779/AD9788的應用
        FPGA設(shè)計中狀態(tài)機安全性研究
        黑龍江科學(2011年2期)2011-03-14 00:39:36
        基于反熔絲FPGA的有限狀態(tài)機加固設(shè)計
        国产麻传媒精品国产av| 国产精品高清国产三级国产av | 国产精品成人亚洲一区| 人妻少妇精品中文字幕av| 国产激情视频白浆免费| 亚洲精品2区在线观看| 亚洲av日韩专区在线观看| 大学生高潮无套内谢视频| 欧洲-级毛片内射| 国产精品自线在线播放| 五月婷婷开心五月播五月| 无码av中文一区二区三区| 福利视频一二三在线观看| 国产成人亚洲合集青青草原精品| 日本免费一区二区在线| 国产精品一区二区av麻豆| www国产精品内射熟女| 91福利国产在线观看网站| 精品高清一区二区三区人妖| 国产69精品久久久久app下载| 国产成人精品一区二区视频| jk制服黑色丝袜喷水视频国产| 日韩av一区二区三区精品久久| 欧美性猛交xxxx三人| 国产福利午夜波多野结衣| 日韩精品极品免费观看| 亚洲av不卡一区男人天堂 | 欧美日韩精品一区二区在线视频| 丰满少妇人妻无码超清 | 国产精品国产成人国产三级| 国产欧美日本亚洲精品一4区| 国产精品又湿又黄九九九久久嫩草| 久久伊人少妇熟女大香线蕉| 四虎影院在线观看| 日本五十路熟女在线视频| 男女边摸边吃奶边做视频韩国| 久久久久久亚洲精品中文字幕| 婷婷激情六月| 日本老熟妇五十路一区二区三区| 国产伦人人人人人人性| 国产精品无码精品久久久|