Skip to main content

chronon::AsyncFifoCircuit

More...

#include <AsyncFifo.hpp>

Public Classes

Name
structState
structCommit

Public Types

Name
using CdcPacket< T >Packet

Public Functions

Name
booltryWrite(Packet && packet)
uint64_ttransactionAt(uint64_t binary) const
Diagnostic identity only, never consulted by hardware control decisions.
std::optional< Packet >take()
Statestate() const
boolrequestRead()
uint64_tpointerMask() const
booloutputValid() const
booledgeActive() const
booldrained() const
size_tdepth() const
Commitcommit(bool trace_visibility =false)
boolcanWrite() const
boolcanRead() const
voidbeginEdges(bool write_edge, bool read_edge)
AsyncFifoCircuit(AsyncFifoConfig config ={})

Detailed Description

template <typename T >
class chronon::AsyncFifoCircuit;

Finite dual-clock circuit, independent of the scheduler. All state is private and owned here. beginEdges snapshots pre-edge remote Gray pointers; commit updates both domains from those snapshots (nonblocking-assignment semantics).

Public Types Documentation

using Packet

using chronon::sender::AsyncFifoCircuit< T >::Packet = CdcPacket<T>;

Public Functions Documentation

function tryWrite

inline bool tryWrite(
Packet && packet
)

function transactionAt

inline uint64_t transactionAt(
uint64_t binary
) const

Diagnostic identity only, never consulted by hardware control decisions.

function take

inline std::optional< Packet > take()

function state

inline State state() const

function requestRead

inline bool requestRead()

function pointerMask

inline uint64_t pointerMask() const

function outputValid

inline bool outputValid() const

function edgeActive

inline bool edgeActive() const

function drained

inline bool drained() const

function depth

inline size_t depth() const

function commit

inline Commit commit(
bool trace_visibility =false
)

function canWrite

inline bool canWrite() const

function canRead

inline bool canRead() const

function beginEdges

inline void beginEdges(
bool write_edge,
bool read_edge
)

function AsyncFifoCircuit

inline explicit AsyncFifoCircuit(
AsyncFifoConfig config ={}
)

Updated on 2026-09-20 at 14:23:39 +0000