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

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

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

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

評(píng)論