struct DataSchedule {
latencies: [Cycle; 8],
}Expand description
Latency tracking for all relevant CPU registers
Fields§
§latencies: [Cycle; 8]Cycle count at which this register is available, indexed by register ID
Implementations§
Source§impl DataSchedule
impl DataSchedule
Sourcefn plan_register_write(&mut self, dst: RegisterId, cycle: Cycle)
fn plan_register_write(&mut self, dst: RegisterId, cycle: Cycle)
Plan to finish a register write at the indicated cycle
Sourcefn register_available(&self, reg: RegisterId, cycle: Cycle) -> bool
fn register_available(&self, reg: RegisterId, cycle: Cycle) -> bool
Look up if a register will be available at or before the indicated cycle.
Sourcefn overall_latency(&self) -> Cycle
fn overall_latency(&self) -> Cycle
Return the overall latency, the Cycle at which we expect
every register to reach its latest simulated state.
Trait Implementations§
Source§impl Clone for DataSchedule
impl Clone for DataSchedule
Source§impl Debug for DataSchedule
impl Debug for DataSchedule
Auto Trait Implementations§
impl Freeze for DataSchedule
impl RefUnwindSafe for DataSchedule
impl Send for DataSchedule
impl Sync for DataSchedule
impl Unpin for DataSchedule
impl UnsafeUnpin for DataSchedule
impl UnwindSafe for DataSchedule
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