Re: SimmStick FPGA module

From: Jim Granville (no.spam_at_designtools.co.nz)
Date: 02/15/05


Date: Tue, 15 Feb 2005 19:50:56 +1300

Martin Schoeberl wrote:
>>>Another idea: What do you guys think about adding a slot for a SD Card [1].
>>>They are cheap (about EUR 10,- for 128MB) and you get them up to 1GB!
>>>However, the impact on the board is high: The connector is 'big' and
>>>increases the board hight. A FPGA with a higher pin-count is needed. For
>>>the solution without the SD Card a 100pin TQFP would fit, but now a 144pin
>>>is needed - again a larger board.
>>>And this adds again a few EUR/$. All these design decissions! You start with
>>>a minimal core design and than start adding (unnecesssary) features again.
>>>
>>>BTW: Has somebody inplemented an SD Card interface in an FPGA. It should
>>>not be too hard [2]. The simplest solution would be the SPI bus.
>>
>> You might want to consider two variants: one that is on the KISS path,
>>and is on the lower price knee, and just sufficent to operate a workable
>>JOP, and another that is more maximal, and more able to launch an
>>operating system as well.
>
>
> I would be happy to go the KISS path, but I don't know how one can keep
> a soft-cpu module simple to handle. You have too many options: You're
> developing on two levels: the CPU inside the FPGA with peripheral components
> and software for the CPU. During development on one of these areas different
> ways for downloading the configuration/software fits best:
>
> Simplest: Flash is configured with JOP waiting for a download of a Java program.
> How do you donwload it? Via a serial interface - Then we need a serial interface.
> Program the serial Flash with the Java program. Not very comfortable during
> development - You have to use Quartus for the Flash programming, but you are
> only interested in Java development.
> Now you start changing JOP, e.g. do some FPGA development. Do you want to
> program the Flash for every try or do you prefere to download the configuration
> direct to the FPGA. Then we need a second ByteBlaster adapter (one for the Flash
> and one for the Cyclone). Two pin heads need space and make it more complicate
> to handle the board (not the KISS path).

  It depends on the bandwidths, but I like Pablo's idea of a FT2232C -
there may be enough smarts between that device, and your FPGA, to
improve PC-target bandwidths for debug (single step?) and download ->
SDRAM, prior to code FLASH for final pass.
  Perhaps a 'virtual jumper' in the FPGA code, or'd with a FT2232C pin,
could select Load from USB.FIFO, or top of SerialConfig ?

  Another device that appeals for Soft-cpu is this one :
http://www.st.com/stonline/press/news/year2005/p1563m.htm
with 75MHz burst, 32 bits wide, that's 2400MB/s, vs 25-50MB/s on a SD card.
  So the SD card looses on speed, but gains on universal supply/size,
and you CAN easily remove it - hmmm... perhaps put the M58BW032 on the
other side of the PCB ?

  Maybe option the SD socket, and M58BW032, on the more complex model ?

Next, some form of Codec would be nice, what about something from this
selection ?
http://para.maxim-ic.com/compare_noj.asp?Fam=CODEC&Tree=Wireless&HP=Wireless.cfm&ln=
$5-7 for 22-60Msps ADC & DAC ?
This ties in well with a SD socket, & USB link...

>
> Any ideas are highly welcome ;-)
>
>
>> For package, I'd vote against pin-modules, as they are expensive
>>to make, have a pin count ceiling, and are easily damaged. The only
>>benefit is they can save a little time in first deployment.
>> Better are the memory-card formats, as they have low cost and sturdy
>>connections, that can still be socket managed on 1 & 2 layer PCB, and
>>you can offer a socket-pcb for users starting from nothing.
>>
>
>
> First ideas about the memory card format (still SIMM):
> http://www.jopdesign.com/jopstick/index.jsp
>
> One format is very small with a FPGA in TQFP100. There are just enough pins
> for the SDRAM and the SimmStick bus. The second variant is larger with
> a TQFP144 FPGA and a slot for a SD card.

SD starts to look nice on this basis...

>> Besides the simmmstick itself, you should consider the SODIMM modules,
>>as seen in TINI :
>> http://www.maxim-ic.com/products/tini/pdfs/TINI_GUIDE.pdf
>
>
> Yes, another option. However, is there a kind of 'standard' for this larger modules.
> Are there peripheral modules available for this form factor?

The TINI itself ? ;)
- plus as TINI also has Java path, you could get some cross-polination ?

>
>> For "smart expansion", SD would be one option, but smaller and
>>more flexible might be USB-Drive ?. Not as cheap at the lowest node,
>>but universally portable - few PCs can R/W SD cards, but they can all
>>R/W a USB drive.
>> Of course, that means the FPGA needs to be smarter :)
>
>
> Do you mean USB host? That's not so earsy. I would expect that the FPGA
> (and the software) has to be too smart ;-)

You are probably right, but you did ask for suggestions :)

>
> Martin
>
> PS.: Thanks for all suggestions from the usenet group! It's really fun to discuss several
> options during development of a board.

-jg



Relevant Pages

  • Re: SimmStick FPGA module
    ... >> Program the serial Flash with the Java program. ... >> Now you start changing JOP, e.g. do some FPGA development. ... It was not the idea to exectue code direct from the SD card. ... As the TINI is a VERY slow JVM, JOP could be a fine replacement ...
    (comp.arch.embedded)
  • problem in loading from flash to spartan-3 xc3s200
    ... Hello, I'm learning to use FPGA, and i've designed and realized some ... I'm using the xilinx ise 9.2 updated sp4, ... In particular, I can create the .mcs file for the flash, I can program ... I tried to see the signal CCLK (pin 104) with a scope but the signal was ...
    (comp.arch.fpga)
  • Re: FPGA with 5V and PLCC package
    ... of Craignell http://www.enterpoint.co.uk/component_replacements/craignell.html. ... The main points are FPGA XC3S100E or XC3S250E or XC3S500E. ... 4Mbit flash but up to 16Mbit is possible. ... pin versions added to the range. ...
    (comp.arch.fpga)
  • Re: fpga reset (re-initialize) of spartan3e
    ... transfered new configuration data to a flash, ... and want to reinitialize the fpga without using the external prog_b ... Can you not just drive the PROG_B pin from the FPGA itself by connecting it ...
    (comp.arch.fpga)
  • Re: divide-by-N
    ... find some spare pins on your FPGA. ... These days we have EEPROM and using RS232 you only need _one_ pin to set it. ... In the old days sound cards, and I/O cards especially, were full of DIP switches. ... FLASH will be OK, as it will lose value when everything else FLASH based does... ...
    (sci.electronics.design)