store_controller.vhd

来自「数字逻辑基础与Verilog设计,针对verilog语言的特点」· VHDL 代码 · 共 46 行

VHD
46
字号
LIBRARY IEEE;
USE IEEE.std_logic_1164.ALL;

ENTITY store_controller IS 
           PORT (ready : IN  std_logic;
                 clk   : IN  std_logic;
                 read_write  : IN  std_logic;
		 we,oe       : OUT std_logic);
END store_controller;

ARCHITECTURE state_machine OF store_controller IS
     TYPE state_type IS (idle,decision,read,write);
     SIGNAL state  : state_type;
BEGIN
     one_process:PROCESS (clk)
     BEGIN
          IF (clk'event AND clk ='1') THEN
             CASE state IS
                  WHEN idle => IF (ready ='1') THEN
                                   state <= decision;
                               ELSE
                                   state <= idle;
                               END IF;
                  WHEN decision => IF (read_write ='1') THEN
                                       state <= read;
                                   ELSE
                                       state <= write;
                                   END IF;
                  WHEN read => IF (ready ='1') THEN
                                   state <= idle;
                               ELSE
                                   state <= read;
                               END IF;
                  when write => IF (ready ='1') THEN
                                    state <= idle;
                                ELSE
                                    state <= write;
                                END IF;
             END CASE;
          END IF;
     END PROCESS;
     oe <= '1' WHEN state = read   ELSE '0';
     we <= '1' WHEN state = write  ELSE '0';
END state_machine;

⌨️ 快捷键说明

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