forked from libre-chip/fayalite
33 lines
647 B
Rust
33 lines
647 B
Rust
// SPDX-License-Identifier: LGPL-3.0-or-later
|
|
// See Notices.txt for copyright information
|
|
use fayalite::{
|
|
int::UInt,
|
|
ty::{StaticValue, Value},
|
|
};
|
|
|
|
#[derive(Value, Clone, Hash, PartialEq, Eq, Debug)]
|
|
#[hdl(outline_generated)]
|
|
pub struct S<T> {
|
|
pub a: T,
|
|
b: UInt<3>,
|
|
}
|
|
|
|
#[derive(Value, Clone, Hash, PartialEq, Eq, Debug)]
|
|
#[hdl(outline_generated)]
|
|
pub enum E<T> {
|
|
A,
|
|
B {},
|
|
C(),
|
|
D(UInt<3>),
|
|
E { a: UInt<3> },
|
|
F(UInt<3>, UInt<3>),
|
|
G(T),
|
|
H(T, UInt<1>),
|
|
}
|
|
|
|
#[derive(Value, Clone, Hash, PartialEq, Eq, Debug)]
|
|
#[hdl(outline_generated, static, where(T: StaticValue))]
|
|
pub struct S2<T> {
|
|
pub v: E<T>,
|
|
}
|