09.08.2013 Views

Latency Insensitive Design in a Latency Sensitive World - MIT

Latency Insensitive Design in a Latency Sensitive World - MIT

Latency Insensitive Design in a Latency Sensitive World - MIT

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Latency</strong> <strong>Insensitive</strong> BRAM<br />

• Memories are usually external<br />

to Bluespec<br />

– Generated RAMs<br />

– External RAMs<br />

• BRAM<br />

– Synchronous, Dual-ported<br />

SRAM<br />

– Primitive FPGA component<br />

• Wrapp<strong>in</strong>g a Pipel<strong>in</strong>ed BRAM<br />

– Keep an <strong>in</strong>ternal counter of <strong>in</strong>flight<br />

requests<br />

– Allow requests if room <strong>in</strong> the<br />

response buffer<br />

– To ma<strong>in</strong>ta<strong>in</strong> throughput, buffer<br />

must be as large as latency<br />

rdy en<br />

reqCnt<br />

rdy en<br />

reqIn<br />

Addr/Data<br />

outQ<br />

respOut<br />

BRAM<br />

2007-08-27 10<br />

req<br />

resp<br />

RAM latency=4

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!