0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

入門課程之簡單狀態(tài)機(jī)設(shè)計流程

電子工程師 ? 來源:FPGA設(shè)計論壇 ? 作者:FPGA設(shè)計論壇 ? 2021-03-14 10:01 ? 次閱讀

《 簡單狀態(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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5253

    瀏覽量

    119212
  • HDL
    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)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    如何在FPGA中實(shí)現(xiàn)狀態(tài)機(jī)

    在FPGA(現(xiàn)場可編程門陣列)中實(shí)現(xiàn)狀態(tài)機(jī)是一種常見的做法,用于控制復(fù)雜的數(shù)字系統(tǒng)行為。狀態(tài)機(jī)能夠根據(jù)當(dāng)前的輸入和系統(tǒng)狀態(tài),決定下一步的動作和新的狀態(tài)。這里,我們將詳細(xì)探討如何在FPG
    的頭像 發(fā)表于 07-18 15:57 ?261次閱讀

    玩轉(zhuǎn)Spring狀態(tài)機(jī)

    說起Spring狀態(tài)機(jī),大家很容易聯(lián)想到這個狀態(tài)機(jī)和設(shè)計模式中狀態(tài)模式的區(qū)別是啥呢?沒錯,Spring狀態(tài)機(jī)就是狀態(tài)模式的一種實(shí)現(xiàn),在介紹S
    的頭像 發(fā)表于 06-25 14:21 ?749次閱讀
    玩轉(zhuǎn)Spring<b class='flag-5'>狀態(tài)機(jī)</b>

    在Verilog中實(shí)現(xiàn)Moore型和Mealy型狀態(tài)機(jī)的方法簡析

    編寫能夠被綜合工具識別的狀態(tài)機(jī),首先需要理解狀態(tài)機(jī)的基本概念和分類。狀態(tài)機(jī)(FSM)是表示有限個狀態(tài)以及在這些狀態(tài)之間轉(zhuǎn)換的邏輯結(jié)構(gòu)。
    的頭像 發(fā)表于 05-01 11:38 ?1058次閱讀

    什么是有限狀態(tài)機(jī)?如何解決傳統(tǒng)有限狀態(tài)機(jī)狀態(tài)爆炸」問題?

    有限狀態(tài)機(jī)(Finite State Machine,簡稱FSM)是一種用來進(jìn)行對象行為建模的工具,其作用主要是描述對象在它的生命周期內(nèi)所經(jīng)歷的狀態(tài)序列以及如何響應(yīng)來自外界的各種事件。
    的頭像 發(fā)表于 02-17 16:09 ?5350次閱讀
    什么是有限<b class='flag-5'>狀態(tài)機(jī)</b>?如何解決傳統(tǒng)有限<b class='flag-5'>狀態(tài)機(jī)</b>「<b class='flag-5'>狀態(tài)</b>爆炸」問題?

    Verilog狀態(tài)機(jī)+設(shè)計實(shí)例

    在verilog中狀態(tài)機(jī)的一種很常用的邏輯結(jié)構(gòu),學(xué)習(xí)和理解狀態(tài)機(jī)的運(yùn)行規(guī)律能夠幫助我們更好地書寫代碼,同時作為一種思想方法,在別的代碼設(shè)計中也會有所幫助。 一、簡介 在使用過程中我們常說
    的頭像 發(fā)表于 02-12 19:07 ?3175次閱讀
    Verilog<b class='flag-5'>狀態(tài)機(jī)</b>+設(shè)計實(shí)例

    狀態(tài)機(jī)該怎么監(jiān)控

    狀態(tài)機(jī)卡住的場景——通過狀態(tài)跳轉(zhuǎn)條件的DFX信號去判斷卡住的原因
    的頭像 發(fā)表于 01-15 10:03 ?316次閱讀
    <b class='flag-5'>狀態(tài)機(jī)</b>該怎么監(jiān)控

    Spring狀態(tài)機(jī)的實(shí)現(xiàn)原理和使用方法

    說起 Spring 狀態(tài)機(jī),大家很容易聯(lián)想到這個狀態(tài)機(jī)和設(shè)計模式中狀態(tài)模式的區(qū)別是啥呢?沒錯,Spring 狀態(tài)機(jī)就是狀態(tài)模式的一種實(shí)現(xiàn),在
    的頭像 發(fā)表于 12-26 09:39 ?1718次閱讀
    Spring<b class='flag-5'>狀態(tài)機(jī)</b>的實(shí)現(xiàn)原理和使用方法

    SaberRD狀態(tài)機(jī)建模工具介紹(二)狀態(tài)機(jī)建模工具使用示例

    假設(shè)電阻阻值為r_normal,首先打開狀態(tài)機(jī)建模工具,添加電阻端口,電阻端口包含貫通變量電流和跨接變量電壓,使用分支型端口。
    的頭像 發(fā)表于 12-05 09:53 ?755次閱讀
    SaberRD<b class='flag-5'>狀態(tài)機(jī)</b>建模工具介紹(二)<b class='flag-5'>狀態(tài)機(jī)</b>建模工具使用示例

    SaberRD狀態(tài)機(jī)建模工具介紹(一)什么是狀態(tài)機(jī)建模

    狀態(tài)機(jī)建模是使用狀態(tài)圖和方程式的手段,創(chuàng)建基于混合信號的有限狀態(tài)機(jī)模型的一種建模工具。
    的頭像 發(fā)表于 12-05 09:51 ?1293次閱讀
    SaberRD<b class='flag-5'>狀態(tài)機(jī)</b>建模工具介紹(一)什么是<b class='flag-5'>狀態(tài)機(jī)</b>建模

    狀態(tài)機(jī)怎么上來就錯了?怎么解決?

    狀態(tài)機(jī)本身很簡單,default也寫了,然后進(jìn)行仿真時看到了這樣的波形:
    的頭像 發(fā)表于 12-04 10:43 ?300次閱讀
    <b class='flag-5'>狀態(tài)機(jī)</b>怎么上來就錯了?怎么解決?

    使用枚舉類型表示狀態(tài)機(jī)進(jìn)入死循環(huán)

    在定義狀態(tài)機(jī)中的狀態(tài)時,除了可以使用宏(define)或者參數(shù)(parameter)聲明定義外,還可以使用枚舉類型
    的頭像 發(fā)表于 11-07 17:46 ?780次閱讀
    使用枚舉類型表示<b class='flag-5'>狀態(tài)機(jī)</b>進(jìn)入死循環(huán)

    基于有限狀態(tài)機(jī)的車身防盜報警的實(shí)現(xiàn)

    電子發(fā)燒友網(wǎng)站提供《基于有限狀態(tài)機(jī)的車身防盜報警的實(shí)現(xiàn).pdf》資料免費(fèi)下載
    發(fā)表于 10-26 09:48 ?0次下載
    基于有限<b class='flag-5'>狀態(tài)機(jī)</b>的車身防盜報警的實(shí)現(xiàn)

    什么是狀態(tài)機(jī)?狀態(tài)機(jī)的種類與實(shí)現(xiàn)

    狀態(tài)機(jī),又稱有限狀態(tài)機(jī)(Finite State Machine,F(xiàn)SM)或米利狀態(tài)機(jī)(Mealy Machine),是一種描述系統(tǒng)狀態(tài)變化的模型。在芯片設(shè)計中,
    的頭像 發(fā)表于 10-19 10:27 ?8063次閱讀

    有限狀態(tài)機(jī)分割設(shè)計

    有限狀態(tài)機(jī)分割設(shè)計,其實(shí)質(zhì)就是一個狀態(tài)機(jī)分割成多個狀態(tài)機(jī)
    的頭像 發(fā)表于 10-09 10:47 ?532次閱讀

    BGP有限狀態(tài)機(jī)有哪幾種狀態(tài)?

    BGP有限狀態(tài)機(jī)共有六種狀態(tài),分別是Idle、Connect、Active、OpenSent、OpenConfirm和Established。
    的頭像 發(fā)表于 10-07 14:56 ?1893次閱讀