📄 motorcombustion.vhd
字号:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
use ieee.std_logic_arith.all;
use ieee.numeric_std.all;
entity motorcombustion is
port(
--entradas
clock : std_logic;
--salidas
salida : buffer std_logic_vector(2 downto 0)
);
end motorcombustion;
Architecture maquinamoore of motorcombustion is
type estado is (posicioninicial, admision, compresion, explosion, retroceso, escape);
signal proximoestado : estado;
begin
-- como se mueve la maquina
process(clock)
begin
if (clock ='1' and clock'event) then
case proximoestado is
when posicioninicial => proximoestado <= admision;
when admision => proximoestado <= compresion;
when compresion => proximoestado <= explosion;
when explosion => proximoestado <= retroceso;
when retroceso => proximoestado <= escape;
when escape => proximoestado <= posicioninicial;
end case;
end if;
end process;
-- la salida
process (proximoestado)
begin
case proximoestado is
when posicioninicial => salida <= "000";
when admision => salida <= "100";
when compresion => salida <= "000";
when explosion => salida <= "001";
when retroceso => salida <= "000";
when escape => salida <= "010";
end case;
end process;
end maquinamoore;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -