Welcome, Guest. Please login or register.

Author Topic: FPGAARCADE minimig compatible board, comments?  (Read 59353 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline mikejTopic starter

  • Hero Member
  • *****
  • Join Date: Dec 2005
  • Posts: 822
    • Show all replies
    • http://www.fpgaarcade.com
FPGAARCADE minimig compatible board, comments?
« on: March 17, 2008, 10:52:42 PM »
Hello all.

I have been developing a board for a while to run the games developed at www.fpgaarcade.com. I have also been working towards a gate-level perfect AtariST clone (ok, wrong forum :) ). Having talked to Dennis I decided to include a similar bootloader to Minimig so it can also run the Amiga hardware.

This is how it stands at the moment (its about 90% placed, some components are missing).


The board size is ECX but it has got slightly bigger today and is now "EPIC/ narrow mini-ITX" 17 cm wide by 12 high. It will fit in an ITX case and the two front screws are correct. It is a slightly ~6mm oversize EPIC format.

I wanted to keep the base board as simple as possible, everything platform specific would go on a daughter card. This increases the cost though, so I added some connectors at the top but these would not be fitted. The daughter board can be stuffed with whatever connectors you wish. Two daughter boards are being designed, one has the joystick ports over the bottom connectors and TV out, and the other has a JAMMA edge connector for arcade game cabs.

It has DVI out as well as 30bit analogue RGB on the DVI connector. You can plug in a 15 pin VGA adapter or a cable to your SCART TV. It has a high quality audio output as well.

The PIC has a bootloader so it can be updated by the serial port (if it works!)

The FPGA is quite a bit bigger than the one on Dennis' board (Spartan3E ~ 1.2 M gates), so I am hoping the 68K processor would not need to be fitted and we would use TobiFlex's core. (Hello again!)

The RAM is DDR DRAM and there is 64MB of it, maybe more. I will come up with wrappers for the Minimig code so it runs on this board. What I want to get to is the bootloader loads a default FPGA image at startup which drives the on screen menu. You then choose the platform (Amiga/Atari/Pacman/HD Asteroids etc) and the disk images / roms.

I will do a small production run when it all works as it is tricky to solder BGAs at home :(

Any comments? There is still time to tweak it....
Should the base card have composite / SVHS TV out, or is the DVI into a HDMI tv good enough? Do modern TVs work at 50Hz with HDMI actually, I don't have one???

Thanks,
Mike.
www.fpgaarcade.com

 

Offline mikejTopic starter

  • Hero Member
  • *****
  • Join Date: Dec 2005
  • Posts: 822
    • Show all replies
    • http://www.fpgaarcade.com
Re: FPGAARCADE minimig compatible board, comments?
« Reply #1 on: March 17, 2008, 11:37:13 PM »
Thanks!

All the 68K pins also go to the connector as I expect the CPU wont be fitted. There is a lot of IO there so anything is possible, faster CPU no problem. I don't see any reason why we can't get the soft68K upto silly speeds actually, the DRAM controller should keep up.

All reasonably modern arcade machines use the JAMMA connector, older ones had custom ones. I also want to do a daughter card to drive vector monitors for StarWars :)

You can wire to the regular telly using a vga to scart cable, the chip will output PAL/NTSC and composite sync on the H sync pin (look at my vic20 page). Question is, to keep the base board cost down can the composite video out go on the optional daughter board???

Actually I have been making some good progress with the JAG2 stuff, I have a working cell simulation library that is nearly consistent. Most of the work recently has been finishing off the Atari customs, but that is mostly done. Full focus on getting this board done now, my deadline was Easter....
/Mike
 

Offline mikejTopic starter

  • Hero Member
  • *****
  • Join Date: Dec 2005
  • Posts: 822
    • Show all replies
    • http://www.fpgaarcade.com
Re: FPGAARCADE minimig compatible board, comments?
« Reply #2 on: March 18, 2008, 02:00:28 PM »
right, in order:
"Why 2x PS2 ports on opposite sides ..?"
top connectors not fitted by default. Now it is slightly larger mini-itx size the PS2 connector will move down. Holes for box headers for the joysticks will also be added so they can be cabled off.

"SMPS or Linear (hot-hot) regulators ..? "
DC-DC convertors (right hand side)

"Configuration jumpers for video signal ..?"
yes, not placed.

I will post schematics when we have finished nailing the architecture for review. Its changing too much at the moment.

Dennis, currently a PIC18LF2520. The header on the left is for a pickit2 programmer along with a 5v supply jumper for ICP.

DRAM has a VTT supply (linear regulator above the ram).
Parallel termination only should be ok, I'll simulate the board. Target clock speed is 166MHz (333Mbit).

Flexible clock generator from IDT (probably) to be added to get correct video and memory clocks.

/Mike





 

Offline mikejTopic starter

  • Hero Member
  • *****
  • Join Date: Dec 2005
  • Posts: 822
    • Show all replies
    • http://www.fpgaarcade.com
Re: FPGAARCADE minimig compatible board, comments?
« Reply #3 on: March 19, 2008, 11:08:22 PM »
"Linear DC-DC or Switched DC-DC ..?"
Can you get a linear DC-DC??
I'm using switching buck converters.

I will post the schematics before layout is completed, all the reviewing I can get the better :)


The clocking is one of the remaining design problems. I'm looking at 2 chips, one to generate 20MHz for the PIC and a base clock for the FPGA as well as 166 for the memory controller. The other I'm looking at is an IDT307 or similar which has a PLL and can be used to generate all the odd video frequencies we may need. The DCM clk_fx output is quite noisy and can't be used for the memory interface.

Can I handle DDR? I hope so - I do this for a living :) but it will be tricky on a board this cheap using such a slow device. But, we could do with the bandwidth if we want high res high colour displays. I am thinking of adding a second dram chip, they are seriously cheap. SDRAM is in many cases better but it's getting harder to get hold of. I am using DDR over DDR2 as the latency is less.

I will try and fit in an IDE connector on the daughter board.

So, everybody happy with using the VGA/DVI/SCART connector on the main card and only having Composite out on the daughter card ??

/Mike

 

Offline mikejTopic starter

  • Hero Member
  • *****
  • Join Date: Dec 2005
  • Posts: 822
    • Show all replies
    • http://www.fpgaarcade.com
Re: FPGAARCADE minimig compatible board, comments?
« Reply #4 on: March 24, 2008, 11:54:40 PM »
"Are you going to use Hyeprlynx or another Signal Integrity tool to simulate your pcb layout ? When you post the schematics, I will look them over."

Yes, I'll run it through Hyperlynx to see what it looks like, and thanks for the review offer. You can get away with no termination at all for a single memory with very short traces. A couple of designs use a single 50R to VTT per net (spartan3a starter kit). I think I should be ok with just the parallel terminators placed at the end of the net for clock/address/control lines and in the center for the data pins. I will simulate it to be sure.

The dc-dc controllers are from national (lm2852/3) with the recommended inductor from coilcraft. Dedicated VTT linear regulator.

Latency is a problem, thats why I've gone for DDR1 over DDR2. The memory controller can keep four banks open and do 32 bit fully random access on each bank as fast as the Minimig SRAM can. This is useful for some arcade games where I can emulate four ROMS (one per bank) simultaneously.

I've added a header by the (by default) unpopulated joy connectors so you can fit a connector and make a cable to whatever joystick you want. You also have the main expansion connector with lots of IO.

"Thus anything that's specific and slow I/O to a certain "emulation" is preferibly put on a cheaper board that can be reused with future revisions of the main board."

Agreed!


 

Offline mikejTopic starter

  • Hero Member
  • *****
  • Join Date: Dec 2005
  • Posts: 822
    • Show all replies
    • http://www.fpgaarcade.com
Re: FPGAARCADE minimig compatible board, comments?
« Reply #5 on: April 05, 2008, 06:51:30 PM »
Update:
Thanks for all the comments. The layout has been expanded slightly so it is mini_itx wide and roughly half as deep - so it will fit in a mini-itx case and the two rear fixing holes are in the correct place.

I have decided to go for a twin SPI bus AVR chip for performance reasons and the open source tool chain is better than the PIC. I have ported most of the MiniMig PIC code.

I have added an active filter/buffer for the video out which allows the the daughter board to have a composite/svhs coder.

I'll get an updated layout and schematic up for review as soon as I can.
Regards,
Mike.
 

Offline mikejTopic starter

  • Hero Member
  • *****
  • Join Date: Dec 2005
  • Posts: 822
    • Show all replies
    • http://www.fpgaarcade.com
Re: FPGAARCADE minimig compatible board, comments?
« Reply #6 on: May 22, 2008, 11:00:25 AM »
Here is an update on the FPGAARCADE board. Layout is complete, routing is going well. I should have some schematics up soon when the pin swapping is complete. It is mini-ITX in width and shrunk a bit vertically. (170mm x 80mm)It has more expansion than you can shake a big stick at.

/MikeJ
WWW.FPGAARCADE.COM

(edit to fix link)
 

Offline mikejTopic starter

  • Hero Member
  • *****
  • Join Date: Dec 2005
  • Posts: 822
    • Show all replies
    • http://www.fpgaarcade.com
Re: FPGAARCADE minimig compatible board, comments?
« Reply #7 on: May 22, 2008, 04:14:40 PM »
Yes, this has been pointed out. I ran out of IO space.

The daughter board will have comp/s-video out. I may do a tiny little board which plugs into just the small connector in the bottom middle which has just the comp/s-video connector and coder on it. Thats what the extra hole to the right of the connector is for :)


 

Offline mikejTopic starter

  • Hero Member
  • *****
  • Join Date: Dec 2005
  • Posts: 822
    • Show all replies
    • http://www.fpgaarcade.com
Re: FPGAARCADE minimig compatible board, comments?
« Reply #8 on: May 23, 2008, 12:27:03 PM »
Hi Peter,

One of the problems is that it is not just board design, there is a lot of other "stuff" to do to make sure it will work. For example, the DDR memory controller is being tested and I have ported most of the PIC code to the AVR.

Layout will be complete by end June and I have enough parts already to build 5 prototypes. These will be sent out to other developers. If all is well then I will kick off a small production run dependent on demand. I aim to get this done by mid August.

The price is going to more than MiniMig certainly, and it is very dependent on the number of boards we make. The board is a lot more flexible and is aimed at people who want to build it into an arcade machine etc as well. It is possible a cost reduced/portable version could happen in the future. The target price is sub $250/Euro160 but this could go up or down (hopefully down).

Cheers,
/Mike
 

Offline mikejTopic starter

  • Hero Member
  • *****
  • Join Date: Dec 2005
  • Posts: 822
    • Show all replies
    • http://www.fpgaarcade.com
Re: FPGAARCADE minimig compatible board, comments?
« Reply #9 on: May 23, 2008, 02:16:10 PM »
Basic specs:
FPGA Xilinx Spartan3e 1200 (3x MinMig)

Wolfson high quality DAC audio output(192K 24 bit)
DVI output with 30 bit Analogue video.
Video is filtered by a variable frequency cut-off filter for high quality TV / HD
High speed AVR processor with twin SPI connections for high speed read/write to memory card.
32MB of DDR memory (doubles as ROM)
Expansion connector for TV out.
Expansion connector for user IO (IDE etc)
Daughter board brings joystick and serial connectors above the other IO connectors to fit in a standard mini-itx case.
Molex (disk drive type) power connector for use in a case.
Two 30 pin connectors for user IO (wired in parallel with joystick inputs, useful for arcade game rigs)
JAMMA arcade daughter board

Option of onboard 68K processor, although I imagine this will be replaced with a soft core. The pins are wired up to the main expansion connector so on theory you could have a 680xx on an expansion board.

Platform aims (done or near done)
Amiga (Based on MiniMig code branch)
AtariST (my code)
Vic20
C64
BBCB
Spectrum
Bally
+some more in the pipe

Arcade (done or near done)
Pacman/Mrs Pac/Pengo etc
Frogger/Scramble
Defender
StarWars *
SpaceInvaders
Asteroids *

*an IO board to drive vector monitors is planned

170mm x 80mm size (mini-itx width)

EDIT : forgot 8 analogue inputs wired up to the AVR, so an expansion board could have analogue joysticks etc
 

Offline mikejTopic starter

  • Hero Member
  • *****
  • Join Date: Dec 2005
  • Posts: 822
    • Show all replies
    • http://www.fpgaarcade.com
Re: FPGAARCADE minimig compatible board, comments?
« Reply #10 on: May 23, 2008, 02:19:58 PM »
I need a catchy name for the board, anybody got any ideas?
(Shouldn't be Amiga specific)

"Programmable Gaming Platform" is a bit too long
/Mike
 

Offline mikejTopic starter

  • Hero Member
  • *****
  • Join Date: Dec 2005
  • Posts: 822
    • Show all replies
    • http://www.fpgaarcade.com
Re: FPGAARCADE minimig compatible board, comments?
« Reply #11 on: May 23, 2008, 02:34:48 PM »
nice one, top candidate so far :)
 

Offline mikejTopic starter

  • Hero Member
  • *****
  • Join Date: Dec 2005
  • Posts: 822
    • Show all replies
    • http://www.fpgaarcade.com
Re: FPGAARCADE minimig compatible board, comments?
« Reply #12 on: May 23, 2008, 02:57:39 PM »
We will see how it goes, if I can get a good price on a small production run I will sell it myself. I am in discussions with some distributors also.

Like any FPGA based board it can be anything, it needs the circuit design to behave like the original hardware - note it is not emulation, it is gate level accurate and (if there are no bugs) functions as well as the original machine.

The AtariST code I have been working on should behave in all cases identically to the original chipset. Obviously it is possible to add new features as well. For the Amiga I have ported the MiniMig core logic from Dennis. I will hopefully be able to move the compatibility forward a bit as well.

(I am an ASIC/FPGA designer by trade)
/MikeJ
 

Offline mikejTopic starter

  • Hero Member
  • *****
  • Join Date: Dec 2005
  • Posts: 822
    • Show all replies
    • http://www.fpgaarcade.com
Re: FPGAARCADE minimig compatible board, comments?
« Reply #13 on: May 23, 2008, 03:02:49 PM »
"Amiga Retro System Emulator"

mmm, tempting actually :)

Phoenix is certainly possible, 8085 based and custom audio chip make it a bit more tricky.

I am going for Gauntlet next as I have a 68K processor handy around.
 

Offline mikejTopic starter

  • Hero Member
  • *****
  • Join Date: Dec 2005
  • Posts: 822
    • Show all replies
    • http://www.fpgaarcade.com
Re: FPGAARCADE minimig compatible board, comments?
« Reply #14 on: May 23, 2008, 03:32:15 PM »
I think it's going to be G.A.M.E

General Arcade/Amiga/Atari/Anything Machine Emulator

:)

Any other offers ??