пореден детектор

M

mallikmarasu

Guest
Здравейте всички
Аз искам да знаете последователност matchines държавата използва детектор

Искам информация и ABT matchines държавата

 
Тук код на последователност 11010-------------------------------------------------- ----------------------------------------
Модулът seqdet_11010 (CLK, смените във, си);

CLK вход, нулиране, по;
продукция посочени;

обл изложения;

= 3'b000 параметри st0,
ST1 = 3'b001,
st2 = 3'b010,
st3 = 3'b011,
st4 = 3'b100;
обл [2:0] currentstate, nextstate;позволяват @ (или currentstate)
започва: гребена

случай (currentstate)

st0: Ако (в == 1'b0)
започвам
nextstate <st0 =;
изложените <1'b0 =;
приключвам

в противен случай
започвам
nextstate <= ST1;
изложения <1'b0 =;
приключвам

ST1: ако (при == 1'b0)
започвам
nextstate <= st0;
изложени <1'b0 =;
приключвам

в противен случай
започвам
nextstate <= st2;
изложени <1'b0 =;
приключвамst2: Ако (в == 1'b0)
започвам
nextstate <= st3;
изложените <1'b0 =;
приключвам

в противен случай
започвам
nextstate <= st2;
изложения <1'b0 =;
приключвам

st3: Ако (в == 1'b0)
започвам
nextstate <= st0;
изложения <= 1'b0;
приключвам

в противен случай
започвам
nextstate <= st4;
изложените <= 1'b0;
приключвам

st4: Ако (в == 1'b0)
започвам
nextstate <= st0;
изложения <= 1'b1;
приключвам

в противен случай
започвам
nextstate <= st2;
изложената <1'b0 =;
приключвамподразбиране: започне
изложения <1'b0 =;
nextstate <= st0;
приключвам

endcase

приключвампозволяват @ (posedge или нулирате CLK posedge)

започва: сл.
IF (нулиране == 1'b1)
започвам
currentstate <st0 =;
приключвам

в противен случай
currentstate <nextstate =;
приключвам

endmodule-------------------------------------------------- -------------------------------------------

"включва" seqdet.v "

Модулът seq_det_tb ();

обл CLK;
обл Reset;
обл във;
тел посочени;

seqdet_11010 U1 (CLK, смените, в, посочени);

първоначален

CLK = 1'b1;
винаги
# CLK = ~ 5 CLK;

първоначален
започвам
1'b0 възстановите =;
# 10 = 1'b1 възстановиш;
# 10 = 1'b0 възстановите;
приключвам

първоначален
започвам
1'b1 по =;
# 40 = 1'b1 по;
# 10 = 1'b0 по;
# 10 = 1'b1 във;
# 10 през 1'b0 =;
приключвам

първоначален
започвам
$ dumpvars ();
$ dumpfile ( "seqdet.vcd");
# 200 $ покритие;
приключвам

endmodule-------------------------------------------------- ---------------------------------------------Успех

 
Здравей. Ако иска да го напиша в VHDL кода за 1010 детектор последователност може да бъде както е показано.IEEE библиотека;
ieee.std_logic_1164.all използването;
seq_detect е субект
портове (Х, CLK: в std_logic;
Z: посочени std_logic);
seq_detect цело;
архитектура на БЕХ seq_detect е
държавата тип (нулиране, G0, G1, G2);
настоящите сигнал: Състояние: = Reset;
започвам
процес (CLK)
започвам
IF (CLK = '1 'и clk'EVENT) тогава
настоящия случай е
когато нулиране =>
Ако X = '0 "след това
текущата <= възстановите;
в противен случай
текущата <= G0;
крайна сметка, ако;
когато G0 =>
Ако X = '1 'след това
текущата <G1 =;
в противен случай
текущата <= G0;
крайна сметка, ако;
когато G1 =>
, ако X = '1 'това
текущата <= G2;
в противен случай
текущата <= G1;
крайна сметка, ако;
при g2 =>
Ако X = '1 'след
текущата <= възстанови;
в противен случай
текущата <= g2;
крайна сметка, ако;
края случай;
крайна сметка, ако;
край процес;
Z <= '1 ", когато настоящите g2 = '0 друго";
БЕХ цело;

 

Welcome to EDABoard.com

Sponsor

Back
Top