在线观看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次閱讀
    主站蜘蛛池模板: 校园激情综合网| 日本三级日本三级日本三级极| 四虎www.| 国产精品女人在线观看| 女bbbbxxxx视频| 欧美不卡视频| 女人张开腿给人桶免费视频| 天天视频色| 亚洲一区精品中文字幕| 日本三级中文字幕| 夜夜夜夜夜夜夜猛噜噜噜噜噜噜| 1000又爽又黄禁片| 午夜欧美福利| 成人v片| 视频在线高清完整免费观看| 五月天婷婷色图| 成人涩涩网站| 亚洲啪啪网站| 色噜噜狠狠狠综合曰曰曰| 男男互攻h啪肉np文厉世| 日韩二级| 特黄一级大片| 直接看的黄色网址| 国内精品视频在线| 51国产午夜精品免费视频| 午夜精品福利在线观看| www.亚洲综合| 中文一区二区| 免费精品视频在线| 狠狠干2015| 五月.com| 天天在线天天看成人免费视频| 一区二区中文字幕| 久久婷婷成人综合色| 国产一级毛片国语版| 婷婷色天使在线视频观看| 在线观看886影院成人影院| 日本加勒比一区| 久久久国产精品网站| 五月激情六月| 欧美三级在线免费观看|