pub struct ClockId(pub u32);Expand description
Identifies one clock of an assertion (16.13, sva T28): the clocking events the
builder met, interned by structural equality, so two @(posedge clk) written
in different places are ONE clock and @(posedge clk) / @(negedge clk) are
two. ClockId(0) is the clock the assertion is clocked by (the event its
statement or the first clocking event met names): the clock every thread and
property starts in, and the only one a single-clock assertion has.
A Transition::Delay counts ticks of the clock its thread is in, and
Transition::ClockSync moves the thread to another one; which instants ARE
ticks of each clock is a fact about one simulation, handed to the interpreters
as a crate::sva::trace::Timeline (none: every instant is a tick of every
clock, the single-clock case).
Tuple Fields§
§0: u32Trait Implementations§
impl Copy for ClockId
impl Eq for ClockId
Source§impl Ord for ClockId
impl Ord for ClockId
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
1.21.0 (const: unstable) · Source§fn min(self, other: Self) -> Selfwhere
Self: Sized,
fn min(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialOrd for ClockId
impl PartialOrd for ClockId
impl StructuralPartialEq for ClockId
Auto Trait Implementations§
impl Freeze for ClockId
impl RefUnwindSafe for ClockId
impl Send for ClockId
impl Sync for ClockId
impl Unpin for ClockId
impl UnsafeUnpin for ClockId
impl UnwindSafe for ClockId
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.