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