pub trait ConvertibleNetlister<S: Schema + ?Sized> {
    type Error: Into<Error>;
    type Options<'a>;

    // Required method
    fn write_scir_netlist<W: Write>(
        &self,
        lib: &Library<S>,
        out: &mut W,
        opts: Self::Options<'_>
    ) -> Result<NetlistLibConversion, Self::Error>;

    // Provided methods
    fn write_scir_netlist_to_file(
        &self,
        lib: &Library<S>,
        path: impl AsRef<Path>,
        opts: Self::Options<'_>
    ) -> Result<NetlistLibConversion> { ... }
    fn write_netlist<B: Schematic<S>, W: Write>(
        &self,
        ctx: &Context,
        block: B,
        out: &mut W,
        opts: Self::Options<'_>
    ) -> Result<(RawLib<S>, NetlistLibConversion)> { ... }
    fn write_netlist_to_file<B: Schematic<S>>(
        &self,
        ctx: &Context,
        block: B,
        path: impl AsRef<Path>,
        opts: Self::Options<'_>
    ) -> Result<(RawLib<S>, NetlistLibConversion)> { ... }
}
Expand description

A netlister that tracks how cells and instances are translated between SCIR and the output netlist format.

Required Associated Types§

source

type Error: Into<Error>

The error type returned when writing out a SCIR netlist.

source

type Options<'a>

The netlist options type.

Many netlisters accept options, allowing the user to configure things like netlist indentation, naming conventions, etc. This is the type of the object that stores those options.

Required Methods§

source

fn write_scir_netlist<W: Write>( &self, lib: &Library<S>, out: &mut W, opts: Self::Options<'_> ) -> Result<NetlistLibConversion, Self::Error>

Writes a netlist of a SCIR library to the provided output stream.

Provided Methods§

source

fn write_scir_netlist_to_file( &self, lib: &Library<S>, path: impl AsRef<Path>, opts: Self::Options<'_> ) -> Result<NetlistLibConversion>

Writes a netlist of a SCIR library to a file at the given path.

The file and any parent directories will be created if necessary.

source

fn write_netlist<B: Schematic<S>, W: Write>( &self, ctx: &Context, block: B, out: &mut W, opts: Self::Options<'_> ) -> Result<(RawLib<S>, NetlistLibConversion)>

Writes a netlist of a Substrate block to the given output stream.

source

fn write_netlist_to_file<B: Schematic<S>>( &self, ctx: &Context, block: B, path: impl AsRef<Path>, opts: Self::Options<'_> ) -> Result<(RawLib<S>, NetlistLibConversion)>

Writes a netlist of a Substrate block to a file at the given path.

The file and any parent directories will be created if necessary.

Object Safety§

This trait is not object safe.

Implementors§