Welcome, Guest. Please login or register.

Author Topic: Motorola 68060 FPGA replacement module (idea)  (Read 189663 times)

Description:

0 Members and 20 Guests are viewing this topic.

Offline matthey

  • Hero Member
  • *****
  • Join Date: Aug 2007
  • Posts: 1294
    • Show only replies by matthey
Re: Motorola 68060 FPGA replacement module (idea)
« Reply #299 from previous page: January 15, 2013, 01:30:50 PM »
Quote from: JimDrew;722601
If you really plan on using strictly a FPGA to emulate the CPU, I would suggest someone modifying WinUAE to make a histogram of instruction usage.  This would let someone focus on optimizing the 680x0 core by looking at instruction usage which could help determine things like what changes in the cache, pipelines, etc. will benefit the speed.

Some instructions are used less often but reduce branching (my favorite), are very powerful and/or save code (some operations are easy in hardware but difficult to do in software). Some DSP or SIMD like instructions are used in processor intensive codecs and drivers where they offer huge speedups but are used less in normal code. A simple instruction count only gives a partial picture of what instructions are best.
 

Offline ChaosLord

  • Hero Member
  • *****
  • Join Date: Nov 2003
  • Posts: 2608
    • Show only replies by ChaosLord
    • http://totalchaoseng.dbv.pl/news.php
Re: Motorola 68060 FPGA replacement module (idea)
« Reply #300 on: January 15, 2013, 01:50:10 PM »
Quote from: matthey;722634
Some instructions are used less often but reduce branching (my favorite)


Yes!  I love those!  I (and Phil) were always pushing these at the Natami CPU Dezine Dept. but Gunnar did not like them or didn't understand so he was totally against adding a new instruction for this purpose. :(
Wanna try a wonderfull strategy game with lots of handdrawn anims,
Magic Spells and Monsters, Incredible playability and lastability,
English speech, etc. Total Chaos AGA
 

Offline ChaosLord

  • Hero Member
  • *****
  • Join Date: Nov 2003
  • Posts: 2608
    • Show only replies by ChaosLord
    • http://totalchaoseng.dbv.pl/news.php
Re: Motorola 68060 FPGA replacement module (idea)
« Reply #301 on: January 15, 2013, 01:53:36 PM »
Quote from: mikej;722620

The micro and nano microcode instructions roms are being read out.

If they did this for 68060 it would be very interesting!
Wanna try a wonderfull strategy game with lots of handdrawn anims,
Magic Spells and Monsters, Incredible playability and lastability,
English speech, etc. Total Chaos AGA
 

Offline matthey

  • Hero Member
  • *****
  • Join Date: Aug 2007
  • Posts: 1294
    • Show only replies by matthey
Re: Motorola 68060 FPGA replacement module (idea)
« Reply #302 on: January 15, 2013, 02:32:25 PM »
Quote from: ChaosLord;722637
Yes!  I love those!  I (and Phil) were always pushing these at the Natami CPU Dezine Dept. but Gunnar did not like them or didn't understand so he was totally against adding a new instruction for this purpose. :(


Gunnar thought he could solve all short branches with predication but it has issues when variable length and cycle instructions are used. I originally thought instructions like ABS would not be useful for this reason but I came to realize predication was not a good idea even before Gunnar. It doesn't work well with the 68k updated address register addressing modes like (An)+ and -(An) either. The original Scc instruction takes the correct approach. It didn't take too much to convince Gunnar that these kinds of instructions were better than predication or conditional moves like x86 CMOV. That's why we added SBcc, SELcc, ABS, POPCNT, etc. to the ISA and which fit and have minimal pipeline overhead (hazards) while reducing short branches. Long branches still need to jump. If we could remove 5-15% of branches (the short ones) and the overhead in the branch cache and history, the 68k would be one of the best processors at branching. Add to that a relatively short pipeline (and mis-predicted branch penalty) and 0 cycle loops and we would have much improved performance, a beautiful CPU to program and even better code density.
 

Offline psxphill

Re: Motorola 68060 FPGA replacement module (idea)
« Reply #303 on: January 15, 2013, 03:31:15 PM »
Quote from: matthey;722639
That's why we added SBcc, SELcc, ABS, POPCNT, etc. to the ISA and which fit and have minimal pipeline overhead (hazards) while reducing short branches. Long branches still need to jump. If we could remove 5-15% of branches (the short ones) and the overhead in the branch cache and history, the 68k would be one of the best processors at branching. Add to that a relatively short pipeline (and mis-predicted branch penalty) and 0 cycle loops and we would have much improved performance, a beautiful CPU to program and even better code density.

Trying to improve the ISA is a time sink which you'll never get payback from. The only benefit is a bit of ego boosting, but that subsides when reality hits.
 
Making the pipeline follow the predicted branch might be hard, but it's doable. Thumb drops a lot of conditional instructions from Arm.
« Last Edit: January 15, 2013, 03:33:52 PM by psxphill »
 

Offline Plaz

Re: Motorola 68060 FPGA replacement module (idea)
« Reply #304 on: January 15, 2013, 09:45:57 PM »
Different angle here..... Coldfire is not too far off from 68K instructions. A Coldfire V1 core is available for Altera FPGAs. Would it be a shorter easier journey to start with a Coldfire core and modify it to be more 68K compatible for our purpose?

EDIT: Hold on, I may be reading this Coldfire core information incorrectly. More study required.

EDIT 2: Yes, looks like my first comment was correct....  http://chipdesignmag.com/display.php?articleId=2371

Plaz
« Last Edit: January 15, 2013, 09:52:08 PM by Plaz »
 

Offline Mrs Beanbag

  • Sr. Member
  • ****
  • Join Date: Sep 2011
  • Posts: 455
    • Show only replies by Mrs Beanbag
Re: Motorola 68060 FPGA replacement module (idea)
« Reply #305 on: January 15, 2013, 09:59:58 PM »
You might be able to license the core and use it but you won't be able to modify it, commercial cores are typically encrypted so you can't get at the source code.
Signature intentionally left blank
 

Offline billt

  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 910
    • Show only replies by billt
    • http://www.billtoner.net
Re: Motorola 68060 FPGA replacement module (idea)
« Reply #306 on: January 15, 2013, 10:05:18 PM »
Quote from: Plaz;722666
Different angle here..... Coldfire is not too far off from 68K instructions. A Coldfire V1 core is available for Altera FPGAs. Would it be a shorter easier journey to start with a Coldfire core and modify it to be more 68K compatible for our purpose?

EDIT: Hold on, I may be reading this Coldfire core information incorrectly. More study required.

EDIT 2: Yes, looks like my first comment was correct....  http://chipdesignmag.com/display.php?articleId=2371


Check the store for this thing at http://www.ip-extreme.com/corestore/

Yes, it is free without cost, but it is also encrypted. You are not going to take this and go make changes to turn it into something else (even ever so slightly) without spending a lot of money.

Still, it is very cool they have something without cost for those that can use exactly what that is.
Bill T
All Glory to the Hypnotoad!
 

Offline Fats

  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 672
    • Show only replies by Fats
Re: Motorola 68060 FPGA replacement module (idea)
« Reply #307 on: January 15, 2013, 10:05:26 PM »
Quote from: psxphill;722642
The only benefit is a bit of ego boosting, but that subsides when reality hits.


Maybe it's just called hobby...
Staf.
Trust me...                                              I know what I\'m doing
 

Offline JimDrew

  • Lifetime Member
  • Full Member
  • ***
  • Join Date: Jun 2012
  • Posts: 241
    • Show only replies by JimDrew
Re: Motorola 68060 FPGA replacement module (idea)
« Reply #308 on: January 15, 2013, 10:07:21 PM »
Quote from: mikej;722620
There is quite a bit of work going on understanding the basic architecture of the 68K

http://www.visual6502.org/images/pages/Motorola_68000.html

The micro and nano microcode instructions roms are being read out.
If this works, a table based FPGA will be much smaller and more accurate than the current code - and can be tweaked easier.
A lot of the cloaning complexity of the 68K is a fall out from the way it was efficiently implemented due to die area limitations at the time.
/MikeJ

Well Mike, that will definitely lead you in the direction of a perfect FPGA core emulation.  Table based should be much easier to implement pipelines and the correct size caches.

Motorola was working on a FPGA type chip between the 040 and PPC development with IBM.  Motorola in Phoenix, AZ asked me to visit and I got a chance to work with the microcode blocks for simulating the 68K CPU.  That chip was suppose to be able to become a x86 or 68K (or whatever) by uploading a new core.  It was abandoned because it was simply too slow.  I worked with other microcode projects as well, and I actually called my company Microcode Solutions.
« Last Edit: January 15, 2013, 10:11:08 PM by JimDrew »
 

Offline Plaz

Re: Motorola 68060 FPGA replacement module (idea)
« Reply #309 on: January 15, 2013, 10:24:29 PM »
Quote from: billt;722671
Check the store for this thing at http://www.ip-extreme.com/corestore/


Um, yeah. That's not going to happen. Darn, thought I had something there.

Plaz
 

Offline billt

  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 910
    • Show only replies by billt
    • http://www.billtoner.net
Re: Motorola 68060 FPGA replacement module (idea)
« Reply #310 on: January 15, 2013, 10:37:33 PM »
Quote from: Plaz;722674
Um, yeah. That's not going to happen. Darn, thought I had something there.

It's not a bad thought process to go through. If the source for a well designed core was available, it would be a great idea to be looking at that for ideas and to see if it can be mutated to our ideal here. The problem with that idea is that the really great cores are expensive closed source things, particularly if they have a corporate name on them, and the free/open ones are catching up. Though TG68 is at least getting some real attention and becoming far more than the simple 68000 it started out as.

Some other 68k cores to look at:
ao68000 (github is newer than opencores, is wishbone rather than 68000 bus, but is 32bit)
k68 (opencores)
suska

I'm not really familiar with other architecture cores to consider. There's others out there, but I don't know how well they compare to what Yaqube and TG are doing to TG68 now.
Someone started an opencores project for a simple PowerPC core called zCore that I'd like to look at, but they've never actually uploaded anything. There's an older ARM core somewhere, but as it's an older ARM version I'm not sure how advanced it may be.
« Last Edit: January 15, 2013, 10:40:58 PM by billt »
Bill T
All Glory to the Hypnotoad!
 

Offline Heiroglyph

  • Hero Member
  • *****
  • Join Date: Jun 2010
  • Posts: 1100
    • Show only replies by Heiroglyph
Re: Motorola 68060 FPGA replacement module (idea)
« Reply #311 on: January 15, 2013, 10:59:55 PM »
What's the performance like with some of these companies existing general purpose CPU cores on high-end FPGAs?  Each company seems to have one flagship CPU core.

I'd assume that they would be about as fast as could be done.  If you can beat theirs, you need to be working for them!

That should give a reasonable idea of what's even possible.
 

Offline Plaz

Re: Motorola 68060 FPGA replacement module (idea)
« Reply #312 on: January 15, 2013, 11:12:32 PM »
@billt
Is this the ARM project you mentioned? Doesn't look like much aditional worl has been done in a while.

http://opencores.com/project,core_arm

Plaz
 

Offline billt

  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 910
    • Show only replies by billt
    • http://www.billtoner.net
Re: Motorola 68060 FPGA replacement module (idea)
« Reply #313 on: January 15, 2013, 11:15:44 PM »
Quote from: Plaz;722682
@billt
Is this the ARM project you mentioned? Doesn't look like much aditional worl has been done in a while.

http://opencores.com/project,core_arm

Plaz


Once upon a time there was a maybe more advanced one than that but ARM had it disposed of. :( If you look hard enough you might find it in some shady corner of the netiverse, but that was news over 10 years ago...
Bill T
All Glory to the Hypnotoad!
 

Offline bloodline

  • Master Sock Abuser
  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 12113
    • Show only replies by bloodline
    • http://www.troubled-mind.com
Re: Motorola 68060 FPGA replacement module (idea)
« Reply #314 on: January 16, 2013, 12:06:25 AM »
Quote from: billt;722684
Once upon a time there was a maybe more advanced one than that but ARM had it disposed of. :( If you look hard enough you might find it in some shady corner of the netiverse, but that was news over 10 years ago...
Here is an implementation of the ARM2 ISA... It's old but would make a great starting point for any CPU project!

http://opencores.org/project,amber