一个简单的状态机.vhd
上传用户:easylife05
上传日期:2013-03-21
资源大小:42k
文件大小:1k
源码类别:

VHDL/FPGA/Verilog

开发平台:

C/C++

  1. -- MAX+plus II VHDL Example
  2. -- State Machine
  3. -- Copyright (c) 1994 Altera Corporation
  4. -- download from: www.pld.com.cn & www.fpga.com.cn 
  5. Library IEEE ;
  6. use IEEE.std_logic_1164.all ;
  7. ENTITY statmach IS
  8. PORT(
  9. clk : IN BIT;
  10. input : IN BIT;
  11. reset : IN BIT;
  12. output : OUT BIT);
  13. END statmach;
  14. ARCHITECTURE a OF statmach IS
  15. TYPE STATE_TYPE IS (s0, s1);
  16. SIGNAL state : STATE_TYPE;
  17. BEGIN
  18. PROCESS (clk)
  19. BEGIN
  20. IF reset = '1' THEN
  21. state <= s0;
  22. ELSIF (clk'EVENT AND clk = '1') THEN
  23. CASE state IS
  24. WHEN s0=>
  25. state <= s1;
  26. WHEN s1=>
  27. IF input = '1' THEN
  28. state <= s0;
  29. ELSE
  30. state <= s1;
  31. END IF;
  32. END CASE;
  33. END IF;
  34. END PROCESS;
  35. output <= '1' WHEN state = s1 ELSE '0';
  36. END a;