libsurfer/
variable_type.rs
1use surfer_translation_types::VariableType;
2use wellen::VarType;
3
4#[local_impl::local_impl]
5impl VariableTypeExt for VariableType {
6 fn from_wellen_type(var_type: VarType) -> VariableType {
7 match var_type {
8 VarType::Reg => VariableType::VCDReg,
9 VarType::Wire => VariableType::VCDWire,
10 VarType::Integer => VariableType::VCDInteger,
11 VarType::Real => VariableType::VCDReal,
12 VarType::Parameter => VariableType::VCDParameter,
13 VarType::String => VariableType::VCDString,
14 VarType::Time => VariableType::VCDTime,
15 VarType::Event => VariableType::VCDEvent,
16 VarType::Supply0 => VariableType::VCDSupply0,
17 VarType::Supply1 => VariableType::VCDSupply1,
18 VarType::Tri => VariableType::VCDTri,
19 VarType::TriAnd => VariableType::VCDTriAnd,
20 VarType::TriOr => VariableType::VCDTriOr,
21 VarType::TriReg => VariableType::VCDTriReg,
22 VarType::Tri0 => VariableType::VCDTri0,
23 VarType::Tri1 => VariableType::VCDTri1,
24 VarType::WAnd => VariableType::VCDWAnd,
25 VarType::WOr => VariableType::VCDWOr,
26 VarType::Port => VariableType::Port,
27 VarType::Bit => VariableType::Bit,
28 VarType::Logic => VariableType::Logic,
29 VarType::Int => VariableType::VCDInteger,
30 VarType::Enum => VariableType::Enum,
31 VarType::SparseArray => VariableType::SparseArray,
32 VarType::RealTime => VariableType::RealTime,
33 VarType::ShortInt => VariableType::ShortInt,
34 VarType::LongInt => VariableType::LongInt,
35 VarType::Byte => VariableType::Byte,
36 VarType::ShortReal => VariableType::ShortReal,
37 VarType::Boolean => VariableType::Boolean,
38 VarType::BitVector => VariableType::BitVector,
39 VarType::StdLogic => VariableType::StdLogic,
40 VarType::StdLogicVector => VariableType::StdLogicVector,
41 VarType::StdULogic => VariableType::StdULogic,
42 VarType::StdULogicVector => VariableType::StdULogicVector,
43 }
44 }
45}
46
47pub const INTEGER_TYPES: &[Option<VariableType>] = &[
49 Some(VariableType::VCDInteger),
50 Some(VariableType::Int),
51 Some(VariableType::ShortInt),
52 Some(VariableType::LongInt),
53];