stanford-ppl / spatial-lang

Spatial: "Specify Parameterized Accelerators Through Inordinately Abstract Language"
MIT License
100 stars 12 forks source link

Special-case dense load/store channels #247

Closed shadjis closed 6 years ago

shadjis commented 6 years ago

To save area, at compile-time the compiler should disable instantiation of scatter-gather units for dense load/store channels

mattvilim commented 6 years ago

The scatter/gather buffers shouldn't be being instantiated if you're using dense streams. Each load/store stream gets its own buffer. The dense/load store streams get FIFOs backed by SRAMs; the sparse streams get FIFOs backed by flip-flops to allow parallel read/writes. That might use a lot of area if you have a lot of sparse streams, but you should only see this for sparse apps. Were you seeing the sparse buffers in dense apps? If the FF usage is too high, I'll need to shorten the queues or rework it to use SRAMs possibly.