SimmStick FPGA module

keep

components

different

Java program.

serial interface.

during

you are

want to

configuration

for the Flash

complicate

Yes. Indeed at my company we have a design that uses an FTDI FT2232C USB controller to:

1- Power the board (up to 500mA@5V but you can also use external power). 2- Implement a JTAG interface. 3- Implement a serial/FIFO communication line.

You get all these from a single cable and that is very useful for development. The FT2232C

formatting link
implements two versatile IO ports and supports a smart bit-bang mode (MPSSE), so you can do serial or FIFO communications with one channel and JTAG programming or debugging with the other in parallel (you even get some GPIOs that are very handy if you need to configure your board on the fly). We use those 'mini' type-B USB connector that save a lot of space, and you can buy the cables cheap from Palm or mobile phone accessory suppliers.

Since you are fond of Java, you might enjoy the Java bindings for the FTDI direct driver at

formatting link
which I maintain. I have personally implemented an MPSSE JTAG controller using it (tested with Xilinx FPGAs), it is not very difficult.

modules,

larger modules.

I guess the DIMM-PC is as standard as it gets

formatting link
Every vendor seems akin to implement their own standard; besides the world is mostly going high-speed serial now... If you want your own parallel edgeboard connector there are those universal 132-pin AGP connectors that sell for less than a dollar in small quantities... just an idea.

fun to discuss several

Ain't that GREAT (TM)? At least if you finally mess up you can blame or share the guilt with others :)

Luck with you project.

-- PabloBleyerKocik / pbleyer / "Their primitive minds couldn't accept the truths." @embedded.cl / -- Cheech Wizard in 'Captured by Morton Frogg'

Reply to
Pablo Bleyer Kocik
Loading thread data ...

components

different

The AT76C712/3 is a small AVR CPU with USB that boots from a (AT45DBxxx) serial (SPI) dataflash memory The dataflash can also contain the configuration data.

If you let the device run the USB Mass Storage Adapter device class then the programming can be as simple as a drag and drop to the file system. You can probably setup your development environment to save the bitstream to the new "USB key" The onboard AVR runs 48 MHz so your configuration should be quite fast.

Typically dataflash is much cheaper than configuration memories and you can get them in sizes up to 64 Mbit today. In SO-8 pinout, they are up to 16 Mbit today, but the 128 Mbit in SO-8 is around the corner.

During configuration, the AVR can read a script file from teh FAT file system and can react accordingly maybe also taking some DIP switches in account. (You could have several configurations, very easily)

After configuration, the AVR could switch to a USBSerial adapter. (Disabling the USB Mass Storage, until a key is pressed)

--
Best Regards,
Ulf Samuelsson
ulf@a-t-m-e-l.com
This message is intended to be my own personal view and it
may or may not be shared by my employer Atmel Nordic AB
Reply to
Ulf Samuelsson

program.

interface.

Flash

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 :

formatting link
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 ?

formatting link
$5-7 for 22-60Msps ADC & DAC ? This ties in well with a SD socket, & USB link...

SD starts to look nice on this basis...

modules.

The TINI itself ? ;)

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

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

discuss several

-jg

Reply to
Jim Granville

Yes, this chip is fine. You can get rid of these download cables. So the idea is to use this USB chip to program the serial flash (in the same way as you do it with the ByteBlaster - holding the FPGA on reset with nConfig low). Or if you want to config it direct you could use the the JTAG interface - doning JTAG with the FT2232C. However, for both modes you have to provide a 'special' program and can't use Quartus anymore.

Another point: I see this module as an Java SBC and not a slave of a PC. So I did understand Jim's suggestion to build an USB host. That means you can use the USB to attach flash or anything else to the SBC and not the board as USB slave to the PC. This direction was what I meant not so easy.

You did configura the Xilinx FPGA in JTAG mode? That's very interesting. I hope there is enough documentation about the Altera Cyclone to do the same.

You mean mess up with the board or with the sales numbers ;-)

Thanks!

Martin

---------------------------------------------- JOP - a Java Processor core for FPGAs:

formatting link

Reply to
Martin Schoeberl

program.

interface.

configuration

Flash

may be enough smarts

(single step?) and

From your first suggestion I thought you mean USB master on the FPGA to use USB devices.

select Load from

I don't get the idea. For configuration from Flash I want the module to run stand-alone. That means no USB connection. The FT2232C has to be disabled in this mode and the power has to be provided through a different pin (from the SIMM bus, e.g.).

It was not the idea to exectue (Java) code direct from the SD card. We have large SDRAM on board. The code is copied from the SD card (or serial Flash) to the SDRAM prior execution. So speed is not the point. The SD card can further act as file system. I know that the automotive industry does like to execute direct from Flash. They want to avoid the additional boot time due to the memory copy. They want a boot in the ms region. However, this is not the problem for this board.

selection ?

formatting link

What for would you use these Codecs?

But the SD connector is still 'large' ;-)

modules.

Yes, a point to consider. I don't know how large the TINI user base is. As the TINI is a VERY slow JVM, JOP could be a fine replacement (JOP is almost 200 times faster than the TINI). And you have an FPGA...

Martin

---------------------------------------------- JOP - a Java Processor core for FPGAs:

formatting link

Reply to
Martin Schoeberl

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.