WaveContainer

Enum WaveContainer 

Source
pub enum WaveContainer {
    Wellen(Box<WellenContainer>),
    Empty,
    Cxxrtl(Box<Mutex<CxxrtlContainer>>),
}

Variants§

§

Wellen(Box<WellenContainer>)

§

Empty

A wave container that contains nothing. Currently, the only practical use for this is a placehodler when serializing and deserializing wave state.

§

Cxxrtl(Box<Mutex<CxxrtlContainer>>)

Implementations§

Source§

impl WaveContainer

Source

pub fn new_waveform(hierarchy: Arc<Hierarchy>) -> Self

Source

pub fn new_remote_waveform( server_url: String, hierarchy: Arc<Hierarchy>, ) -> Self

Source

pub fn __new_empty() -> Self

Creates a new empty wave container. Should only be used as a default for serde. If no wave container is present, the WaveData should be None, rather than this being Empty

Source

pub fn tick(&self)

Source

pub fn wants_anti_aliasing(&self) -> bool

Source

pub fn is_fully_loaded(&self) -> bool

Returns true if all requested signals have been loaded. Used for testing to make sure the GUI is at its final state before taking a snapshot.

Source

pub fn variable_names(&self) -> Vec<String>

Returns the full names of all variables in the design.

Source

pub fn variables(&self) -> Vec<VariableRef>

Source

pub fn variables_in_scope(&self, scope: &ScopeRef) -> Vec<VariableRef>

Return all variables (excluding parameters) in a scope.

Source

pub fn parameters_in_scope(&self, scope: &ScopeRef) -> Vec<VariableRef>

Return all parameters in a scope.

Source

pub fn no_variables_in_scope(&self, scope: &ScopeRef) -> bool

Return true if there are no variables or parameters in the scope.

Source

pub fn load_variables<S: AsRef<VariableRef>, T: Iterator<Item = S>>( &mut self, variables: T, ) -> Result<Option<LoadSignalsCmd>>

Loads multiple variables at once. This is useful when we want to add multiple variables in one go.

Source

pub fn load_parameters(&mut self) -> Result<Option<LoadSignalsCmd>>

Load all the parameters in the design so that the value can be displayed.

Source

pub fn on_signals_loaded( &mut self, res: LoadSignalsResult, ) -> Result<Option<LoadSignalsCmd>>

Callback for when wellen signals have been loaded. Might lead to a new load variable command since new variables might have been requested in the meantime.

Source

pub fn variable_meta<'a>( &'a self, variable: &'a VariableRef, ) -> Result<VariableMeta>

Source

pub fn query_variable( &self, variable: &VariableRef, time: &BigUint, ) -> Result<Option<QueryResult>>

Query the value of the variable at a certain time step. Returns None if we do not have any values for the variable. That generally happens if the corresponding variable is still being loaded.

Source

pub fn update_variable_ref(&self, variable: &VariableRef) -> Option<VariableRef>

Looks up the variable by name and returns a new reference with an updated id if the variable is found.

Source

pub fn scope_names(&self) -> Vec<String>

Returns the full names of all scopes in the design.

Source

pub fn metadata(&self) -> MetaData

Source

pub fn root_scopes(&self) -> Vec<ScopeRef>

Source

pub fn child_scopes(&self, scope: &ScopeRef) -> Result<Vec<ScopeRef>>

Source

pub fn max_timestamp(&self) -> Option<BigUint>

Source

pub fn scope_exists(&self, scope: &ScopeRef) -> bool

Source

pub fn get_scope_tooltip_data(&self, scope: &ScopeRef) -> String

Returns a human readable string with information about a scope. The scope name itself should not be included, since it will be prepended automatically.

Source

pub fn simulation_status(&self) -> Option<SimulationStatus>

Returns the simulation status for this wave source if it exists. Wave sources which have no simulation status should return None here, otherwise buttons for controlling simulation will be shown

Source

pub fn unpause_simulation(&self)

If WaveContainer::simulation_status is Some(SimulationStatus::Paused), attempt to unpause the simulation otherwise does nothing

Source

pub fn pause_simulation(&self)

Source

pub fn wellen_add_body( &mut self, body: BodyResult, ) -> Result<Option<LoadSignalsCmd>>

Called for wellen container, when the body of the waveform file has been parsed.

Source

pub fn body_loaded(&self) -> bool

Auto Trait Implementations§

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> Downcast for T
where T: Any,

Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.
Source§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
Source§

fn as_any(&self) -> &(dyn Any + 'static)

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
Source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
Source§

impl<T> DowncastSync for T
where T: Any + Send + Sync,

Source§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Sync + Send>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> GetSetFdFlags for T

Source§

fn get_fd_flags(&self) -> Result<FdFlags, Error>
where T: AsFilelike,

Query the “status” flags for the self file descriptor.
Source§

fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>
where T: AsFilelike,

Create a new SetFdFlags value for use with set_fd_flags. Read more
Source§

fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>
where T: AsFilelike,

Set the “status” flags for the self file descriptor. Read more
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> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Pointee for T

Source§

type Pointer = u32

Source§

fn debug( pointer: <T as Pointee>::Pointer, f: &mut Formatter<'_>, ) -> Result<(), Error>

Source§

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

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
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> ErasedDestructor for T
where T: 'static,