pub enum EdgeTransition {
ZeroOne,
OneZero,
ZeroX,
XZero,
OneX,
XOne,
}Expand description
One of the six transitions an edge-control specifier can name (LRM 31.5):
01, 10, 0x, x0, 1x, x1. z is folded into x (“Edge
transitions involving z are treated the same way as edge transitions
involving x”), so there is no 0z/z1/… variant, and a transition from
x to z (or back) is none of the six.
Variants§
Implementations§
Source§impl EdgeTransition
impl EdgeTransition
Sourcepub const ALL: [EdgeTransition; 6]
pub const ALL: [EdgeTransition; 6]
All six, in the order of 31.5’s list.
Sourcepub fn reversed(self) -> EdgeTransition
pub fn reversed(self) -> EdgeTransition
The transition in the other direction: 01<->10, 0x<->x0,
x1<->1x. $width’s data event is “reference event signal with
opposite edge” (LRM 31.4.4) and this is the one place that says what the
opposite of each of the six is; posedge (01, 0x, x1) and negedge
(10, x0, 1x) come out as each other’s reversal.
Sourcepub fn of_descriptor(d: &str) -> Option<EdgeTransition>
pub fn of_descriptor(d: &str) -> Option<EdgeTransition>
The transition a descriptor spells (01, 0x, Z1, …), None if
d is not one of 31.5’s edge_descriptor productions
(01 | 10 | z_or_x zero_or_one | zero_or_one z_or_x, case-insensitive
x/z, no embedded space).
Trait Implementations§
Source§impl Clone for EdgeTransition
impl Clone for EdgeTransition
impl Copy for EdgeTransition
Source§impl Debug for EdgeTransition
impl Debug for EdgeTransition
Source§impl<'de> Deserialize<'de> for EdgeTransition
impl<'de> Deserialize<'de> for EdgeTransition
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for EdgeTransition
Source§impl Hash for EdgeTransition
impl Hash for EdgeTransition
Source§impl PartialEq for EdgeTransition
impl PartialEq for EdgeTransition
Source§impl Serialize for EdgeTransition
impl Serialize for EdgeTransition
impl StructuralPartialEq for EdgeTransition
Auto Trait Implementations§
impl Freeze for EdgeTransition
impl RefUnwindSafe for EdgeTransition
impl Send for EdgeTransition
impl Sync for EdgeTransition
impl Unpin for EdgeTransition
impl UnsafeUnpin for EdgeTransition
impl UnwindSafe for EdgeTransition
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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.