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
Port
Signal
Register
Memory
Fifo
Bus
Parameter
Fsm
Counter
Arbiter
Decoder
Mux
Clock
Reset
Interrupt
Handshake
Pipeline
Transaction
DataPath
Address
Configuration
SafetyProperty
LivenessProperty
FairnessProperty
ResponseProperty
MutexProperty
StabilityProperty
Trait Implementations§
Source§impl Clone for HwEntityType
impl Clone for HwEntityType
Source§fn clone(&self) -> HwEntityType
fn clone(&self) -> HwEntityType
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for HwEntityType
impl Debug for HwEntityType
Source§impl<'de> Deserialize<'de> for HwEntityType
impl<'de> Deserialize<'de> for HwEntityType
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>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for HwEntityType
impl PartialEq for HwEntityType
Source§impl Serialize for HwEntityType
impl Serialize for HwEntityType
impl StructuralPartialEq for HwEntityType
Auto Trait Implementations§
impl Freeze for HwEntityType
impl RefUnwindSafe for HwEntityType
impl Send for HwEntityType
impl Sync for HwEntityType
impl Unpin for HwEntityType
impl UnwindSafe for HwEntityType
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
Mutably borrows from an owned value. Read more