pub struct Spice;
Expand description
The SPICE schema.
Implementations§
Source§impl Spice
impl Spice
Sourcepub fn scir_lib_from_parsed(parsed: &ParsedSpice) -> Library<Spice>
pub fn scir_lib_from_parsed(parsed: &ParsedSpice) -> Library<Spice>
Converts ParsedSpice
to a Library
.
Sourcepub fn scir_lib_from_file(path: impl AsRef<Path>) -> Library<Spice>
pub fn scir_lib_from_file(path: impl AsRef<Path>) -> Library<Spice>
Converts a SPICE file to a Library
.
Sourcepub fn scir_cell_from_parsed(
parsed: &ParsedSpice,
cell_name: &str,
) -> ScirBinding<Spice>
pub fn scir_cell_from_parsed( parsed: &ParsedSpice, cell_name: &str, ) -> ScirBinding<Spice>
Converts ParsedSpice
to an unconnected ScirBinding
associated with the cell named cell_name
.
Sourcepub fn scir_cell_from_str(source: &str, cell_name: &str) -> ScirBinding<Spice>
pub fn scir_cell_from_str(source: &str, cell_name: &str) -> ScirBinding<Spice>
Converts a SPICE string to an unconnected ScirBinding
associated with the cell named cell_name
.
Sourcepub fn scir_cell_from_file(
path: impl AsRef<Path>,
cell_name: &str,
) -> ScirBinding<Spice>
pub fn scir_cell_from_file( path: impl AsRef<Path>, cell_name: &str, ) -> ScirBinding<Spice>
Converts a SPICE file to an unconnected ScirBinding
associated with the cell named cell_name
.
Sourcepub fn node_voltage_path(
lib: &Library<Spice>,
conv: &NetlistLibConversion,
path: &SliceOnePath,
) -> String
pub fn node_voltage_path( lib: &Library<Spice>, conv: &NetlistLibConversion, path: &SliceOnePath, ) -> String
Converts a SliceOnePath
to a Spice path string corresponding to the associated
node voltage.
Sourcepub fn node_path_with_separator(
lib: &Library<Spice>,
conv: &NetlistLibConversion,
path: &SliceOnePath,
sep: &str,
) -> String
pub fn node_path_with_separator( lib: &Library<Spice>, conv: &NetlistLibConversion, path: &SliceOnePath, sep: &str, ) -> String
Converts a SliceOnePath
to a Spice path string corresponding to the associated
node voltage, using the given instance prefix hierarchy separator.
Trait Implementations§
Source§impl ConvertibleNetlister<Spice> for Spice
impl ConvertibleNetlister<Spice> for Spice
Source§impl ConvertibleNetlister<Spice> for Spice
impl ConvertibleNetlister<Spice> for Spice
Source§fn write_netlist<B, W>(
&self,
ctx: &Context,
block: B,
out: &mut W,
opts: Self::Options<'_>,
) -> Result<(RawLib<S>, NetlistLibConversion), Error>
fn write_netlist<B, W>( &self, ctx: &Context, block: B, out: &mut W, opts: Self::Options<'_>, ) -> Result<(RawLib<S>, NetlistLibConversion), Error>
Writes a netlist of a Substrate block to the given output stream.
Source§impl FromSchema<NoSchema> for Spice
impl FromSchema<NoSchema> for Spice
Source§impl HasSpiceLikeNetlist for Spice
impl HasSpiceLikeNetlist for Spice
Source§fn write_prelude<W: Write>(
&self,
out: &mut W,
lib: &Library<Self>,
) -> Result<()>
fn write_prelude<W: Write>( &self, out: &mut W, lib: &Library<Self>, ) -> Result<()>
Writes a prelude to the beginning of the output stream. Read more
Source§fn write_include<W: Write>(&self, out: &mut W, include: &Include) -> Result<()>
fn write_include<W: Write>(&self, out: &mut W, include: &Include) -> Result<()>
Writes an include statement. Read more
Source§fn write_start_subckt<W: Write>(
&self,
out: &mut W,
name: &ArcStr,
ports: &[&SignalInfo],
) -> Result<()>
fn write_start_subckt<W: Write>( &self, out: &mut W, name: &ArcStr, ports: &[&SignalInfo], ) -> Result<()>
Writes a begin subcircuit statement. Read more
Source§fn write_end_subckt<W: Write>(&self, out: &mut W, name: &ArcStr) -> Result<()>
fn write_end_subckt<W: Write>(&self, out: &mut W, name: &ArcStr) -> Result<()>
Writes an end subcircuit statement. Read more
Source§fn write_instance<W: Write>(
&self,
out: &mut W,
name: &ArcStr,
connections: Vec<ArcStr>,
child: &ArcStr,
) -> Result<ArcStr>
fn write_instance<W: Write>( &self, out: &mut W, name: &ArcStr, connections: Vec<ArcStr>, child: &ArcStr, ) -> Result<ArcStr>
Writes a SCIR instance. Read more
Source§fn write_primitive_inst<W: Write>(
&self,
out: &mut W,
name: &ArcStr,
connections: HashMap<ArcStr, Vec<ArcStr>>,
primitive: &<Self as Schema>::Primitive,
) -> Result<ArcStr>
fn write_primitive_inst<W: Write>( &self, out: &mut W, name: &ArcStr, connections: HashMap<ArcStr, Vec<ArcStr>>, primitive: &<Self as Schema>::Primitive, ) -> Result<ArcStr>
Writes a primitive instantiation. Read more
Source§fn write_slice<W: Write>(
&self,
out: &mut W,
slice: Slice,
info: &SignalInfo,
) -> Result<()>
fn write_slice<W: Write>( &self, out: &mut W, slice: Slice, info: &SignalInfo, ) -> Result<()>
Writes a slice. Read more
Source§impl StringPathSchema for Spice
impl StringPathSchema for Spice
Source§fn node_path(
lib: &Library<Self>,
conv: &NetlistLibConversion,
path: &SliceOnePath,
) -> String
fn node_path( lib: &Library<Self>, conv: &NetlistLibConversion, path: &SliceOnePath, ) -> String
Convert a node path to a raw string.
Auto Trait Implementations§
impl Freeze for Spice
impl RefUnwindSafe for Spice
impl Send for Spice
impl Sync for Spice
impl Unpin for Spice
impl UnwindSafe for Spice
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
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
, which can then be
downcast
into Box<dyn ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
, which can then be further
downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.§impl<T> DowncastSend for T
impl<T> DowncastSend for T
§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<S> FromSchema<S> for S
impl<S> FromSchema<S> for S
Source§type Error = Infallible
type Error = Infallible
The conversion error type.
Source§fn convert_primitive(
primitive: <S as Schema>::Primitive,
) -> Result<<S as Schema>::Primitive, <S as FromSchema<S>>::Error>
fn convert_primitive( primitive: <S as Schema>::Primitive, ) -> Result<<S as Schema>::Primitive, <S as FromSchema<S>>::Error>
Converts a primitive of the other schema to a primitive of this schema.
Source§fn convert_instance(
_instance: &mut Instance,
_primitive: &<S as Schema>::Primitive,
) -> Result<(), <S as FromSchema<S>>::Error>
fn convert_instance( _instance: &mut Instance, _primitive: &<S as Schema>::Primitive, ) -> Result<(), <S as FromSchema<S>>::Error>
Converts an instance from the other schema to a new instance
based on its associated primitive.
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T
in a tonic::Request