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

Simulink中的狀態(tài)機建模方法 Simulink數(shù)據(jù)可視化與分析功能
Linux從零到精通:最簡單的Shell腳本入門教程

用CPLD控制ADS7229,工作流程是怎么樣的?
基于狀態(tài)機和面向?qū)ο蟮乃枷朐O計按鍵檢測模塊

【「數(shù)字IC設計入門」閱讀體驗】+ 數(shù)字IC設計流程
【全新課程資料】正點原子《基于GD32 ARM32單片機項目實戰(zhàn)入門》培訓課程資料上線!
【全新課程資料】正點原子《ESP32基礎及項目實戰(zhàn)入門》培訓課程資料上線!
【全新課程資料】正點原子《ESP32物聯(lián)網(wǎng)項目實戰(zhàn)》培訓課程資料上線!
觸發(fā)器和狀態(tài)機的關系是什么
如何在FPGA中實現(xiàn)狀態(tài)機
玩轉Spring狀態(tài)機

評論