Skip to main content

schedule

Function schedule 

Source
pub fn schedule(
    t: &DramTimings,
    streams: &[StreamDesc],
    gathers: &[Gather],
    bad_rows: &[(u32, u64)],
) -> Vec<TimedCmd>
Expand description

The compile-time scheduler: bursts grouped into row visits, rows pipelined across banks (ACT ahead under tRRD/tFAW while the data bus streams), refresh co-scheduled per bank into planned slots before every deadline. Returns the timed plan.

bad_rows is the yield/blacklist remap input: any (bank,row) in it is skipped and its data lands on the next clean row of the same bank — a pure compile-time remap (the program’s payload is unchanged; only physical placement moves).