pub struct RuntimeSchema<A> {
pub runtime_errors: HashMap<i64, RuntimeErrorInfo<A>, BuildHasherDefault<FxHasher>>,
pub runtime_event_sites: Vec<RuntimeEventSite>,
pub extern_functions: Vec<ExternFunction>,
pub comb_observers: Vec<RuntimeCombObserver<A>>,
pub testbench_read_roots: HashSet<A, BuildHasherDefault<FxHasher>>,
pub rtl_writes: HashSet<VarAtomBase<A>, BuildHasherDefault<FxHasher>>,
pub comb_writes: HashSet<A, BuildHasherDefault<FxHasher>>,
pub dead_store_policy: DeadStorePolicy,
pub live_signals: HashSet<A, BuildHasherDefault<FxHasher>>,
pub processes: Vec<ProcessSlots<A>>,
}Expand description
Source-independent runtime diagnostics and observable event descriptions.
Fields§
§runtime_errors: HashMap<i64, RuntimeErrorInfo<A>, BuildHasherDefault<FxHasher>>§runtime_event_sites: Vec<RuntimeEventSite>§extern_functions: Vec<ExternFunction>Extern functions called by ExternCall, by index.
comb_observers: Vec<RuntimeCombObserver<A>>§testbench_read_roots: HashSet<A, BuildHasherDefault<FxHasher>>Persistent state read directly by host-side testbench execution. These are optimization roots even when no SIR instruction loads them.
rtl_writes: HashSet<VarAtomBase<A>, BuildHasherDefault<FxHasher>>Bit ranges written by RTL execution units. External component outputs may not overlap these ranges because that would create multiple drivers.
comb_writes: HashSet<A, BuildHasherDefault<FxHasher>>State objects written by combinational logic. Their values are derived from the other state, so state files recompute rather than compare them.
dead_store_policy: DeadStorePolicyDead store elimination policy the program was compiled with. Together
with live_signals and the design it decides which combinationally
written state the host may observe.
live_signals: HashSet<A, BuildHasherDefault<FxHasher>>State explicitly declared observable for dead store elimination.
processes: Vec<ProcessSlots<A>>Control slots of the process kernels, in kernel order.
Trait Implementations§
Source§impl<A> Clone for RuntimeSchema<A>where
A: Clone,
impl<A> Clone for RuntimeSchema<A>where
A: Clone,
Source§fn clone(&self) -> RuntimeSchema<A>
fn clone(&self) -> RuntimeSchema<A>
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<A> Debug for RuntimeSchema<A>where
A: Debug,
impl<A> Debug for RuntimeSchema<A>where
A: Debug,
Source§impl<A> Default for RuntimeSchema<A>
impl<A> Default for RuntimeSchema<A>
Source§fn default() -> RuntimeSchema<A>
fn default() -> RuntimeSchema<A>
Auto Trait Implementations§
impl<A> Freeze for RuntimeSchema<A>where
HashMap<i64, RuntimeErrorInfo<A>, BuildHasherDefault<FxHasher>>: Freeze,
Vec<RuntimeCombObserver<A>>: Freeze,
HashSet<A, BuildHasherDefault<FxHasher>>: Freeze,
HashSet<VarAtomBase<A>, BuildHasherDefault<FxHasher>>: Freeze,
Vec<ProcessSlots<A>>: Freeze,
impl<A> RefUnwindSafe for RuntimeSchema<A>where
HashMap<i64, RuntimeErrorInfo<A>, BuildHasherDefault<FxHasher>>: RefUnwindSafe,
Vec<RuntimeCombObserver<A>>: RefUnwindSafe,
HashSet<A, BuildHasherDefault<FxHasher>>: RefUnwindSafe,
HashSet<VarAtomBase<A>, BuildHasherDefault<FxHasher>>: RefUnwindSafe,
Vec<ProcessSlots<A>>: RefUnwindSafe,
impl<A> Send for RuntimeSchema<A>where
HashMap<i64, RuntimeErrorInfo<A>, BuildHasherDefault<FxHasher>>: Send,
Vec<RuntimeCombObserver<A>>: Send,
HashSet<A, BuildHasherDefault<FxHasher>>: Send,
HashSet<VarAtomBase<A>, BuildHasherDefault<FxHasher>>: Send,
Vec<ProcessSlots<A>>: Send,
impl<A> Sync for RuntimeSchema<A>where
HashMap<i64, RuntimeErrorInfo<A>, BuildHasherDefault<FxHasher>>: Sync,
Vec<RuntimeCombObserver<A>>: Sync,
HashSet<A, BuildHasherDefault<FxHasher>>: Sync,
HashSet<VarAtomBase<A>, BuildHasherDefault<FxHasher>>: Sync,
Vec<ProcessSlots<A>>: Sync,
impl<A> Unpin for RuntimeSchema<A>where
HashMap<i64, RuntimeErrorInfo<A>, BuildHasherDefault<FxHasher>>: Unpin,
Vec<RuntimeCombObserver<A>>: Unpin,
HashSet<A, BuildHasherDefault<FxHasher>>: Unpin,
HashSet<VarAtomBase<A>, BuildHasherDefault<FxHasher>>: Unpin,
Vec<ProcessSlots<A>>: Unpin,
impl<A> UnsafeUnpin for RuntimeSchema<A>where
HashMap<i64, RuntimeErrorInfo<A>, BuildHasherDefault<FxHasher>>: UnsafeUnpin,
Vec<RuntimeCombObserver<A>>: UnsafeUnpin,
HashSet<A, BuildHasherDefault<FxHasher>>: UnsafeUnpin,
HashSet<VarAtomBase<A>, BuildHasherDefault<FxHasher>>: UnsafeUnpin,
Vec<ProcessSlots<A>>: UnsafeUnpin,
impl<A> UnwindSafe for RuntimeSchema<A>where
HashMap<i64, RuntimeErrorInfo<A>, BuildHasherDefault<FxHasher>>: UnwindSafe,
Vec<RuntimeCombObserver<A>>: UnwindSafe,
HashSet<A, BuildHasherDefault<FxHasher>>: UnwindSafe,
HashSet<VarAtomBase<A>, BuildHasherDefault<FxHasher>>: UnwindSafe,
Vec<ProcessSlots<A>>: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<D> OwoColorize for D
impl<D> OwoColorize for D
Source§fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
Source§fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
Source§fn black(&self) -> FgColorDisplay<'_, Black, Self>
fn black(&self) -> FgColorDisplay<'_, Black, Self>
Source§fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
Source§fn red(&self) -> FgColorDisplay<'_, Red, Self>
fn red(&self) -> FgColorDisplay<'_, Red, Self>
Source§fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
Source§fn green(&self) -> FgColorDisplay<'_, Green, Self>
fn green(&self) -> FgColorDisplay<'_, Green, Self>
Source§fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
Source§fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
Source§fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
Source§fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
Source§fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
Source§fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
Source§fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
Source§fn white(&self) -> FgColorDisplay<'_, White, Self>
fn white(&self) -> FgColorDisplay<'_, White, Self>
Source§fn on_white(&self) -> BgColorDisplay<'_, White, Self>
fn on_white(&self) -> BgColorDisplay<'_, White, Self>
Source§fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
Source§fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
Source§fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
Source§fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
Source§fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
Source§fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
Source§fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
Source§fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
Source§fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
Source§fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
Source§fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
Source§fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
Source§fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
Source§fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
Source§fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
Source§fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
Source§fn bold(&self) -> BoldDisplay<'_, Self>
fn bold(&self) -> BoldDisplay<'_, Self>
Source§fn dimmed(&self) -> DimDisplay<'_, Self>
fn dimmed(&self) -> DimDisplay<'_, Self>
Source§fn italic(&self) -> ItalicDisplay<'_, Self>
fn italic(&self) -> ItalicDisplay<'_, Self>
Source§fn underline(&self) -> UnderlineDisplay<'_, Self>
fn underline(&self) -> UnderlineDisplay<'_, Self>
Source§fn blink(&self) -> BlinkDisplay<'_, Self>
fn blink(&self) -> BlinkDisplay<'_, Self>
Source§fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
Source§fn reversed(&self) -> ReversedDisplay<'_, Self>
fn reversed(&self) -> ReversedDisplay<'_, Self>
Source§fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
Source§fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::fg or
a color-specific method, such as OwoColorize::green, Read moreSource§fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::bg or
a color-specific method, such as OwoColorize::on_yellow, Read more