This project is based on an implementation of MIPS I specified core by Steve Rhoads: plasma
entity plasma is
generic(
core_idx : natural := 0;
FPU_FLAG : string := "OF";
SIM_FLAG : string := "ON";
DEBUG_FLAG : string := "OF"
);
port(
clk : in std_logic;
rst : in std_logic;
instr_addr : out std_logic_vector(31 downto 0);
data_addr : out std_logic_vector(31 downto 0);
rd_mask : out std_logic_vector(3 downto 0);
wr_mask : out std_logic_vector(3 downto 0);
instr_stall : in std_logic;
data_stall : in std_logic;
instr_in : in std_logic_vector(31 downto 0);
data_to_cpu : in std_logic_vector(31 downto 0);
data_from_cpu : out std_logic_vector(31 downto 0)
);
end entity plasma;
generic flags controls choice of intern components:
flag | meaning |
---|---|
core_idx | for many core simulation this flag identifies particular core (simulation only) |
FPU_FLAG | "ON" activates simulative FPU components |
SIM_FLAG | "ON" activates calculation from extern libraries and accelerates simulation, "OF" makes the core synthesizable |
DEBUG_FLAG | "ON" activates verbose debugging output, each register file access is reported (simulation only) |
1. execute create_workspace.sh
2. go to (automatically create) directore "workspace"
3. execute "run.sh" script
The program executes an encoding algorithm that converts an .bmp file to .jp2 file (JPEG2000 format). Source code is from openJPEG project. The folder test/program contains simulation output (file "memory_out.mem") and a script "check_output.sh" can generate a binary from this output. By replacing the file "test.bmp" and executing script "create_test.sh" the given .bmp file will be converted by simulation run.