HwEntityType

Enum HwEntityType 

Source
pub enum HwEntityType {
Show 28 variants Module { name: String, is_top: bool, }, Port { direction: PortDirection, width: u32, domain: Option<String>, }, Signal { width: u32, signal_type: SignalType, domain: Option<String>, }, Register { width: u32, reset_value: Option<u64>, clock: Option<String>, }, Memory { depth: u32, width: u32, ports: u8, }, Fifo { depth: u32, width: u32, }, Bus { width: u32, protocol: Option<String>, }, Parameter { value: String, }, Fsm { states: Vec<String>, initial: Option<String>, }, Counter { width: u32, direction: CounterDirection, }, Arbiter { scheme: ArbitrationScheme, ports: u8, }, Decoder { input_width: u32, output_width: u32, }, Mux { inputs: u8, select_width: u32, }, Clock { frequency: Option<String>, domain: String, }, Reset { polarity: ResetPolarity, synchronous: bool, }, Interrupt { priority: Option<u8>, edge_triggered: bool, }, Handshake { valid_signal: String, ready_signal: String, }, Pipeline { stages: u32, stall_signal: Option<String>, }, Transaction { request: String, response: String, }, DataPath { width: u32, signed: bool, }, Address { width: u32, base: Option<u64>, range: Option<u64>, }, Configuration { fields: Vec<String>, }, SafetyProperty { formula: String, }, LivenessProperty { formula: String, }, FairnessProperty { formula: String, }, ResponseProperty { trigger: String, response: String, bound: Option<u32>, }, MutexProperty { signals: Vec<String>, }, StabilityProperty { signal: String, condition: String, },
}
Expand description

Formal hardware entity types with parameterized attributes.

28 variants organized into 6 categories:

  • Structural (8): Module, Port, Signal, Register, Memory, Fifo, Bus, Parameter
  • Control (5): Fsm, Counter, Arbiter, Decoder, Mux
  • Temporal (3): Clock, Reset, Interrupt
  • Protocol (3): Handshake, Pipeline, Transaction
  • Data (3): DataPath, Address, Configuration
  • Property (6): SafetyProperty, LivenessProperty, FairnessProperty, ResponseProperty, MutexProperty, StabilityProperty

Variants§

§

Module

Fields

§name: String
§is_top: bool
§

Port

Fields

§direction: PortDirection
§width: u32
§domain: Option<String>
§

Signal

Fields

§width: u32
§signal_type: SignalType
§domain: Option<String>
§

Register

Fields

§width: u32
§reset_value: Option<u64>
§

Memory

Fields

§depth: u32
§width: u32
§ports: u8
§

Fifo

Fields

§depth: u32
§width: u32
§

Bus

Fields

§width: u32
§protocol: Option<String>
§

Parameter

Fields

§value: String
§

Fsm

Fields

§states: Vec<String>
§initial: Option<String>
§

Counter

Fields

§width: u32
§

Arbiter

Fields

§ports: u8
§

Decoder

Fields

§input_width: u32
§output_width: u32
§

Mux

Fields

§inputs: u8
§select_width: u32
§

Clock

Fields

§frequency: Option<String>
§domain: String
§

Reset

Fields

§polarity: ResetPolarity
§synchronous: bool
§

Interrupt

Fields

§priority: Option<u8>
§edge_triggered: bool
§

Handshake

Fields

§valid_signal: String
§ready_signal: String
§

Pipeline

Fields

§stages: u32
§stall_signal: Option<String>
§

Transaction

Fields

§request: String
§response: String
§

DataPath

Fields

§width: u32
§signed: bool
§

Address

Fields

§width: u32
§base: Option<u64>
§range: Option<u64>
§

Configuration

Fields

§fields: Vec<String>
§

SafetyProperty

Fields

§formula: String
§

LivenessProperty

Fields

§formula: String
§

FairnessProperty

Fields

§formula: String
§

ResponseProperty

Fields

§trigger: String
§response: String
§bound: Option<u32>
§

MutexProperty

Fields

§signals: Vec<String>
§

StabilityProperty

Fields

§signal: String
§condition: String

Trait Implementations§

Source§

impl Clone for HwEntityType

Source§

fn clone(&self) -> HwEntityType

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for HwEntityType

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for HwEntityType

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for HwEntityType

Source§

fn eq(&self, other: &HwEntityType) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for HwEntityType

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for HwEntityType

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,