吴忠躺衫网络科技有限公司

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

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

3天內不再提示

狀態機的設計方法和三段式描述

冬至子 ? 來源:梧桐芯語 ? 作者:孫榮榮 ? 2023-07-13 16:11 ? 次閱讀

通過數據路徑的逐步穿透,設計模塊,是一種常見的設計方法。而從另外一種常規思想來看,電路的另一種表現形式,是狀態的轉換。往往在設計有模式變換,且組合關系較復雜的電路時,使用狀態機描述電路,比數據路徑穿透的方法更加直接。

比如說,某個電路存在S0、S1、S2、S3、S4、S5六種狀態,電路上電后處于一個特定的狀態,只有當發生輸入變換時,才會切換到其他的狀態。這種電路,直觀上無法用數據路徑穿透設計,但如果使用狀態機設計,則會簡單很多。

狀態機設計,一般先把3種類型的信號(狀態)整理出來:

  1. 狀態信號,表示當前狀態機處于什么狀態下
  2. 條件信號,狀態機在不同條件下的跳轉,需要不同的信號
  3. 輸出信號,根據狀態的不同,輸出相應的結果

接著就可以把狀態機的狀態變化描述圖整理出來,如下圖所示:

圖片

以上狀態機的狀態信號一共6種,S0~S5,而條件信號為a。可以看出不同狀態下,a的變換決定了狀態的下一次跳轉會向哪個方向跳。這里有2個必須理解的點:

  1. a沒有變換的時候,無論多少個時鐘信號,狀態都會保持不變
  2. a的到來應該是脈沖型信號(單個時鐘周期),以確保狀態的變換是按照時鐘周期進行的。

Z則是輸出信號,在不同狀態下,其輸出會有所不同。

根據以上狀態圖的描述,我們可以開始用Verilog HDL進行電路描述了(狀態機跳轉圖,可視為電路圖)。一般的狀態機描述,我們稱為三段式描述,實際上就是剛才說的,分別對三種不同信號的描述。

第一部分是狀態跳轉的描述,采用時序邏輯與組合邏輯分離的描述方式,將狀態信號看成寄存器

1.jpg

以上狀態的定義,使用的是順序編碼,如果根據實際情況,采用格雷碼設計,跳轉頻率高的盡量減少跳轉,則可以相應減少一些功耗。

接著第二部分,描述條件對狀態的影響,屬于組合邏輯,一般來說我們用case語句結構來實現,需要注意的是,必須加上default條件,其實就是說其他條件不滿足的話,nextstate就保持在上一個狀態。如果沒有default語句,且條件不完整,則synthesis工具會生成一個鎖存器來實現case語句,那樣的話,與我們的設計初衷就不同了,要避免:

1.jpg

條件語句,其實也可以用數據路徑來設計,但那樣的話就會有優先級出現,需要根據實際情況來分析。

第三部分,就是根據狀態的變換,為輸出值Z賦值。根據狀態圖分析,只有處于S5的時候,Z才輸出1'b1,否則都是1'b0:

1.jpg

所以輸出仍然可以使用數據路徑描述方式。

由此三段式描述狀態機的方式,就完成了。至于條件a怎么來的,輸出Z又給到哪里去了,該如何進一步的設計,就需要各位看官自己吸收理解了。

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

    關注

    31

    文章

    5363

    瀏覽量

    121172
  • 變換器
    +關注

    關注

    17

    文章

    2109

    瀏覽量

    109550
  • 鎖存器
    +關注

    關注

    8

    文章

    908

    瀏覽量

    41645
  • 狀態機
    +關注

    關注

    2

    文章

    492

    瀏覽量

    27649
  • HDL語言
    +關注

    關注

    0

    文章

    47

    瀏覽量

    8957
收藏 人收藏

    評論

    相關推薦

    普通三段式充電原理

    普通三段式充電原理   普通三段式鉛酸蓄電池充電器,充電過程如下: ① 恒流充電階段,充電器充電電流保持恒定,充入
    發表于 11-16 14:24 ?2.9w次閱讀

    【Z-turn Board試用體驗】有限狀態機三段式描述方法(轉載)

    ;(2)二段式:用兩個always模塊來描述狀態機,其中一個always模塊采用同步時序描述狀態轉移;另一個模塊采用組合邏輯判斷
    發表于 05-25 20:33

    徹底搞懂狀態機(一段式、兩段式三段式)!一個實例,三種方法對比看!!!(程序)

    三段式建模描述FSM的狀態機輸出時,只需指定case敏感表為次態寄存器,然后直接在每個次態的case分支中描述狀態的輸出即可,不用考慮
    發表于 06-27 22:13

    關于三段式狀態機的疑惑,希望有人來為我解答。(新手求罩)

    本人在學習verilog 與狀態機時發現有如下疑惑,希望有人能為我解答。如下,是一部分三段式狀態機的代碼:always@(posedge clk or negedge rst_n)beginif(!rst_n)cstate
    發表于 11-21 10:57

    Verilog三段式狀態機描述及模版

    個always完成。三段式建模描述FSM的狀態機輸出時,只需指定case敏感表為次態寄存器, 然后直接在每個次態的case分支中
    發表于 07-03 10:13

    Verilog三段式狀態機描述及模版

    個always完成。三段式建模描述FSM的狀態機輸出時,只需指定case敏感表為次態寄存器, 然后直接在每個次態的case分支中
    發表于 07-09 01:55

    三段式和四段式耳機的引腳定義

      耳機插座在我們日常生活中是比較常見的一種電子元件,其耳機插座的類型規格也區分有四段式耳機插座、三段式耳機插座等。三段式和四段式耳機的引腳定義如下:    四
    發表于 12-25 15:26

    Verilog三段式狀態機描述(轉載)

    建模描述FSM的狀態機輸出時,只需指定case敏感表為次態寄存器, 然后直接在每個次態的case分支中描述狀態的輸出即可,不用考慮狀態轉移
    發表于 02-09 09:42 ?1171次閱讀

    關于使用FPGA三段式狀態機點好處,你有什么看法?

    三段式描述狀態機的好處,國內外各位大牛都已經說的很多了,大致可歸為以下點:
    發表于 08-17 11:43 ?1.6w次閱讀
    關于使用FPGA<b class='flag-5'>三段式</b><b class='flag-5'>狀態機</b>的<b class='flag-5'>三</b>點好處,你有什么看法?

    基于FPGA實現狀態機的設計

    狀態機描述方式:一段式狀態機、兩段式狀態機
    的頭像 發表于 08-29 06:09 ?2898次閱讀
    基于FPGA實現<b class='flag-5'>狀態機</b>的設計

    三段式充電器的主要參數有哪些

    下面以36V/lOAh蓄電池所用的三段式充電器為例,說明三段式充電器的主要參數。
    發表于 04-05 16:49 ?5982次閱讀
    <b class='flag-5'>三段式</b>充電器的主要參數有哪些

    FPGA三段式描述狀態機的好處

    先談談第二點關于思維習慣。我發現有些人會有這樣一種習慣,先用一段式狀態機實現功能,仿真ok后,再將其轉成三段式,他們對這種開發方式的解釋是一段式更直觀,可以更便捷的構建功能框架,但是大
    發表于 07-14 14:59 ?1537次閱讀

    三段式狀態機編寫問題及三段式狀態機各部分功能分析

    在 Verilog的江湖里,流傳著一,兩三段式狀態機的傳說。它們各有優劣,本文就書寫三段式狀態機
    的頭像 發表于 06-20 10:35 ?4453次閱讀
    <b class='flag-5'>三段式</b><b class='flag-5'>狀態機</b>編寫問題及<b class='flag-5'>三段式</b><b class='flag-5'>狀態機</b>各部分功能分析

    狀態機的一段式、二段式三段式的區別

    本篇文章描述狀態機的一段式、二段式三段式區別.
    的頭像 發表于 08-21 09:25 ?9149次閱讀
    <b class='flag-5'>狀態機</b>的一<b class='flag-5'>段式</b>、二<b class='flag-5'>段式</b>、<b class='flag-5'>三段式</b>的區別

    三段式距離保護和三段式電流保護原理是相同的,它們有哪些區別?

    三段式距離保護和三段式電流保護原理是相同的,它們有哪些區別?? 三段式距離保護和三段式電流保護是電氣保護系統中常用的兩種保護方式,它們在基本原理上是相同的,采用相同的
    的頭像 發表于 09-18 09:57 ?5594次閱讀
    威尼斯人娱乐网网上百家乐| 反赌百家乐的玩法技巧和规则 | 九州娱乐城| 沙龙百家乐娱乐平台| 百家乐官网游戏机的玩法| 皇冠现金网安全吗| 百家乐小揽| 24山向中那个向最好| 百家乐官网游戏下裁| 云鼎娱乐场| 二八杠怎么玩| 百家乐官网公式论坛| 米兰国际娱乐城| 卓达太阳城希望之洲| 澳门百家乐现场游戏| 芝加哥百家乐官网的玩法技巧和规则| 网上百家乐官网网站导航| 在线娱乐城注册送彩金| 汇丰百家乐的玩法技巧和规则 | 德州扑克入门| 尊龙百家乐娱乐场开户注册| 百家乐庄家抽水| 网页百家乐官网官网| 闻喜县| bet365注册找谁| 战神百家乐娱乐城| 真人百家乐园| 百家乐官网过滤工具| 百家乐官网单人操作扫描道具| 百家乐官网技巧发布| 博彩排行| 大发888 大发888官网| 闲和庄百家乐的玩法技巧和规则 | 皇冠网上投注网| 顶级赌场官方网站| 超级老虎机系统| 百家乐皇室百家乐| 百家乐已破解的书籍| 百家乐官网桌布无纺布| 百家乐官网永利娱乐| 百家乐官网娱乐场真人娱乐场 |