ParaNut SystemC Model
A SystemC Model of the ParaNut architecture
|
Complete ParaNut System ready for simulation. More...
#include <paranutsystem.h>
Public Member Functions | |
Constructor / Destructor... | |
MParaNutSystem (const int argc, char *argv[]) | |
Create and elablorate the System. More... | |
~MParaNutSystem () | |
Destructor destroying all runtime objects. More... | |
System Construction... | |
void | AddSlave (TWord start_adr, size_t size, MPeripheral *slave) |
Add a slave peripheral to the ParaNut System. More... | |
void | AddSlave (TWord start_adr, size_t size, sc_in_clk *wb_clk_i, sc_in< bool > *wb_rst_i, sc_in< bool > *wb_stb_i, sc_in< bool > *wb_cyc_i, sc_in< bool > *wb_we_i, sc_in< sc_uint< 3 > > *wb_cti_i, sc_in< sc_uint< 2 > > *wb_bte_i, sc_in< sc_uint< WB_PORT_SIZE/8 > > *wb_sel_i, sc_out< bool > *wb_ack_o, sc_out< bool > *wb_err_o, sc_out< bool > *wb_rty_o, sc_in< sc_uint< 32 > > *wb_adr_i, sc_in< sc_uint< WB_PORT_SIZE > > *wb_dat_i, sc_out< sc_uint< WB_PORT_SIZE > > *wb_dat_o) |
void | AddInterrupt (TWord index, sc_out< bool > *port) |
Add a slave port to the ParaNut Systems internal interrupt input signals. More... | |
Execution Control... | |
void | Run () |
Start the SystemC simulation and wait for the ParaNut to HALT. More... | |
Support Functions... | |
void | Usage () |
Print usage of the command line options to stdout. More... | |
void | PrintConfig () |
Print the current configuration to stderr. More... | |
Public Attributes | |
Wishbone signals... | |
sc_signal< bool > | clk |
sc_signal< bool > | reset |
sc_signal< bool > | wb_stb |
sc_signal< bool > | wb_cyc |
sc_signal< bool > | wb_we |
sc_signal< bool > | wb_ack |
sc_signal< bool > | wb_err |
sc_signal< bool > | wb_rty |
sc_signal< sc_uint< 3 > > | wb_cti |
sc_signal< sc_uint< 2 > > | wb_bte |
sc_signal< sc_uint< CFG_MEMU_BUSIF_WIDTH/8 > > | wb_sel |
sc_signal< sc_uint< 32 > > | wb_adr |
sc_signal< sc_uint< CFG_MEMU_BUSIF_WIDTH > > | wb_dat_w |
sc_signal< sc_uint< CFG_MEMU_BUSIF_WIDTH > > | wb_dat_r |
Other signals (Interrupt, JTAG, etc.)... | |
sc_signal< bool > | ex_int [CFG_NUT_EX_INT] |
sc_signal< bool > | tck |
sc_signal< bool > | tms |
sc_signal< bool > | tdi |
sc_signal< bool > | tdo |
Complete ParaNut System ready for simulation.
This system contains a ParaNut processeor (MParanut) connected as master to a Wishbone interconnect (MInterconnect) which in turn is connected to the Main Memory (MWBMemory).
The system is Elaborated by executing the Constructor with the necessary command line parameters (see Usage()).
You can expand the system by adding Wishbone slave peripherals (see MPeripheral for inspiration) using the AddSlave() function.
Simulation is started by calling the Run() function.
sc_signal<bool> MParaNutSystem::clk |
sc_signal<bool> MParaNutSystem::ex_int[CFG_NUT_EX_INT] |
sc_signal<bool> MParaNutSystem::reset |
sc_signal<bool> MParaNutSystem::tck |
sc_signal<bool> MParaNutSystem::tdi |
sc_signal<bool> MParaNutSystem::tdo |
sc_signal<bool> MParaNutSystem::tms |
sc_signal<bool> MParaNutSystem::wb_ack |
sc_signal<sc_uint<32> > MParaNutSystem::wb_adr |
sc_signal<sc_uint<2> > MParaNutSystem::wb_bte |
sc_signal<sc_uint<3> > MParaNutSystem::wb_cti |
sc_signal<bool> MParaNutSystem::wb_cyc |
sc_signal<sc_uint<CFG_MEMU_BUSIF_WIDTH> > MParaNutSystem::wb_dat_r |
sc_signal<sc_uint<CFG_MEMU_BUSIF_WIDTH> > MParaNutSystem::wb_dat_w |
sc_signal<bool> MParaNutSystem::wb_err |
sc_signal<bool> MParaNutSystem::wb_rty |
sc_signal<sc_uint<CFG_MEMU_BUSIF_WIDTH/8> > MParaNutSystem::wb_sel |
sc_signal<bool> MParaNutSystem::wb_stb |
sc_signal<bool> MParaNutSystem::wb_we |