pub struct PartResources {
pub part: &'static str,
pub logic_unit: LogicUnit,
pub logic: Fact<u64>,
pub flops: Fact<u64>,
pub dsp: Fact<u64>,
pub multiplier: Fact<(u32, u32)>,
pub memories: &'static [Memory],
pub sources: &'static [&'static str],
}Expand description
What a programmable part holds.
Fields§
§part: &'static strThe device, as its vendor’s tools name it without package or speed grade.
logic_unit: LogicUnit§logic: Fact<u64>§flops: Fact<u64>§dsp: Fact<u64>§multiplier: Fact<(u32, u32)>The two’s-complement operand widths one DSP block multiplies, in bits.
memories: &'static [Memory]§sources: &'static [&'static str]Implementations§
Source§impl PartResources
impl PartResources
Sourcepub fn catalog() -> Vec<PartResources>
pub fn catalog() -> Vec<PartResources>
Every part the compiler knows.
pub fn by_name(part: &str) -> Option<PartResources>
Sourcepub fn xc7a100t() -> PartResources
pub fn xc7a100t() -> PartResources
The Artix-7 100T: Board B’s Nexys A7-100T.
Sourcepub fn xc7a200t() -> PartResources
pub fn xc7a200t() -> PartResources
The Artix-7 200T: Board A’s Nexys Video.
Sourcepub fn xczu7ev() -> PartResources
pub fn xczu7ev() -> PartResources
The Zynq UltraScale+ ZU7EV: the ZCU104’s programmable logic.
Sourcepub fn sx2800() -> PartResources
pub fn sx2800() -> PartResources
The Stratix 10 SX 2800: the Intel PAC D5005’s 1SX280HN2F43E2VG. The device overview counts its logic in thousands of logic elements; the product table prints its ALMs and their registers.
Sourcepub fn memory(&self, kind: MemoryKind) -> Option<&'static Memory>
pub fn memory(&self, kind: MemoryKind) -> Option<&'static Memory>
The memory of kind the part carries.
Sourcepub fn block_bytes(&self) -> u64
pub fn block_bytes(&self) -> u64
Bytes the part’s dedicated memory blocks store, all of their bits counted.
Sourcepub fn block_read_bytes_per_cycle(&self) -> u64
pub fn block_read_bytes_per_cycle(&self) -> u64
Bytes the part’s dedicated memory blocks read in one cycle, every read port busy.
Trait Implementations§
Source§impl Clone for PartResources
impl Clone for PartResources
Source§fn clone(&self) -> PartResources
fn clone(&self) -> PartResources
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 moreSource§impl Debug for PartResources
impl Debug for PartResources
Source§impl PartialEq for PartResources
impl PartialEq for PartResources
Source§impl Serialize for PartResources
impl Serialize for PartResources
impl Copy for PartResources
impl StructuralPartialEq for PartResources
Auto Trait Implementations§
impl Freeze for PartResources
impl RefUnwindSafe for PartResources
impl Send for PartResources
impl Sync for PartResources
impl Unpin for PartResources
impl UnsafeUnpin for PartResources
impl UnwindSafe for PartResources
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.