ParaNut SystemC Model
A SystemC Model of the ParaNut architecture
Classes | Macros | Enumerations
dm.h File Reference
#include "base.h"
#include "paranut-config.h"
#include <systemc.h>
Include dependency graph for dm.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  MDebugModule
 

Macros

#define DTM_ADDR_WIDTH   6
 
#define DTM_IR_WIDTH   5
 
#define DBG_CMD_WIDTH   32
 
#define DBG_ADDRESS   0x00000000
 
#define DBG_REG_OFFSET   0x0
 
#define DBG_REG_SIZE   0x40
 
#define DBG_NUM_DATA   1
 
#define DBG_NUM_PROGBUF   3
 
#define DBG_FLAG_OFFSET   0x100
 
#define DBG_FLAG_SIZE   CFG_NUT_CPU_CORES
 
#define DBG_FLAG_REG_OFFSET   0x10
 
#define DBG_ABSTRACT_OFFSET   0x200
 
#define DBG_ABSTRACT_REG_OFFSET   (DBG_NUM_DATA + DBG_NUM_PROGBUF)
 
#define DBG_ABSTRACT_NUM_LD   1
 
#define DBG_ABSTRACT_NUM   (1 << DBG_ABSTRACT_NUM_LD)
 
#define DBG_PROGBUF_JUMP   (DBG_ABSTRACT_OFFSET + (DBG_ABSTRACT_NUM-1)*4 - DBG_NUM_DATA*4)
 
#define DBG_HALTED_OFFSET   0x300
 
#define DBG_GOING_OFFSET   0x304
 
#define DBG_RESUMING_OFFSET   0x308
 
#define DBG_EXCEPTION_OFFSET   0x30C
 
#define DBG_MEMORY_OFFSET   0x400
 
#define DBG_MEMORY_SIZE   0x54
 
#define DBG_ROM_ADDRESS   (DBG_ADDRESS + DBG_MEMORY_OFFSET)
 
#define DBG_NUM_REGISTERS   (DBG_NUM_DATA + DBG_NUM_PROGBUF + DBG_ABSTRACT_NUM )
 
#define DBG_NUM_REGISTES_BITS   3
 
#define REG_RD_WR_STAGES   3
 
#define REG_STAGES   2
 
#define REG_ID_LAST   1
 

Enumerations

enum  EDMRegAddress {
  data0 = 0x4 , dmcontrol = 0x10 , dmstatus = 0x11 , abstracts = 0x16 ,
  command = 0x17 , abstractauto = 0x18 , progbuf0 = 0x20 , progbuf1 ,
  progbuf2 , progbuf15 = 0x2f , haltsum0 = 0x40
}
 
enum  EDMRegs {
  reg_data0 , reg_progbuf0 , reg_progbuf1 , reg_progbuf2 ,
  reg_abstract0 , reg_abstract1
}
 
enum  ECMDErr {
  CMDERR_NONE = 0 , CMDERR_BUSY = 1 , CMDERR_NOTSUP = 2 , CMDERR_EXCEPTION = 3 ,
  CMDERR_HALTRESUME = 4 , CMDERR_OTHER = 7
}
 
enum  EDMState {
  Idle , CMD , CMD_ACCESSR , CMD_POSTEXEC ,
  CMD_GO
}
 

Macro Definition Documentation

◆ DBG_ABSTRACT_NUM

#define DBG_ABSTRACT_NUM   (1 << DBG_ABSTRACT_NUM_LD)

◆ DBG_ABSTRACT_NUM_LD

#define DBG_ABSTRACT_NUM_LD   1

◆ DBG_ABSTRACT_OFFSET

#define DBG_ABSTRACT_OFFSET   0x200

◆ DBG_ABSTRACT_REG_OFFSET

#define DBG_ABSTRACT_REG_OFFSET   (DBG_NUM_DATA + DBG_NUM_PROGBUF)

◆ DBG_ADDRESS

#define DBG_ADDRESS   0x00000000

◆ DBG_CMD_WIDTH

#define DBG_CMD_WIDTH   32

◆ DBG_EXCEPTION_OFFSET

#define DBG_EXCEPTION_OFFSET   0x30C

◆ DBG_FLAG_OFFSET

#define DBG_FLAG_OFFSET   0x100

◆ DBG_FLAG_REG_OFFSET

#define DBG_FLAG_REG_OFFSET   0x10

◆ DBG_FLAG_SIZE

#define DBG_FLAG_SIZE   CFG_NUT_CPU_CORES

◆ DBG_GOING_OFFSET

#define DBG_GOING_OFFSET   0x304

◆ DBG_HALTED_OFFSET

#define DBG_HALTED_OFFSET   0x300

◆ DBG_MEMORY_OFFSET

#define DBG_MEMORY_OFFSET   0x400

◆ DBG_MEMORY_SIZE

#define DBG_MEMORY_SIZE   0x54

◆ DBG_NUM_DATA

#define DBG_NUM_DATA   1

◆ DBG_NUM_PROGBUF

#define DBG_NUM_PROGBUF   3

◆ DBG_NUM_REGISTERS

#define DBG_NUM_REGISTERS   (DBG_NUM_DATA + DBG_NUM_PROGBUF + DBG_ABSTRACT_NUM )

◆ DBG_NUM_REGISTES_BITS

#define DBG_NUM_REGISTES_BITS   3

◆ DBG_PROGBUF_JUMP

#define DBG_PROGBUF_JUMP   (DBG_ABSTRACT_OFFSET + (DBG_ABSTRACT_NUM-1)*4 - DBG_NUM_DATA*4)

◆ DBG_REG_OFFSET

#define DBG_REG_OFFSET   0x0

◆ DBG_REG_SIZE

#define DBG_REG_SIZE   0x40

◆ DBG_RESUMING_OFFSET

#define DBG_RESUMING_OFFSET   0x308

◆ DBG_ROM_ADDRESS

#define DBG_ROM_ADDRESS   (DBG_ADDRESS + DBG_MEMORY_OFFSET)

◆ DTM_ADDR_WIDTH

#define DTM_ADDR_WIDTH   6

◆ DTM_IR_WIDTH

#define DTM_IR_WIDTH   5

◆ REG_ID_LAST

#define REG_ID_LAST   1

◆ REG_RD_WR_STAGES

#define REG_RD_WR_STAGES   3

◆ REG_STAGES

#define REG_STAGES   2

Enumeration Type Documentation

◆ ECMDErr

enum ECMDErr
Enumerator
CMDERR_NONE 
CMDERR_BUSY 
CMDERR_NOTSUP 
CMDERR_EXCEPTION 
CMDERR_HALTRESUME 
CMDERR_OTHER 

◆ EDMRegAddress

Enumerator
data0 
dmcontrol 
dmstatus 
abstracts 
command 
abstractauto 
progbuf0 
progbuf1 
progbuf2 
progbuf15 
haltsum0 

◆ EDMRegs

enum EDMRegs
Enumerator
reg_data0 
reg_progbuf0 
reg_progbuf1 
reg_progbuf2 
reg_abstract0 
reg_abstract1 

◆ EDMState

enum EDMState
Enumerator
Idle 
CMD 
CMD_ACCESSR 
CMD_POSTEXEC 
CMD_GO