Been trying to access the FLASH memory on this DE1 dev board, but having no luck. I'm using this to interface with a Super Nintendo system, and I'm trying to read a small test ROM file stored on the FLASH. I've verified that the contents are good by dumping them back to a file and tested it.
I've written some basic VHDL to do this, but I think I'm missing something with the data bus end of it. I've done basic address line controls with CPLD chips before using VHDL, but never tried with a data bus.
Here is the code:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity mapper_test is
port(
FL_ADDR : out std_logic_vector(21 downto 0);
FL_DQ : in std_logic_vector(7 downto 0);
FL_CE_N : out std_logic;
FL_OE_N : out std_logic;
FL_RST_N : out std_logic;
FL_WE_N : out std_logic;
SNES_ADDR : in std_logic_vector(21 downto 0); -- SNES ADDRESS BUS
SNES_DATA : out std_logic_vector(7 downto 0); -- SNES DATA BUS
SNES_ROMSEL : in std_logic; -- /ROMSEL (CART PIN 49)
--SNES_RST : in std_logic; -- CART RESET
--SNES_VCC : in std_logic; -- CART VCC
SNES_RD : in std_logic -- SNES /RD
);
end mapper_test;
architecture arch of mapper_test is
begin
--FLASH CONTROL PINS
FL_CE_N <= SNES_ROMSEL; -- INPUT SNES /ROMSEL TO OUTPUT FLASH /CE
FL_OE_N <= SNES_RD; -- INPUT SNES /RD TO OUTPUT FLASH /OE
FL_RST_N <= '1'; -- KEEP FLASH /RST HIGH
FL_WE_N <= '1'; -- KEEP FLASH /WE HIGH
--FLASH DATA PINS
SNES_DATA(7 downto 0) <= FL_DQ(7 downto 0); -- INPUT FLASH DATA BUS (7:0) TO OUTPUT SNES DATA BUS (7:0) FOR READ MODE
--ADDRESS PINS
FL_ADDR(14 downto 0) <= SNES_ADDR(14 downto 0); -- INPUT SNES ADDRESS (14:0) TO OUTPUT FLASH ADDRESS (14:0)
FL_ADDR(20 downto 15) <= SNES_ADDR(21 downto 16); -- LOROM CONFIG ---> INPUT SNES ADDRESS (21:16) TO OUTPUT FLASH ADDRESS (20:15)
FL_ADDR(21) <= '0'; -- KEEP FLASH(21) LOW FOR 2MBYTE ONLY
end arch;
When I jumper the GPIO wires (all SNES ins and outs in code) over to my test cartridge, I get nothing but a black screen. I've even tried tying my LEDs to the FL_DQ pins to see if there is any activity, and there is none. So it seems to me like the data bus isn't going through properly. I just want to connect the FLASH to the SNES pins, nothing fancy at this point.
Can anyone tell me what I'm doing wrong?