|
Loop Timing Witness
Native controller and runtime interfaces; hardware qualification pending
|
#include <charconv>#include "refusal.h"#include <cstdint>#include <iostream>#include <limits>#include <sstream>#include <stdexcept>#include <string>Go to the source code of this file.
Classes | |
| struct | witness::ProtocolReply |
Functions | |
| std::uint64_t | witness::number (std::istream &input, std::uint64_t maximum) |
| void | witness::end_request (std::istream &input) |
| template<class Device> | |
| int | witness::serve (Device &device) |
Variables | |
| constexpr std::uint64_t | witness::advance_limit = 10000000 |
shared native register process protocol.
Definition in file process_protocol.h.
|
inline |
Validate a complete request before accessing either device.
Definition at line 47 of file process_protocol.h.
|
inline |
Reject signs, overflow and suffixes before narrowing protocol integers.
Definition at line 35 of file process_protocol.h.
| int witness::serve | ( | Device & | device | ) |
Serve validated requests against either actual MMIO or production RTL.
Definition at line 53 of file process_protocol.h.
|
constexpr |
Maximum admitted simulated time advance in nanoseconds per protocol request.
Definition at line 27 of file process_protocol.h.