data.bitarray.banked


template <
    auto Size,
    auto WordWidth,
    auto Banks,
    template <typename, auto> typename Memory = memory
    >
class bitarray §

A fixed sized array of bits, stored internally as a set of banks, where each bank is an array of words. Provides methods to read or write at multiple bits or words

Parameters

  • auto Size
    

    Number of bits in the bit vector.

  • auto WordWidth
    

    Number of bits in each word.

  • auto Banks
    

    Number of banks. Higher values increase throughput and resource usage.

  • template <typename, auto> typename Memory = memory
    

    Memory implementation.

Aliases

  • using bit_addr_t = index_t<Size> §
    

    Represents the address of a single bit.

  • using word_addr_t = index_t<bitarray::WordCount> §
    

    Represents the address of a single word.

  • using word_t = uint<WordWidth> §
    

    A single word which can be read or written.

Methods

General

  • (0 == (Size % WordWidth))
    
  • (0 == (bitarray::WordCount % Banks))