OpenCores
URL https://opencores.org/ocsvn/ion/ion/trunk

Subversion Repositories ion

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /
    from Rev 73 to Rev 74
    Reverse comparison

Rev 73 → Rev 74

/ion/trunk/src/mips_tb2_template.vhdl
84,7 → 84,28
signal sram1 : t_sram := (@data31@);
signal sram0 : t_sram := (@data20@);
 
-- PROM table and interface signals --------------------------------------------
 
-- We'll simulate a 16-bit-wide static PROM (e.g. a Flash) with some serious
-- cycle time (70 or 90 ns).
 
--constant PROM_SIZE : integer := @flash_table_size@;
--constant PROM_ADDR_SIZE : integer := log2(PROM_SIZE);
--
--subtype t_prom_address is std_logic_vector(PROM_ADDR_SIZE-1 downto 0);
--type t_prom is array(0 to PROM_SIZE-1) of t_hword;
--
--signal prom_rd_addr : t_prom_address;
--signal prom_databus : t_hword;
--signal prom_oe_n : std_logic;
--
---- bram0 is LSB, bram3 is MSB
--signal prom : t_prom := (@flash@);
--
 
 
-- I/O devices -----------------------------------------------------------------
 
signal data_uart : std_logic_vector(31 downto 0);
signal data_uart_status : std_logic_vector(31 downto 0);
signal uart_tx_rdy : std_logic := '1';
309,19 → 330,25
 
-- Read cycle
-- FIXME should add some verification of /WE
if sram_oe_n'event or sram_address'event then
if sram_oe_n='0' then
sram_databus <=
sram1(conv_integer(unsigned(sram_address))) &
sram0(conv_integer(unsigned(sram_address)));
else
sram_databus <= (others => 'Z');
end if;
end if;
--if sram_oe_n'event or sram_address'event then
-- if sram_oe_n='0' then
-- sram_databus <=
-- sram1(conv_integer(unsigned(sram_address))) &
-- sram0(conv_integer(unsigned(sram_address)));
-- else
-- sram_databus <= (others => 'Z');
-- end if;
--end if;
 
end process simulated_sram;
 
 
-- Do a very basic simulation of an external PROM wired to the same bus
-- as the sram (both are static).
-- prom_databus <=
-- prom(conv_integer(unsigned(sram_address))) when prom_oe_n='0'
-- else (others => 'Z');
simulated_io:
process(clk)
variable i : integer;
/ion/trunk/vhdl/tb/mips_tb2.vhdl
74,40 → 74,20
 
-- bram0 is LSB, bram3 is MSB
signal bram3 : t_bram := (
X"3C",X"27",X"3C",X"24",X"3C",X"24",X"3C",X"27",
X"AC",X"00",X"14",X"24",X"0F",X"00",X"0B",X"23",
X"AF",X"AF",X"AF",X"AF",X"AF",X"AF",X"AF",X"AF",
X"AF",X"AF",X"AF",X"AF",X"AF",X"AF",X"AF",X"AF",
X"AF",X"AF",X"40",X"23",X"AF",X"00",X"AF",X"00",
X"AF",X"3C",X"8C",X"00",X"8C",X"00",X"00",X"0F",
X"23",X"8F",X"8F",X"8F",X"8F",X"8F",X"8F",X"8F",
X"8F",X"8F",X"8F",X"8F",X"8F",X"8F",X"8F",X"8F",
X"8F",X"8F",X"8F",X"8F",X"8F",X"00",X"03",X"8F",
X"00",X"03",X"23",X"34",X"03",X"40",X"40",X"03",
X"40",X"00",X"00",X"3C",X"24",X"8C",X"00",X"AC",
X"8C",X"00",X"AC",X"8C",X"00",X"AC",X"8C",X"00",
X"03",X"AC",X"3C",X"37",X"03",X"00",X"AC",X"AC",
X"AC",X"AC",X"AC",X"AC",X"AC",X"AC",X"AC",X"AC",
X"AC",X"AC",X"03",X"34",X"8C",X"8C",X"8C",X"8C",
X"8C",X"8C",X"8C",X"8C",X"8C",X"8C",X"8C",X"8C",
X"00",X"03",X"34",X"00",X"00",X"00",X"03",X"AC",
X"00",X"03",X"00",X"3C",X"27",X"AF",X"0F",X"24",
X"3C",X"0F",X"24",X"3C",X"8F",X"24",X"0B",X"27",
X"3C",X"8C",X"00",X"30",X"10",X"3C",X"AC",X"03",
X"00",X"90",X"00",X"10",X"24",X"3C",X"3C",X"24",
X"10",X"00",X"24",X"8C",X"00",X"30",X"10",X"00",
X"AC",X"90",X"00",X"14",X"00",X"03",X"00",X"8C",
X"00",X"30",X"10",X"00",X"AC",X"0B",X"24",X"24",
X"3C",X"3C",X"24",X"00",X"30",X"2C",X"10",X"00",
X"8C",X"00",X"30",X"10",X"00",X"24",X"24",X"AD",
X"14",X"00",X"03",X"00",X"8C",X"00",X"30",X"10",
X"00",X"24",X"24",X"AD",X"14",X"00",X"03",X"00",
X"3C",X"8C",X"00",X"30",X"10",X"3C",X"24",X"AC",
X"03",X"00",X"3C",X"8C",X"03",X"30",X"3C",X"8C",
X"00",X"30",X"10",X"3C",X"8C",X"03",X"00",X"63",
X"69",X"74",X"3A",X"62",X"20",X"31",X"20",X"32",
X"33",X"67",X"76",X"69",X"20",X"34",X"00",X"0A",
X"6C",X"57",X"64",X"0A",X"00",X"00",X"00",X"00",
X"10",X"00",X"40",X"3C",X"24",X"0F",X"00",X"24",
X"24",X"0F",X"00",X"3C",X"24",X"0F",X"00",X"24",
X"24",X"24",X"24",X"01",X"AD",X"8D",X"11",X"00",
X"AD",X"8D",X"15",X"00",X"01",X"15",X"25",X"10",
X"00",X"10",X"00",X"10",X"00",X"3C",X"24",X"0F",
X"00",X"21",X"24",X"0F",X"00",X"3C",X"24",X"0F",
X"00",X"0B",X"00",X"3C",X"80",X"10",X"24",X"8E",
X"30",X"10",X"00",X"AE",X"10",X"00",X"03",X"00",
X"3C",X"3C",X"26",X"20",X"00",X"00",X"00",X"30",
X"02",X"82",X"8E",X"30",X"10",X"00",X"AE",X"14",
X"20",X"03",X"00",X"30",X"34",X"38",X"63",X"0A",
X"61",X"6E",X"78",X"6E",X"6D",X"72",X"74",X"00",
X"6E",X"52",X"74",X"61",X"20",X"20",X"20",X"0A",
X"20",X"74",X"72",X"21",X"62",X"72",X"62",X"21",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
329,43 → 309,43
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00"
);
signal bram2 : t_bram := (
X"1C",X"9C",X"05",X"A5",X"04",X"84",X"1D",X"BD",
X"A0",X"A4",X"60",X"A5",X"F0",X"00",X"F0",X"BD",
X"A1",X"A2",X"A3",X"A4",X"A5",X"A6",X"A7",X"A8",
X"A9",X"AA",X"AB",X"AC",X"AD",X"AE",X"AF",X"B8",
X"B9",X"BF",X"1A",X"5A",X"BA",X"00",X"BB",X"00",
X"BB",X"06",X"C4",X"00",X"C6",X"00",X"86",X"F0",
X"A5",X"A1",X"A2",X"A3",X"A4",X"A5",X"A6",X"A7",
X"A8",X"A9",X"AA",X"AB",X"AC",X"AD",X"AE",X"AF",
X"B8",X"B9",X"BF",X"BA",X"BB",X"00",X"60",X"BB",
X"00",X"60",X"BD",X"1B",X"40",X"9B",X"02",X"E0",
X"84",X"00",X"00",X"05",X"A5",X"A6",X"00",X"06",
X"A6",X"00",X"06",X"A6",X"00",X"06",X"A6",X"00",
X"E0",X"06",X"1A",X"5A",X"40",X"00",X"90",X"91",
X"92",X"93",X"94",X"95",X"96",X"97",X"9E",X"9C",
X"9D",X"9F",X"E0",X"02",X"90",X"91",X"92",X"93",
X"94",X"95",X"96",X"97",X"9E",X"9C",X"9D",X"9F",
X"00",X"E0",X"A2",X"85",X"00",X"00",X"E0",X"C4",
X"00",X"E0",X"00",X"04",X"BD",X"BF",X"F0",X"84",
X"04",X"F0",X"84",X"04",X"BF",X"84",X"F0",X"BD",
X"03",X"62",X"00",X"42",X"40",X"02",X"44",X"E0",
X"00",X"85",X"00",X"A0",X"07",X"03",X"06",X"08",
X"A7",X"00",X"84",X"62",X"00",X"42",X"40",X"00",
X"C5",X"85",X"00",X"A0",X"00",X"E0",X"00",X"62",
X"00",X"42",X"40",X"00",X"C8",X"F0",X"84",X"05",
X"02",X"08",X"07",X"A4",X"C6",X"C3",X"60",X"00",
X"43",X"00",X"63",X"60",X"00",X"C6",X"A5",X"06",
X"A7",X"A4",X"E0",X"00",X"43",X"00",X"63",X"60",
X"00",X"C6",X"A5",X"06",X"A7",X"A4",X"E0",X"00",
X"03",X"62",X"00",X"42",X"40",X"02",X"03",X"43",
X"E0",X"00",X"02",X"42",X"E0",X"42",X"03",X"62",
X"00",X"42",X"40",X"02",X"42",X"E0",X"00",X"6F",
X"6C",X"69",X"20",X"20",X"32",X"20",X"32",X"35",
X"0A",X"63",X"65",X"6F",X"20",X"2E",X"00",X"0A",
X"6C",X"6F",X"21",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"80",X"04",X"84",X"F0",X"00",X"04",
X"05",X"F0",X"00",X"04",X"84",X"F0",X"00",X"08",
X"0A",X"0B",X"0C",X"00",X"00",X"09",X"A9",X"00",
X"08",X"09",X"28",X"00",X"4B",X"40",X"08",X"00",
X"00",X"00",X"00",X"00",X"00",X"04",X"84",X"F0",
X"00",X"04",X"05",X"F0",X"00",X"04",X"84",X"F0",
X"00",X"F0",X"00",X"10",X"82",X"40",X"84",X"03",
X"63",X"60",X"00",X"02",X"00",X"00",X"E0",X"00",
X"10",X"11",X"31",X"A5",X"A5",X"A5",X"A4",X"42",
X"22",X"42",X"03",X"63",X"60",X"00",X"02",X"A0",
X"A5",X"E0",X"00",X"31",X"35",X"39",X"64",X"0D",
X"6E",X"67",X"74",X"61",X"65",X"79",X"20",X"46",
X"64",X"41",X"6F",X"74",X"20",X"20",X"30",X"0D",
X"00",X"20",X"72",X"0A",X"61",X"65",X"61",X"0A",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
587,43 → 567,52
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00"
);
signal bram1 : t_bram := (
X"00",X"7F",X"00",X"00",X"00",X"02",X"00",X"01",
X"00",X"18",X"FF",X"00",X"00",X"00",X"00",X"FF",
X"00",X"00",X"60",X"BF",X"01",X"00",X"00",X"00",
X"00",X"00",X"00",X"BF",X"01",X"00",X"00",X"00",
X"04",X"00",X"00",X"68",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"50",X"FF",X"04",X"00",
X"00",X"00",X"00",X"00",X"00",X"BF",X"01",X"00",
X"00",X"FF",X"00",X"00",X"00",X"BF",X"01",X"00",
X"00",X"00",X"00",X"20",X"00",X"00",X"00",X"00",
X"00",X"FF",X"00",X"00",X"FF",X"00",X"00",X"00",
X"20",X"BF",X"01",X"FF",X"28",X"28",X"10",X"00",
X"90",X"00",X"00",X"00",X"FF",X"00",X"00",X"FF",
X"FF",X"00",X"00",X"32",X"36",X"61",X"65",X"53",
X"6E",X"20",X"65",X"6C",X"6D",X"20",X"30",X"6F",
X"20",X"4D",X"70",X"20",X"20",X"20",X"78",X"00",
X"68",X"6D",X"6F",X"0D",X"64",X"61",X"63",X"0D",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"70",X"FF",X"00",X"D8",X"00",X"D8",
X"00",X"20",X"00",X"00",X"00",X"00",X"20",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"60",X"60",X"00",
X"60",X"00",X"00",X"BF",X"01",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"10",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"10",X"20",X"00",X"00",
X"00",X"00",X"00",X"BF",X"FF",X"00",X"00",X"03",
X"BF",X"00",X"04",X"BF",X"00",X"04",X"00",X"00",
X"20",X"00",X"00",X"00",X"FF",X"20",X"00",X"00",
X"10",X"00",X"00",X"00",X"00",X"20",X"20",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"00",
X"00",X"00",X"00",X"FF",X"00",X"00",X"10",X"00",
X"00",X"00",X"FF",X"00",X"00",X"00",X"00",X"00",
X"20",X"20",X"FF",X"30",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"FF",X"00",X"00",X"FF",X"00",
X"FF",X"30",X"00",X"00",X"00",X"00",X"00",X"FF",
X"00",X"00",X"FF",X"00",X"FF",X"30",X"00",X"00",
X"20",X"00",X"00",X"00",X"FF",X"20",X"00",X"00",
X"00",X"00",X"20",X"00",X"00",X"00",X"20",X"00",
X"00",X"00",X"FF",X"20",X"00",X"00",X"00",X"6D",
X"65",X"6D",X"46",X"20",X"30",X"2D",X"32",X"3A",
X"00",X"63",X"72",X"6E",X"34",X"31",X"00",X"48",
X"6F",X"72",X"0A",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
845,43 → 834,34
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00"
);
signal bram0 : t_bram := (
X"00",X"F0",X"00",X"00",X"00",X"00",X"00",X"E8",
X"00",X"2A",X"FD",X"04",X"8B",X"00",X"0E",X"98",
X"10",X"14",X"18",X"1C",X"20",X"24",X"28",X"2C",
X"30",X"34",X"38",X"3C",X"40",X"44",X"48",X"4C",
X"50",X"54",X"00",X"FC",X"58",X"10",X"5C",X"12",
X"60",X"00",X"20",X"00",X"10",X"00",X"24",X"E0",
X"00",X"10",X"14",X"18",X"1C",X"20",X"24",X"28",
X"2C",X"30",X"34",X"38",X"3C",X"40",X"44",X"48",
X"4C",X"50",X"54",X"58",X"5C",X"00",X"11",X"60",
X"00",X"13",X"68",X"01",X"08",X"00",X"00",X"08",
X"00",X"00",X"00",X"C0",X"88",X"00",X"00",X"3C",
X"04",X"00",X"40",X"08",X"00",X"44",X"0C",X"00",
X"08",X"48",X"00",X"3C",X"08",X"00",X"00",X"04",
X"08",X"0C",X"10",X"14",X"18",X"1C",X"20",X"24",
X"28",X"2C",X"08",X"00",X"00",X"04",X"08",X"0C",
X"10",X"14",X"18",X"1C",X"20",X"24",X"28",X"2C",
X"00",X"08",X"00",X"19",X"12",X"10",X"08",X"00",
X"0C",X"08",X"00",X"C0",X"E8",X"14",X"A1",X"DC",
X"C0",X"A1",X"04",X"C0",X"14",X"1C",X"A1",X"18",
X"00",X"20",X"00",X"02",X"FC",X"00",X"00",X"08",
X"21",X"00",X"00",X"11",X"0A",X"00",X"00",X"0D",
X"0E",X"00",X"01",X"20",X"00",X"02",X"FC",X"00",
X"00",X"00",X"00",X"F4",X"00",X"08",X"21",X"20",
X"00",X"02",X"FC",X"00",X"00",X"AB",X"01",X"1C",
X"00",X"00",X"FC",X"06",X"0F",X"0A",X"0D",X"00",
X"20",X"00",X"02",X"FC",X"00",X"30",X"FC",X"00",
X"F3",X"06",X"08",X"00",X"20",X"00",X"02",X"FC",
X"00",X"57",X"FC",X"00",X"E7",X"06",X"08",X"00",
X"00",X"20",X"00",X"02",X"FC",X"00",X"49",X"00",
X"08",X"00",X"00",X"20",X"08",X"01",X"00",X"20",
X"00",X"01",X"FC",X"00",X"00",X"08",X"00",X"70",
X"20",X"65",X"65",X"38",X"31",X"2D",X"3A",X"30",
X"00",X"20",X"73",X"3A",X"2E",X"0A",X"00",X"65",
X"20",X"6C",X"0A",X"00",X"00",X"00",X"00",X"00",
X"01",X"00",X"00",X"C0",X"5C",X"33",X"00",X"00",
X"08",X"40",X"00",X"C0",X"9C",X"33",X"00",X"04",
X"00",X"01",X"00",X"21",X"00",X"00",X"0A",X"00",
X"00",X"00",X"08",X"00",X"22",X"F7",X"00",X"05",
X"00",X"03",X"00",X"01",X"00",X"C0",X"7D",X"33",
X"00",X"FC",X"08",X"40",X"00",X"C0",X"9C",X"33",
X"00",X"31",X"00",X"00",X"00",X"08",X"01",X"20",
X"02",X"FD",X"00",X"00",X"F7",X"00",X"08",X"00",
X"00",X"C0",X"4C",X"FF",X"20",X"20",X"06",X"0F",
X"21",X"00",X"20",X"02",X"FD",X"00",X"00",X"F6",
X"FC",X"08",X"00",X"33",X"37",X"62",X"66",X"63",
X"69",X"65",X"72",X"20",X"6F",X"61",X"78",X"75",
X"58",X"20",X"20",X"20",X"20",X"20",X"00",X"20",
X"69",X"69",X"72",X"00",X"20",X"64",X"6B",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
1103,6 → 1083,26
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00"
);
 
1626,7 → 1626,28
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00"
);
 
-- PROM table and interface signals --------------------------------------------
 
-- We'll simulate a 16-bit-wide static PROM (e.g. a Flash) with some serious
-- cycle time (70 or 90 ns).
 
--constant PROM_SIZE : integer := @flash_table_size@;
--constant PROM_ADDR_SIZE : integer := log2(PROM_SIZE);
--
--subtype t_prom_address is std_logic_vector(PROM_ADDR_SIZE-1 downto 0);
--type t_prom is array(0 to PROM_SIZE-1) of t_hword;
--
--signal prom_rd_addr : t_prom_address;
--signal prom_databus : t_hword;
--signal prom_oe_n : std_logic;
--
---- bram0 is LSB, bram3 is MSB
--signal prom : t_prom := (@flash@);
--
 
 
-- I/O devices -----------------------------------------------------------------
 
signal data_uart : std_logic_vector(31 downto 0);
signal data_uart_status : std_logic_vector(31 downto 0);
signal uart_tx_rdy : std_logic := '1';
1851,19 → 1872,25
 
-- Read cycle
-- FIXME should add some verification of /WE
if sram_oe_n'event or sram_address'event then
if sram_oe_n='0' then
sram_databus <=
sram1(conv_integer(unsigned(sram_address))) &
sram0(conv_integer(unsigned(sram_address)));
else
sram_databus <= (others => 'Z');
end if;
end if;
--if sram_oe_n'event or sram_address'event then
-- if sram_oe_n='0' then
-- sram_databus <=
-- sram1(conv_integer(unsigned(sram_address))) &
-- sram0(conv_integer(unsigned(sram_address)));
-- else
-- sram_databus <= (others => 'Z');
-- end if;
--end if;
 
end process simulated_sram;
 
 
-- Do a very basic simulation of an external PROM wired to the same bus
-- as the sram (both are static).
-- prom_databus <=
-- prom(conv_integer(unsigned(sram_address))) when prom_oe_n='0'
-- else (others => 'Z');
simulated_io:
process(clk)
variable i : integer;

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.