sled detektoru

M

mallikmarasu

Guest
Zdravím všechny
Chci vědět sekvence detektoru pomocí státu matchines

a já chci informace o stavu matchines ABT

 
Zde kód 11010 Sequence-------------------------------------------------- ----------------------------------------
Modul seqdet_11010 (CLK, reset, in, out);

vstup CLK, reset, v;
Výstup ven;

reg ven;

parametr st0 = 3'b000,
st1 = 3'b001,
ST2 = 3'b010,
St3 = 3'b011,
ST4 = 3'b100;
reg [02:00] currentstate, nextstate;Vždy @ (nebo currentstate)
začíná: hřeben

případě (currentstate)

st0: if (v == 1'b0)
začít
nextstate <= st0;
z <= 1'b0;
konec

jiný
začít
nextstate <= st1;
z <= 1'b0;
konec

st1: if (v == 1'b0)
začít
nextstate <= st0;
z <= 1'b0;
konec

jiný
začít
nextstate <= ST2;
z <= 1'b0;
konecST2: if (v == 1'b0)
začít
nextstate <= St3;
z <= 1'b0;
konec

jiný
začít
nextstate <= ST2;
z <= 1'b0;
konec

St3: if (v == 1'b0)
začít
nextstate <= st0;
z <= 1'b0;
konec

jiný
začít
nextstate <= ST4;
z <= 1'b0;
konec

ST4: if (v == 1'b0)
začít
nextstate <= st0;
z <= 1'b1;
konec

jiný
začít
nextstate <= ST2;
z <= 1'b0;
konecdefault: začíná
z <= 1'b0;
nextstate <= st0;
konec

endcase

konecVždy @ (posedge CLK nebo posedge reset)

začíná: následující
if (reset == 1'b1)
začít
currentstate <= st0;
konec

jiný
currentstate <= nextstate;
konec

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

"Zahrnují" seqdet.v "

Modul seq_det_tb ();

reg CLK;
reg reset;
reg v;
drát ven;

seqdet_11010 U1 (CLK, reset, in, out);

počáteční

CLK = 1'b1;
vždy
# 5 CLK = ~ CLK;

počáteční
začít
reset = 1'b0;
# 10 reset = 1'b1;
# 10 reset = 1'b0;
konec

počáteční
začít
v = 1'b1;
# 40 v = 1'b1;
# 10 v = 1'b0;
# 10 v = 1'b1;
# 10 v = 1'b0;
konec

počáteční
začít
$ Dumpvars ();
$ Dumpfile ("seqdet.vcd");
# 200 $ povrch;
konec

endmodule-------------------------------------------------- ---------------------------------------------Hodně štěstí

 
Dobrý den.-Li u zapsat to do VHDL kódu pro 1010 pořadí detektor by mohl být, jak je uvedeno.Knihovna IEEE;
použití ieee.std_LOGIC_1164.all;
subjektu seq_detect je
port (x, CLK: v std_logic;
z: v std_logic);
konec seq_detect;
Architektura Běh na seq_detect je
typ státu je (reset, G0, G1, G2);
proud signalizace: stav: = reset;
začít
procesu (CLK)
začít
if (CLK = '1 'a clk'EVENT), pak
případě proud
pokud reset =>
pokud x = '0 'pak
proudem <= reset;
jiný
proudem <= G0;
end if;
když G0 =>
pokud x = '1 'pak
proudem <= g1;
jiný
proudem <= G0;
end if;
když g1 =>
pokud x = '1 'pak
proudem <= g2;
jiný
proudem <= g1;
end if;
když g2 =>
pokud x = '1 'pak
proudem <= reset;
jiný
proudem <= g2;
end if;
konec případu;
end if;
ukončení procesu;
z <= '1 ', kdy proud = g2 jinde '0';
Běh konce;

 

Welcome to EDABoard.com

Sponsor

Back
Top