|
RAMBUS for FPGAs |
|||
|
Home 3-D rendering >> << Virtex speculation
Usenet Postings |
Subject: RAMBUS for FPGAs -- was Re: Why is Intel *really* pushing rambus
into desktop PCs ?
Date: 16 Aug 1998 00:00:00 GMT
Newsgroups: comp.arch,comp.arch.fpga
Joseph H Allen wrote ...
>RAMBUS terrifies me because I would not be able to hook them up to FPGAs
>as I can with SDRAMs. Also they actually require a protocol. Often I can
>do a FIFO-less continuous data design with SDRAMs, but I doubt this will be
>possible with RAMBUS. Anyway, I hope RAMBUS goes away.
Interesting topic!
Interfacing to SDRAMs at full speed, sans PLLs, seems tricky -- e.g. Brad
Taylor's XCELL article "XC4000XL FPGAs Interface to SDRAMs at 100 MHz"
(http://www.xilinx.com/xcell/xl28/xl28_25.pdf) describes fairly narrow
margins :- "...Tco + Tsu = 6.0 ns + 3.0 ns = 9.0 ns (This allows 1.0 ns
slack for board delay and clock jitter.)..." ... "... requires the board
delay to compensate for clock jitter...".
I think DRDRAM will be a common DRAM interface. So I wonder -- wishful
thinking -- *could* FPGA vendors license the RAC cell
(http://www.rambus.com/presentations/controller_design/sld001.htm) and build
on that to provide an on-chip, dedicated, easy-to-use DRDRAM controller?
For example, for a hypothetical XC4000- or ORCA-like device, this could be a
configurable DRDRAM interface adjacent to the right edge IOBs, with these
ports:
*** dout[n-1:0], din[n-1:0] (n = 16, 18, 32, 36, 64, 72, even 128, 144) --
sink and source DRDRAM data bits (through FIFOs :-) ) -- replaces
corresponding n IOBs, using their programmable interconnect (including IOBs'
longline TBUFs). Subsumes either n fixed IOBs, or n/k programmable groups
of k IOBs, or n programmable arbitrary sequential IOBs (a la XC6200
programmable row scatter/gather idea).
*** addr[m-1:0] (m = 16 or 32) -- provide word or block burst address in one
(addr[31:0]) or two (addr[15:0]) cycles, either on dedicated addr[] port or
multiplexed onto dout[].
*** cmd[5:0] -- commands to reset, read/write/stream data into/out of fifos,
open/close banks, precharge, masks, whatever, but keep it simple!
*** clk -- the above signals are synchronous to clk, which is also
multiplied up (by some programmed constant) using a hypothetical integrated
DRDRAM clock generator (PLL) to <= 800 MHz.
This on-chip DRDRAM controller interface might well be easier to design to
than is off-chip SDRAM today. And this hypothetical FPGA, configured with a
carefully floorplanned and pipelined 100 MHz, 64-bit datapath design, could
read 8 bytes and write 8 bytes per clock and thus consume the full DRDRAM
channel bandwidth.
Another application of FPGA RAC cells: virtual wires: you could (awkwardly)
stitch FPGAs together through RACs at 20 Gb/s/RAC
(http://www.rambus.com/presentations/controller_design/sld034.htm).
Speaking as an FPGA user, DRDRAM support seems cool, but then I don't really
understand the issues of economics, marketing, integration, clocking, RAC at
FPGA configuration time, RAC initialization and configuration, testing,
testing, testing, packaging, end-user board layout, debugging, etc.
(Also, is it likely that a DRDRAM clock generator
(http://www.rambus.com/presentations/controller_design/sld027.htm) can also
be integrated into our hypothetical FPGA+RAC device or does it require a
somewhat different process?)
Thanks.
Jan Gray
Copyright © 2000, Gray Research LLC. All rights reserved. |