Hi all, I am speculating about starting an FPGA based project soon, which may need to use RAM. So I'd like to leverage the (relative) abundance (and thus, hopefully low price) of desktop (or laptop) PC memory modules for this purpose - and I was wandering if the community had any comments or suggestions. Primary points of interest are: * What is, in your opinion, the cheapest type of DIMM (desktop?) and SO-DIMM (laptop?) modules currently available (2010-2011)? From a quick scan, I can find ** SO DIMM 200-PIN, 1x512 MB module (DDR2 SDRAM) 667 MHz ** DIMM 240-PIN, 1x1GB module (DDR3 SDRAM) 1066 MHz .. for approx the same price ( below 13 Euro per GB). I'm aware this may be location dependent - but would the above represent the (currently) cheapest/most abundant modules on the market? If not, what would you consider cheapest/most abundant - and what would be a good reference (website) to consult? * Do the PCB sockets for the diverse module types differ significantly in price (maybe SO-DIMM sockets usually cost twice as much as DIMM?) Also, any (negative) experiences in soldering any of these by hand? * When they say stuff like "DDR2 SO-DIMM memory modules commonly have clock speeds from 200 MHz up to 800 MHz" (http://en.wikipedia.org/wiki/SO-DIMM), I'd assume they talk of max frequencies - does that still mean, that I can clock the modules with _less_ of a frequency (say 50 MHz)? * Given that, say, "DDR2 is neither forward nor backward compatible with either DDR or DDR3" (http://en.wikipedia.org/wiki/DDR2_SDRAM), obviously there is a need for dedicated hardware signaling interface for each type of RAM. Is there something like a 'base interface' (say, maybe something like SPI), which would be relatively easy to use, and that all RAM modules would support (at the expense of reaching top speeds)? * Assuming that there (most likely) isn't such a 'base interface' for all RAM types, what (of the currently cheapest and most available types of modules) would you feel is easiest to learn to interface with? I'd also love to hear any other considerations in this type of usage that I may have missed - as well as any links to tutorials/previous projects using FPGA and these types of RAM for PCs.. Looking forward to any responses - thanks in advance, Cheers! --------------------------------------- Posted through http://www.FPGARelated.com
RAM - DIMM vs SO-DIMM: price vs. (hardware & software) ease of use
Started by ●March 19, 2011
Reply by ●March 19, 20112011-03-19
sdaau wrote:> > * What is, in your opinion, the cheapest type of DIMM (desktop?) and > SO-DIMM (laptop?) modules currently available (2010-2011)?> what would be a good reference > (website) to consult?dealram.com
Reply by ●March 19, 20112011-03-19
>Hi all, > >I am speculating about starting an FPGA based project soon, which mayneed>to use RAM. So I'd like to leverage the (relative) abundance (and thus, >hopefully low price) of desktop (or laptop) PC memory modules for this >purpose - and I was wandering if the community had any comments or >suggestions. > >Primary points of interest are: > >* What is, in your opinion, the cheapest type of DIMM (desktop?) and >SO-DIMM (laptop?) modules currently available (2010-2011)? From a quick >scan, I can find >** SO DIMM 200-PIN, 1x512 MB module (DDR2 SDRAM) 667 MHz >** DIMM 240-PIN, 1x1GB module (DDR3 SDRAM) 1066 MHz >.. for approx the same price ( below 13 Euro per GB). I'm aware this may >be location dependent - but would the above represent the (currently) >cheapest/most abundant modules on the market? If not, what would you >consider cheapest/most abundant - and what would be a good reference >(website) to consult? > >* Do the PCB sockets for the diverse module types differ significantly in >price (maybe SO-DIMM sockets usually cost twice as much as DIMM?) Also,any>(negative) experiences in soldering any of these by hand? > >* When they say stuff like "DDR2 SO-DIMM memory modules commonly haveclock>speeds from 200 MHz up to 800 MHz"(http://en.wikipedia.org/wiki/SO-DIMM),>I'd assume they talk of max frequencies - does that still mean, that Ican>clock the modules with _less_ of a frequency (say 50 MHz)? > >* Given that, say, "DDR2 is neither forward nor backward compatible with >either DDR or DDR3" (http://en.wikipedia.org/wiki/DDR2_SDRAM), obviously >there is a need for dedicated hardware signaling interface for each typeof>RAM. Is there something like a 'base interface' (say, maybe somethinglike>SPI), which would be relatively easy to use, and that all RAM moduleswould>support (at the expense of reaching top speeds)? > >* Assuming that there (most likely) isn't such a 'base interface' for all >RAM types, what (of the currently cheapest and most available types of >modules) would you feel is easiest to learn to interface with? > >I'd also love to hear any other considerations in this type of usage thatI>may have missed - as well as any links to tutorials/previous projectsusing>FPGA and these types of RAM for PCs.. > > >Looking forward to any responses - thanks in advance, >Cheers! > > > >--------------------------------------- >Posted through http://www.FPGARelated.com >If you want to start learning how to use DDR, DDR2 or DDR3 memory then you are probably best to buy a cheap devlopment board. This way you dont have to worry to start with about the pcb layout which can be quite tricky for a novice. The interface for all three DDR memories is similar but not the same. The newer the memory technology the faster they can be clocked, and the faster the clocking the harder the design. I believe you can clock them slower by disabling the PLL but its not something I have done. Xilinx has a product called MIG that will generate a memory controller for you but you still really need to know how the memory operates. So I would pick a Micron data sheet or find a tutorial and read that. Jon --------------------------------------- Posted through http://www.FPGARelated.com
Reply by ●March 19, 20112011-03-19
On Mar 19, 10:03 am, "sdaau" <sd@n_o_s_p_a_m.n_o_s_p_a_m.imi.aau.dk> wrote:> Hi all, > > I am speculating about starting an FPGA based project soon, which may need > to use RAM. So I'd like to leverage the (relative) abundance (and thus, > hopefully low price) of desktop (or laptop) PC memory modules for this > purpose - and I was wandering if the community had any comments or > suggestions. > > Primary points of interest are: > > * What is, in your opinion, the cheapest type of DIMM (desktop?) and > SO-DIMM (laptop?) modules currently available (2010-2011)? From a quick > scan, I can find > ** SO DIMM 200-PIN, 1x512 MB module (DDR2 SDRAM) 667 MHz > ** DIMM 240-PIN, 1x1GB module (DDR3 SDRAM) 1066 MHz > .. for approx the same price ( below 13 Euro per GB). I'm aware this may > be location dependent - but would the above represent the (currently) > cheapest/most abundant modules on the market? If not, what would you > consider cheapest/most abundant - and what would be a good reference > (website) to consult? > > * Do the PCB sockets for the diverse module types differ significantly in > price (maybe SO-DIMM sockets usually cost twice as much as DIMM?) Also, any > (negative) experiences in soldering any of these by hand? > > * When they say stuff like "DDR2 SO-DIMM memory modules commonly have clock > speeds from 200 MHz up to 800 MHz" (http://en.wikipedia.org/wiki/SO-DIMM), > I'd assume they talk of max frequencies - does that still mean, that I can > clock the modules with _less_ of a frequency (say 50 MHz)? > > * Given that, say, "DDR2 is neither forward nor backward compatible with > either DDR or DDR3" (http://en.wikipedia.org/wiki/DDR2_SDRAM), obviously > there is a need for dedicated hardware signaling interface for each type of > RAM. Is there something like a 'base interface' (say, maybe something like > SPI), which would be relatively easy to use, and that all RAM modules would > support (at the expense of reaching top speeds)? > > * Assuming that there (most likely) isn't such a 'base interface' for all > RAM types, what (of the currently cheapest and most available types of > modules) would you feel is easiest to learn to interface with? > > I'd also love to hear any other considerations in this type of usage that I > may have missed - as well as any links to tutorials/previous projects using > FPGA and these types of RAM for PCs.. > > Looking forward to any responses - thanks in advance, > Cheers!Based on some of the questions you are asking, it appears that you are a newbie to working with DRAM. Each version of DRAM has its own characteristics, always optimized for transfer speed. SDRAM transfers one word on each clock cycle. DDR SDRAM transfers two words on each clock cycle. DDR2 transfers four words on each clock cycle and I don't know for sure, but I expect DDR3 transfers eight words on each clock cycle. There are also electrical differences because typical TTL/CMOS levels just don't cut it anymore at the rates data moves in and out of these devices. I don't think you are going to find good information for a newbie in using SDRAM modules. I recall that I looked once and didn't find the info in data sheets and such like I could find for individual RAM data sheets. So for starters, you might want to use RAM chips and not modules. Also for starters, I would suggest that you work with SDRAM instead of the more complex faster devices. Once you have SDRAM under your belt, the others will not be such a large step. Rick
Reply by ●March 19, 20112011-03-19
"rickman" <gnuarm@gmail.com> a �crit:> Based on some of the questions you are asking, it appears that you are > a newbie to working with DRAM. Each version of DRAM has its own > characteristics, always optimized for transfer speed. SDRAM transfers > one word on each clock cycle. DDR SDRAM transfers two words on each > clock cycle. DDR2 transfers four words on each clock cycle and I > don't know for sure, but I expect DDR3 transfers eight words on each > clock cycle. There are also electrical differences because typical > TTL/CMOS levels just don't cut it anymore at the rates data moves in > and out of these devices. > > I don't think you are going to find good information for a newbie in > using SDRAM modules. I recall that I looked once and didn't find the > info in data sheets and such like I could find for individual RAM data > sheets. So for starters, you might want to use RAM chips and not > modules. Also for starters, I would suggest that you work with SDRAM > instead of the more complex faster devices. Once you have SDRAM under > your belt, the others will not be such a large step. >Hi, Yet another newbie question: Is SDRAM fast enough to generate a 720p or 1024p video stream (VGA or DVI output) using a Spartan-3 or -3E FPGA ?
Reply by ●March 19, 20112011-03-19
On Sat, 19 Mar 2011 09:03:50 -0500, sdaau wrote:> Hi all, > > I am speculating about starting an FPGA based project soon, which may > need to use RAM. So I'd like to leverage the (relative) abundance (and > thus, hopefully low price) of desktop (or laptop) PC memory modules for > this purpose - and I was wandering if the community had any comments or > suggestions. > > Primary points of interest are: > > * What is, in your opinion, the cheapest type of DIMM (desktop?) and > SO-DIMM (laptop?) modules currently available (2010-2011)? From a quick > scan, I can find > ** SO DIMM 200-PIN, 1x512 MB module (DDR2 SDRAM) 667 MHz ** DIMM > 240-PIN, 1x1GB module (DDR3 SDRAM) 1066 MHz .. for approx the same price > ( below 13 Euro per GB). I'm aware this may be location dependent - but > would the above represent the (currently) cheapest/most abundant modules > on the market? If not, what would you consider cheapest/most abundant - > and what would be a good reference (website) to consult? > > * Do the PCB sockets for the diverse module types differ significantly > in price (maybe SO-DIMM sockets usually cost twice as much as DIMM?) > Also, any (negative) experiences in soldering any of these by hand? > > * When they say stuff like "DDR2 SO-DIMM memory modules commonly have > clock speeds from 200 MHz up to 800 MHz" > (http://en.wikipedia.org/wiki/SO-DIMM), I'd assume they talk of max > frequencies - does that still mean, that I can clock the modules with > _less_ of a frequency (say 50 MHz)? > > * Given that, say, "DDR2 is neither forward nor backward compatible with > either DDR or DDR3" (http://en.wikipedia.org/wiki/DDR2_SDRAM), obviously > there is a need for dedicated hardware signaling interface for each type > of RAM. Is there something like a 'base interface' (say, maybe something > like SPI), which would be relatively easy to use, and that all RAM > modules would support (at the expense of reaching top speeds)? > > * Assuming that there (most likely) isn't such a 'base interface' for > all RAM types, what (of the currently cheapest and most available types > of modules) would you feel is easiest to learn to interface with? > > I'd also love to hear any other considerations in this type of usage > that I may have missed - as well as any links to tutorials/previous > projects using FPGA and these types of RAM for PCs.. > > > Looking forward to any responses - thanks in advance, Cheers! > > > > --------------------------------------- Posted through > http://www.FPGARelated.comThe differences in prices between desktop and laptop DIMMs are small, just look on Newegg to get an idea of what prices are like. Assuming you are using an FPGA that can support it you want to use DDR3 because that the current generation of DRAMs and it's cheapest and highest bandwidth. However not all FPGAs can support it so use the most recent generation that the target FPGA can support.
Reply by ●March 19, 20112011-03-19
rickman <gnuarm@gmail.com> wrote:>On Mar 19, 10:03 am, "sdaau" <sd@n_o_s_p_a_m.n_o_s_p_a_m.imi.aau.dk> >wrote: >> Hi all, >> >> I am speculating about starting an FPGA based project soon, which may need >> to use RAM. So I'd like to leverage the (relative) abundance (and thus, >> hopefully low price) of desktop (or laptop) PC memory modules for this >> purpose - and I was wandering if the community had any comments or >> suggestions. >> >> Primary points of interest are: >> >> * What is, in your opinion, the cheapest type of DIMM (desktop?) and >> SO-DIMM (laptop?) modules currently available (2010-2011)? From a quick >> scan, I can find >> ** SO DIMM 200-PIN, 1x512 MB module (DDR2 SDRAM) 667 MHz >> ** DIMM 240-PIN, 1x1GB module (DDR3 SDRAM) 1066 MHz >> .. for approx the same price ( below 13 Euro per GB). I'm aware this may >> be location dependent - but would the above represent the (currently) >> cheapest/most abundant modules on the market? If not, what would you >> consider cheapest/most abundant - and what would be a good reference >> (website) to consult? >> >> * Do the PCB sockets for the diverse module types differ significantly in >> price (maybe SO-DIMM sockets usually cost twice as much as DIMM?) Also, any >> (negative) experiences in soldering any of these by hand? >> >> * When they say stuff like "DDR2 SO-DIMM memory modules commonly have clock >> speeds from 200 MHz up to 800 MHz" (http://en.wikipedia.org/wiki/SO-DIMM), >> I'd assume they talk of max frequencies - does that still mean, that I can >> clock the modules with _less_ of a frequency (say 50 MHz)? >> >> * Given that, say, "DDR2 is neither forward nor backward compatible with >> either DDR or DDR3" (http://en.wikipedia.org/wiki/DDR2_SDRAM), obviously >> there is a need for dedicated hardware signaling interface for each type of >> RAM. Is there something like a 'base interface' (say, maybe something like >> SPI), which would be relatively easy to use, and that all RAM modules would >> support (at the expense of reaching top speeds)? >> >> * Assuming that there (most likely) isn't such a 'base interface' for all >> RAM types, what (of the currently cheapest and most available types of >> modules) would you feel is easiest to learn to interface with? >> >> I'd also love to hear any other considerations in this type of usage that I >> may have missed - as well as any links to tutorials/previous projects using >> FPGA and these types of RAM for PCs.. >> >> Looking forward to any responses - thanks in advance, >> Cheers! > > >Based on some of the questions you are asking, it appears that you are >a newbie to working with DRAM. Each version of DRAM has its own >characteristics, always optimized for transfer speed. SDRAM transfers >one word on each clock cycle. DDR SDRAM transfers two words on each >clock cycle. DDR2 transfers four words on each clock cycle and I >don't know for sure, but I expect DDR3 transfers eight words on each >clock cycle. There are also electrical differences because typicalWrong. All DDR memories transfer two words for each clock cycle. Higher versions offer more facilities like on-die-termination, on chip PLLs, higher speeds and lower voltages. -- Failure does not prove something is impossible, failure simply indicates you are not using the right tools... nico@nctdevpuntnl (punt=.) --------------------------------------------------------------
Reply by ●March 19, 20112011-03-19
Don't worry about compatibility between different RAM types. Your board will need to be re-designed to change type. First of all there are different core voltages for each type. Then if you use a DIMM or SO-DIMM there are differences in the socket keying. One thing that would normally point to using chips rather than SO-DIMM or DIMM is that the cheapest FPGA families often don't support DIMM memory. This is true of Spartan 6 for example. So saving a few bucks on DIMM memory may cost you big bucks going for a higher end FPGA. My only reason to go away from chip memory would be that I need a very large amount of memory (more than a couple of the densest chips). Finally the price sweet spot for memory is a moving target. I think right now your best price per bit is still DDR2, but DDR3 should take over soon enough. That being said it does you no good to decide on DDR3 until you know your FPGA will support it at a reasonable speed (watch out - all DDR families have relatively high minimum operating frequencies). -- Gabor
Reply by ●March 19, 20112011-03-19
> Hi, > > Yet another newbie question: > Is SDRAM fast enough to generate a 720p or 1024p video stream (VGA or > DVI output) using a Spartan-3 or -3E FPGA ? >I am also interested if SDRAM is sufficient for video streaming? E.g. Video-over-IP.
Reply by ●March 20, 20112011-03-20
Using standard DIMMs or SODIMMs is good for cost but only for a limited period until the next speed garde or type takes over in popularity. The choice of vendors is good as well and these can be big advantages over discrete memory chips. At the moment the memory of choice is DDR3. Price per bit is best and density is also a big winner. However some FPGA families cannot support this memory type and your PCB design needs to be fairly good to run at these speeds. Note that DDR2/3 do have minimum speeds if you are going to use DLL/ PLLs that they use internally. You may be operate them out of this mode but I have never seen anyone do that and there will be very in examples out there to reference. There may be other things to consider. DIMMs and SODIMMs need a lot of I/O to use them. Probably 80-100 depending on a few things. That can impact the size of FPGA packacge you use and that is a cost as well if you go up in package size because of it. Hard memory cores are also another thing to consider. All of our Spartan-6 based development boards have a x16 DDR3 on board and that's because there is hard memory controller in the FPGA. That means we are not using FPGA fabric for a memory controller that is in itself a cost. The hard controller will have a cost that is advertised into the FPGA cost but it will be a small fraction of the equivalent soft core fabric approach. Big upside of the hard memory controller is that it is relatively easy to get going. Note that the Spartan-6 controller will only go to x16 data and won;t support a DIMM/SODIMM. DIMM/SODIMM are different for each memory type. Usually there is a different polarisation notch. Pinout and operating voltages are also different. For simplicity don't ignore conventional SDRAM. Personally if I don't have a high performance, density, issue or even a hard controller available this is my memory type of choice. No minimum frequency on this either. I certainly won't bother with DDR1 and would only use DDR2 things like Cyclone IV boards as we have done in our Raggedstone3 product because the DDR3 isn't really an option. John Adair Enterpoint Ltd. - Home of Merrick1. The cost effective HPC board. On Mar 19, 2:03=A0pm, "sdaau" <sd@n_o_s_p_a_m.n_o_s_p_a_m.imi.aau.dk> wrote:> Hi all, > > I am speculating about starting an FPGA based project soon, which may nee=d> to use RAM. So I'd like to leverage the (relative) abundance (and thus, > hopefully low price) of desktop (or laptop) PC memory modules for this > purpose - and I was wandering if the community had any comments or > suggestions. > > Primary points of interest are: > > * What is, in your opinion, the cheapest type of DIMM (desktop?) and > SO-DIMM (laptop?) modules currently available (2010-2011)? From a quick > scan, I can find > ** SO DIMM 200-PIN, 1x512 MB module (DDR2 SDRAM) 667 MHz > ** DIMM 240-PIN, 1x1GB module (DDR3 SDRAM) 1066 MHz > .. for approx the same price ( below 13 Euro per GB). I'm aware this may > be location dependent - but would the above represent the (currently) > cheapest/most abundant modules on the market? If not, what would you > consider cheapest/most abundant - and what would be a good reference > (website) to consult? > > * Do the PCB sockets for the diverse module types differ significantly in > price (maybe SO-DIMM sockets usually cost twice as much as DIMM?) Also, a=ny> (negative) experiences in soldering any of these by hand? > > * When they say stuff like "DDR2 SO-DIMM memory modules commonly have clo=ck> speeds from 200 MHz up to 800 MHz" (http://en.wikipedia.org/wiki/SO-DIMM)=,> I'd assume they talk of max frequencies - does that still mean, that I ca=n> clock the modules with _less_ of a frequency (say 50 MHz)? > > * Given that, say, "DDR2 is neither forward nor backward compatible with > either DDR or DDR3" (http://en.wikipedia.org/wiki/DDR2_SDRAM), obviously > there is a need for dedicated hardware signaling interface for each type =of> RAM. Is there something like a 'base interface' (say, maybe something lik=e> SPI), which would be relatively easy to use, and that all RAM modules wou=ld> support (at the expense of reaching top speeds)? > > * Assuming that there (most likely) isn't such a 'base interface' for all > RAM types, what (of the currently cheapest and most available types of > modules) would you feel is easiest to learn to interface with? > > I'd also love to hear any other considerations in this type of usage that=I> may have missed - as well as any links to tutorials/previous projects usi=ng> FPGA and these types of RAM for PCs.. > > Looking forward to any responses - thanks in advance, > Cheers! > > --------------------------------------- =A0 =A0 =A0 =A0 > Posted throughhttp://www.FPGARelated.com






