精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何在Verilog中創建有限狀態機

科技觀察員 ? 來源:allaboutcircuits ? 作者: Eduardo Corpe?o ? 2022-04-26 16:20 ? 次閱讀

本文描述了有限狀態機的基礎知識,并展示了在 Verilog 硬件描述語言中實現它們的實用方法。

有限狀態機,簡稱 FSM,是硬件和軟件系統中最普遍的操作模型之一。幾乎每個有用的數字系統都可以定義為有限狀態機,因此最好盡可能多地了解這種有用的系統模式。

數字電路中的有限狀態機

有限狀態機有多種描述方式,但最流行的兩種是狀態圖和狀態表。兩種表示的示例如圖 1 所示。

pYYBAGJnqzSAaRSjAAGLJD-cgDk049.png

圖 1.顯示為狀態圖和狀態表的 FSM。左上角的圖例顯示了狀態變量 A 和 B,以及輸入 x 和輸出 y。

請注意,這個 FSM 有一個輸入信號 x 和一個輸出信號 y,這使它成為一個Mealy 狀態機。此 FSM 可以通過數字設計課程中教授的傳統方法來實現,該方法圍繞為實現狀態變量的觸發器生成激勵邏輯。該邏輯是根據所選觸發器類型的激勵表設計的,即 SR、D、JK 或 T。

當我們將此技術應用于圖 1 中的 FSM 時,我們會得到以下實現的某個版本。

pYYBAGJnqzWAeX3xAACPuzEgVOQ099.png

圖 2.使用 JK 觸發器的示例 FSM 的實現。

有關狀態機的更多信息,您可能需要閱讀 David Williams的文章在 VHDL 中實現有限狀態機。

Verilog 如何提供幫助

那么,如果您想在 Verilog 中實現如圖 1 所示的狀態機,該怎么做呢?Verilog 應該在設計過程的哪個階段接管?

雖然可以 手動設計整個系統,一直到圖 2 中的示意圖,然后用 Verilog 編寫代碼,但這并不是解決問題的最流行的方法。更糟糕的方法是描述原理圖中的每個門,包括構成觸發器的門!如果您在門級別描述所有內容,您的系統可能會 以某種方式工作,但這沒有給編譯器留下空間來優化您的設計以滿足您的實際 需求,這可能更關注時序和功率,而不僅僅是正確性。

請記住:使用硬件描述語言的原因是為了利用您將使用的綜合編譯器,并且像任何編譯器一樣,您給予它的自由度越大,您就越有可能產生最佳實現。

所以一個聰明的起點是狀態表。您只需指示 Verilog 機器在每個狀態下應該做什么,而不是使用哪個門或觸發器。

在 Verilog 中,狀態機的一個出色構造是Case 語句。每個案例的主體都應該檢查狀態變量及其期望的行為。下面的一段代碼展示了這個結構。

case (state)

STATE_0: // Code for State 0

STATE_1: // Code for State 1

// ...

STATE_N: // Code for State N

endcase

因此,通過我們的示例,這是圖 1 所示狀態機的實現。請注意,輸出 y 是一個組合函數。

module MyFSM(

input clk,

input x,

output y);

reg [1:0] state;

assign y = state[1] & state[0] & x;

always @ (negedge clk)

case (state)

2'b00: state <= x?2'b01:2'b00;

2'b01: state <= x?2'b10:2'b00;

2'b10: state <= x?2'b11:2'b00;

2'b11: state <= 2'b00;

endcase

endmodule

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Verilog
    +關注

    關注

    28

    文章

    1333

    瀏覽量

    109710
  • 狀態機
    +關注

    關注

    2

    文章

    489

    瀏覽量

    27387
收藏 人收藏

    評論

    相關推薦

    Verilog狀態機+設計實例

    的是有限狀態機(Finite-State Machine,FSM),簡稱為狀態機,表示在有限狀態以及這些狀態之間的轉移和動作等行為的數學模
    的頭像 發表于 02-12 19:07 ?3149次閱讀
    <b class='flag-5'>Verilog</b><b class='flag-5'>狀態機</b>+設計實例

    有限狀態機有什么類型?

    在實際的應用,根據有限狀態機是否使用輸入信號,設計人員經常將其分為Moore型有限狀態機和Mealy型有限狀態機兩種類型。
    發表于 04-06 09:00

    基于有限狀態機在LIN總線開發的應用

    基于有限狀態機在LIN總線開發的應用      引言   隨著汽車智能化程度的提高和迅速升級
    發表于 04-20 13:47 ?815次閱讀
    基于<b class='flag-5'>有限狀態機</b>在LIN總線開發<b class='flag-5'>中</b>的應用

    有限狀態機_FSM_的實現

    本文主要介紹了IP模塊的有限狀態機的實現。
    發表于 03-22 15:42 ?0次下載

    有限狀態機FSM在PLD的實現分析

    本文通過舉例 利用VHDL 語言描述了不同模式的有限狀態機 分析了有限狀態機在 PLD 綜合的特點 。
    發表于 03-22 15:41 ?3次下載

    有限狀態機的建模與優化設計

    本文提出一種優秀 、高效的 Verilog HDL 描述方式來進行有限狀態機設計 介紹了 有限狀態機的建模原則 并通過一個可綜合的實例 驗證了 該方法設計的有限狀態機在面積和功耗上的優
    發表于 03-22 15:19 ?1次下載

    VHDL有限狀態機設計-ST

    EDA的有限狀態機,廣義而言是指只要涉及觸發器的電路,無論電路大小都可以歸結為狀態機。有限狀態機設計在學習EDA時是很重要的一章。
    發表于 06-08 16:46 ?3次下載

    初學者對有限狀態機(FSM)的設計的認識

    有限狀態機(FSM)是一種常見的電路,由時序電路和組合電路組成。設計有限狀態機的第一步是確定采用Moore狀態機還是采用Mealy狀態機。
    發表于 02-11 13:51 ?4151次閱讀
    初學者對<b class='flag-5'>有限狀態機</b>(FSM)的設計的認識

    如何使用FPGA實現序列檢測有限狀態機

    輸出部分外, 有限狀態機還含有一組具有“記憶”功能的寄存器, 這些寄存器的功能是記憶有限狀態機的內部狀態, 它們常被稱為狀態寄存器。在有限狀態機
    發表于 11-04 17:17 ?12次下載
    如何使用FPGA實現序列檢測<b class='flag-5'>有限狀態機</b>

    基于事件驅動的有限狀態機介紹

    ? 一、介紹 EFSM(event finite state machine,事件驅動型有限狀態機),是一個基于事件驅動的有限狀態機,主要應用于嵌入式設備的軟件系統。 EFSM的設計原則是:簡單
    的頭像 發表于 11-16 15:29 ?2218次閱讀

    如何以面向對象的思想設計有限狀態機

    有限狀態機又稱有限狀態自動機,簡稱狀態機,是表示有限狀態以及在這些
    發表于 02-07 11:23 ?4次下載
    如何以面向對象的思想設計<b class='flag-5'>有限狀態機</b>

    基于事件驅動的有限狀態機介紹

    EFSM(event finite state machine,事件驅動型有限狀態機),是一個基于事件驅動的有限狀態機,主要應用于嵌入式設備的軟件系統。
    的頭像 發表于 02-11 10:17 ?948次閱讀

    FPGA有限狀態機編寫如何選擇狀態編碼?

    Verilog HDL可以用許多種方法來描述有限狀態機,最常用的方法是用always語句和case語句。
    發表于 03-23 14:06 ?537次閱讀

    一個基于事件驅動的有限狀態機

    EFSM(event finite state machine,事件驅動型有限狀態機),是一個基于事件驅動的有限狀態機,主要應用于嵌入式設備的軟件系統。 EFSM的設計原則是:簡單!EFSM的使用者只需要關心:
    的頭像 發表于 08-30 09:28 ?678次閱讀
    一個基于事件驅動的<b class='flag-5'>有限狀態機</b>

    有限狀態機分割設計

    有限狀態機分割設計,其實質就是一個狀態機分割成多個狀態機
    的頭像 發表于 10-09 10:47 ?530次閱讀