//有限狀態(tài)機(jī)分割設(shè)計(jì),其實(shí)質(zhì)就是一個(gè)狀態(tài)機(jī)分割成多個(gè)狀態(tài)機(jī),或者說(shuō)多個(gè)
//狀態(tài)機(jī)的協(xié)同設(shè)計(jì)來(lái)實(shí)現(xiàn)一個(gè)較為復(fù)雜的狀態(tài)跳轉(zhuǎn)設(shè)計(jì),例如說(shuō)玩游戲的一個(gè)
//狀態(tài)跳轉(zhuǎn),玩家 A 操作的時(shí)候是一種狀態(tài),玩家 B 操作的時(shí)候又是另外的一
//種狀態(tài)。
`timescale 1ns / 1ps
//
// Company:
// Engineer:
//
// Create Date: 2018/11/02 10:14:11
// Design Name:
// Module Name: FSM_div
// Project Name:
// Target Devices:
// Tool Versions:
// Description:
//
// Dependencies:
//
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
//
//
module FSM_div(
clk, X, rst, Z,state1,state2
);
input clk, X, rst;
output Z;
parameter S0 = 2'b00, S1= 2'b01,
S2 = 2'b10,SA = 2'b11, S3 = 2'b00, S4 = 2'b01,
S5 = 2'b10,SB = 2'b11;
output reg [1:0] state1,state2;
reg [1:0] next_state1,next_state2;
always @( posedge clk )begin
if(rst) begin
state1 <= S0;state2<=SB;end
else begin
state1 <= next_state1;
state2 <= next_state2;end
end
always @(state1 or X) begin
case(state1)
S0:begin if(X) next_state1<=S1;
else next_state1<=S0;end
S1:begin if(X) next_state1<=S1;
else next_state1<=S2;end
S2:begin if(X) next_state1<=S1;
else next_state1<=SA;end
SA:begin if(X)
begin
if(state2==S4 || state2==S5)
next_state1<=S1;
else next_state1<=SA;
end
else if(state2==S3)
next_state1<=S0;
else next_state1<=SA;
end
endcase
end
always @(state1 or state2 or X) begin
case(state2)
S3:begin if(X) next_state2<=S4;
else next_state2<=SB;end
S4:begin if(X) next_state2<=SB;
else next_state2<=S5;end
S5:begin if(X) next_state2<=SB;
else next_state2<=S3;end
SB:begin if(!X)
begin
if(state1==S2)
next_state2<=S3;
else next_state2<=SB;end
else next_state2<=SB;
end
endcase
end
assign Z = (state2 == S5)?1:0;
endmodule
聲明:本文內(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)投訴
-
有限狀態(tài)機(jī)
+關(guān)注
關(guān)注
0文章
52瀏覽量
10527 -
狀態(tài)機(jī)
+關(guān)注
關(guān)注
2文章
493瀏覽量
28248 -
fsm
+關(guān)注
關(guān)注
0文章
35瀏覽量
12979 -
CLK
+關(guān)注
關(guān)注
0文章
128瀏覽量
17614
發(fā)布評(píng)論請(qǐ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型有限狀態(tài)機(jī)兩種類型。
發(fā)表于 04-06 09:00
什么是有限狀態(tài)機(jī)呢
在嵌入式,機(jī)器人領(lǐng)域,由于多的復(fù)雜邏輯狀態(tài),我們編寫程序的時(shí)候不得不考慮很多種情況,容易造成功能間的沖突。有限狀態(tài)機(jī)(finite-state machine),簡(jiǎn)稱狀態(tài)機(jī),是一種表示有限
發(fā)表于 12-20 06:51
有限狀態(tài)機(jī)_FSM_的實(shí)現(xiàn)
本文主要介紹了IP模塊的有限狀態(tài)機(jī)的實(shí)現(xiàn)。
發(fā)表于 03-22 15:42
?0次下載
有限狀態(tài)機(jī)FSM在PLD中的實(shí)現(xiàn)分析
本文通過(guò)舉例 利用VHDL 語(yǔ)言描述了不同模式的有限狀態(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 描述方式來(lái)進(jìn)行有限狀態(tài)機(jī)設(shè)計(jì) 介紹了 有限狀態(tài)機(jī)的建模原則 并通過(guò)一個(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ā)器的電路,無(wú)論電路大小都可以歸結(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)是一種常見(jiàn)的電路,由時(shí)序電路和組合電路組成。設(shè)計(jì)有限狀態(tài)機(jī)的第一步是確定采用Moore狀態(tài)機(jī)還是采用Mealy狀態(tài)機(jī)。
發(fā)表于 02-11 13:51
?4582次閱讀

如何使用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ī)是指輸出取決于過(guò)去輸入部分
發(fā)表于 11-04 17:17
?12次下載

有限狀態(tài)機(jī)設(shè)計(jì)是HDL Designer Series的關(guān)鍵應(yīng)用
有限狀態(tài)機(jī)的設(shè)計(jì)是HDL Designer Series?工具的關(guān)鍵應(yīng)用。 盡可能地對(duì)于設(shè)計(jì)人員編寫導(dǎo)致狀態(tài)機(jī)性能不佳的VHDL,可以使用HDL Designer用于生成VHDL的Series?工具
發(fā)表于 04-08 10:05
?6次下載
基于事件驅(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)單
如何以面向?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ū)動(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)中。
一個(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)心:

基于有限狀態(tài)機(jī)的車身防盜報(bào)警的實(shí)現(xiàn)
電子發(fā)燒友網(wǎng)站提供《基于有限狀態(tài)機(jī)的車身防盜報(bào)警的實(shí)現(xiàn).pdf》資料免費(fèi)下載
發(fā)表于 10-26 09:48
?1次下載

評(píng)論