memea::config

Struct Config

Source
pub struct Config {
    pub name: Option<String>,
    pub n: usize,
    pub m: usize,
    pub cell: String,
    pub bl: Option<Vec<Float>>,
    pub wl: Option<Vec<Float>>,
    pub well: Option<Vec<Float>>,
    pub adcs: Option<usize>,
    pub bits: Option<usize>,
    pub fs: Option<Float>,
    pub options: Option<HashMap<String, String>>,
}
Expand description

Represents one memory configuration for peripheral estimation.

This struct is typically deserialized from YAML or JSON using serde. It contains both essential and optional parameters that control the peripheral estimation process.

§Examples

name: 64-64
n: 128
m: 64
bl: [1, 2, 0]
wl: [4, 2.5, 0, 1]
well: [0, 4]
cell: 1FeFET_100
enob: 1
fs: 1e9
adcs: 64

Fields§

§name: Option<String>

Name of the configuration. If not supplied, the file path will be used.

§n: usize

Number of rows in the memory array.

§m: usize

Number of columns in the memory array.

§cell: String

Memory cell type to use for estimation.

§bl: Option<Vec<Float>>

Bitline voltages

§wl: Option<Vec<Float>>

Wordline voltages

§well: Option<Vec<Float>>

Voltages required for well biasing

§adcs: Option<usize>

Number of downstream analog-to-digital converters.

§bits: Option<usize>

Number of bits required for ADCs.

§fs: Option<Float>

Sampling rate of the ADCs in Hz.

§options: Option<HashMap<String, String>>

Additional configuration options as key-value pairs.

Trait Implementations§

Source§

impl Debug for Config

Source§

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

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

impl<'de> Deserialize<'de> for Config

Source§

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

Deserialize this value from the given Serde deserializer. Read more

Auto Trait Implementations§

§

impl Freeze for Config

§

impl RefUnwindSafe for Config

§

impl Send for Config

§

impl Sync for Config

§

impl Unpin for Config

§

impl UnwindSafe for Config

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> 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, 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<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,