pub enum SiliconStatus {
CoreDatapath,
Datapath,
Sequencer,
LoadStore,
Coprocessor,
}Expand description
Where each ISA op lives in silicon — the FULL-SURFACE map. Every op has a home, so the WHOLE
language is silicon-implementable: the realized reversible datapath, the ALU/value datapath (the
build frontier), the instruction sequencer, the load/store + structured-memory unit, or an
off-core coprocessor (runtime services). This is an EXHAUSTIVE match with no wildcard — a new Op
cannot compile until it declares its silicon home, so the chip can never silently fail to cover a
language feature. CoreDatapath is a monotone floor that RISES as datapath ops are realized in
RTL and proven ≡ VM by our certified SAT (the silicon_op_support_ratchet lock).
Variants§
CoreDatapath
Realized TODAY in rev_alu_core.v — the abelian charge-recovery reversible datapath (wire opcodes 0..4).
Datapath
A register/value ALU op (arithmetic, bitwise, comparison, moves, constants) — belongs on the core
datapath; the frontier being grown from CoreDatapath op-by-op.
Sequencer
The instruction sequencer — branch / call / return / halt / closure-make; the fetch-decode-PC front-end.
LoadStore
The load/store + structured-memory unit — collections, structs, enums, tuples, indexing, slicing, iteration, globals.
Coprocessor
An off-core COPROCESSOR / runtime service — I/O, time, policy, CRDTs, concurrency, networking, kernel builtins.
Trait Implementations§
Source§impl Clone for SiliconStatus
impl Clone for SiliconStatus
Source§fn clone(&self) -> SiliconStatus
fn clone(&self) -> SiliconStatus
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SiliconStatus
impl Debug for SiliconStatus
Source§impl PartialEq for SiliconStatus
impl PartialEq for SiliconStatus
impl Copy for SiliconStatus
impl Eq for SiliconStatus
impl StructuralPartialEq for SiliconStatus
Auto Trait Implementations§
impl Freeze for SiliconStatus
impl RefUnwindSafe for SiliconStatus
impl Send for SiliconStatus
impl Sync for SiliconStatus
impl Unpin for SiliconStatus
impl UnsafeUnpin for SiliconStatus
impl UnwindSafe for SiliconStatus
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§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>
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.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> 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)
&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)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§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
§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
key and return true if they are equal.