substrate::types

Derive Macro Io

Source
#[derive(Io)]
{
    // Attributes available to this derive:
    #[substrate]
}
Expand description

Derives Io for a struct.

§Examples

By default, deriving Io for a struct creates two new structs, one corresponding to the IO’s BundleKind and the other to relevant views of the IO. Relevant schematic and layout traits are automatically implemented using these two additional structs.

#[derive(Io, Clone, Copy, Default)]
pub struct BufferIo {
    vdd: InOut<Signal>,
    vss: InOut<Signal>,
    din: Input<Signal>,
    dout: Output<Signal>,
}