KM3NeT CLB  2.0
KM3NeT CLB v2 Embedded Software
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
dev_stmach.h File Reference

This provides a device mapping for a wishbone bus mapped State Machine device. More...

#include "dev_defs.h"

Go to the source code of this file.

Data Structures

struct  STMACH_Device
 Structure defines State Machine device. More...
 

Macros

#define SDB_ID_STMACH   0xEFD57BF6
 
#define STMACH_CH_TDC_IDX   0
 Index of state machine TDC channel.
 
#define STMACH_CH_AES_IDX   1
 Index of state machine AES channel.
 
#define STMACH_CH_MCH_IDX   2
 Index of state machine Monitoring channel.
 
#define STMACH_CH_TDC   BIT(0)
 Bit of machine TDC channel, relative.
 
#define STMACH_CH_AES   BIT(1)
 Bit of state machine AES channel, relative.
 
#define STMACH_CH_MCH   BIT(2)
 Bit of state machine Monitoring channel, relative.
 
#define STMACH_PL_SIZE_MIN   28
 
#define STMACH_PL_SIZE_MAX   8972
 
#define STMACH_CSR_ENA_MASK   0x00000007
 Channel enable mask.
 
#define STMACH_CSR_ENA_SHIFT   0
 Channel enable shift.
 
#define STMACH_CSR_SYNC   BIT(3)
 Indicates the state machine is syncing the enable state.
 
#define STMACH_CSR_FLUSH_MASK   0x00000070
 Channel flush mask.
 
#define STMACH_CSR_FLUSH_SHIFT   4
 Channel flush shift.
 
#define STMACH_CSR_MCH_BUSY   BIT(10)
 Monitoring channel busy.
 
#define STMACH_TDC_FULL_MASK_ALL   0xFFFFFFFF
 Mask of all bits indicating TDC full.
 
#define STMACH_AES_FULL_MASK_ALL   0x80000001
 Mask fo all bits indicating AES full.
 
#define STMACH_XXX_FULL_MASK_NONE   0x00000000
 Indicates no masking. More...
 
#define STMACH_ST_COMMIT_AES_SHIFT   0
 AES commit mask.
 
#define STMACH_ST_COMMIT_AES_MASK   MASK(16) << STMACH_ST_COMMIT_AES_SHIFT
 
#define STMACH_ST_COMMIT_TDC_SHIFT   16
 TDC commit mask.
 
#define STMACH_ST_COMMIT_TDC_MASK   MASK(16) << STMACH_ST_COMMIT_TDC_SHIFT
 

Detailed Description

This provides a device mapping for a wishbone bus mapped State Machine device.

The state machine supports up to four input channels. Currently only 3 are used:

  • 0: TDC
  • 1: AES
  • 2: Monitor channel

Definition in file dev_stmach.h.

Macro Definition Documentation

#define STMACH_XXX_FULL_MASK_NONE   0x00000000

Indicates no masking.

Definition at line 57 of file dev_stmach.h.