Skip to main content

chronon::AsyncFifo

More...

#include <AsyncFifo.hpp>

Inherits from chronon::sender::CdcComponent

Public Functions

Name
virtual Unit *writeOwner() const override
virtual voidsetClockTraceStreams(observe::ClockTraceStream * write, observe::ClockTraceStream * read) override
virtual Unit *readOwner() const override
virtual uint32_tid() const override
virtual boolendpointEdgesOnly() const override
virtual booldrained() const override
autodiagnostics() const
virtual voidcommit() override
virtual voidbegin(std::span< const ClockEdge > edges) override
AsyncFifo(uint32_t id, AsyncWritePort< T > & write, AsyncReadPort< T > & read, AsyncFifoConfig config)

Friends

Name
classAsyncWritePort< T >
classAsyncReadPort< T >

Additional inherited members

Public Functions inherited from chronon::sender::CdcComponent

Name
virtual~CdcComponent() =default

Detailed Description

template <typename T >
class chronon::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