999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Verilog 的有限狀態機編程方式及研究

2021-06-01 12:57:14
數字技術與應用 2021年4期
關鍵詞:進程信號

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

0 引言

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

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

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

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

1 有限狀態機的設計流程

有限狀態機處于工作狀態時,內部的狀態寄存器保持現有狀態。

根據工作原理,將有限狀態機的設計分為以下幾個步驟[3]:

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

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

2 有限狀態機的狀態編碼選擇

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

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

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

3 有限狀態機的編程方式及其優缺點

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

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

3.1 單進程式描述方式

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

3.2 雙進程式描述方式

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

3.3 三進程式描述方式

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

4 實例

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

4.1 狀態選擇

采用Moore型狀態機,即輸出的信號只與當前狀態有關。確定狀態轉移圖如圖1 所示:

圖1 “110”序列檢測器的狀態轉移圖Fig.1 State transition diagram of "110" sequence detector

4.2 編碼選擇

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

4.3 編程風格選擇

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

4.4 條件語句選擇

選用case語句不需要考慮優先級且編程簡潔方便,不會產生鎖存器。

4.5 編寫程序

4.6 仿真結果

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

圖2 ModelSim 仿真結果Fig.2 ModelSim simulation results

5 結語

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

猜你喜歡
進程信號
信號
鴨綠江(2021年35期)2021-04-19 12:24:18
完形填空二則
債券市場對外開放的進程與展望
中國外匯(2019年20期)2019-11-25 09:54:58
孩子停止長個的信號
基于LabVIEW的力加載信號采集與PID控制
一種基于極大似然估計的信號盲抽取算法
我國高等教育改革進程與反思
教育與職業(2014年7期)2014-01-21 02:35:04
Linux僵死進程的產生與避免
男女平等進程中出現的新矛盾和新問題
俄羅斯現代化進程的阻礙
主站蜘蛛池模板: 99ri国产在线| 在线播放91| 国产AV无码专区亚洲精品网站| 波多野结衣亚洲一区| 全部免费毛片免费播放| 亚洲成人网在线观看| 欧美激情网址| 97视频精品全国免费观看| 高清国产在线| 午夜a视频| 亚洲AV无码一区二区三区牲色| 亚洲婷婷在线视频| 欧美午夜视频| 欧美一级大片在线观看| 亚洲最大情网站在线观看| 极品国产在线| 日韩精品免费一线在线观看| 久无码久无码av无码| 97se亚洲综合不卡| 91毛片网| 免费观看成人久久网免费观看| 国产综合色在线视频播放线视 | 99热6这里只有精品| 国产精品页| 国产高清不卡| 色婷婷国产精品视频| 亚洲国产中文在线二区三区免| 亚洲精品卡2卡3卡4卡5卡区| 中文字幕在线永久在线视频2020| 国产一区二区精品福利| 国产成人综合亚洲欧洲色就色| 老色鬼欧美精品| 午夜少妇精品视频小电影| 亚洲人成在线免费观看| 欧美第九页| 一级毛片网| 97色婷婷成人综合在线观看| 日韩欧美中文在线| 青青青国产视频手机| 亚洲一区二区无码视频| 成人午夜亚洲影视在线观看| 伊人丁香五月天久久综合| 亚洲国产日韩欧美在线| 亚洲一区二区三区麻豆| 国产交换配偶在线视频| 日本爱爱精品一区二区| 蜜臀AVWWW国产天堂| 成人午夜精品一级毛片| 伊人久久精品无码麻豆精品 | 亚洲精品中文字幕午夜| 在线网站18禁| 又粗又大又爽又紧免费视频| 亚洲中文字幕在线精品一区| 高清精品美女在线播放| 亚洲日韩高清在线亚洲专区| 欧美国产在线看| 国产亚洲欧美日韩在线观看一区二区| 亚洲天天更新| 嫩草国产在线| 欧美视频在线播放观看免费福利资源| 国产在线啪| 中文字幕亚洲专区第19页| 国产91蝌蚪窝| 2021国产精品自拍| 91区国产福利在线观看午夜 | 亚洲国内精品自在自线官| 91福利国产成人精品导航| 国产欧美日韩专区发布| 秋霞国产在线| 91在线视频福利| 黄色网在线免费观看| 国产婬乱a一级毛片多女| 综合色婷婷| 国产欧美日韩另类| 天天做天天爱夜夜爽毛片毛片| 亚洲国产第一区二区香蕉| 直接黄91麻豆网站| 国产一区成人| 亚洲精品黄| 无码专区在线观看| 精品丝袜美腿国产一区| 婷婷伊人五月|