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

Simulink中的狀態(tài)機建模方法 Simulink數(shù)據(jù)可視化與分析功能
用CPLD控制ADS7229,工作流程是怎么樣的?
基于狀態(tài)機和面向?qū)ο蟮乃枷朐O(shè)計按鍵檢測模塊

評論