《 簡單狀態(tài)機(jī) 》設(shè)計
設(shè)計背景:
狀態(tài)機(jī)是描述各種復(fù)雜時序的時序行為,是使用 HDL 進(jìn)行數(shù)學(xué)邏輯設(shè)計中非常重要的方法之一,狀態(tài)機(jī)分為摩爾機(jī)和米粒機(jī),當(dāng)輸出只和狀態(tài)有關(guān)系的話稱為摩爾機(jī),當(dāng)輸出不僅和狀態(tài)有關(guān)系也和輸入信號有關(guān)系的時候稱為米粒機(jī),米粒機(jī)和摩爾機(jī)的電路原型我就不在這里給大家介紹了。
狀態(tài)機(jī)是由狀態(tài)寄存器和組合邏輯電路構(gòu)成,能夠根據(jù)控制信號按照預(yù)先設(shè)計的狀態(tài)進(jìn)行狀態(tài)的轉(zhuǎn)移,是協(xié)調(diào)相關(guān)信號的動作,完成特定操作的控制中心。比如我們生活中遇到的問題,健康---感冒---健康,這個就是一個狀態(tài)的轉(zhuǎn)移圖,從健康狀態(tài)到感冒狀態(tài)在到健康狀態(tài)。
設(shè)計原理:
我認(rèn)為對于我們初學(xué)者來說我們只要只要狀態(tài)機(jī)就是當(dāng)這個狀態(tài)也就是當(dāng)這個時鐘來的時候發(fā)生這件事情,當(dāng)下各時鐘來的時候發(fā)生另一件事,也就是說發(fā)生這件事后,跳轉(zhuǎn)下一個時鐘發(fā)生另一件事情,兩個事情發(fā)生沒有關(guān)系。我們理解初學(xué)者理解這個就行了,不用理解高深的二段式,三段式。
我們會在下面的設(shè)計中用到簡單的狀態(tài)機(jī)讓大家明白簡單的狀態(tài)機(jī)。
我們的設(shè)計也是一個流水燈,我們的設(shè)計是在復(fù)位的時候讓 4 個等全熄滅,第一個上升沿點(diǎn)亮一個,第二個點(diǎn)亮下一個,依次類推。我們的寫法可以這樣想,當(dāng)?shù)谝粋€狀態(tài)也就是一個上升沿點(diǎn)亮第一個燈,然后跳轉(zhuǎn)下一個狀態(tài)點(diǎn)亮第二個燈,第三個點(diǎn)亮下一個。。。。
設(shè)計架構(gòu)圖:
設(shè)計代碼:
仿真圖:
在仿真圖中我們可以看到,當(dāng) 0 狀態(tài)的時候點(diǎn)亮第一個燈,當(dāng) 1狀態(tài)點(diǎn)亮第二個燈,2 狀態(tài)第三個燈,3 狀態(tài)第四個燈,然后又到了0 狀態(tài)第一個燈,這樣就實(shí)現(xiàn)了流水。
責(zé)任編輯:lq6
-
寄存器
+關(guān)注
關(guān)注
31文章
5253瀏覽量
119212 -
HDL
+關(guān)注
關(guān)注
8文章
324瀏覽量
47230 -
狀態(tài)機(jī)
+關(guān)注
關(guān)注
2文章
489瀏覽量
27395
原文標(biāo)題:至芯入門課程-簡單狀態(tài)機(jī)設(shè)計
文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設(shè)計論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論