Loop Timing Witness
Native controller and runtime interfaces; hardware qualification pending
Loading...
Searching...
No Matches
witness::Simulation Class Reference

#include <simulation.h>

Public Member Functions

 Simulation ()
 ~Simulation ()
std::uint64_t time () const
void advance (std::uint64_t nanoseconds)
Edge read (std::uint8_t address)
Edge write (std::uint8_t address, std::uint32_t data, std::uint8_t strobes)
bool wait_interrupt (std::uint64_t nanoseconds)

Detailed Description

Deterministic 7 ns bus and 5 ns capture half-periods, with real CDC logic.

Definition at line 34 of file simulation.h.

Constructor & Destructor Documentation

◆ Simulation()

witness::Simulation::Simulation ( )
inline

Assert the external common reset and release both actual clock domains.

Definition at line 65 of file simulation.h.

◆ ~Simulation()

witness::Simulation::~Simulation ( )
inline

Finalize the model before freeing the Verilator context.

Definition at line 74 of file simulation.h.

Member Function Documentation

◆ advance()

void witness::Simulation::advance ( std::uint64_t nanoseconds)
inline

Advance both clocks while the native process has requested idle time.

Definition at line 80 of file simulation.h.

◆ read()

Edge witness::Simulation::read ( std::uint8_t address)
inline

Read through AR/R channels; return the actual destination AXI response.

Definition at line 86 of file simulation.h.

◆ time()

std::uint64_t witness::Simulation::time ( ) const
inline

Return nanoseconds elapsed in this simulation, never host wall time.

Definition at line 77 of file simulation.h.

◆ wait_interrupt()

bool witness::Simulation::wait_interrupt ( std::uint64_t nanoseconds)
inline

Advance up to a bounded wait, returning the retained bus-domain IRQ level.

Definition at line 125 of file simulation.h.

◆ write()

Edge witness::Simulation::write ( std::uint8_t address,
std::uint32_t data,
std::uint8_t strobes )
inline

Submit independent AW/W channels, then retain the actual B response.

Definition at line 103 of file simulation.h.


The documentation for this class was generated from the following file: