Plasma with FPU - Based on MIPS I implementation

Details
Category: Processor
Created: July 01, 2015
Updated: January 27, 2020
Language: VHDL
Other project properties
Development Status: Stable
WishBone compliant: No
WishBone version: n/a
License: Others
Description
This project is based on an implementation of MIPS I specified core by Steve Rhoads: plasma
Interface
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) |
,
Intern structure
Simulative test
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.