標題: 怎樣寫好FPGA三段式狀態(tài)機(共29頁PDF) [打印本頁]

作者: 新安洲    時間: 2018-3-15 16:06
標題: 怎樣寫好FPGA三段式狀態(tài)機(共29頁PDF)
如何寫好狀態(tài)機
節(jié)選自《Verilog設計與驗證》  作者:吳繼華、王誠
  
狀態(tài)機是邏輯設計的重要內(nèi)容,狀態(tài)機的設計水平直接反應工程師的邏輯功底,所以許多公司的硬件和邏輯工程師面試中,狀態(tài)機設計幾乎是必選題目。本章在引入狀態(tài)機設計思想的基礎上,重點討論如何寫好狀態(tài)機。
本章主要內(nèi)容如下:
·  狀態(tài)機的基本概念;
·  如何寫好狀態(tài)機;
·  使用 Synplify Pro 分析 FSM。
6.1  狀態(tài)機的基本概念
本節(jié)的重點在于幫助讀者理解狀態(tài)機的基本概念和應用場合。
6.1.1  狀態(tài)機是一種思想方法
相信大多數(shù)工科學生在學習數(shù)字電路時都學習過狀態(tài)機的基本概念,了解一些使用狀態(tài)機描述時序電路的基本方法。但是,筆者希望大家能擴展思維,認識到狀態(tài)機不僅僅是一種時序電路設計工具,它更是一種思想方法。 我們先看下面一個簡單的例子。在大學生活中,某學生的在校的學習生活可以簡單地概括為宿舍、教室、食堂之間的周而復始,用圖 6-1 就可以形象地表現(xiàn)出來。這里畫這張圖,并不是要討論這個學生是否是一個“乖乖”類型學生,請大家注意,如果將圖中的“地點”認為是“狀態(tài)” ,將“功能”認為是狀態(tài)的“輸出” ,這張圖就是一張標準的狀態(tài)轉(zhuǎn)移圖,也就是說,我們用狀態(tài)機的方式清晰地描述了這個學生的在校生活方式。


同樣如果將圖中的“地點”認為是“狀態(tài)” ,將“功能”認為是狀態(tài)的“輸出” ,將“條件”認為是狀態(tài)轉(zhuǎn)移的“輸入條件” ,圖 6-2 也是一張標準的狀態(tài)轉(zhuǎn)移圖,通過狀態(tài)機的方式我們再次清晰地描述另一個學生的在校生活方式。 事實上使用狀態(tài)機方式,我們可以細致入微地描述任何一個學生的在校生活方式。大家通過前面兩個簡單舉例已經(jīng)發(fā)現(xiàn)狀態(tài)機特別適合描述那些有發(fā)生有先后順序,或者有邏輯規(guī)律的事情——其實這就是狀態(tài)機的本質(zhì)。狀態(tài)機的本質(zhì)就是對具有邏輯順序或時序規(guī)律事件的一種描述方法。這個論斷的最重要的兩個詞就是“邏輯順序”和“時序規(guī)律” ,這兩點就是狀態(tài)機所要描述的核心和強項,換言之,所有具有邏輯順和時序規(guī)律的事情都適合用

狀態(tài)機描述。
很多初學者不知道何時應用狀態(tài)機。這里介紹兩種應用思路:第一種思路,從狀態(tài)變量入手。如果一個電路具有時序規(guī)律或者邏輯順序,我們就可以自然而然地規(guī)劃出狀態(tài),從這些狀態(tài)入手,分析每個狀態(tài)的輸入,狀態(tài)轉(zhuǎn)移和輸出,從而完成電路功能;第二種思路是首先明確電路的輸出的關系,這些輸出相當于狀態(tài)的輸出,回溯規(guī)劃每個狀態(tài),和狀態(tài)轉(zhuǎn)移條件與狀態(tài)輸入。無論那種思路,使用狀態(tài)機的目的都是要控制某部分電路,完成某種具有邏輯順序或時序規(guī)律的電路設計。
其實對于邏輯電路而言,小到一個簡單的時序邏輯,大到復雜的微處理器,都適合用狀
態(tài)機方法進行描述。請讀者打開思路,不要僅僅局限于時序邏輯,發(fā)現(xiàn)電路的內(nèi)在規(guī)律,認電路的“狀態(tài)變量” ,大膽使用狀態(tài)機描述電路模型。由于狀態(tài)機不僅僅是一種電路描述工具,它更是一種思想方法,而且狀態(tài)機的 HDL 語言表達方式比較規(guī)范,有章可循,所以很多有經(jīng)驗的設計者習慣用狀態(tài)機思想進行邏輯設計,對各種復雜設計都套用狀態(tài)機的設計理念,從而提高設計的效率和穩(wěn)定性。


完整的pdf格式文檔51黑下載地址(共29頁):
怎樣寫好三段式狀態(tài)機.pdf (332.6 KB, 下載次數(shù): 54)







歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1