prjunnamed_netlist

Struct Design

Source
pub struct Design { /* private fields */ }
Expand description

Sea of Cells.

Implementations§

Source§

impl Design

Source

pub fn new() -> Design

Source

pub fn with_target(target: Option<Arc<dyn Target>>) -> Design

Source

pub fn add_io(&self, name: impl Into<String>, width: usize) -> IoValue

Source

pub fn get_io(&self, name: impl AsRef<str>) -> Option<IoValue>

Source

pub fn find_io(&self, io_net: IoNet) -> Option<(&str, usize)>

Source

pub fn iter_ios(&self) -> impl Iterator<Item = (&str, IoValue)>

Source

pub fn add_cell_with_metadata_ref( &self, cell: Cell, metadata: MetaItemRef<'_>, ) -> Value

Source

pub fn add_cell_with_metadata( &self, cell: Cell, metadata: &MetaItem<'_>, ) -> Value

Source

pub fn use_metadata(&self, item: MetaItemRef<'_>) -> WithMetadataGuard<'_>

Source

pub fn use_metadata_from( &self, cell_refs: &[CellRef<'_>], ) -> WithMetadataGuard<'_>

Source

pub fn add_cell(&self, cell: Cell) -> Value

Source

pub fn add_void(&self, width: usize) -> Value

Source

pub fn find_cell(&self, net: Net) -> Result<(CellRef<'_>, usize), Trit>

Source

pub fn iter_cells(&self) -> CellIter<'_>

Source

pub fn add_metadata_string(&self, string: &str) -> MetaStringRef<'_>

Source

pub fn add_metadata_item(&self, item: &MetaItem<'_>) -> MetaItemRef<'_>

Source

pub fn replace_net(&self, from_net: impl Into<Net>, to_net: impl Into<Net>)

Source

pub fn replace_value<'a, 'b>( &self, from_value: impl Into<Cow<'a, Value>>, to_value: impl Into<Cow<'b, Value>>, )

Source

pub fn map_net(&self, net: impl Into<Net>) -> Net

Source

pub fn map_value(&self, value: impl Into<Value>) -> Value

Source

pub fn is_empty(&self) -> bool

Source

pub fn is_changed(&self) -> bool

Source

pub fn verify<SMT: SmtEngine>(&self, engine: SMT) -> Result<(), SMT::Error>

Source

pub fn apply(&mut self) -> bool

Source

pub fn target(&self) -> Option<Arc<dyn Target>>

Source

pub fn target_prototype(&self, target_cell: &TargetCell) -> &TargetPrototype

Source§

impl Design

Source

pub fn add_buf(&self, arg: impl Into<Value>) -> Value

Source

pub fn add_buf1(&self, arg: impl Into<Net>) -> Net

Source

pub fn add_not(&self, arg: impl Into<Value>) -> Value

Source

pub fn add_not1(&self, arg: impl Into<Net>) -> Net

Source

pub fn add_and(&self, arg1: impl Into<Value>, arg2: impl Into<Value>) -> Value

Source

pub fn add_and1(&self, arg1: impl Into<Net>, arg2: impl Into<Net>) -> Net

Source

pub fn add_or(&self, arg1: impl Into<Value>, arg2: impl Into<Value>) -> Value

Source

pub fn add_or1(&self, arg1: impl Into<Net>, arg2: impl Into<Net>) -> Net

Source

pub fn add_xor(&self, arg1: impl Into<Value>, arg2: impl Into<Value>) -> Value

Source

pub fn add_xor1(&self, arg1: impl Into<Net>, arg2: impl Into<Net>) -> Net

Source

pub fn add_adc( &self, arg1: impl Into<Value>, arg2: impl Into<Value>, arg3: impl Into<Net>, ) -> Value

Source

pub fn add_eq(&self, arg1: impl Into<Value>, arg2: impl Into<Value>) -> Net

Source

pub fn add_ult(&self, arg1: impl Into<Value>, arg2: impl Into<Value>) -> Net

Source

pub fn add_slt(&self, arg1: impl Into<Value>, arg2: impl Into<Value>) -> Net

Source

pub fn add_shl( &self, arg1: impl Into<Value>, arg2: impl Into<Value>, stride: u32, ) -> Value

Source

pub fn add_ushr( &self, arg1: impl Into<Value>, arg2: impl Into<Value>, stride: u32, ) -> Value

Source

pub fn add_sshr( &self, arg1: impl Into<Value>, arg2: impl Into<Value>, stride: u32, ) -> Value

Source

pub fn add_xshr( &self, arg1: impl Into<Value>, arg2: impl Into<Value>, stride: u32, ) -> Value

Source

pub fn add_mul(&self, arg1: impl Into<Value>, arg2: impl Into<Value>) -> Value

Source

pub fn add_udiv(&self, arg1: impl Into<Value>, arg2: impl Into<Value>) -> Value

Source

pub fn add_umod(&self, arg1: impl Into<Value>, arg2: impl Into<Value>) -> Value

Source

pub fn add_sdiv_trunc( &self, arg1: impl Into<Value>, arg2: impl Into<Value>, ) -> Value

Source

pub fn add_sdiv_floor( &self, arg1: impl Into<Value>, arg2: impl Into<Value>, ) -> Value

Source

pub fn add_smod_trunc( &self, arg1: impl Into<Value>, arg2: impl Into<Value>, ) -> Value

Source

pub fn add_smod_floor( &self, arg1: impl Into<Value>, arg2: impl Into<Value>, ) -> Value

Source

pub fn add_match(&self, arg: impl Into<MatchCell>) -> Value

Source

pub fn add_assign(&self, arg: impl Into<AssignCell>) -> Value

Source

pub fn add_dff(&self, arg: impl Into<FlipFlop>) -> Value

Source

pub fn add_memory(&self, arg: impl Into<Memory>) -> Value

Source

pub fn add_iobuf(&self, arg: impl Into<IoBuffer>) -> Value

Source

pub fn add_other(&self, arg: impl Into<Instance>) -> Value

Source

pub fn add_target(&self, arg: impl Into<TargetCell>) -> Value

Source

pub fn add_input(&self, name: impl Into<String>, width: usize) -> Value

Source

pub fn add_input1(&self, name: impl Into<String>) -> Net

Source

pub fn add_output(&self, name: impl Into<String>, value: impl Into<Value>)

Source

pub fn add_name(&self, name: impl Into<String>, value: impl Into<Value>)

Source

pub fn add_debug(&self, name: impl Into<String>, value: impl Into<Value>)

Source

pub fn add_mux( &self, arg1: impl Into<ControlNet>, arg2: impl Into<Value>, arg3: impl Into<Value>, ) -> Value

Source

pub fn add_mux1( &self, arg1: impl Into<ControlNet>, arg2: impl Into<Net>, arg3: impl Into<Net>, ) -> Net

Source

pub fn add_ne(&self, arg1: impl Into<Value>, arg2: impl Into<Value>) -> Net

Source§

impl Design

Source

pub fn iter_cells_topo(&self) -> impl DoubleEndedIterator<Item = CellRef<'_>>

Source

pub fn compact(&mut self) -> bool

Source

pub fn statistics(&self) -> BTreeMap<String, usize>

Source§

impl Design

Source

pub fn display_net(&self, net: impl Into<Net>) -> impl Display + '_

Source

pub fn display_control_net( &self, net: impl Into<ControlNet>, ) -> impl Display + '_

Source

pub fn display_value<'a, 'b: 'a>( &'a self, value: impl Into<Cow<'b, Value>>, ) -> impl Display + 'a

Source

pub fn display_cell<'a>(&'a self, cell_ref: CellRef<'a>) -> impl Display + 'a

Trait Implementations§

Source§

impl Clone for Design

Source§

fn clone(&self) -> Design

Returns a copy 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 Debug for Design

Source§

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

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

impl Display for Design

Source§

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

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

impl FromStr for Design

Source§

type Err = ParseError

The associated error which can be returned from parsing.
Source§

fn from_str(source: &str) -> Result<Self, Self::Err>

Parses a string s to return a value of this type. Read more

Auto Trait Implementations§

§

impl !Freeze for Design

§

impl !RefUnwindSafe for Design

§

impl !Send for Design

§

impl !Sync for Design

§

impl Unpin for Design

§

impl !UnwindSafe for Design

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, dst: *mut u8)

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

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> 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> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. 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.