Static synaptic matrix implementation.  
More...
Go to the source code of this file.
 | 
| static void  | setup_rows (uint32_t *matrix, uint32_t n_rows, uint32_t max_row_n_words) | 
|   | Set up the rows so that they are ready for writing to.  
  | 
|   | 
| static uint32_t  | build_static_word (uint16_t weight, uint16_t delay, uint32_t type, uint16_t post_index, uint32_t synapse_type_bits, uint32_t synapse_index_bits, uint32_t delay_bits) | 
|   | Build a static synaptic word from components.  
  | 
|   | 
| static void *  | matrix_generator_static_initialize (void **region, void *synaptic_matrix) | 
|   | How to initialise the static synaptic matrix generator.  
  | 
|   | 
| static void  | matrix_generator_static_free (void *generator) | 
|   | How to free any data for the static synaptic matrix generator.  
  | 
|   | 
| static bool  | matrix_generator_static_write_synapse (void *generator, uint32_t pre_index, uint16_t post_index, accum weight, uint16_t delay, unsigned long accum weight_scale) | 
|   | How to write a synapse to a matrix.  
  | 
|   | 
Static synaptic matrix implementation. 
Definition in file matrix_generator_static.h.
◆ static_row_t
The layout of a purely static row of a synaptic matrix. 
Definition at line 30 of file matrix_generator_static.h.
| Data Fields | 
| 
uint32_t | 
plastic_plastic_size | 
the plastic-plastic size within a row  | 
| 
uint32_t | 
fixed_fixed_size | 
the fixed-fixed size within a row  | 
| 
uint32_t | 
fixed_plastic_size | 
the fixed-plastic size within a row  | 
| 
uint32_t | 
fixed_fixed_data[] | 
the fixed-fixed data within a row  | 
 
 
◆ matrix_genetator_static_data_t
      
        
          | struct matrix_genetator_static_data_t | 
        
      
 
The stored data used to generate rows. 
Definition at line 48 of file matrix_generator_static.h.
| Data Fields | 
| 
union matrix_genetator_static_data_t.__unnamed21__ | 
__unnamed__ | 
 | 
| 
union matrix_genetator_static_data_t.__unnamed23__ | 
__unnamed__ | 
 | 
| 
uint32_t | 
max_row_n_words | 
The maximum number of words (excluding headers) on a row.  | 
| 
uint32_t | 
max_delayed_row_n_words | 
The maximum number of words (excluding headers) on a delayed row.  | 
| 
uint32_t | 
synapse_type | 
The matrix synapse type.  | 
| 
uint32_t | 
synapse_type_bits | 
The number of bits needed to represent the synapse type.  | 
| 
uint32_t | 
synapse_index_bits | 
The number of bits needed to represent the synapse neuron id.  | 
| 
uint32_t | 
max_stage | 
The maximum delay stage, including 0 for no delay stage.  | 
| 
uint32_t | 
max_delay_per_stage | 
The maximum delay per delay stage in time steps.  | 
| 
uint32_t | 
delay_bits | 
The number of bits needed to represent the maximum delay per stage.  | 
| 
uint32_t | 
n_pre_neurons | 
The number of pre-synaptic neurons.  | 
| 
uint32_t | 
n_pre_neurons_per_core | 
The number of pre-synaptic neurons per core.  | 
 
 
◆ matrix_genetator_static_data_t.__unnamed21__
      
        
          | union matrix_genetator_static_data_t.__unnamed21__ | 
        
      
 
Definition at line 49 of file matrix_generator_static.h.
 
| Data Fields | 
| 
uint32_t * | 
synaptic_matrix | 
The address of the synaptic matrix (once initialised)  | 
| 
uint32_t | 
synaptic_matrix_offset | 
The offset of the synaptic matrix (as read from SDRAM)  | 
 
 
◆ matrix_genetator_static_data_t.__unnamed23__
      
        
          | union matrix_genetator_static_data_t.__unnamed23__ | 
        
      
 
Definition at line 55 of file matrix_generator_static.h.
 
| Data Fields | 
| 
uint32_t * | 
delayed_synaptic_matrix | 
The address of the delayed synaptic matrix (once initialised)  | 
| 
uint32_t | 
delayed_matrix_offset | 
The offset of the delayed synaptic matrix (as read from SDRAM)  | 
 
 
◆ SYNAPSE_WEIGHT_SHIFT
      
        
          | #define SYNAPSE_WEIGHT_SHIFT   16 | 
        
      
 
 
◆ SYNAPSE_WEIGHT_MASK
      
        
          | #define SYNAPSE_WEIGHT_MASK   0xFFFF | 
        
      
 
 
◆ setup_rows()
  
  
      
        
          | static void setup_rows  | 
          ( | 
          uint32_t *  | 
          matrix,  | 
         
        
           | 
           | 
          uint32_t  | 
          n_rows,  | 
         
        
           | 
           | 
          uint32_t  | 
          max_row_n_words  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
static   | 
  
 
Set up the rows so that they are ready for writing to. 
- Parameters
 - 
  
    | [in] | matrix | The base address of the matrix to set up  | 
    | [in] | n_rows | The number of rows in the matrix  | 
    | [in] | max_row_n_words | The maximum number of words used by a row  | 
  
   
Definition at line 89 of file matrix_generator_static.h.
 
 
◆ build_static_word()
  
  
      
        
          | static uint32_t build_static_word  | 
          ( | 
          uint16_t  | 
          weight,  | 
         
        
           | 
           | 
          uint16_t  | 
          delay,  | 
         
        
           | 
           | 
          uint32_t  | 
          type,  | 
         
        
           | 
           | 
          uint16_t  | 
          post_index,  | 
         
        
           | 
           | 
          uint32_t  | 
          synapse_type_bits,  | 
         
        
           | 
           | 
          uint32_t  | 
          synapse_index_bits,  | 
         
        
           | 
           | 
          uint32_t  | 
          delay_bits  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
static   | 
  
 
Build a static synaptic word from components. 
- Parameters
 - 
  
    | [in] | weight | The weight of the synapse  | 
    | [in] | delay | The delay of the synapse  | 
    | [in] | type | The synapse type  | 
    | [in] | post_index | The core-relative index of the target neuron  | 
    | [in] | synapse_type_bits | The number of bits for the synapse type  | 
    | [in] | synapse_index_bits | The number of bits for the target neuron id  | 
    | [in] | delay_bits | The number of bits for the synaptic delay  | 
  
   
- Returns
 - a synaptic word 
 
Definition at line 110 of file matrix_generator_static.h.
 
 
◆ matrix_generator_static_initialize()
  
  
      
        
          | static void * matrix_generator_static_initialize  | 
          ( | 
          void **  | 
          region,  | 
         
        
           | 
           | 
          void *  | 
          synaptic_matrix  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
static   | 
  
 
How to initialise the static synaptic matrix generator. 
- Parameters
 - 
  
    | [in,out] | region | Region to read parameters from. Should be updated to position just after parameters after calling.  | 
    | [in] | synaptic_matrix | The address of the base of the synaptic matrix  | 
  
   
- Returns
 - A data item to be passed in to other functions later on 
 
Definition at line 133 of file matrix_generator_static.h.
 
 
◆ matrix_generator_static_free()
  
  
      
        
          | static void matrix_generator_static_free  | 
          ( | 
          void *  | 
          generator | ) | 
           | 
         
       
   | 
  
static   | 
  
 
How to free any data for the static synaptic matrix generator. 
- Parameters
 - 
  
    | [in] | generator | The data to free  | 
  
   
Definition at line 166 of file matrix_generator_static.h.
 
 
◆ matrix_generator_static_write_synapse()
  
  
      
        
          | static bool matrix_generator_static_write_synapse  | 
          ( | 
          void *  | 
          generator,  | 
         
        
           | 
           | 
          uint32_t  | 
          pre_index,  | 
         
        
           | 
           | 
          uint16_t  | 
          post_index,  | 
         
        
           | 
           | 
          accum  | 
          weight,  | 
         
        
           | 
           | 
          uint16_t  | 
          delay,  | 
         
        
           | 
           | 
          unsigned long accum  | 
          weight_scale  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
static   | 
  
 
How to write a synapse to a matrix. 
- Parameters
 - 
  
    | [in] | generator | The generator data  | 
    | [in] | pre_index | The index of the pre-neuron relative to the start of the matrix  | 
    | [in] | post_index | The index of the post-neuron on this core  | 
    | [in] | weight | The weight of the synapse in raw format  | 
    | [in] | delay | The delay of the synapse in time steps  | 
    | [in] | weight_scale | The scale to apply to the weight if needed  | 
  
   
- Returns
 - whether the synapses was added or not 
 
Definition at line 181 of file matrix_generator_static.h.