forked from Firebee/FPGA_Config
53 lines
1.7 KiB
VHDL
53 lines
1.7 KiB
VHDL
library ieee;
|
|
use ieee.std_logic_1164.all;
|
|
|
|
|
|
-- Entity Declaration
|
|
|
|
entity dsp is
|
|
port
|
|
(
|
|
CLK33M : in std_logic;
|
|
MAIN_CLK : in std_logic;
|
|
nFB_OE : in std_logic;
|
|
nFB_WR : in std_logic;
|
|
nFB_CS1 : in std_logic;
|
|
nFB_CS2 : in std_logic;
|
|
FB_SIZE0 : in std_logic;
|
|
FB_SIZE1 : in std_logic;
|
|
nFB_BURST : in std_logic;
|
|
FB_ADR : in std_logic_vector(31 downto 0);
|
|
nRSTO : in std_logic;
|
|
nFB_CS3 : in std_logic;
|
|
nSRCS : inout std_logic;
|
|
nSRBLE : out std_logic;
|
|
nSRBHE : out std_logic;
|
|
nSRWE : out std_logic;
|
|
nSROE : out std_logic;
|
|
DSP_INT : out std_logic;
|
|
DSP_TA : out std_logic;
|
|
fb_ad_in : in std_logic_vector(31 downto 0);
|
|
fb_ad_out : out std_logic_vector(31 downto 0);
|
|
IO : inout std_logic_vector(17 downto 0);
|
|
SRD : inout std_logic_vector(15 downto 0)
|
|
);
|
|
end dsp;
|
|
|
|
|
|
-- Architecture Body
|
|
|
|
architecture rtl of dsp is
|
|
begin
|
|
nSRCS <= '0' when nFB_CS2 = '0' and FB_ADR(27 downto 24) = x"4" else '1'; --nFB_CS3;
|
|
nSRBHE <= '0' when FB_ADR(0 downto 0) = "0" else '1';
|
|
nSRBLE <= '1' when FB_ADR(0 downto 0) = "0" and FB_SIZE1 = '0' and FB_SIZE0 = '1' else '0';
|
|
nSRWE <= '0' when nFB_WR = '0' and nSRCS = '0' and MAIN_CLK = '0' else '1';
|
|
nSROE <= '0' when nFB_OE = '0' and nSRCS = '0' else '1';
|
|
DSP_INT <= '0';
|
|
DSP_TA <= '0';
|
|
IO(17 downto 0) <= FB_ADR(18 downto 1);
|
|
SRD(15 downto 0) <= fb_ad_in(31 downto 16) when nFB_WR = '0' and nSRCS = '0' else (others => 'Z');
|
|
-- fb_ad_out(31 downto 16) <= srd(15 DOWNTO 0 )when nFB_OE = '0' AND nSRCS = '0' ELSE (others => 'Z');
|
|
fb_ad_out(31 downto 0) <= (others => 'Z'); -- otherwise we get a constant driver error
|
|
end rtl;
|