Skip to content

Data Store

Chick Markley edited this page Dec 11, 2017 · 2 revisions

Introduction

The DataStore class stores the entire state of the circuit with the exception of any state information that is used within a black box. All data is stored as integers but are segregated based on size.

Sizing

For optimization reasons data is stored in separate arrays depending on the bitWidth of the corresponding signal.

Signal Bit Width Internal Threshold Name Scala Storage Type
<= 31 DataSize.IntThreshold Int
<= 63 DataSize.LongThreshold Long
> 63 -- BigInt

Buffer Management

The DataStore can be created with a single buffer that contains the current state. It can also be created with multiple buffers, in which case, multiple arrays of each data type are created, each buffer corresponds to a prior instance in time. Buffers are recycled as time proceeds past the number of buffers.

Clone this wiki locally