stanford-ppl / spatial

Spatial: "Specify Parameterized Accelerators Through Inordinately Abstract Language"
https://spatial.stanford.edu
MIT License
271 stars 33 forks source link

Confirm Banking with II = 1 is correct for two accesses scheduled at different cycles #304

Open mattfel1 opened 4 years ago

mattfel1 commented 4 years ago

This is a reminder to check if banking works when you have two accesses separated in the schedule. It should be smart enough to account for the iterator offset due to time, but I want to make sure. For example

Foreach(...){ i =>
   ... = sram(i)
   retimeGate()
   ... = sram(i-1)
}

I expect this to have II = 1 and bank with something like N = 2, B = 2, a = 1