motorcombustion.vhd.bak

来自「State Machine of Motor implemented in VH」· BAK 代码 · 共 55 行

BAK
55
字号
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
		if proximoestado then
			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 if;
	end process;
	
end maquinamoore;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?