18video性欧美19sex,欧美高清videosddfsexhd,性少妇videosexfreexxx片中国,激情五月激情综合五月看花,亚洲人成网77777色在线播放

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

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

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

什么是狀態(tài)機(jī) 狀態(tài)機(jī)的描述三種方法

454398 ? 來(lái)源:CSDN博主 ? 作者:herryone123 ? 2020-11-16 17:39 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

狀態(tài)機(jī)

1、狀態(tài)機(jī)是許多數(shù)字系統(tǒng)的核心部件,是一類重要的時(shí)序邏輯電路。通常包括三個(gè)部分:一是下一個(gè)狀態(tài)的邏輯電路,二是存儲(chǔ)狀態(tài)機(jī)當(dāng)前狀態(tài)的時(shí)序邏輯電路,三是輸出組合邏輯電路。

2、根據(jù)狀態(tài)機(jī)的輸出信號(hào)是否與電路的輸入有關(guān)分為Mealy型狀態(tài)機(jī)和Moore型狀態(tài)機(jī)。電路的輸出信號(hào)不僅與電路當(dāng)前狀態(tài)有關(guān),還與電路的輸入有關(guān),稱為 Mealy 型狀態(tài)機(jī),而電路的輸出僅僅與各觸發(fā)器的狀態(tài),不受電路輸入信號(hào)影響或無(wú)輸入,稱為
Moore 型狀態(tài)機(jī)。

3、狀態(tài)機(jī)的描述通常有三種方法,稱為一段式狀態(tài)機(jī),二段式狀態(tài)機(jī)和三段式狀態(tài)機(jī)。狀態(tài)機(jī)的描述通常包含以下四部分:
1)利用參數(shù)定義語(yǔ)句 parameter 描述狀態(tài)機(jī)各個(gè)狀態(tài)名稱,即狀態(tài)編碼。狀態(tài)編碼通常有很多方法包含自然二進(jìn)制編碼,One-hot 編碼,格雷編碼碼等;
2)用時(shí)序的 always 塊描述狀態(tài)觸發(fā)器實(shí)現(xiàn)狀態(tài)存儲(chǔ);
3)使用敏感表和 case 語(yǔ)句(也采用 if-else 等價(jià)語(yǔ)句)描述狀態(tài)轉(zhuǎn)換邏輯;
4)描述狀態(tài)機(jī)的輸出邏輯。

4、(1)一段式狀態(tài)機(jī)

module detect_1(
input clk_i,
input rst_n_i,
output out_o
);
reg out_r;
//狀態(tài)聲明和狀態(tài)編碼
reg [1:0] state;
parameter [1:0] S0=2'b00;
parameter [1:0] S1=2'b01;
parameter [1:0] S2=2'b10;
parameter [1:0] S3=2'b11;
always@(posedge clk_i)
begin
if(!rst_n_i)begin
state<=0;
out_r<=1'b0;
end
else
case(state)
S0 :
begin
out_r<=1'b0;
state<= S1;
end
S1 :
begin
out_r<=1'b1;
state<= S2;
end
S2 :
begin
out_r<=1'b0;
state<= S3;
end
S3 :
begin
out_r<=1'b1;
end
endcase
end
assign out_o=out_r;
endmodule

一段式狀態(tài)機(jī)是應(yīng)該避免使用的,該寫法僅僅適用于非常簡(jiǎn)單的狀態(tài)機(jī)設(shè)計(jì),不符合組
合邏輯與時(shí)序邏輯分開的原則,整個(gè)結(jié)構(gòu)代碼也不清晰,不利用維護(hù)和修改。

(2)兩段式狀態(tài)機(jī)

//狀態(tài)聲明和狀態(tài)編碼
reg [1:0] Current_state;
reg [1:0] Next_state;
parameter [1:0] S0=2'b00;
parameter [1:0] S1=2'b01;
parameter [1:0] S2=2'b10;
parameter [1:0] S3=2'b11;
//時(shí)序邏輯:描述狀態(tài)轉(zhuǎn)換
always@(posedge clk_i)
begin
if(!rst_n_i)
Current_state<=0;
else
Current_state<=Next_state;
end
//組合邏輯:描述下一狀態(tài)和輸出
always@(*)
begin
out_r=1'b0;
case(Current_state)
S0 :
begin
out_r=1'b0;
Next_state= S1;
end
S1 :
begin
out_r=1'b1;
Next_state= S2;
end
S2 :
begin
out_r=1'b0;
Next_state= S3;
end
S3 :
begin
out_r=1'b1;
Next_state=Next_state;
end
endcase
end
assign out_o=out_r;
endmodule

兩段式狀態(tài)機(jī)采用兩個(gè) always 模塊實(shí)現(xiàn)狀態(tài)機(jī)的功能,其中一個(gè) always 采用同步時(shí)序邏輯描述狀態(tài)轉(zhuǎn)移,另一個(gè) always 采用組合邏輯來(lái)判斷狀態(tài)條件轉(zhuǎn)移。兩段式狀態(tài)機(jī)是推薦的狀態(tài)機(jī)設(shè)計(jì)方法。

(3)三段式狀態(tài)機(jī)

module detect_3(
input clk_i,
input rst_n_i,
output out_o
);
reg out_r;
//狀態(tài)聲明和狀態(tài)編碼
reg [1:0] Current_state;
reg [1:0] Next_state;
parameter [1:0] S0=2'b00;
parameter [1:0] S1=2'b01;
parameter [1:0] S2=2'b10;
parameter [1:0] S3=2'b11;
//時(shí)序邏輯:描述狀態(tài)轉(zhuǎn)換
always@(posedge clk_i)
begin
if(!rst_n_i)
Current_state<=0;
else
Current_state<=Next_state;
end
//組合邏輯:描述下一狀態(tài)
always@(*)
begin
case(Current_state)
S0:
Next_state = S1;
S1:
Next_state = S2;
S2:
Next_state = S3;
S3:
begin
Next_state = Next_state;
end
default :
Next_state = S0;
endcase
end
//輸出邏輯:讓輸出 out,經(jīng)過(guò)寄存器 out_r 鎖存后輸出,消除毛刺
always@(posedge clk_i)
begin
if(!rst_n_i)
out_r<=1'b0;
else
begin
case(Current_state)
S0,S2:
out_r<=1'b0;
S1,S3:
out_r<=1'b1;
default :
out_r<=out_r;
endcase
end
end
assign out_o=out_r;

三段式狀態(tài)機(jī)在第一個(gè) always 模塊采用同步時(shí)序邏輯方式描述狀態(tài)轉(zhuǎn)移,第二個(gè)always 模塊采用組合邏輯方式描述狀態(tài)轉(zhuǎn)移規(guī)律,第三個(gè) always 描述電路的輸出。通常讓輸出信號(hào)經(jīng)過(guò)寄存器緩存之后再輸出,消除電路毛刺。這種狀態(tài)機(jī)也是比較推崇的,主要是由于維護(hù)方便,組合邏輯與時(shí)序邏輯完全獨(dú)立。

編輯:hfy


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

    關(guān)注

    13

    文章

    503

    瀏覽量

    43740
  • Verilog
    +關(guān)注

    關(guān)注

    30

    文章

    1369

    瀏覽量

    113819
  • 觸發(fā)器
    +關(guān)注

    關(guān)注

    14

    文章

    2048

    瀏覽量

    62877
  • 狀態(tài)機(jī)
    +關(guān)注

    關(guān)注

    2

    文章

    495

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    JTAG標(biāo)準(zhǔn)的狀態(tài)機(jī)實(shí)現(xiàn)

    JTAG作為一項(xiàng)國(guó)際標(biāo)準(zhǔn)測(cè)試協(xié)議(IEEE1149.1兼容),主要用于芯片內(nèi)部測(cè)試和調(diào)試。目前的主流芯片均支持JTAG協(xié)議,如DSP、FPGA、ARM、部分單片機(jī)等。標(biāo)準(zhǔn)的JTAG接口是20Pin,但JTAG實(shí)際使用的只有4根信號(hào)線,再配合電源、地。
    的頭像 發(fā)表于 08-21 15:12 ?1689次閱讀
    JTAG標(biāo)準(zhǔn)的<b class='flag-5'>狀態(tài)機(jī)</b>實(shí)現(xiàn)

    請(qǐng)問(wèn)如何在FX10上使用GPIF III狀態(tài)機(jī) *.h 文件?

    LVCMOS 2 位 SlaveFIFO GPIF III 狀態(tài)機(jī)的演示中有一個(gè) cy_gpif_header_lvcmos.h 文件。 我想知道如何使用.h文件,只需放入.h文件放入 FX10 項(xiàng)目? 您有它的用戶指南文檔嗎?
    發(fā)表于 07-16 08:17

    NVMe高速傳輸之?dāng)[脫XDMA設(shè)計(jì)之十:NVMe初始化狀態(tài)機(jī)設(shè)計(jì)

    1為NVMe配置初始化狀態(tài)機(jī)狀態(tài)轉(zhuǎn)移圖。各狀態(tài)的說(shuō)明如下: 圖1NVMe初始化狀態(tài)轉(zhuǎn)移圖 IDLE:空閑狀態(tài),復(fù)位后的初始
    發(fā)表于 07-05 22:03

    NVMe高速傳輸之?dāng)[脫XDMA設(shè)計(jì)之八:PCIe初始化狀態(tài)機(jī)設(shè)計(jì)

    PCIe配置初始化狀態(tài)機(jī)實(shí)現(xiàn)PCIe設(shè)備枚舉和配置空間初始化過(guò)程,在完成鏈路訓(xùn)練后,使用DFS(深度優(yōu)先搜索)算法枚舉PCIe總線上的設(shè)備,完成PCIe總線域的地址分配和設(shè)備的初始化。PCIe配置
    發(fā)表于 07-05 22:00

    有可能在 FX3 GPIF2 中創(chuàng)建兩個(gè)獨(dú)立的狀態(tài)機(jī)嗎?

    我想,如果我想通過(guò) FX3 GPIF2 創(chuàng)建兩個(gè)獨(dú)立的傳輸流接口,我需要在 GPIF2 設(shè)計(jì)器中創(chuàng)建兩個(gè)獨(dú)立的狀態(tài)機(jī),我是否有可能在 GPIF2 設(shè)計(jì)器中創(chuàng)建兩個(gè)獨(dú)立的狀態(tài)機(jī)
    發(fā)表于 05-20 06:14

    FX3 GPIF CyU3PGpifWriteDataWords的傳輸時(shí)間延遲的原因?

    我使用主同步架構(gòu)(包括 pclk 和 16 位數(shù)據(jù)總線)設(shè)計(jì)了 GPIF 狀態(tài)機(jī)。 狀態(tài)機(jī)僅通過(guò)OUT_REG_CR_VALID來(lái)決定數(shù)據(jù)的執(zhí)行。 在傳輸四個(gè)連續(xù)的數(shù)據(jù)包時(shí),我注意到捕獲信號(hào)時(shí)數(shù)
    發(fā)表于 05-15 06:18

    cypress3014視頻格式改變的話,GPIF狀態(tài)機(jī)需不需要重新配置?

    你好,請(qǐng)問(wèn)視頻格式改變的話,GPIF狀態(tài)機(jī)需不需要重新配置
    發(fā)表于 05-14 07:28

    [Actor]在程序框圖編程時(shí),如何操作消息和方法對(duì)應(yīng)的VI

    actor應(yīng)用的關(guān)鍵: 當(dāng)在程序框圖編程時(shí),核心是針對(duì)“消息”vi 進(jìn)行操作,并不操作消息對(duì)應(yīng)的方法vi(具體要實(shí)現(xiàn)的功能)。 調(diào)用的消息vi時(shí),后臺(tái)自動(dòng)調(diào)用對(duì)應(yīng)方法vi。 相當(dāng)于在隊(duì)列狀態(tài)機(jī)中,隊(duì)列元素的進(jìn)、出操作 與 該元素
    發(fā)表于 05-13 18:10

    求助,關(guān)于srammaster.cydsn中狀態(tài)機(jī)的問(wèn)題求解

    晚上好。 我目前正在學(xué)習(xí) GPIF II。 查看..EZ-USB FX3 SDK1.3firmwaregpif_examplescyfxsrammastersrammaster.cydsn中的狀態(tài)機(jī),有狀態(tài)START和START1。 這意味著什么?
    發(fā)表于 05-12 06:20

    精選好文!噪聲系數(shù)測(cè)量的三種方法

    本文介紹了測(cè)量噪聲系數(shù)的三種方法:增益法、Y系數(shù)法和噪聲系數(shù)測(cè)試儀法。這三種方法的比較以表格的形式給出。 在無(wú)線通信系統(tǒng)中,噪聲系數(shù)(NF)或者相對(duì)應(yīng)的噪聲因數(shù)(F)定義了噪聲性能和對(duì)接
    發(fā)表于 05-07 10:18

    高速ssd存儲(chǔ)系統(tǒng)中數(shù)據(jù)緩存控制器流程控制設(shè)計(jì)

    高速SSD系統(tǒng)中流程控制模塊設(shè)計(jì)。該模塊主要由寄存器、讀狀態(tài)機(jī)、寫狀態(tài)機(jī)和命令生成模塊組成,系統(tǒng)介紹各模塊功能。
    的頭像 發(fā)表于 04-14 10:43 ?554次閱讀
    高速ssd存儲(chǔ)系統(tǒng)中數(shù)據(jù)緩存控制器流程控制設(shè)計(jì)

    基于FPGA的DS18B20數(shù)字溫度傳感器測(cè)溫實(shí)例

    本文將使用段式狀態(tài)機(jī)(Moore型)的寫法來(lái)對(duì)DS18B20進(jìn)行測(cè)溫操作,以便了解DS18B20和熟悉段式狀態(tài)機(jī)的寫法。
    的頭像 發(fā)表于 03-17 11:06 ?1932次閱讀
    基于FPGA的DS18B20數(shù)字溫度傳感器測(cè)溫實(shí)例

    極管狀態(tài):輕松掌握電子基礎(chǔ)

    極管的三種狀態(tài)分別是截止狀態(tài)、放大狀態(tài)和飽和狀態(tài),這三種
    的頭像 發(fā)表于 01-06 10:30 ?2550次閱讀

    Simulink中的狀態(tài)機(jī)建模方法 Simulink數(shù)據(jù)可視化與分析功能

    1. Simulink中的狀態(tài)機(jī)建模方法 1.1 理解狀態(tài)機(jī)的基本概念 在開始建模之前,了解狀態(tài)機(jī)的基本概念是必要的。狀態(tài)機(jī)由以下幾個(gè)部分組
    的頭像 發(fā)表于 12-12 09:27 ?3970次閱讀

    基于狀態(tài)機(jī)和面向?qū)ο蟮乃枷朐O(shè)計(jì)按鍵檢測(cè)模塊

    嵌入式入門學(xué)習(xí)的教程里面,按鍵原理普遍被認(rèn)為是“很簡(jiǎn)單”的知識(shí)點(diǎn)之一,按鍵輸入檢測(cè)的原理,無(wú)非就是通過(guò)CPU不斷掃描按鍵引腳的電平狀態(tài),或者采用單片機(jī)引腳外部中斷方式,然后在死循環(huán)或者中斷服務(wù)程序里面處理按鍵被按下
    的頭像 發(fā)表于 11-14 11:44 ?1265次閱讀
    基于<b class='flag-5'>狀態(tài)機(jī)</b>和面向?qū)ο蟮乃枷朐O(shè)計(jì)按鍵檢測(cè)模塊