Sensitization

Struct Sensitization 

Source
pub struct Sensitization<C: Ctx> {
    pub name: String,
    pub extra_ctx: C::Other,
    pub attributes: Attributes,
    pub pin_names: Vec<String>,
    pub vector: Vec<SensitizationVector>,
    /* private fields */
}
Expand description

The sensitization group defined at the library level describes.

the complete state patterns for a specific list of pins (defined by the pin_names attribute) that are referenced and instantiated as stimuli in the timing arc.

Vector attributes in the group define all possible pin states used as stimuli. Actual stimulus waveforms can be described by a combination of these vectors. Multiple sensitization groups are allowed in a library. Each sensitization group can be referenced by multiple cells, and each cell can make reference to multiple sensitization groups.

Reference

Fields§

§name: String

name

§extra_ctx: C::Other§attributes: Attributes

group undefined attributes

§pin_names: Vec<String>

The pin_names attribute specified at the library level defines a default list of pin names. All vectors in this sensitization group are the exhaustive list of all possible transitions of the input pins and their subsequent output response.

The pin_names attribute is required, and it must be declared in the sensitization group before all vector declarations. Reference

§vector: Vec<SensitizationVector>

§vector Complex Attribute

Similar to the pin_names attribute, the vector attribute describes a transition pattern for the specified pins. The stimulus is described by an ordered list of vectors.

The arguments for the vector attribute are as follows:

vector id

The vector id argument is an identifier to the vector string (a number tag that defines the list of possible sensitization combinations in a cell). The vector id value must be an integer greater than or equal to zero and unique among all vectors in the current sensitization group. It is recommended that you start numbering from 0 or 1.

vector string

The vector string argument represents a pin transition state. The string consists of the following transition status values: 0, 1, X, and Z where each character is separated by a space. The number of elements in the vector string must equal the number of arguments in pin_names.

The vector attribute can also be declared as:

vector (positive_integer, "{0|1|X|Z} [0|1|X|Z]…");

§Syntax

vector (integer, string);

§Example

sensitization(sensitization_nand2) {
  pin_names ( IN1, IN2, OUT1 );
  vector ( 1, "0 0 1" );
  vector ( 2, "0 1 1" );
  vector ( 3, "1 0 1" );
  vector ( 4, "1 1 0" );
}

Reference

Implementations§

Source§

impl<C: Ctx> Sensitization<C>

Source

pub fn comments_this(&self) -> Option<&String>

Source

pub fn comments_this_entry<'a>(&'a mut self) -> Entry<'a, u64, String>

Source

pub fn comments_pin_names(&self) -> Option<&String>

Source

pub fn comments_pin_names_entry<'a>(&'a mut self) -> Entry<'a, u64, String>

Trait Implementations§

Source§

impl<C: Ctx> Borrow<String> for Sensitization<C>

Source§

fn borrow(&self) -> &SensitizationId

Immutably borrows from an owned value. Read more
Source§

impl<C: Ctx> Borrow<str> for Sensitization<C>

Source§

fn borrow(&self) -> &str

Immutably borrows from an owned value. Read more
Source§

impl<C: Clone + Ctx> Clone for Sensitization<C>
where C::Other: Clone,

Source§

fn clone(&self) -> Sensitization<C>

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<C: Debug + Ctx> Debug for Sensitization<C>
where C::Other: Debug,

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de, C: Ctx> Deserialize<'de> for Sensitization<C>

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl<C: Ctx> Item for Sensitization<C>

Source§

type Id = String

Source§

type IdReadonlyItem = IdReadonlySensitization<C>

Source§

unsafe fn __unsafe_deref_mut(&self) -> &mut Self::IdReadonlyItem

Safety Read more
Source§

fn id(&self) -> &Self::Id

Source§

fn id_readonly(&mut self) -> &mut Self::IdReadonlyItem

Source§

impl<C: Ctx> Serialize for Sensitization<C>

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

§

impl<C> Freeze for Sensitization<C>
where <C as Ctx>::Other: Freeze,

§

impl<C> RefUnwindSafe for Sensitization<C>
where <C as Ctx>::Other: RefUnwindSafe,

§

impl<C> Send for Sensitization<C>
where <C as Ctx>::Other: Send,

§

impl<C> Sync for Sensitization<C>
where <C as Ctx>::Other: Sync,

§

impl<C> Unpin for Sensitization<C>
where <C as Ctx>::Other: Unpin,

§

impl<C> UnwindSafe for Sensitization<C>
where <C as Ctx>::Other: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<Q, K> Comparable<K> for Q
where Q: Ord + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn compare(&self, key: &K) -> Ordering

Compare self to key and return their ordering.
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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 more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> Ungil for T
where T: Send,