|
CIRCT 22.0.0git
|
A heap allocated buffer containing raw trace data and time step markers. More...
#include <TraceEncoder.h>

Public Member Functions | |
| TraceBuffer ()=delete | |
| TraceBuffer (uint32_t capacity) | |
| TraceBuffer (const TraceBuffer &other)=delete | |
| TraceBuffer | operator= (const TraceBuffer &other)=delete |
| TraceBuffer (TraceBuffer &&other) noexcept=default | |
| TraceBuffer & | operator= (TraceBuffer &&other) noexcept=default |
| uint64_t * | getData () const |
| Get the pointer to the buffer's storage. | |
| void | clear () |
| Reset the buffer. | |
| void | assertSentinel () const |
| Assert that the buffer's sentinel value has not been overwritten. | |
Public Attributes | |
| uint32_t | capacity |
| Available storage in number of elements. | |
| uint32_t | size = 0 |
| Number of valid elements, set on dispatch. | |
| int64_t | firstStep = -1 |
| Time step of the buffer's first entry. | |
| std::vector< TraceBufferMarker > | stepMarkers |
| Time step markers. | |
Private Attributes | |
| std::unique_ptr< uint64_t[]> | storage |
Static Private Attributes | |
| static constexpr uint64_t | sentinelValue = UINT64_C(0xABCD1234EFBA8765) |
A heap allocated buffer containing raw trace data and time step markers.
Definition at line 45 of file TraceEncoder.h.
|
delete |
|
inlineexplicit |
Definition at line 49 of file TraceEncoder.h.
References capacity, sentinelValue, and storage.
|
delete |
|
defaultnoexcept |
|
inline |
Assert that the buffer's sentinel value has not been overwritten.
Definition at line 82 of file TraceEncoder.h.
References capacity, circt::arc::runtime::impl::fatalError(), sentinelValue, and storage.
Referenced by circt::arc::runtime::impl::TraceEncoder::dispatch(), circt::arc::runtime::impl::TraceEncoder::finish(), and circt::arc::runtime::impl::TraceEncoder::step().
|
inline |
Reset the buffer.
Definition at line 75 of file TraceEncoder.h.
References firstStep, size, and stepMarkers.
|
inline |
Get the pointer to the buffer's storage.
Definition at line 72 of file TraceEncoder.h.
References storage.
Referenced by circt::arc::runtime::impl::TraceEncoder::dispatch(), circt::arc::runtime::impl::VCDTraceEncoder::encode(), circt::arc::runtime::impl::TraceEncoder::step(), and circt::arc::runtime::impl::TraceEncoder::TraceEncoder().
|
delete |
|
defaultnoexcept |
| uint32_t circt::arc::runtime::impl::TraceBuffer::capacity |
Available storage in number of elements.
Note: Actual capacity is +1 for sentinel
Definition at line 63 of file TraceEncoder.h.
Referenced by assertSentinel(), and TraceBuffer().
| int64_t circt::arc::runtime::impl::TraceBuffer::firstStep = -1 |
Time step of the buffer's first entry.
Definition at line 67 of file TraceEncoder.h.
Referenced by clear(), circt::arc::runtime::impl::TraceEncoder::dispatch(), circt::arc::runtime::impl::VCDTraceEncoder::encode(), circt::arc::runtime::impl::TraceEncoder::run(), and circt::arc::runtime::impl::TraceEncoder::step().
|
staticconstexprprivate |
Definition at line 88 of file TraceEncoder.h.
Referenced by assertSentinel(), and TraceBuffer().
| uint32_t circt::arc::runtime::impl::TraceBuffer::size = 0 |
Number of valid elements, set on dispatch.
Definition at line 65 of file TraceEncoder.h.
Referenced by esiaccel.types.ArrayType::bit_width(), clear(), esiaccel.types.ArrayType::deserialize(), circt::arc::runtime::impl::TraceEncoder::dispatch(), circt::arc::runtime::impl::VCDTraceEncoder::encode(), and esiaccel.types.ArrayType::is_valid().
| std::vector<TraceBufferMarker> circt::arc::runtime::impl::TraceBuffer::stepMarkers |
Time step markers.
Definition at line 69 of file TraceEncoder.h.
Referenced by clear(), circt::arc::runtime::impl::VCDTraceEncoder::encode(), circt::arc::runtime::impl::TraceEncoder::run(), and circt::arc::runtime::impl::TraceEncoder::step().
|
private |
Definition at line 89 of file TraceEncoder.h.
Referenced by assertSentinel(), getData(), and TraceBuffer().