ParaNut SystemC Model
A SystemC Model of the ParaNut architecture
List of all members
MParaNutSystem Class Reference

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
 

Detailed Description

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.

Member Data Documentation

◆ clk

sc_signal<bool> MParaNutSystem::clk

◆ ex_int

sc_signal<bool> MParaNutSystem::ex_int[CFG_NUT_EX_INT]

◆ reset

sc_signal<bool> MParaNutSystem::reset

◆ tck

sc_signal<bool> MParaNutSystem::tck

◆ tdi

sc_signal<bool> MParaNutSystem::tdi

◆ tdo

sc_signal<bool> MParaNutSystem::tdo

◆ tms

sc_signal<bool> MParaNutSystem::tms

◆ wb_ack

sc_signal<bool> MParaNutSystem::wb_ack

◆ wb_adr

sc_signal<sc_uint<32> > MParaNutSystem::wb_adr

◆ wb_bte

sc_signal<sc_uint<2> > MParaNutSystem::wb_bte

◆ wb_cti

sc_signal<sc_uint<3> > MParaNutSystem::wb_cti

◆ wb_cyc

sc_signal<bool> MParaNutSystem::wb_cyc

◆ wb_dat_r

sc_signal<sc_uint<CFG_MEMU_BUSIF_WIDTH> > MParaNutSystem::wb_dat_r

◆ wb_dat_w

sc_signal<sc_uint<CFG_MEMU_BUSIF_WIDTH> > MParaNutSystem::wb_dat_w

◆ wb_err

sc_signal<bool> MParaNutSystem::wb_err

◆ wb_rty

sc_signal<bool> MParaNutSystem::wb_rty

◆ wb_sel

sc_signal<sc_uint<CFG_MEMU_BUSIF_WIDTH/8> > MParaNutSystem::wb_sel

◆ wb_stb

sc_signal<bool> MParaNutSystem::wb_stb

◆ wb_we

sc_signal<bool> MParaNutSystem::wb_we

The documentation for this class was generated from the following files: