moore_2.vhd

来自「VHDL子程序集,包括各种例程资料以及源码.」· VHDL 代码 · 共 69 行

VHD
69
字号
--******************************
--*        Parity Checker      *
--*     Filename : MOORE_2     *
--******************************
        
library IEEE;
use IEEE.std_logic_1164.all;

entity MOORE_2 is
    port (
          CLK:   in STD_LOGIC;
          RESET: in STD_LOGIC;
          X:     in STD_LOGIC;
          Z:     out STD_LOGIC
         );
end MOORE_2;

architecture MOORE_2_arch of MOORE_2 is
type State is (S3,S2,S1,S0);
signal Present_State: State;
signal Next_State: State;
begin
process (CLK,RESET)

begin
    if RESET ='1' then 
        Present_State <= S0;
    elsif  CLK'event and CLK = '1' then
        Present_State <= Next_State;
    end if;
end process;  

process (Present_State,X)

begin
    case Present_State is
         when S0 =>
            if X ='0' then
               Next_State <= S0;
            else
               Next_State <= S2;
            end if;
            Z <= '0';
         when S2 =>
            if X ='0' then
               Next_State <= S2;
            else
               Next_State <= S3;
            end if;
            Z <= '1';
         when S3 =>
            if X ='0' then
               Next_State <= S3;
            else
               Next_State <= S1;
            end if;
            Z <= '0';
         when S1 =>
            if X ='0' then
               Next_State <= S0;
            else
               Next_State <= S2;
            end if;
            Z <= '1';            
    end case;
end process;

end MOORE_2_arch;

⌨️ 快捷键说明

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