Shop OBEX P1 Docs P2 Docs Learn Events
Interest in an FPGA SDRAM SPI controller for the Prop — Parallax Forums

Interest in an FPGA SDRAM SPI controller for the Prop

fullspecengfullspeceng Posts: 76
edited 2009-12-13 19:52 in Propeller 1
1) More RAM is always good.
2) The Propeller doesn't have much memory.
3) Microchip 32kB SPI SRAM is easy to use.
4) PC Notebook PC133 2GB SDRAM SODIMMs are cheap.
5) FPGAs have SDRAM IP Cores.

Add these all together and you have a good project.

I'm thinking about putting out an SPI RAM based on an FPGA that can take a 2GB notebook 2GB sodimms.

The FPGA isn't that cheap and needs to be professionally assembled so probably $150ish price.·
The goal will be to make it as simple as possible to use.· I'm thinking 2x5 .100" headers so similar to SD cards.

Also, I was going to add in more modes:
min 25mhz clk
1bit autoincrementing SPI RAM mode (4pins CLK SI SO CS)
4bit·autoincrementing BUS RAM mode (6pins CLK DI0-4 CS)

1 or 4 bit Stack mode (push/pop memory)
1 or 4 bit FIFO mode

Any interest or requests?

Comments

  • M.E.S.HM.E.S.H Posts: 18
    edited 2009-12-09 19:10
    Some questions:

    * Could it work with the SD driver / fsrw (also SPI?) (or a more or less compatible driver, fat compability shouldn't be needed etc ?) ?
    * Perhaps even connect via a li-ion coin-cell or a cap. to provide power during shorter reboots?

    /M.E.S.H
  • mikedivmikediv Posts: 825
    edited 2009-12-09 19:55
    fullspec I would be very interested in seeing how this progresses. I had bought a few CPLD and FPGA kits a while back thinking it would be a good kit to interface to prop , unfortunately I bought the CoolrunnerII and the Avnet kit the documentation was so hard for me to follow after blinking an led and writing hello world on the LCD I shelved them .. What FPGA do you think you are leaning towards?
  • fullspecengfullspeceng Posts: 76
    edited 2009-12-09 20:02
    Probably Spartan 3E. Depends on my FPGA developer suggestions.

    Interface will be simple. CS low. Send 2 bits op code (00=read, 10=write 0, 11=write 1) + 30 bits address + 32 clock cycles to readin or write Data. Pointer will auto increment to next address until CS high.

    Function code for propeller is simple < 10lines. I'll provide objects to read/write.

    I like the idea of Push/Pop stack and FIFO datastructures as advanced modes. 32bit Register 0 will hold configuration values and rest will just be general 32bit memory.
  • M.E.S.HM.E.S.H Posts: 18
    edited 2009-12-09 20:04
    mikediv, I totally missed the FGPA part, what is the main purpose, what can this kind of kit be used for initially? Will it be like a propeller with a 2 GB general-purpose co-processor, or the other way around?

    /M.E.S.H
  • mikedivmikediv Posts: 825
    edited 2009-12-10 02:21
    Fullspec that would be cool I have the Spartan 3A board I just pulled it back out ,,,, MESH no they are not like prop think of it as programmable hardware you have these Logic chips and you can actually use a program Verilog or ISE and you get to draw out a schematic of hardware you would like to build and the software converts that to code for your board ,, so you basically can use all these thousands of gates and logic to build a hardware device of your liking. with an MCU like the prop its a micro controller and you write programs for it do do stuff
    FPGAs are hardware that you can program to turn into something, Let me quote here """""Field Programmable means that the FPGA's function is defined by a user's program rather than by the manufacturer of the device. A typical integrated circuit performs a particular function defined at the time of manufacture. In contrast, the FPGA's function is defined by a program written by someone other than the device manufacturer. Depending on the particular device, the program is either 'burned' in permanently or semi-permanently as part of a board assembly process, or is loaded from an external memory each time the device is powered up. This user programmability gives the user access to complex integrated designs without the high engineering costs associated with application specific integrated circuits.

    So what some of the things you can do is use it the FPGA to design say more RAM for the Prop boards. That's what FullSpec is talking about doing I hope that helps a little the board we are talking about is the Spartan 3A the kit is $49.00 dollars and comes with everything for a beginner,, but beware for a Noob they are very complicated at least for me never having seen one before this kit it can be overwhelming thats why I would be happy to see FullSpec do aproject so I can learn from hands on
  • LeonLeon Posts: 7,620
    edited 2009-12-10 02:37
    An SDRAM interface is one application for my XProp system. XMOS already has SDRAM interface software:

    www.xmos.com/applications/memory/sdram

    It only takes a couple of threads, and could be implemented on a $7.50 single-core device. This would be much simpler and cheaper than using an FPGA.

    Leon

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Amateur radio callsign: G1HSM
  • M.E.S.HM.E.S.H Posts: 18
    edited 2009-12-10 07:10
    mikediv, thank you so much for the FPGA information!, seems a bit out of my league, but more RAM and better graphics is always interesting, hope fullspeceng will succeed!

    /M.E.S.H
  • MagIO2MagIO2 Posts: 2,243
    edited 2009-12-10 07:49
    My feeling is that SPI will be to slow for graphics - and I mean good graphics. It will be as fast as the SD card driver which can do 1.6MB/s. Big LCDs usually have no internal GRAM and need to be refreshed continuously. Having a display with 480x272x24 needs 23MB of data per second.

    SD card driver can fetch a bit per instruction for a while. If you switch to 4 bit mode this is no longer possible except you use one COG per data line. If not you have bigger efford in reading the data which makes reading slower. So even if you have 4 times more bits, transfer-rate is at best doubled - or not ;o)

    Somewhen in future I'll follow Leon and see what an XMOS can do for the propeller - acting as a "graphics card" for example.
  • LeonLeon Posts: 7,620
    edited 2009-12-10 09:21
    The XMOS chips only have 64k per core, and will need external RAM for a decent graphics display.

    Leon

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Amateur radio callsign: G1HSM
  • MagIO2MagIO2 Posts: 2,243
    edited 2009-12-10 10:18
    Leon, don't let us hitchhike this thread for XMOS topics ;o)

    Because M.E.S.H. stated "but more RAM and better graphics is always interesting",
    I only wanted to mention that this kind of FPGA-RAM interface might not work for frame buffers. You hardly get enough transfer speed to refresh the display at a reasonable refresh rate - with the low res/low color graphics. And you also want to have read/write access for updating content independent from the refresh cycle. No chance for high res/high color!
  • evanhevanh Posts: 16,147
    edited 2009-12-12 03:06
    Umm, there is no specific external system bus interface on the Prop. Therefore the Prop can, or rather has to, bit-bash any interface it likes. A RAM controller for the Prop in a FPGA seems overkill.
  • Bill HenningBill Henning Posts: 6,445
    edited 2009-12-12 03:20
    SPI ram/flash/etc is too slow for good graphics.

    640x480 uses at least 25MHz dot clock. 1bpp would need 25mbps data rate, with address setup thats ~30mbps SPI. No dice.
    MagIO2 said...
    Leon, don't let us hitchhike this thread for XMOS topics ;o)

    Because M.E.S.H. stated "but more RAM and better graphics is always interesting",
    I only wanted to mention that this kind of FPGA-RAM interface might not work for frame buffers. You hardly get enough transfer speed to refresh the display at a reasonable refresh rate - with the low res/low color graphics. And you also want to have read/write access for updating content independent from the refresh cycle. No chance for high res/high color!
    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    www.mikronauts.com Please use mikronauts _at_ gmail _dot_ com to contact me off-forum, my PM is almost totally full
    Morpheusdual Prop SBC w/ 512KB kit $119.95, Mem+2MB memory IO board kit $89.95, both kits $189.95
    Propteus and Proteus for Propeller prototyping 6.250MHz custom Crystals run Propellers at 100MHz
    Las - Large model assembler for the Propeller Largos - a feature full nano operating system for the Propeller
  • mctriviamctrivia Posts: 3,772
    edited 2009-12-12 03:22
    I think 2GB may be over kill. look at my thread:

    http://forums.parallax.com/forums/default.aspx?f=25&p=1&m=398563

    I have the module now and am in the testing faze. People were saying 16MB for $40 was to much and to expensive. I am using a fast paralel bus. yes serial would be cheaper on pins but you will lose on bandwidth.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    24 bit LCD Breakout Board now in. $21.99 has backlight driver and touch sensitive decoder.
  • evanhevanh Posts: 16,147
    edited 2009-12-12 11:02
    Bill Henning said...
    SPI ram/flash/etc is too slow for good graphics.

    640x480 uses at least 25MHz dot clock. 1bpp would need 25mbps data rate, with address setup thats ~30mbps SPI. No dice.
    If the video shifter becomes a full SPI unit in the PropII then we'd have some dice ... [noparse]:)[/noparse]
  • Bill HenningBill Henning Posts: 6,445
    edited 2009-12-12 17:28
    I will love that fast inter-Prop comm method, and the possibility of doing Ethernet and USB without external chips

    (by the way, am I the only one that noticed that 160MHx * 3 = 480Mpbs...? ie High Speed USB clock rate? I wonder if the new PLL's will go that high...)
    evanh said...
    Bill Henning said...
    SPI ram/flash/etc is too slow for good graphics.

    640x480 uses at least 25MHz dot clock. 1bpp would need 25mbps data rate, with address setup thats ~30mbps SPI. No dice.
    If the video shifter becomes a full SPI unit in the PropII then we'd have some dice ... [noparse]:)[/noparse]
    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    www.mikronauts.com Please use mikronauts _at_ gmail _dot_ com to contact me off-forum, my PM is almost totally full
    Morpheusdual Prop SBC w/ 512KB kit $119.95, Mem+2MB memory IO board kit $89.95, both kits $189.95
    Propteus and Proteus for Propeller prototyping 6.250MHz custom Crystals run Propellers at 100MHz
    Las - Large model assembler for the Propeller Largos - a feature full nano operating system for the Propeller
  • LeonLeon Posts: 7,620
    edited 2009-12-12 18:27
    The Phy chip handles the really fast stuff.

    Leon

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Amateur radio callsign: G1HSM
  • evanhevanh Posts: 16,147
    edited 2009-12-13 02:41
    Bill Henning said...
    I will love that fast inter-Prop comm method, and the possibility of doing Ethernet and USB without external chips
    Is that a yes we are getting full SPI?
  • LeonLeon Posts: 7,620
    edited 2009-12-13 11:58
    It will need Phy chips, of course, for Ethernet and high-speed USB.

    Leon

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Amateur radio callsign: G1HSM
  • Bill HenningBill Henning Posts: 6,445
    edited 2009-12-13 19:42
    That's what I saw in the other threads... and in the past threads Chip has mentioned 40MB/sec inter-Prop2 links being possible
    evanh said...
    Bill Henning said...
    I will love that fast inter-Prop comm method, and the possibility of doing Ethernet and USB without external chips
    Is that a yes we are getting full SPI?
    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    www.mikronauts.com Please use mikronauts _at_ gmail _dot_ com to contact me off-forum, my PM is almost totally full
    Morpheusdual Prop SBC w/ 512KB kit $119.95, Mem+2MB memory IO board kit $89.95, both kits $189.95
    Propteus and Proteus for Propeller prototyping 6.250MHz custom Crystals run Propellers at 100MHz
    Las - Large model assembler for the Propeller Largos - a feature full nano operating system for the Propeller
  • LeonLeon Posts: 7,620
    edited 2009-12-13 19:52
    It should be possible. A fast chip I'm using gets 160 Mbit/s from two wires, but that has special on-chip hardware.

    Leon

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Amateur radio callsign: G1HSM
Sign In or Register to comment.