色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

采用米利型的狀態機電路設計

西西 ? 來源:博客園 ? 作者: zxl2431 ? 2020-09-08 14:06 ? 次閱讀

1.0 序列檢測電路設計

設計一個序列檢測器電路,功能是:檢測出串行輸入數據Sin中的4位二進制序列0101(自左至右輸入),當檢測到該序列時,輸出Out=1;沒有檢測到該序列時,輸出Out=0(注意考慮序列重疊的可能性,如010101,相當于出現兩個0101序列)。

經過分析,首先可以確定采用米利型狀態機設計該電路。因為該電路在連續收到信號0101時,輸出為1,其他情況下輸出為0,所以采用米利型狀態機。

其次,確定狀態機的狀態圖,該電路必須能記憶所收到的輸入數據0、連續收到前兩個數據01.。。可見至少要是個狀態,分別用S1,S2,S3,S4,再加上電路初始態S0。根據要求可以畫出狀態圖:

采用米利型的狀態機電路設計

觀察該圖可以看出,當狀態機處以S2、S4的時候,如果輸入Sin = 1,則電路會轉移到相同的次態S0,如果輸入Sin = 0,則電路會轉移到相同的次態S3,且兩種情況下輸出Out都為0。所以,S2、S4為等價狀態,可用S2代替S4,于是得到簡化的狀態圖:

如果用CPLD/FPGA器件實現狀態機,則邏輯綜合器會自動化簡狀態機。

利用Verilog HDL描述狀態圖主要包括:

(1) 利用參數定義語句parameter描述狀態機中各個狀態的名稱,并指定狀態編碼。

(2) 用時序的always塊描述狀態觸發器實現的狀態存儲。

(3) 使用敏感表和case語句(也可以采用if-else語句)描述狀態轉換邏輯。

(4) 描述狀態機的輸出邏輯。

這個電路我試著用3種方式來描述,看看他們的差別在哪里。

(1) 單個always塊描述狀態機方法(應該避免的寫法)

生成的RTL視圖:

采用米利型的狀態機電路設計

State模塊里面其實就是一個狀態機:

采用米利型的狀態機電路設計

仿真結果有時會出錯:

采用米利型的狀態機電路設計

在每個clk上升沿讀取數據,可以看到是0101,在285ps時輸出oOut應該是高電平,但不是,這是為什么了?再看下面一張圖

采用米利型的狀態機電路設計

這張是對的,為什么有時對又是錯了,如果是這樣那就失去了它的意義了。

對序列檢測器電路用單個always塊的描述的邏輯存在一個隱含的錯誤,即輸出信號oOut的描述存在錯誤。其原因是:oOut信號是由狀態機的當前狀態和輸入信號共同決定的,它是一個純組合邏輯電路,如果當前狀態不變,而輸入信號變了,oOut信號應立即發生變化,而不是等到時鐘上升沿來了才變化。因此,單個always塊描述狀態機的寫法僅僅適用于穆爾型狀態機。這雖然是個問題,但是跟我出現的問題貌似沒有什么直接關系,郁悶。。。繼續思考。

在實際應用中,為了消除組合邏輯輸出信號中的毛刺,在時序允許的情況下,通常允許米利型狀態機中輸出信號通過寄存器輸出。但是單個的always塊的描述方法將狀態轉換判斷的組合邏輯和狀態觸發器轉移的時序邏輯混合編寫在同一個always塊中,不符合將時序和組合邏輯分開描述的代碼風格(Coding Style),而且在描述當前狀態時還要考慮下一個狀態的邏輯,整個代碼的結構不清晰,不利于修改和維護,不利于時序約束條件的加入,不利于綜合器對設計的優化。所以不推薦使用單個always塊的描述方式。

必須為自己的粗心大意買單,還說輸出有時會出錯原來狀態圖都是錯了,不經意的一眼,看來不能隨便啊。case語句后的 S1:當條件滿足時(iSin == 1‘b1)時會跳到S2否則還會停留在S1。改過來看看正確的狀態機就不會出錯了。太粗心了!

正確的狀態機:

采用米利型的狀態機電路設計

(2) 兩個always塊描述狀態機的方法(推薦寫法)

值得注意的是Next_state = 2’bxx;對狀態的默認賦值有3種方式:(1) 全部設置成不定狀態(x); (2) 設置成預先規定的初始狀態; (3) 設置成FSM中的某一有效狀態。設置成不定狀態(x)的好處是:(1) 在仿真時可以很好地考察所設計的FSM的完備性,若設計的FSM不完備,則進入任意狀態,仿真時容易發現;(2) 綜合器對代碼進行綜合時,會忽略沒有定義的狀態觸發器向量。

生成的RTL視圖:

采用米利型的狀態機電路設計

和上面的比較了一下,少了個D觸發器,這是為什么呢?并且仿真的結果也不一樣了。仿真圖:

采用米利型的狀態機電路設計

當然新的問題也就隨之而來:

采用米利型的狀態機電路設計

我們可以明顯的看到這種寫法和上面寫法的區別,最重要的是:輸出oOut不在是在clk上升沿來的時候才能發生變化,它是一個純組合邏輯電路只要輸入條件滿足輸出就立馬發生改變。隨著毛刺的出現,毛刺是一個很重要的問題,很值得我們認真思考。為什么會出現毛刺了,我們可以清楚的看到這時次態是完全由組合邏輯電路決定的,時序電路做的事情僅僅是在clk上升沿來的時候把,把次態賦給現態。在445ps時在S1狀態,輸出為0、在455ps時在S2狀態,輸出為0、在465ps時在S3狀態,此時就算clk的posedge不來,只要iSin == 1,輸出同樣會為1,正如上圖,但在這里,clk 的上升沿和iSin 的高電平是同時來的,所以,在 iSin 的高電平來的那一瞬間,輸出oOut = 1,就在同時狀態裝換到S2,輸出oOut = 0;

這就導致了上面毛刺的產生。怎么解決這個問題呢?我們來看看第三種方法。

(3) 3個always塊描述狀態機(推薦寫法)

分析一下代碼,我們很容易看出:第一個always塊采用同步時序邏輯方式描述狀態轉移(在電路框圖的中間框),第二個always塊采用組合邏輯方式描述狀態轉移規律(一般是第一個方框),第三個always塊描述電路的輸出信號,在時序允許的情況下,通常讓輸出信號經過一個寄存器再輸出,保證輸出信號中沒有毛刺。

綜合后的RTL視圖,就跟第一版程序是一樣的了,又有了D觸發器,仿真結果和第一版也是一樣的,但是兩版代碼的風格(Coding Style)是不一樣的。

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

    關注

    13

    文章

    494

    瀏覽量

    42676
  • 檢測器
    +關注

    關注

    1

    文章

    869

    瀏覽量

    47758
  • D觸發器
    +關注

    關注

    3

    文章

    164

    瀏覽量

    47981
  • 狀態機
    +關注

    關注

    2

    文章

    492

    瀏覽量

    27615
收藏 人收藏

    評論

    相關推薦

    如何快速入門PLD電路設計

    基本的數字邏輯概念,如與、或、非、異或等邏輯門。 布爾代數 :掌握布爾代數的基本原理,這對于設計復雜的邏輯電路至關重要。 狀態機 :學習有限狀態機(F
    的頭像 發表于 01-20 09:48 ?85次閱讀

    技術分享!蜂窩模組開機電路設計

    模組的上電開機,是硬件設計調試的第一步。在前期設計階段,尤其要注意優化外部電路設計(特別是電源部分)。 本文特別分享常見開機電路設計相關注意事項。適合大多數蜂窩模組,在實際開發中可靈活應用。 一
    的頭像 發表于 12-17 18:05 ?620次閱讀
    技術分享!蜂窩模組開<b class='flag-5'>機電路設計</b>

    蜂窩模組開機電路,你學廢了嗎?

    本文特別分享常見開機電路設計相關注意事項。適合大多數蜂窩模組,在實際開發中可靈活應用。
    的頭像 發表于 12-14 15:54 ?307次閱讀
    蜂窩模組開<b class='flag-5'>機電路</b>,你學廢了嗎?

    Simulink中的狀態機建模方法 Simulink數據可視化與分析功能

    1. Simulink中的狀態機建模方法 1.1 理解狀態機的基本概念 在開始建模之前,了解狀態機的基本概念是必要的。狀態機由以下幾個部分組成:
    的頭像 發表于 12-12 09:27 ?745次閱讀

    基于PWM控制的buck電路設計

    基于PWM(脈沖寬度調制)控制的Buck電路設計是一個綜合性的項目,涉及電路原理、控制策略、元件選擇等多個方面。以下是一個基于PWM控制的Buck電路設計的指南: 一、電路原理 Buc
    的頭像 發表于 11-21 10:12 ?1647次閱讀

    單片機電路圖用什么軟件畫

    單片機電路圖的設計和繪制是一個復雜的過程,涉及到電路設計、電子元件的選擇、電路板布局、信號完整性分析等多個方面。 1. 選擇合適的軟件 繪制單片機電路圖,你可以選擇多種軟件,每種軟件都
    的頭像 發表于 10-17 09:43 ?1204次閱讀

    觸發器和狀態機的關系是什么

    觸發器和狀態機在數字電路設計中有著緊密的關系,它們共同構成了時序邏輯電路的基礎,用于實現數據的存儲、處理和傳輸。
    的頭像 發表于 08-12 11:24 ?519次閱讀

    如何在FPGA中實現狀態機

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

    玩轉Spring狀態機

    說起Spring狀態機,大家很容易聯想到這個狀態機和設計模式中狀態模式的區別是啥呢?沒錯,Spring狀態機就是狀態模式的一種實現,在介紹S
    的頭像 發表于 06-25 14:21 ?1002次閱讀
    玩轉Spring<b class='flag-5'>狀態機</b>

    關于SMU狀態機的問題求解

    我有一些關于 SMU 狀態機的問題。 假設由于某種原因,SMU 已進入故障狀態。 手冊指出,要返回運行狀態并將 FSP 恢復到無故障狀態,應調用IfxSmu_releaseFSP()。
    發表于 05-29 08:18

    在Verilog中實現Moore和Mealy狀態機的方法簡析

    編寫能夠被綜合工具識別的狀態機,首先需要理解狀態機的基本概念和分類。狀態機(FSM)是表示有限個狀態以及在這些狀態之間轉換的邏輯結構。
    的頭像 發表于 05-01 11:38 ?1762次閱讀

    求助LabVIEW,狀態機里面反饋節點如何初始化問題

    求助labview,狀態機里面反饋節點如何初始化,下次執行這個狀態的時候初始化一次!謝謝謝謝!
    發表于 03-25 18:17

    如何采用狀態機”解析UART數據幀

    如果一個系統接收上述“不定長度”的協議幀,將會有一個挑戰--如何高效接收與解析。 為簡化系統設計,我們強烈建議您采用狀態機”來解析UART數據幀。
    的頭像 發表于 03-25 14:29 ?770次閱讀
    如何<b class='flag-5'>采用</b>“<b class='flag-5'>狀態機</b>”解析UART數據幀

    什么是有限狀態機?如何解決傳統有限狀態機狀態爆炸」問題?

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

    Verilog狀態機+設計實例

    的是有限狀態機(Finite-State Machine,FSM),簡稱為狀態機,表示在有限個狀態以及這些狀態之間的轉移和動作等行為的數學模型。 二、分類 在verilog中常使用的
    的頭像 發表于 02-12 19:07 ?4309次閱讀
    Verilog<b class='flag-5'>狀態機</b>+設計實例
    主站蜘蛛池模板: 国外色幼网 | 她也色在线视频站 | 5G在线观看免费年龄确认 | 国产免费阿v精品视频网址 国产免费69成人精品视频 | qvod在线观看 | 亚洲专区中文字幕视频专区 | 白银谷在线观看 | 日本阿v片在线播放免费 | 一本之道高清www在线观看 | 久久久这里有精品999 | 一个人的免费完整在线观看HD | 伊人久久精品中文字幕 | 午夜国产大片免费观看 | 永久免费看mv网站入口 | 老阿姨儿子一二三区 | 国内精品久久人妻无码HD浪潮 | 宝贝好紧好爽再搔一点试視頻 | 大桥未久电影在线观看 | 国产二区自拍 | 日本一区不卡在线播放视频免费 | 亚洲国产区中文在线观看 | 国产精品麻豆AV | 精品区2区3区4区产品乱码9 | 又亲又揉摸下面视频免费看 | 久久久久亚洲精品影视 | 91黄色大片 | 欧美白人极品性喷潮 | 果冻传媒2021精品影视 | 天天躁日日躁狠狠躁午夜剧场 | 欲香欲色天天天综合和网 | 免费久久狼人香蕉网 | 国内精品九九视频 | 亚洲伊人久久综合影院2021 | 麻豆国产人妻欲求不满 | bl高h乱肉辣文 | 久久a在线视频观看 | 99久久中文字幕伊人情人 | 99久久久免费精品免费 | 欧美另类老女人 | 最近2019年日本中文免费字幕 | 亚洲AV精品无码国产一区 |