pub struct LinearDelayCalculator {
pub delay_per_unit: f64,
pub capacitance_per_unit: f64,
}Expand description
Linear delay model where wire delay is proportional to wire length.
delay = delay_per_unit * length
Fields§
§delay_per_unit: f64Delay per unit length of wire
capacitance_per_unit: f64Capacitance per unit length of wire
Implementations§
Trait Implementations§
Source§impl DelayCalculator for LinearDelayCalculator
impl DelayCalculator for LinearDelayCalculator
Source§fn calculate_wire_delay(&self, length: i32, _load_capacitance: f64) -> f64
fn calculate_wire_delay(&self, length: i32, _load_capacitance: f64) -> f64
Linear wire delay: $\text{delay} = \text{delay_per_unit} \times \text{length}$
Source§fn calculate_tapping_point(
&self,
distance: i32,
left_delay: f64,
right_delay: f64,
_left_capacitance: f64,
_right_capacitance: f64,
) -> TappingResult
fn calculate_tapping_point( &self, distance: i32, left_delay: f64, right_delay: f64, _left_capacitance: f64, _right_capacitance: f64, ) -> TappingResult
Tapping point for linear delay model:
$$\text{skew} = \text{right_delay} - \text{left_delay}$$
$$\text{raw} = \left\lfloor\frac{\text{skew} / \text{delay_per_unit} + \text{distance}}{2}\right\rceil$$
Source§fn calculate_wire_delay_per_unit(&self, _load_capacitance: f64) -> f64
fn calculate_wire_delay_per_unit(&self, _load_capacitance: f64) -> f64
Calculates the wire delay per unit length for a given load capacitance.
Source§fn calculate_wire_capacitance(&self, length: i32) -> f64
fn calculate_wire_capacitance(&self, length: i32) -> f64
Calculates the total wire capacitance for a given length.
Auto Trait Implementations§
impl Freeze for LinearDelayCalculator
impl RefUnwindSafe for LinearDelayCalculator
impl Send for LinearDelayCalculator
impl Sync for LinearDelayCalculator
impl Unpin for LinearDelayCalculator
impl UnsafeUnpin for LinearDelayCalculator
impl UnwindSafe for LinearDelayCalculator
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