pub struct Budget {
pub lut_percent: f64,
pub dsp_percent: f64,
pub bram_percent: f64,
pub uram_percent: f64,
}Expand description
The global resource controls.
Fields§
§lut_percent: f64LUTs as a percentage of BASE_LUT (0..200).
dsp_percent: f64DSPs as a percentage of BASE_DSP (0..200).
bram_percent: f64BRAM36 as a percentage of the dynamic region’s BUDGET_BRAM36
(0..100).
uram_percent: f64URAM as a percentage of the device’s U280_URAM (0..100).
Implementations§
Source§impl Budget
Absolute resource counts from the percentages.
impl Budget
Absolute resource counts from the percentages.
Sourcepub fn chip(&self) -> Share
pub fn chip(&self) -> Share
The chip limit: every resource of the budget. Fixed allowances (the SHA-512 line) come out of it like any module’s build.
Source§impl Budget
impl Budget
Sourcepub fn whole_device() -> Budget
pub fn whole_device() -> Budget
The whole device: every LUT and DSP of the U280 (the budget’s
percentages above 100 %), the dynamic region’s BRAM and all URAM.
The uBFT modes start here, because the replica’s footprint
(UbftReplica) already counts the shell.
Trait Implementations§
Source§impl Default for Budget
100 % of everything: 485k LUTs, 4,520 DSPs, the dynamic region’s BRAM and
all URAM.
impl Default for Budget
100 % of everything: 485k LUTs, 4,520 DSPs, the dynamic region’s BRAM and all URAM.
impl Copy for Budget
impl StructuralPartialEq for Budget
Auto Trait Implementations§
impl Freeze for Budget
impl RefUnwindSafe for Budget
impl Send for Budget
impl Sync for Budget
impl Unpin for Budget
impl UnsafeUnpin for Budget
impl UnwindSafe for Budget
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,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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