📄 storage.vhd
字号:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY STORAGE IS
PORT(
DSP_IS,DSP_IOSTRB,DSP_MSTRB: IN STD_LOGIC; --DSP的选通信号
DSP_DS,DSP_A7,DSP_A15,DSP_A19:IN STD_LOGIC; --DSP的地址信号
DSP_RW,DSP_PS:IN STD_LOGIC; --DSP的控制信号
DSP_D: IN STD_LOGIC_VECTOR( 2 DOWNTO 0); --DSP的数据信号
DSP_XF: IN STD_LOGIC; --DSP的控制信号
FLASH_OE: OUT STD_LOGIC; --Flash的读信号
FLASH_WE: OUT STD_LOGIC; --Flash的写信号
FLASH_CE: OUT STD_LOGIC; --Flash的片选信号
SRAM_CE: OUT STD_LOGIC; --SRAM的片选信号
HCE,HOE: OUT STD_LOGIC; --245,244的选择信号
XDC0,XDC1:OUT STD_LOGIC; --SRAM1,SRAM2的片选信号
Q:OUT STD_LOGIC_VECTOR(2 DOWNTO 0)); --扩展页信号
--CPLD_RAM: OUT STD_LOGIC);
END ENTITY;
ARCHITECTURE ONE OF STORAGE IS
SIGNAL CPLD_CS:STD_LOGIC; --CPLD的选通信号
SIGNAL CPLD_CS_IO:STD_LOGIC;
SIGNAL CPLD_CS_M:STD_LOGIC;
SIGNAL CPLD_RAMM: STD_LOGIC;
SIGNAL QQ:STD_LOGIC_VECTOR(2 DOWNTO 0);
BEGIN
CPLD_CS<=DSP_IS OR (NOT DSP_A7);
CPLD_CS_IO<=CPLD_CS OR DSP_RW OR DSP_IOSTRB;
CPLD_CS_M<=DSP_DS OR DSP_MSTRB OR DSP_RW;
CPLD_RAMM<=DSP_XF OR DSP_PS OR DSP_MSTRB;
FLASH_OE<=DSP_MSTRB OR (NOT DSP_RW);
FLASH_WE<=DSP_MSTRB OR DSP_RW;
HCE<=DSP_MSTRB OR DSP_XF;
HOE<=NOT DSP_RW;
SRAM_CE<=DSP_DS OR DSP_A15;
FLASH_CE<=DSP_DS OR (NOT DSP_A15);
--CPLD_RAM<=DSP_XF;
PROCESS(CPLD_RAMM,DSP_A19)
BEGIN
IF CPLD_RAMM='0' THEN
IF DSP_A19='0' THEN
XDC0<='0';XDC1<='1';
ELSE XDC0<='1';XDC1<='0';
END IF;
ELSE XDC0<='1'; XDC1<='1';
END IF;
END PROCESS;
PROCESS(CPLD_CS_IO,CPLD_CS_M)
BEGIN
IF CPLD_CS_IO='0' THEN
QQ<=DSP_D;
END IF;
IF CPLD_CS_M='0' THEN
Q<=QQ;
END IF;
END PROCESS;
END ONE;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -