From 66f1340c3575793c789f7a8e99a1555862befb85 Mon Sep 17 00:00:00 2001 From: Jens Ahrensfeld Date: Wed, 7 Apr 2021 20:56:48 +0000 Subject: [PATCH] - more mem - new hello.elf git-svn-id: http://moon:8086/svn/vhdl/trunk@1638 cc03376c-175c-47c8-b038-4cd826a8556b --- lib/CPUs/MIPS/ghdl/hello.elf.flash.bin | Bin 31296 -> 44364 bytes lib/CPUs/MIPS/src/tb_mips_top.vhd | 5 +++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/CPUs/MIPS/ghdl/hello.elf.flash.bin b/lib/CPUs/MIPS/ghdl/hello.elf.flash.bin index de625dc51e5b362cd29ab0742847e8e6b5523675..9ec9ba95ea851affa1aac23e9497295224aed3a1 100644 GIT binary patch literal 44364 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 literal 31296 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 B3rhe1 diff --git a/lib/CPUs/MIPS/src/tb_mips_top.vhd b/lib/CPUs/MIPS/src/tb_mips_top.vhd index be26a84..3b02768 100644 --- a/lib/CPUs/MIPS/src/tb_mips_top.vhd +++ b/lib/CPUs/MIPS/src/tb_mips_top.vhd @@ -39,8 +39,8 @@ ARCHITECTURE behavior OF tb_mips_top IS constant SYS_FREQ : real := 100.0; constant CLK_PERIOD : time := 10 ns; - constant SRAM_ADDR_WIDTH : integer := 17; -- bits - constant FLASH_ADDR_WIDTH : integer := 17; -- bits + constant SRAM_ADDR_WIDTH : integer := 18; -- bits + constant FLASH_ADDR_WIDTH : integer := 18; -- bits signal debug : unsigned(1 downto 0); @@ -224,6 +224,7 @@ uut: entity work.mips_top ); INT(1) <= int_uart; INT(5) <= int_timer; + INT(2) <= '1'; inst_rom : entity work.rom_wb PORT MAP