pub struct MosIoKind{
pub d: <InOut<Signal> as HasBundleKind>::BundleKind,
pub g: <Input<Signal> as HasBundleKind>::BundleKind,
pub s: <InOut<Signal> as HasBundleKind>::BundleKind,
pub b: <InOut<Signal> as HasBundleKind>::BundleKind,
}
Expand description
The interface to a standard 4-terminal MOSFET.
Fields§
§d: <InOut<Signal> as HasBundleKind>::BundleKind
The drain.
g: <Input<Signal> as HasBundleKind>::BundleKind
The gate.
s: <InOut<Signal> as HasBundleKind>::BundleKind
The source.
b: <InOut<Signal> as HasBundleKind>::BundleKind
The body.
Trait Implementations§
Source§impl Clone for MosIoKindwhere
InOut<Signal>: HasBundleKind,
Input<Signal>: HasBundleKind,
<InOut<Signal> as HasBundleKind>::BundleKind: Clone,
<Input<Signal> as HasBundleKind>::BundleKind: Clone,
impl Clone for MosIoKindwhere
InOut<Signal>: HasBundleKind,
Input<Signal>: HasBundleKind,
<InOut<Signal> as HasBundleKind>::BundleKind: Clone,
<Input<Signal> as HasBundleKind>::BundleKind: Clone,
Source§impl Debug for MosIoKindwhere
InOut<Signal>: HasBundleKind,
Input<Signal>: HasBundleKind,
<InOut<Signal> as HasBundleKind>::BundleKind: Debug,
<Input<Signal> as HasBundleKind>::BundleKind: Debug,
impl Debug for MosIoKindwhere
InOut<Signal>: HasBundleKind,
Input<Signal>: HasBundleKind,
<InOut<Signal> as HasBundleKind>::BundleKind: Debug,
<Input<Signal> as HasBundleKind>::BundleKind: Debug,
Source§impl FlatLen for MosIoKindwhere
InOut<Signal>: HasBundleKind,
Input<Signal>: HasBundleKind,
<InOut<Signal> as HasBundleKind>::BundleKind: FlatLen,
<Input<Signal> as HasBundleKind>::BundleKind: FlatLen,
impl FlatLen for MosIoKindwhere
InOut<Signal>: HasBundleKind,
Input<Signal>: HasBundleKind,
<InOut<Signal> as HasBundleKind>::BundleKind: FlatLen,
<Input<Signal> as HasBundleKind>::BundleKind: FlatLen,
Source§impl HasBundleKind for MosIoKindwhere
InOut<Signal>: HasBundleKind,
Input<Signal>: HasBundleKind,
<InOut<Signal> as HasBundleKind>::BundleKind: HasBundleKind,
<Input<Signal> as HasBundleKind>::BundleKind: HasBundleKind,
impl HasBundleKind for MosIoKindwhere
InOut<Signal>: HasBundleKind,
Input<Signal>: HasBundleKind,
<InOut<Signal> as HasBundleKind>::BundleKind: HasBundleKind,
<Input<Signal> as HasBundleKind>::BundleKind: HasBundleKind,
Source§type BundleKind = MosIoKind
type BundleKind = MosIoKind
The Rust type of the
BundleKind
associated with this bundle.Source§fn kind(&self) -> <Self as HasBundleKind>::BundleKind
fn kind(&self) -> <Self as HasBundleKind>::BundleKind
Returns the
BundleKind
of this bundle.Source§impl HasNameTree for MosIoKindwhere
InOut<Signal>: HasBundleKind,
Input<Signal>: HasBundleKind,
<InOut<Signal> as HasBundleKind>::BundleKind: HasBundleKind,
<Input<Signal> as HasBundleKind>::BundleKind: HasBundleKind,
impl HasNameTree for MosIoKindwhere
InOut<Signal>: HasBundleKind,
Input<Signal>: HasBundleKind,
<InOut<Signal> as HasBundleKind>::BundleKind: HasBundleKind,
<Input<Signal> as HasBundleKind>::BundleKind: HasBundleKind,
Source§impl HasNodeBundle for MosIoKindwhere
InOut<Signal>: HasBundleKind + HasSchematicBundleKindViews,
Input<Signal>: HasBundleKind + HasSchematicBundleKindViews,
<InOut<Signal> as HasBundleKind>::BundleKind: HasNodeBundle,
<Input<Signal> as HasBundleKind>::BundleKind: HasNodeBundle,
impl HasNodeBundle for MosIoKindwhere
InOut<Signal>: HasBundleKind + HasSchematicBundleKindViews,
Input<Signal>: HasBundleKind + HasSchematicBundleKindViews,
<InOut<Signal> as HasBundleKind>::BundleKind: HasNodeBundle,
<Input<Signal> as HasBundleKind>::BundleKind: HasNodeBundle,
Source§type NodeBundle = MosIoView<NodeBundle>
type NodeBundle = MosIoView<NodeBundle>
The associated node bundle.
Source§impl HasTerminalBundle for MosIoKindwhere
InOut<Signal>: HasBundleKind + HasSchematicBundleKindViews,
Input<Signal>: HasBundleKind + HasSchematicBundleKindViews,
<InOut<Signal> as HasBundleKind>::BundleKind: HasTerminalBundle,
<Input<Signal> as HasBundleKind>::BundleKind: HasTerminalBundle,
impl HasTerminalBundle for MosIoKindwhere
InOut<Signal>: HasBundleKind + HasSchematicBundleKindViews,
Input<Signal>: HasBundleKind + HasSchematicBundleKindViews,
<InOut<Signal> as HasBundleKind>::BundleKind: HasTerminalBundle,
<Input<Signal> as HasBundleKind>::BundleKind: HasTerminalBundle,
Source§type TerminalBundle = MosIoView<TerminalBundle>
type TerminalBundle = MosIoView<TerminalBundle>
The associated terminal bundle.
Source§impl PartialEq for MosIoKindwhere
InOut<Signal>: HasBundleKind,
Input<Signal>: HasBundleKind,
<InOut<Signal> as HasBundleKind>::BundleKind: Debug,
<Input<Signal> as HasBundleKind>::BundleKind: Debug,
impl PartialEq for MosIoKindwhere
InOut<Signal>: HasBundleKind,
Input<Signal>: HasBundleKind,
<InOut<Signal> as HasBundleKind>::BundleKind: Debug,
<Input<Signal> as HasBundleKind>::BundleKind: Debug,
Source§impl SchematicBundleKind for MosIoKindwhere
InOut<Signal>: HasBundleKind + HasSchematicBundleKindViews,
Input<Signal>: HasBundleKind + HasSchematicBundleKindViews,
impl SchematicBundleKind for MosIoKindwhere
InOut<Signal>: HasBundleKind + HasSchematicBundleKindViews,
Input<Signal>: HasBundleKind + HasSchematicBundleKindViews,
Source§fn terminal_view(
cell: CellId,
cell_io: &NodeBundle<Self>,
instance: InstanceId,
instance_io: &NodeBundle<Self>,
) -> TerminalBundle<Self>
fn terminal_view( cell: CellId, cell_io: &NodeBundle<Self>, instance: InstanceId, instance_io: &NodeBundle<Self>, ) -> TerminalBundle<Self>
Creates a terminal view of the object given a parent node, the cell IO, and the instance IO.
Source§impl<SubstrateV, SubstrateS> Unflatten<MosIoKind, SubstrateS> for MosIoView<SubstrateV>where
InOut<Signal>: HasView<SubstrateV> + HasBundleKind,
Input<Signal>: HasView<SubstrateV> + HasBundleKind,
<InOut<Signal> as HasView<SubstrateV>>::View: Unflatten<<InOut<Signal> as HasBundleKind>::BundleKind, SubstrateS>,
<Input<Signal> as HasView<SubstrateV>>::View: Unflatten<<Input<Signal> as HasBundleKind>::BundleKind, SubstrateS>,
impl<SubstrateV, SubstrateS> Unflatten<MosIoKind, SubstrateS> for MosIoView<SubstrateV>where
InOut<Signal>: HasView<SubstrateV> + HasBundleKind,
Input<Signal>: HasView<SubstrateV> + HasBundleKind,
<InOut<Signal> as HasView<SubstrateV>>::View: Unflatten<<InOut<Signal> as HasBundleKind>::BundleKind, SubstrateS>,
<Input<Signal> as HasView<SubstrateV>>::View: Unflatten<<Input<Signal> as HasBundleKind>::BundleKind, SubstrateS>,
impl Eq for MosIoKindwhere
InOut<Signal>: HasBundleKind,
Input<Signal>: HasBundleKind,
<InOut<Signal> as HasBundleKind>::BundleKind: Eq,
<Input<Signal> as HasBundleKind>::BundleKind: Eq,
Auto Trait Implementations§
impl Freeze for MosIoKind
impl RefUnwindSafe for MosIoKind
impl Send for MosIoKind
impl Sync for MosIoKind
impl Unpin for MosIoKind
impl UnwindSafe for MosIoKind
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> DataView<Array<Signal>> for Twhere
T: SchematicBundleKind,
impl<T> DataView<Array<Signal>> for Twhere
T: SchematicBundleKind,
Source§fn view_nodes_as(
nodes: &<<T as HasBundleKind>::BundleKind as HasNodeBundle>::NodeBundle,
) -> <<Array<Signal> as HasBundleKind>::BundleKind as HasNodeBundle>::NodeBundle
fn view_nodes_as( nodes: &<<T as HasBundleKind>::BundleKind as HasNodeBundle>::NodeBundle, ) -> <<Array<Signal> as HasBundleKind>::BundleKind as HasNodeBundle>::NodeBundle
Views a node bundle as a node bundle of a different kind.
Source§fn view_terminals_as(terminals: &TerminalBundle<Self>) -> TerminalBundle<T>
fn view_terminals_as(terminals: &TerminalBundle<Self>) -> TerminalBundle<T>
Views a terminal bundle as a terminal bundle of a different kind.
§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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§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> 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