Title: FPGA2000 - Field Programmable port Extender (FPX) for Distributed Routing and Queuing
1Using the SDRAM Controller on Field Programmable
Port Extender (FPX)
Sarang Dharmapurikar Washington University,
Applied Research Lab August 15, 2001 Supported
by NSF ANI-0096052 and Xilinx Inc. http//www.ar
l.wustl.edu/arl/projects/fpx
2SDRAM Controller Overview
SDRAM Controller
Module 0
SDRAM
Module 1
Module 2
3SDRAM Controller Features
- Arbitrates between multiple memory requests
- Maintains sequential consistency for each module
- Maximizes the SDRAM throughput by
- - Re-ordering memory requests based on
addresses and - operation type
- - Favoring the locality in memory access
- Increases throughput for higher locality
-
4SDRAM controller performance
Effect of locality on the SDRAM data bus
utilization
5SDRAM Controller Usage
Request
Request(n)
Grant1
Grant1(n)
Grant2
Grant2(n)
InfoBus
InfoBus
To SDRAM
DataBus
DataBus
SDRAM Controller
Module n
6Protocol
Data Transaction
Make Request
Wait Grant1
yes
Grant1?
No
Grant2?
No
yes
Send Address
Send Burst Length Send Op Type
Wait Grant2
7Write Timing
8Read Timing
9Example Leaky Bucket
bursty data
leaking data
- What does it do?
- - Buffers the incoming cells in a FIFO
- - Generates tokens at a regular interval
- - Gives out a cell from the FIFO when the
number of tokens gt 0 - - Destroys a token when a cell is given out
10Example Leaky Bucket Implementation
SDRAM
SDRAM Controller
Send Cell
Pull Cell
Push Cell
Get Cell
Cell FIFO
11Example Leaky Bucket Testbench
CELLOUT.DAT
TESTCELL.DAT
Fake_nid_out
Fake_nid_in
12Exercise
- Take a walk through Leaky Bucket
- Wire up Cell FIFO in Leaky Bucket
- Wire up Leaky Bucket, SDRAM controller in
test-bench - Change the parameters
- - c_MaxTokenCount
- - c_PaceInterval
- Try different traffic patterns and verify the
Leaky Bucket functionality