Archived
1
0

Initial commit

This commit is contained in:
github-classroom[bot]
2024-02-23 13:01:05 +00:00
committed by GitHub
commit d212040c30
1914 changed files with 1290006 additions and 0 deletions

View File

@@ -0,0 +1,36 @@
library ieee;
use std.textio.all;
use ieee.std_logic_textio.all;
ARCHITECTURE hex OF instrMemory IS
-- Instructions type
type t_instrBank is array (0 to (2**g_memoryNbBits)-1) of
std_ulogic_vector(g_dataWidth-1 downto 0);
-- Define function to create initvalue signal
impure function ReadRamContentFromFile(ramContentFilenAme : in string) return t_instrBank is
FILE ramContentFile : text is in ramContentFilenAme;
variable ramContentFileLine : line;
variable ramContent : t_instrBank;
begin
for i in t_instrBank'range loop
readline(ramContentFile, ramContentFileLine);
HREAD(ramContentFileLine, ramContent(i));
end loop;
return ramContent;
end function;
-- Program
constant larr_instr : t_instrBank := ReadRamContentFromFile(g_programFile);
BEGIN
-- Comb. read
process(PC)
begin
-- skip the two last bits (since we do only +4)
instruction <= larr_instr(to_integer(PC(g_memoryNbBits+1 downto 2))) after g_tMemRd;
end process;
END ARCHITECTURE hex;