Expand description
Schematic cell intermediate representation (SCIR).
An intermediate-level representation of schematic cells and instances.
Unlike higher-level Substrate APIs, the structures in this crate use strings, rather than generics, to specify ports and connections.
This format is designed to be easy to generate from high-level APIs and easy to parse from lower-level formats, such as SPICE or structural Verilog.
SCIR supports single-bit wires and 1-dimensional buses. Higher-dimensional buses should be flattened to 1-dimensional buses or single bits when converting to SCIR.
Single-bit wires are not exactly the same as single-bit buses:
A single bit wire named x
will typically be exported to netlists as x
,
unless the name contains reserved characters or is a keyword in the target
netlist format.
On the other hand, a bus named x
with width 1
will typically be exported as x[0]
.
Furthermore, whenever a 1-bit bus is used, a zero index must be specified.
However, single bit wires require that no index is specified.
Zero-width buses are not supported.
Modules§
- SCIR driver validation.
- Merge SCIR libraries.
- Traits and definitions associated with schemas, or data formats used for storing SCIR libraries.
- SCIR validation utilities.
Structs§
- A path to an instance in a SCIR library with annotated metadata.
- An element of an
AnnotatedInstancePath
. - A cell.
- An opaque cell identifier.
- A concatenation of multiple slices.
- An instance of a child cell placed inside a parent cell.
- An opaque instance identifier.
- A path to an instance in a SCIR library.
- Issues encountered when validating a SCIR library.
- A SCIR library that is guaranteed to be valid (with the exception of primitives, which are opaque to SCIR).
- A library of SCIR cells with schema
S
. - A path of strings to an instance or signal in a SCIR library.
- A single bit wire or a portion of a bus signal addressed by name.
- A single bit wire or a single bit of a bus signal addressed by name.
- Metadata associated with the conversion from a SCIR cell to a netlisted subcircuit.
- Metadata associated with the conversion from a SCIR library to a netlist.
- A signal exposed by a cell.
- An opaque primitive identifier.
- An opaque signal identifier.
- Information about a signal in a cell.
- A single bit wire or a portion of a bus signal.
- A single bit wire or a single bit of a bus signal.
- A path to a nested
SliceOne
. - A path to a nested
Slice
. - A range of bus indices.
Enums§
- The ID of an instance’s child.
- Port directions.
- The cell within an
InstancePath
. - The cell within an
InstancePath
. - An element of an
InstancePath
. - An element of an
InstancePath
. - A value of a parameter.
- The end of a signal path.
Traits§
- Index into an object.