isang vhdl code, ito right?

L

lzh08

Guest
library ieee;
gamitin ieee.std_logic_1164.all;

Entity MCU AY
Port
(
nDataStrobe: SA Std_Logic;
nAddrStrobe: SA Std_Logic;
nWri: SA Std_Logic;
nReset: SA Std_Logic;
Data: INOUT Std_Logic_Vector (7 DOWNTO 0);
nWait: Out Std_Logic;
nAck: Out Std_Logic;
);
END MCU;

Architecture Action NG MCU AY
TYPE Estado IS (St0, St1, St2, St3, St4, St5);
Signal Cur_State, Next_State: Estado: = St0;
Signal RegDataTemp: std_logic_vector (7 downto 0);
Signal RegAddrTemp: std_logic_vector (7 downto 0);

Simulan

DataWrite: PROSESO (Cur_State, nDataStrobe, nWri)
Simulan
KASO AY Cur_State
KAPAG St0 => nWait <= '0 ';
kung (nWri = '1 ') at pagkatapos ay
Next_State <= St0;
kung hindi
Next_State <= St1;
kung ang dulo;
KAPAG St1 => RegDataTemp <= Data;
kung (nDataStrobe = '1 ') at pagkatapos ay
Next_State <= St1;
kung hindi
Next_State <= St2;
kung ang dulo;
KAPAG St2 => nWait <= '1 ';
Next_State <= St3;
KAPAG St3 => kung (nDataStrobe = '0 ') at pagkatapos ay
Next_State <= St3;
kung hindi
Next_State <= St4;
kung ang dulo;
KAPAG St4 => kung (nWri = '0 ')
Next_State <= St4;
kung hindi
Next_State <= St5;
kung ang dulo;
KAPAG St5 => nWait <= 1;
Next_State <= St0;
KAPAG iba => Next_State <= St0;
tapusin kaso;
END PROSESO;PROSESO (SysClk)
Simulan
KUNG Rising_Edge (SysClk) Pagkatapos
Cur_State <= Next_State;
END KUNG;
END PROSESO;
END Action;

 
Hello lzh08,

1.Mayroong dalawang mga nawawalang mga senyas sa nilalang: SysClk, I-reset.Kung nais mong synthesize ang mga code na kailangan mo ng i-reset ang hudyat upang magpasimula ng makina ng estado:

Code:pROSESO (reset_n, SysClk)

Simulan

KUNG reset_n = 0 pagkatapos

Cur_State <= St0;

ELSIF Rising_Edge (SysClk) Pagkatapos

Cur_State <= Next_State;

END KUNG;

END PROSESO;

 

Welcome to EDABoard.com

Sponsor

Back
Top