chronon::sender::AsyncFifo
#include <AsyncFifo.hpp>
Inherits from chronon::sender::CdcComponent
Public Functions
| Name | |
|---|---|
| virtual Unit * | writeOwner() const override |
| virtual void | setClockTraceStreams(observe::ClockTraceStream * write, observe::ClockTraceStream * read) override |
| virtual Unit * | readOwner() const override |
| virtual uint32_t | id() const override |
| virtual bool | endpointEdgesOnly() const override |
| virtual bool | drained() const override |
| auto | diagnostics() const |
| virtual void | commit() override |
| virtual void | begin(std::span< const ClockEdge > edges) override |
| AsyncFifo(uint32_t id, AsyncWritePort< T > & write, AsyncReadPort< T > & read, AsyncFifoConfig config) |
Friends
| Name | |
|---|---|
| class | AsyncWritePort< T > |
| class | AsyncReadPort< T > |
Additional inherited members
Public Functions inherited from chronon::sender::CdcComponent
| Name | |
|---|---|
| virtual | ~CdcComponent() =default |
Detailed Description
template <typename T >
class chronon::sender::AsyncFifo;
Simulation-owned dual-port RAM and pointer logic; endpoints expose only their local hardware interface, not the other Unit or live packet storage.
Public Functions Documentation
function writeOwner
inline virtual Unit * writeOwner() const override
Reimplements: chronon::sender::CdcComponent::writeOwner
function setClockTraceStreams
inline virtual void setClockTraceStreams(
observe::ClockTraceStream * write,
observe::ClockTraceStream * read
) override
Reimplements: chronon::sender::CdcComponent::setClockTraceStreams
function readOwner
inline virtual Unit * readOwner() const override
Reimplements: chronon::sender::CdcComponent::readOwner
function id
inline virtual uint32_t id() const override
Reimplements: chronon::sender::CdcComponent::id
function endpointEdgesOnly
inline virtual bool endpointEdgesOnly() const override
Reimplements: chronon::sender::CdcComponent::endpointEdgesOnly
Opt in only if begin/commit on unrelated-domain batches have no callback, hardware, wakeup or trace effects. Other bridge implementations retain the conservative every-batch serial contract.
function drained
inline virtual bool drained() const override
Reimplements: chronon::sender::CdcComponent::drained
function diagnostics
inline auto diagnostics() const
function commit
inline virtual void commit() override
Reimplements: chronon::sender::CdcComponent::commit
function begin
inline virtual void begin(
std::span< const ClockEdge > edges
) override
Reimplements: chronon::sender::CdcComponent::begin
function AsyncFifo
inline AsyncFifo(
uint32_t id,
AsyncWritePort< T > & write,
AsyncReadPort< T > & read,
AsyncFifoConfig config
)
Friends
friend AsyncWritePort< T >
friend class AsyncWritePort< T >(
AsyncWritePort< T >
);
friend AsyncReadPort< T >
friend class AsyncReadPort< T >(
AsyncReadPort< T >
);
Updated on 2026-09-20 at 14:23:39 +0000