SpiNNFrontEndCommon 7.1.1
Common support code for user-facing front end systems.
Loading...
Searching...
No Matches
Data Structures | Functions
filter_info.h File Reference

Data structures used by code that needs to be aware of bitfield filtering. More...

#include <bit_field.h>

Go to the source code of this file.

Data Structures

struct  filter_info_t
 Describes a single filter, which is a wrapper for bit_field_t. More...
 
struct  filter_region_t
 The contents of the bitfield region in SDRAM. More...
 
struct  core_atom
 A core and an atom for counting. More...
 

Functions

static void next_core_atom (filter_info_t *filter, struct core_atom *core_atom)
 Move to the next atom, updating the core as needed.
 
static uint32_t get_bf_key (filter_info_t *filter, struct core_atom *core_atom)
 Get the key for a given core-atom pair.
 
static uint32_t global_atom (filter_info_t *filter, struct core_atom *core_atom)
 Get the global atom from the core-atom data.
 

Detailed Description

Data structures used by code that needs to be aware of bitfield filtering.

Definition in file filter_info.h.


Data Structure Documentation

◆ filter_info_t

struct filter_info_t

Describes a single filter, which is a wrapper for bit_field_t.

Definition at line 26 of file filter_info.h.

Data Fields
uint32_t key Bit field master population key.
uint32_t merged: 1 Flag to indicate if the filter has been merged.
uint32_t all_ones: 1 Flag to indicate if the filter is redundant.
uint32_t n_atoms: 30 Number of atoms (=valid bits) in the bitfield.
uint32_t core_shift: 5 The shift to apply to the core to add the core to the key (0-31)
uint32_t n_atoms_per_core:27 The number of atoms per core (0 if not used)
bit_field_t data The words of the bitfield.

◆ filter_region_t

struct filter_region_t

The contents of the bitfield region in SDRAM.

Definition at line 44 of file filter_info.h.

Data Fields
uint32_t n_filters Total number of filters.
filter_info_t filters[] The filters themselves, ordered by key.

◆ core_atom

struct core_atom

A core and an atom for counting.

Definition at line 52 of file filter_info.h.

Data Fields
uint32_t core
uint32_t atom

Function Documentation

◆ next_core_atom()

static void next_core_atom ( filter_info_t filter,
struct core_atom core_atom 
)
inlinestatic

Move to the next atom, updating the core as needed.

Parameters
[in]filterThe filter being examined
[in/out]core_atom The counter to update

Definition at line 60 of file filter_info.h.

◆ get_bf_key()

static uint32_t get_bf_key ( filter_info_t filter,
struct core_atom core_atom 
)
inlinestatic

Get the key for a given core-atom pair.

Parameters
[in]filterThe filter to get the key from
[in]core_atomThe core-atom pair to find the key of
Returns
The key

Definition at line 74 of file filter_info.h.

◆ global_atom()

static uint32_t global_atom ( filter_info_t filter,
struct core_atom core_atom 
)
inlinestatic

Get the global atom from the core-atom data.

Parameters
[in]filterThe filter to get the details from
[in]core_atomThe core-atom pair to work out the global atom from
Returns
The global atom number

Definition at line 84 of file filter_info.h.