《 簡(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文章
5268瀏覽量
119646 -
HDL
+關(guān)注
關(guān)注
8文章
324瀏覽量
47283 -
狀態(tài)機(jī)
+關(guān)注
關(guān)注
2文章
489瀏覽量
27435
原文標(biāo)題:至芯入門課程-簡(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)先 登錄
相關(guān)推薦
評(píng)論