Welcome, Guest. Please login or register.

Author Topic: let's dream about the mini-minimig for a bit...  (Read 4313 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline FrenchShark

  • Full Member
  • ***
  • Join Date: Jan 2004
  • Posts: 181
    • Show all replies
    • http://www.arcaderetrogaming.com
Re: let's dream about the mini-minimig for a bit...
« on: October 01, 2008, 04:15:53 AM »
Quote

Illuwatar wrote:
Quote

RedskullDC wrote:

A bigger FPGA might be an advantage for expansion later on (XC3S1000 for example).

Cheers,
Red

If You find a way for homebrewers to mount a BGA to the PCB in a cheap and simple way that could be performed at home, I will be more than happy to design the board...

As it is now, the largest Xilinx FGPA in a hand-solderable package is 500k gates. Any larger uses BGA.


We should move to Altera FPGAs. The Cyclone III chips with QFP-240 package have pretty decent sizes. I use a 16k LEs one (the smallest available) which is equivalent to a XC3S1000. There are enough gates to put a 68000 inside and enough I/Os to have Audio, 30-bit VGA, 8MB SRAM, 2 x PS2, IDE and 2 joystick ports and I still have 10 I/Os available. Moreover, if you use the serializer trick (like on the AGA Amigas) for the joystick ports, you can save 5 more I/Os.

Regards,

Frederic
 

Offline FrenchShark

  • Full Member
  • ***
  • Join Date: Jan 2004
  • Posts: 181
    • Show all replies
    • http://www.arcaderetrogaming.com
Re: let's dream about the mini-minimig for a bit...
« Reply #1 on: October 08, 2008, 12:35:38 AM »
Quote

freqmax wrote:
One could also skip the onboard MCU and replace it with another XC3S500E FPGA + eeprom. That way fpga0 can boot from eeprom, and load fpga1 with flashmemory files. And then fpga1 can reset and load fpga0 with next set of files from flashmemory.



Altera FPGAs have chipselect pins for configuration, with some extra I/Os on the PIC, you can get them configured one after another.
The problem with multi-FPGA design is that you need a communication bus between them that consumes I/Os...
The best solution I have found so far is to put a FlexBus bus (see the Coldfire MC548x). It consumes "only" 44 I/Os (28 if we use DDR on some signals).

With a 3-FPGA design (2 x EP3C16Q240 + 1 x EP3C10E144), you have enough I/Os to implement an Amiga AGA clone with all the legacy peripherals plus USB (ULPI interface) and Ethernet (MII interface).
It is quite costly : ~$80 for the FPGAs. Anyway, a medium sized BGA FPGA is not cheap either.

Regards,

Frederic
 

Offline FrenchShark

  • Full Member
  • ***
  • Join Date: Jan 2004
  • Posts: 181
    • Show all replies
    • http://www.arcaderetrogaming.com
Re: let's dream about the mini-minimig for a bit...
« Reply #2 on: October 08, 2008, 12:49:30 AM »
Quote

alexh wrote:
Quote

FrenchShark wrote:
We should move to Altera FPGAs.

Not used them for a while (3 years) but the Altera FPGA tools always sucked ass. The Xilinx ones being based on Synopsys were always better. Things changed recently?

Start using complex generate statements, non integer generics, arrays of pointers of enumerated types etc. and Altera tools blew up.

I am not a big VHDL guru. I do not use variables so much, I use a little bit of generate statements to reduce VHDL source size, I also use type definition for state machines and arrays. I have never used pointers in VHDL (what kind of crazy design did you work on ?:-o)

I have found few bugs on Altera tools. I was able to work around them so far.
I remember that in 2005, Quartus II was quite unstable. Now, it is a lot better.

Regards,

Frederic
 

Offline FrenchShark

  • Full Member
  • ***
  • Join Date: Jan 2004
  • Posts: 181
    • Show all replies
    • http://www.arcaderetrogaming.com
Re: let's dream about the mini-minimig for a bit...
« Reply #3 on: October 09, 2008, 12:17:24 AM »
Quote

freqmax wrote:
An fpga-fpga internal expansion bus serialisation of 8 MHz, 16 bit data, 24 bit address gives a 3072 Mbps datarate. The XC3S500E manages 500 Mbps LVDS. So it doesn't need that many I/O ports.
And there's proberbly room for optimisations.

If I put a FlexBus is to make it run at 57 MHz or 114 MHz :-D

Quote

And yes dual fpga will consume I/O, but will also gain a lot more I/O than lost.

Agree, in this case, one Cyclone III has 160 I/Os, two will have 232 I/Os, maybe 264 I/Os if I use DDR.

Quote

You can load all FPGAs from a single eeprom but the catch is that changing core will be a pain for non developers. That's why my preference for an flashmemory load.

Using MS-win kills the possibility for efficient remote console. Requires local harddisc. And gives the headache of virus etc..

The PIC solution is kind of neat but little bit slow. I would prefer putting a SX-28/48 or even a Propeller.
For developers, the best is still JTAG : immediate loading and easy debugging.

Regards,

Frederic