如何寫好狀態(tài)機
節(jié)選自《Verilog設(shè)計與驗證》 作者:吳繼華、王誠
狀態(tài)機是邏輯設(shè)計的重要內(nèi)容,狀態(tài)機的設(shè)計水平直接反應(yīng)工程師的邏輯功底,所以許多公司的硬件和邏輯工程師面試中,狀態(tài)機設(shè)計幾乎是必選題目。本章在引入狀態(tài)機設(shè)計思想的基礎(chǔ)上,重點討論如何寫好狀態(tài)機。
本章主要內(nèi)容如下:
· 狀態(tài)機的基本概念;
· 如何寫好狀態(tài)機;
· 使用 Synplify Pro 分析 FSM。
6.1 狀態(tài)機的基本概念
本節(jié)的重點在于幫助讀者理解狀態(tài)機的基本概念和應(yīng)用場合。
6.1.1 狀態(tài)機是一種思想方法
相信大多數(shù)工科學(xué)生在學(xué)習(xí)數(shù)字電路時都學(xué)習(xí)過狀態(tài)機的基本概念,了解一些使用狀態(tài)機描述時序電路的基本方法。但是,筆者希望大家能擴展思維,認識到狀態(tài)機不僅僅是一種時序電路設(shè)計工具,它更是一種思想方法。 我們先看下面一個簡單的例子。在大學(xué)生活中,某學(xué)生的在校的學(xué)習(xí)生活可以簡單地概括為宿舍、教室、食堂之間的周而復(fù)始,用圖 6-1 就可以形象地表現(xiàn)出來。這里畫這張圖,并不是要討論這個學(xué)生是否是一個“乖乖”類型學(xué)生,請大家注意,如果將圖中的“地點”認為是“狀態(tài)” ,將“功能”認為是狀態(tài)的“輸出” ,這張圖就是一張標(biāo)準(zhǔn)的狀態(tài)轉(zhuǎn)移圖,也就是說,我們用狀態(tài)機的方式清晰地描述了這個學(xué)生的在校生活方式。
0.png (18.13 KB, 下載次數(shù): 60)
下載附件
2018-3-15 16:47 上傳
0.png (57.24 KB, 下載次數(shù): 58)
下載附件
2018-3-15 16:48 上傳
同樣如果將圖中的“地點”認為是“狀態(tài)” ,將“功能”認為是狀態(tài)的“輸出” ,將“條件”認為是狀態(tài)轉(zhuǎn)移的“輸入條件” ,圖 6-2 也是一張標(biāo)準(zhǔn)的狀態(tài)轉(zhuǎn)移圖,通過狀態(tài)機的方式我們再次清晰地描述另一個學(xué)生的在校生活方式。 事實上使用狀態(tài)機方式,我們可以細致入微地描述任何一個學(xué)生的在校生活方式。大家通過前面兩個簡單舉例已經(jīng)發(fā)現(xiàn)狀態(tài)機特別適合描述那些有發(fā)生有先后順序,或者有邏輯規(guī)律的事情——其實這就是狀態(tài)機的本質(zhì)。狀態(tài)機的本質(zhì)就是對具有邏輯順序或時序規(guī)律事件的一種描述方法。這個論斷的最重要的兩個詞就是“邏輯順序”和“時序規(guī)律” ,這兩點就是狀態(tài)機所要描述的核心和強項,換言之,所有具有邏輯順和時序規(guī)律的事情都適合用
狀態(tài)機描述。
很多初學(xué)者不知道何時應(yīng)用狀態(tài)機。這里介紹兩種應(yīng)用思路:第一種思路,從狀態(tài)變量入手。如果一個電路具有時序規(guī)律或者邏輯順序,我們就可以自然而然地規(guī)劃出狀態(tài),從這些狀態(tài)入手,分析每個狀態(tài)的輸入,狀態(tài)轉(zhuǎn)移和輸出,從而完成電路功能;第二種思路是首先明確電路的輸出的關(guān)系,這些輸出相當(dāng)于狀態(tài)的輸出,回溯規(guī)劃每個狀態(tài),和狀態(tài)轉(zhuǎn)移條件與狀態(tài)輸入。無論那種思路,使用狀態(tài)機的目的都是要控制某部分電路,完成某種具有邏輯順序或時序規(guī)律的電路設(shè)計。
其實對于邏輯電路而言,小到一個簡單的時序邏輯,大到復(fù)雜的微處理器,都適合用狀
態(tài)機方法進行描述。請讀者打開思路,不要僅僅局限于時序邏輯,發(fā)現(xiàn)電路的內(nèi)在規(guī)律,認電路的“狀態(tài)變量” ,大膽使用狀態(tài)機描述電路模型。由于狀態(tài)機不僅僅是一種電路描述工具,它更是一種思想方法,而且狀態(tài)機的 HDL 語言表達方式比較規(guī)范,有章可循,所以很多有經(jīng)驗的設(shè)計者習(xí)慣用狀態(tài)機思想進行邏輯設(shè)計,對各種復(fù)雜設(shè)計都套用狀態(tài)機的設(shè)計理念,從而提高設(shè)計的效率和穩(wěn)定性。
0.png (214.49 KB, 下載次數(shù): 61)
下載附件
2018-3-15 16:48 上傳
完整的pdf格式文檔51黑下載地址(共29頁):
怎樣寫好三段式狀態(tài)機.pdf
(332.6 KB, 下載次數(shù): 54)
2018-3-15 16:06 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|