pub enum BackendArtifact {
Verilog(String),
SdkGated {
neutral_placement: String,
reason: &'static str,
},
}Expand description
What a backend produces from a placed grid.
Variants§
Verilog(String)
Synthesizable RTL — our own Sky130/FPGA silicon path.
SdkGated
Vendor config emission is gated on the SDK. Carries the ready-to-bridge NEUTRAL placement (a
deterministic dump of the placed grid), so the ONLY remaining work is the vendor’s config format. This
is never a faked config — it is an honest “the placement is ready; the config format is pending the
SDK.” The proof that this placement ≡ the source is available separately via
TargetBackend::certify, which needs no SDK at all.
Implementations§
Source§impl BackendArtifact
impl BackendArtifact
pub fn as_verilog(&self) -> Option<&str>
pub fn is_sdk_gated(&self) -> bool
Trait Implementations§
Source§impl Clone for BackendArtifact
impl Clone for BackendArtifact
Source§fn clone(&self) -> BackendArtifact
fn clone(&self) -> BackendArtifact
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for BackendArtifact
impl RefUnwindSafe for BackendArtifact
impl Send for BackendArtifact
impl Sync for BackendArtifact
impl Unpin for BackendArtifact
impl UnsafeUnpin for BackendArtifact
impl UnwindSafe for BackendArtifact
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
Mutably borrows from an owned value. Read more
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>
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.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
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.§fn as_any(&self) -> &(dyn Any + 'static)
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.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
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.