[Coco] FW: Multi-Processor 6809 Computer System

Mark McDougall msmcdoug at iinet.net.au
Tue Apr 30 08:47:31 EDT 2013


On 30/04/2013 6:09 AM, John Kent wrote:

> You can instantiate as many 6809 cores in an FPGA as it will fit in the
> FPGA, although you will probably need block RAM cache as you would need to
> share common memory between the CPUs. I was working on a quad core 6809
> system at one stage, many years ago, using a XC3S1000 on the spartan 3
> starter FPGA board from Digilent, but I ran into some difficulties trying to
> work out the bus arbitration for shred memory and never completed it.

FPGA's are perfect for prototyping this sort of design; you can design and 
test many different solutions for no cost but your own time!

I haven't done a multi-processor design (other than cloning a few simple 
arcade games) but we did do one design with two PCI interfaces that had to 
share peripherals on a Wishbone bus. There is actually a white paper that 
describes how to to bus arbitration on Wishbone, and we used that as the 
basis of our solution (I seem to recall it was a purely combinatorial design 
too). Of course there are several schemes and no doubt John's scheme as 
described was just as valid.

Thinking purely off the top of my head - and this is less to do with 
arbitration and more to do with inter-CPU I/O - in an FPGA design I'd 
perhaps consider using blocks of dual-port RAM between each of the CPU's and 
a designated 'master' CPU, with interrupts linked to mailbox registers. I 
guess the master would be responsible for assigning tasks to each of the 
slaves, and there'd be no (need for) slaves to communicate directly with one 
another.

Hope you all have fun with it guys!

Regards,

-- 
|              Mark McDougall                | "Electrical Engineers do it
|  <http://members.iinet.net.au/~msmcdoug>   |   with less resistance!"



More information about the Coco mailing list