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

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

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

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

MOORE型有限狀態(tài)機(jī)的設(shè)計(jì)方案分析

電子設(shè)計(jì) ? 來源:郭婷 ? 作者:電子設(shè)計(jì) ? 2019-06-10 08:03 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1 、引言

隨著微電子技術(shù)的迅速發(fā)展,人們對(duì)數(shù)字系統(tǒng)的需求也在提高。不僅要有完善的功能,而且對(duì)速度也提出了很高的要求。對(duì)于大部分?jǐn)?shù)字系統(tǒng),都可以劃分為控制單元和數(shù)據(jù)單元兩個(gè)組成部分。通常,控制單元的主體是一個(gè)有限狀態(tài)機(jī),它接收外部信號(hào)以及數(shù)據(jù)單元產(chǎn)生的狀態(tài)信息,產(chǎn)生控制信號(hào)序列。MOORE型有限狀態(tài)機(jī)的設(shè)計(jì)方法有多種,采用不同的設(shè)計(jì)方法,雖然可以得到相同功能的狀態(tài)機(jī),但它們的速度、時(shí)延特性、占用資源可能有較大的差異。在某些對(duì)速度要求很高的場(chǎng)合,如內(nèi)存控制器,則需要針對(duì)速度進(jìn)行優(yōu)化設(shè)計(jì)。

2 、MOORE型有限狀態(tài)機(jī)的幾種設(shè)計(jì)方法

2.1 輸出由狀態(tài)位經(jīng)組合譯碼得到

它的實(shí)現(xiàn)方案是:現(xiàn)態(tài)與輸入信號(hào)經(jīng)組合邏輯得到次態(tài),在時(shí)鐘的上升沿到來時(shí),狀態(tài)寄存器將次態(tài)鎖存得到現(xiàn)態(tài),現(xiàn)態(tài)經(jīng)過輸出組合邏輯譯碼得到輸出信號(hào)。如圖 1所示。由于輸出必須由現(xiàn)態(tài)的狀態(tài)位經(jīng)過譯碼得到,這就需要在現(xiàn)態(tài)與輸出之間增加一級(jí)組合譯碼邏輯,從而加大了從狀態(tài)位到器件輸出管腳的傳輸延遲,同樣也增加了時(shí)鐘-輸出時(shí)延TCO。

MOORE型有限狀態(tài)機(jī)的設(shè)計(jì)方案分析

假設(shè)一個(gè)簡(jiǎn)單的內(nèi)存控制器的狀態(tài)轉(zhuǎn)換圖如圖2所示。一個(gè)完整的讀寫周期是從空閑狀態(tài)idle開始。在ready信號(hào)有效之后的下一個(gè)時(shí)鐘周期轉(zhuǎn)移到判斷狀態(tài)decision,然后根據(jù)read_write信號(hào)再轉(zhuǎn)移到read或write狀態(tài)。則采用這種設(shè)計(jì)方法的VHDL源程序如下:

MOORE型有限狀態(tài)機(jī)的設(shè)計(jì)方案分析

signalpresent_state,next_state:std_logic_vector(1 downto 0);

process(clk,ready,read_write,present_state)

begin

if(clk‘eventandclk=’1‘)then

casepresent_stateis

when idle=>oe<=’0‘;wr<=’0‘;

if ready=’1‘ then

next_state<=decision;

else next_state<=idle;

endif;

when decision=>oe<=’0‘;wr<=’0‘;

if(read_write=’1‘)then

next_state<=read;

else next_state<=write;

endif;

when read=>oe<=’1‘;wr<=’0‘;

if(ready=’1‘)then

next_state<=idle;

else next_state<=read;

endif;

when others=>oe<=’0‘;wr<=’1‘;

if(ready=’1‘)then next_state<=idle;

else next_state<=write;

endif;

endcase;endif;

endprocess;

state_clock:process(clk)begin

if(clk’eventandclk=‘1’)then

present_state<=next_state;

endif;

endprocess;

對(duì)此程序綜合出的電路如圖3所示。現(xiàn)態(tài)present_state與次態(tài)next_state均由兩個(gè)觸發(fā)器構(gòu)成,輸出wr和oe均由 present_state經(jīng)組合譯碼得到,因此從時(shí)鐘的上升沿到狀態(tài)機(jī)輸出的延遲為通過邏輯陣列的時(shí)鐘-輸出時(shí)延TCO2,而不是較短的時(shí)鐘-輸出時(shí)延 TCO,且輸出信號(hào)wr,oe直接來自組合邏輯電路,因而可能有毛刺發(fā)生。

MOORE型有限狀態(tài)機(jī)的設(shè)計(jì)方案分析

2.2 輸出由并行輸出寄存器譯碼得到

在第一種方法中,主要由于輸出組合邏輯引入了延時(shí),從而加大了時(shí)鐘-輸出時(shí)延。為了縮短狀態(tài)機(jī)輸出到達(dá)管腳的延時(shí),可以在鎖存狀態(tài)位之前,先進(jìn)行輸出的組合邏輯譯碼并將其鎖存到專用寄存器中,時(shí)鐘上升沿到來時(shí),專用寄存器中直接輸出wr和oe而沒有了組合邏輯引入的延時(shí),從而使?fàn)顟B(tài)機(jī)輸出的延遲為TCO。實(shí)現(xiàn)該方案的方框圖如圖4。采用這種設(shè)計(jì)方法的VHDL源程序如下:

MOORE型有限狀態(tài)機(jī)的設(shè)計(jì)方案分析

signalpresent_state:std_logic_vector(1 downto 0);

signalnext_state:std_logic_vector(1 downto 0);

signalwr_d,oe_d:std_logic;

begin

process(clk,ready,read_write)

begin

if(clk‘event and clk=’1‘)then

case present_stateis

when idle=>

if ready=’1‘thennext_state<=decision;

else next_state<=idle;

endif ;

when decision=>

if(read_write=’1‘) then next_state<=read;

else next_state<=write;

endif;

when read=>

if(ready=’1‘)then

next_state<=idle;

else next_state<=read;

endif;

when others=>

if(ready=’1‘)then

next_state<=idle;

else next_state<=write;

endif;

endcase;

endif;

endprocess;

withnext_stateselect

oe_d<=’0‘ whenidle|decision|write,’1‘when others;

withnext_stateselect

wr_d<=’0‘whenidle|decision|read,’1‘when others;

state_clock:process(clk)

begin

if(clk’eventandclk=‘1’)then

present_state<=next_state;

oe<=oe_d;

wr<=wr_d;

endif;

endprocess;

在此程序中,用到了兩個(gè)新的信號(hào)oe_d和wr_d,對(duì)次態(tài)next_state進(jìn)行鎖存,不象第一種方案中將現(xiàn)態(tài)present_state進(jìn)行譯碼從而得到在下一個(gè)時(shí)鐘周期oe和wr的取值。對(duì)此程序綜合出的電路如圖5所示。oe_d和wr_d作為鎖存器D1和D2的輸入。因此D1、D2的輸出為上一個(gè)次態(tài)(即現(xiàn)態(tài))的值。clk的上升沿到來時(shí),D1、D2即將oe_d和wr_d鎖存,從而得輸出oe和wr。因此從時(shí)鐘的上升沿到狀態(tài)機(jī)輸出的延遲為時(shí)鐘-輸出時(shí)延TCO而不是通過邏輯陣列的時(shí)鐘-輸出時(shí)延TCO2。又由于時(shí)鐘信號(hào)將輸出加載到附加的D觸發(fā)器中,因而消除了輸出信號(hào)的毛刺。然而,這種方法存在兩個(gè)缺點(diǎn):(1)由于用到了輸出寄存器,它比第一種設(shè)計(jì)需要多用兩個(gè)寄存器;(2)雖然它的時(shí)鐘-輸出時(shí)延從TCO2減小到TCO,但從狀態(tài)機(jī)的狀態(tài)位到達(dá)oe和wr需要經(jīng)過兩級(jí)組合邏輯,這就影響了系統(tǒng)時(shí)鐘的最高頻率。

MOORE型有限狀態(tài)機(jī)的設(shè)計(jì)方案分析

2.3 輸出直接從狀態(tài)位得到

為了能夠把時(shí)鐘-輸出時(shí)延限制在TCO內(nèi),也可以將狀態(tài)位本身作為輸出信號(hào)。對(duì)于狀態(tài)位不是很多的狀態(tài)機(jī)而言,這種方法也許較前兩種更為優(yōu)越。某種情況下,可能會(huì)出現(xiàn)兩種不同狀態(tài)有相同的狀態(tài)位,此時(shí)只需增加一位狀態(tài)位加以區(qū)別即可。如此程序中,idle、decision、read、write四種狀態(tài)可分別編碼為000,001,100,010。采用這種方法所對(duì)應(yīng)的程序如下:

signalpresent_state:std_logic_vector(2downto0);

state:process(clk,ready,read_write);

begin

if(clk‘eventandclk=’1‘)then

case present_stateis

when “000”=>ifready=’1‘ then present_state<=“001”;

else present_state<=“000”;

endif;

when “001”=>if(read_write=’1‘) then

present_state<=“100”;

else present_state<=“001”;

endif;

when “100”=>if(ready=’1‘)then

present_state<=“000”;

elsepresent_state<=“100”;

endif;

when “010”=>if(ready=’1‘) then present_state<=“000”;

else present_state<=“010”;

endif;

when others=>present_state<=“---”;

endcase;

endif;

endprocess;

oe<=present_state(2);

wr<=present_state(1);

對(duì)此程序綜合出的電路如圖6所示。從圖中可知,輸出信號(hào)未通過額外的邏輯對(duì)現(xiàn)態(tài)進(jìn)行譯碼,而是直接來自狀態(tài)寄存器,因而輸出信號(hào)上沒有毛刺,并且它所用的宏單元少于通過并行輸出寄存器輸出的方式。

MOORE型有限狀態(tài)機(jī)的設(shè)計(jì)方案分析

3 、結(jié)論

從以上分析可知,普通MOORE型狀態(tài)機(jī)時(shí)延最長,速度最慢,可應(yīng)用于對(duì)速度要求不高的場(chǎng)合。同時(shí),由于它的輸出信號(hào)中有毛刺,更加限制了它的應(yīng)用范圍。后兩種方案在相同的條件下,具有相同的時(shí)延,即速度是相同的,但第二 種方案所占用面積要比第三種大得多,且對(duì)時(shí)鐘頻率有一定限制。如果可能的話,選擇“輸出直接從狀態(tài)位得到”類型狀態(tài)機(jī)是一個(gè)理想的方案,因?yàn)槠渌俣茸羁欤娣e最小,設(shè)計(jì)這種狀態(tài)機(jī)時(shí),必須在VHDL源碼中對(duì)狀態(tài)的編碼加以明確的規(guī)定,使?fàn)顟B(tài)和輸出信號(hào)的取值一致。所以只有在狀態(tài)機(jī)的規(guī)模較小時(shí),才能很好地實(shí)現(xiàn)這種類型的設(shè)計(jì)。


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

    關(guān)注

    114

    文章

    17059

    瀏覽量

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

    關(guān)注

    31

    文章

    5432

    瀏覽量

    124011
  • vhdl
    +關(guān)注

    關(guān)注

    30

    文章

    820

    瀏覽量

    129775
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

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

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

    MOORE有限狀態(tài)機(jī)的幾種設(shè)計(jì)方法是什么

    MOORE有限狀態(tài)機(jī)的幾種設(shè)計(jì)方法是什么VHDL設(shè)計(jì)MOORE有限狀態(tài)機(jī)時(shí)速度問題是什么
    發(fā)表于 05-07 06:01

    fsm有限狀態(tài)機(jī)pdf

    利用 VHDL 設(shè)計(jì)的許多實(shí)用邏輯系統(tǒng)中,有許多是可以利用有限狀態(tài)機(jī)設(shè)計(jì)方案來描述和實(shí)現(xiàn)的。無論與基于 VHDL的其它設(shè)計(jì)方案相比,還是與可完成相似功能的 CPU 相比,狀
    發(fā)表于 06-04 10:33 ?75次下載

    有限狀態(tài)機(jī)的硬件描述語言設(shè)計(jì)方法

    實(shí)驗(yàn)?zāi)康? 1、 熟悉用硬件描述語言(VHDL)設(shè)計(jì)一般狀態(tài)機(jī)所包含的幾個(gè)基本部分;2、 掌握用硬件描述語言(VHDL)設(shè)計(jì)Moore和Mealy
    發(fā)表于 09-03 09:48 ?0次下載

    有限狀態(tài)機(jī)FSM在PLD中的實(shí)現(xiàn)分析

    本文通過舉例 利用VHDL 語言描述了不同模式的有限狀態(tài)機(jī) 分析有限狀態(tài)機(jī)在 PLD 中綜合的特點(diǎn) 。
    發(fā)表于 03-22 15:41 ?3次下載

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

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

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

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

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

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

    狀態(tài)機(jī)和組合邏輯的冒險(xiǎn)競(jìng)爭(zhēng)淺析

    有限狀態(tài)機(jī)(Finite State Machine, FSM),根據(jù)狀態(tài)機(jī)的輸出是否與輸入有關(guān),可分為Moore狀態(tài)機(jī)和Mealy
    發(fā)表于 06-25 08:42 ?4188次閱讀

    如何使用FPGA實(shí)現(xiàn)序列檢測(cè)有限狀態(tài)機(jī)

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

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

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

    如何以面向?qū)ο蟮乃枷朐O(shè)計(jì)有限狀態(tài)機(jī)

    有限狀態(tài)機(jī)又稱有限狀態(tài)自動(dòng)機(jī),簡(jiǎn)稱狀態(tài)機(jī),是表示有限個(gè)狀態(tài)以及在這些
    發(fā)表于 02-07 11:23 ?4次下載
    如何以面向?qū)ο蟮乃枷朐O(shè)計(jì)<b class='flag-5'>有限狀態(tài)機(jī)</b>

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

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

    一個(gè)基于事件驅(qū)動(dòng)的有限狀態(tài)機(jī)

    EFSM(event finite state machine,事件驅(qū)動(dòng)有限狀態(tài)機(jī)),是一個(gè)基于事件驅(qū)動(dòng)的有限狀態(tài)機(jī),主要應(yīng)用于嵌入式設(shè)備的軟件系統(tǒng)中。 EFSM的設(shè)計(jì)原則是:簡(jiǎn)單!EFSM的使用者只需要關(guān)心:
    的頭像 發(fā)表于 08-30 09:28 ?1097次閱讀
    一個(gè)基于事件驅(qū)動(dòng)的<b class='flag-5'>有限狀態(tài)機(jī)</b>

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

    有限狀態(tài)機(jī)分割設(shè)計(jì),其實(shí)質(zhì)就是一個(gè)狀態(tài)機(jī)分割成多個(gè)狀態(tài)機(jī)
    的頭像 發(fā)表于 10-09 10:47 ?877次閱讀
    主站蜘蛛池模板: 97影院理论午夜论不卡 | 亚洲第一视频在线观看 | 国产欧美乱码在线看 | 最好看免费中文字幕2018视频 | 四虎永久在线日韩精品观看 | 一级毛片美国一级j毛片不卡 | 欧美高清在线观看视频 | 久久久婷婷 | 婷婷丁香久久 | 高清不卡毛片免费观看 | 日本免费高清 | 久久精品最新免费国产成人 | 一级a毛片免费观看 | 亚洲一级毛片免观看 | 一级片特黄 | 久久久亚洲欧美综合 | 亚洲精品久久婷婷爱久久婷婷 | 国产亚洲精品线观看77 | 三级毛片在线免费观看 | 性 色 黄 一级 | 办公室桌震娇喘视频大全在线 | 精品一区视频 | 国产免费播放一区二区三区 | 亚洲 欧美 日韩 丝袜 另类 | 四虎网站网址 | 777kkk亚洲综合欧美色老头 | 色视频在线观看在线播放 | 一级黄色录像毛片 | 狠狠五月婷婷 | 一本大道高清在线视频 视频 | 亚洲国产精品久久久久婷婷软件 | 在线免费观看视频黄 | 日韩欧免费一区二区三区 | video另类蛇交 | 亚洲狠狠婷婷综合久久久久图片 | 天天天天做夜夜夜夜 | 天天狠天天透天干天天怕处 | 日本在线网站 | 欧美深夜福利 | 俺也射| 毛片不卡一区二区三区 |