在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

FPGA中有限狀態(tài)機的狀態(tài)編碼采用格雷碼還是獨熱碼?

FPGA研究院 ? 來源:FPGA之家 ? 2023-04-07 09:52 ? 次閱讀

看《從算法設(shè)計到硬件邏輯的實現(xiàn)》這本電子書時,遇到了一個問題,就是有限狀態(tài)機的編寫中,狀態(tài)編碼是采用格雷碼還是獨熱碼呢?究竟采用哪一種編碼呢?

采用獨熱碼為什么節(jié)省許多組合電路?

等等問題,就這些問題我收集了一些說法,覺得很有意思,在這里我們一起討論下。

還是先簡介下有限狀態(tài)機:

有限狀態(tài)機是由寄存器組和組合邏輯構(gòu)成的硬件時序電路,其狀態(tài)(即由寄存器組的1和0的組合狀態(tài)所構(gòu)成的有限個狀態(tài))只可能在同一時鐘跳變沿的情況下才能從一個狀態(tài)轉(zhuǎn)向另一個狀態(tài),究竟轉(zhuǎn)向哪一狀態(tài)還是留在原狀態(tài)不但取決于各個輸入值,還取決于當(dāng)前所在狀態(tài)。這里是指Mealy型有限狀態(tài)機。

Moore型有限狀態(tài)機的狀態(tài)轉(zhuǎn)移只取決于當(dāng)前狀態(tài),與輸入值無關(guān)。

Verilog HDL中可以用許多種方法來描述有限狀態(tài)機,最常用的方法是用always語句和case語句。下面的狀態(tài)轉(zhuǎn)移圖表示了一個有限狀態(tài)機:

9d4a5008-d4d3-11ed-bfe3-dac502259ad0.png

上面的狀態(tài)轉(zhuǎn)移圖表示了一個四狀態(tài)的有限狀態(tài)機,它的同步時鐘是Clock,輸入信號是 A 和 rst_n ,輸出信號是 F 和 G。狀態(tài)的轉(zhuǎn)移只能在同步時鐘(Clock)的上升沿時發(fā)生,往哪個狀態(tài)的轉(zhuǎn)移則取決于目前所在的狀態(tài)和輸入的信號(Reset 和 A)。

我們采用兩種狀態(tài)編碼方式來實現(xiàn)這個有限狀態(tài)機:

1)采用格雷碼:

9d6a23ba-d4d3-11ed-bfe3-dac502259ad0.png

9d91226c-d4d3-11ed-bfe3-dac502259ad0.png

9da1abbe-d4d3-11ed-bfe3-dac502259ad0.png

在ISE中,綜合后,得到的RTL Schematic

9db84f40-d4d3-11ed-bfe3-dac502259ad0.png

2)采用獨熱碼:

程序和上面的幾乎一樣,只需要改下,各個狀態(tài)對應(yīng)的編碼值即可,還有最后的default:state 《= Idle;

還是給出程序吧:

9dcce13a-d4d3-11ed-bfe3-dac502259ad0.png

9ddff3a6-d4d3-11ed-bfe3-dac502259ad0.png

9df319ae-d4d3-11ed-bfe3-dac502259ad0.png

9e0cb08a-d4d3-11ed-bfe3-dac502259ad0.png

上面兩個程序的主要不同點是狀態(tài)編碼,2)采用了獨熱編碼,而1)則采用Gray碼,究竟采用哪一種編碼好要看具體情況而定。對于用FPGA實現(xiàn)的有限狀態(tài)機建議采用獨熱碼,因為雖然采用獨熱編碼多用了兩個觸發(fā)器,但所用組合電路可省下許多,因而使電路的速度和可靠性有顯著提高,而總的單元數(shù)并無顯著增加。采用了獨熱編碼后有了多余的狀態(tài),就有一些不可到達的狀態(tài),為此在CASE語句的最后需要增加default分支項,以確保多余狀態(tài)能回到Idle狀態(tài)。

上面所說的多余狀態(tài)是:4位編碼有16種,獨熱碼只列出了4種,剩下了12種,就是多余的狀態(tài)。

9e2428a0-d4d3-11ed-bfe3-dac502259ad0.jpg

9e435c3e-d4d3-11ed-bfe3-dac502259ad0.png

另一位大牛只說了一句話,但很有啟發(fā):

9e5682a0-d4d3-11ed-bfe3-dac502259ad0.png

那我把3—8譯碼器的真值表給出來,確實如此。

9e6960d2-d4d3-11ed-bfe3-dac502259ad0.png

審核編輯 :李倩

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

    關(guān)注

    1629

    文章

    21736

    瀏覽量

    603419
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5343

    瀏覽量

    120377
  • 輸出信號
    +關(guān)注

    關(guān)注

    0

    文章

    281

    瀏覽量

    11865

原文標(biāo)題:FPGA中有限狀態(tài)機的狀態(tài)編碼采用格雷碼還是獨熱碼?

文章出處:【微信號:FPGA研究院,微信公眾號:FPGA研究院】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    FPGA設(shè)計的的使用和調(diào)試技巧的詳細(xì)概述

    狀態(tài)機里面使用比價廣泛,這一塊有些人愛用,有些人嫌煩,有時候可以用用
    的頭像 發(fā)表于 05-05 10:15 ?8254次閱讀

    FPGA Verilog HDL 設(shè)計實例系列連載--------有限狀態(tài)機設(shè)計

    關(guān)系,因而在狀態(tài)圖中每條轉(zhuǎn)移邊需要包含輸入和輸出的信息。狀態(tài)編碼  數(shù)字邏輯系統(tǒng)狀態(tài)機設(shè)計中常見的編碼方式有:二進制
    發(fā)表于 03-09 10:04

    FPGA有限狀態(tài)機

    FPGA有限狀態(tài)機
    發(fā)表于 09-08 08:45

    為什么相對于來說,會使用更多的觸發(fā)器和更少的組合邏輯???

    在編寫有限狀態(tài)機時,為什么采用會占用更多的觸發(fā)器和更少的組合邏輯?從FPGA內(nèi)部結(jié)構(gòu)和數(shù)電
    發(fā)表于 03-02 00:33

    FPGA開源教程連載】第七章 狀態(tài)機設(shè)計實例

    各種狀態(tài),這也就分支出一種情況如何對狀態(tài)進行有效的編碼。編碼格式,最簡單的就是直接使用二進制進行表示,除此之外還有使用
    發(fā)表于 12-26 00:17

    fpga Default Latch FPGA設(shè)計的的使用和調(diào)試技巧的詳細(xì)概述

    狀態(tài)機里面使用比價廣泛,這一塊有些人愛用,有些人嫌煩,有時候可以用用
    發(fā)表于 06-07 17:57

    有限狀態(tài)機有什么類型?

    在實際的應(yīng)用中,根據(jù)有限狀態(tài)機是否使用輸入信號,設(shè)計人員經(jīng)常將其分為Moore型有限狀態(tài)機和Mealy型有限狀態(tài)機兩種類型。
    發(fā)表于 04-06 09:00

    有限狀態(tài)機的建模與優(yōu)化設(shè)計

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

    VHDL有限狀態(tài)機設(shè)計-ST

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

    初學(xué)者對有限狀態(tài)機(FSM)的設(shè)計的認(rèn)識

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

    如何使用FPGA實現(xiàn)序列檢測有限狀態(tài)機

    有限狀態(tài)機是絕大部分控制電路的核心結(jié)構(gòu), 是表示有限狀態(tài)以及在這些狀態(tài)之間轉(zhuǎn)移和動作等行為的數(shù)學(xué)模型。有限狀態(tài)機是指輸出取決于過去輸入部分
    發(fā)表于 11-04 17:17 ?12次下載
    如何使用<b class='flag-5'>FPGA</b>實現(xiàn)序列檢測<b class='flag-5'>有限狀態(tài)機</b>

    基于事件驅(qū)動的有限狀態(tài)機介紹

    ? 一、介紹 EFSM(event finite state machine,事件驅(qū)動型有限狀態(tài)機),是一個基于事件驅(qū)動的有限狀態(tài)機,主要應(yīng)用于嵌入式設(shè)備的軟件系統(tǒng)中。 EFSM的設(shè)計原則是:簡單
    的頭像 發(fā)表于 11-16 15:29 ?2356次閱讀

    基于事件驅(qū)動的有限狀態(tài)機介紹

    EFSM(event finite state machine,事件驅(qū)動型有限狀態(tài)機),是一個基于事件驅(qū)動的有限狀態(tài)機,主要應(yīng)用于嵌入式設(shè)備的軟件系統(tǒng)中。
    的頭像 發(fā)表于 02-11 10:17 ?1055次閱讀

    FPGA有限狀態(tài)機編寫如何選擇狀態(tài)編碼?

    在Verilog HDL中可以用許多種方法來描述有限狀態(tài)機,最常用的方法是用always語句和case語句。
    發(fā)表于 03-23 14:06 ?625次閱讀

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

    有限狀態(tài)機分割設(shè)計,其實質(zhì)就是一個狀態(tài)機分割成多個狀態(tài)機
    的頭像 發(fā)表于 10-09 10:47 ?646次閱讀
    主站蜘蛛池模板: 97夜夜澡人人爽人人喊一欧美 | 一级毛片美国一级j毛片不卡 | 亚洲天堂爱爱 | 伊人久久大香线蕉综合7 | 97人人视频 | 天天摸夜夜摸爽爽狠狠婷婷97 | 天天爽夜夜爽精品视频一 | 1024手机最新手机在线 | 可以免费观看的黄色网址 | 六月婷婷啪啪 | 中文字幕一区二区三区精品 | videosxxoo18在线 | 久久久久国产 | 手机天堂网 | 亚洲精品午夜久久aaa级久久久 | 欧美屁屁影院 | 天天躁日日2018躁狠狠躁 | 六月婷操 | 你懂的视频在线观看资源 | 深夜动态福利gif动态进 | 5252色欧美在线激情 | 亚欧美色 | 天天艹天天操 | 永久免费观看视频 | 亚洲插插插 | 天天干天天在线 | 色视频在线网站 | 午夜神马福利免费官方 | 黄色三级视频 | 婷婷丁香视频 | 天天搞夜夜爽 | 亚洲免费二区三区 | 日本x色视频 | 国产网红主播chinese | 久久青草18免费观看网站 | 色久天 | 全国男人的天堂天堂网 | 女人张腿让男桶免费视频观看 | 日韩一卡2卡三卡4卡无卡网站 | 三级黄色免费网站 | 国产成人优优影院 |