Re: SimmStick FPGA module
From: Martin Schoeberl (martin.schoeberl_at_chello.at)
Date: Mon, 14 Feb 2005 22:33:56 GMT
>> Another idea: What do you guys think about adding a slot for a SD Card .
>> 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 . 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).
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):
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.
> Besides the simmmstick itself, you should consider the SODIMM modules,
> as seen in TINI :
Yes, another option. However, is there a kind of 'standard' for this larger modules.
Are there peripheral modules available for this form factor?
> 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 ;-)
PS.: Thanks for all suggestions from the usenet group! It's really fun to discuss several
options during development of a board.