Welcome, Guest. Please login or register.

Author Topic: TG68 - The Open Source Minimig CPU into the FPGA  (Read 22146 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline TobiFlexTopic starter

  • Jr. Member
  • **
  • Join Date: Jan 2006
  • Posts: 53
    • Show only replies by TobiFlex
TG68 - The Open Source Minimig CPU into the FPGA
« on: November 26, 2007, 12:49:53 PM »
Today I have publish my 68K CPU Core:

Open Source 68000 IP Core

Viele Grüße
TobiFlex
 

Offline Crumb

  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 1786
  • Country: 00
    • Show only replies by Crumb
    • http://cuaz.sourceforge.net
Re: TG68 - The Open Source Minimig CPU into the FPGA
« Reply #1 on: November 26, 2007, 01:03:20 PM »
Thank you!!!

Do you think it would be hard to add 68020 support?
The only spanish amiga news web page/club: Club de Usuarios de Amiga de Zaragoza (CUAZ)
 

Offline downix

  • Hero Member
  • *****
  • Join Date: Jan 2003
  • Posts: 1587
    • Show only replies by downix
    • http://www.applemonthly.com
Re: TG68 - The Open Source Minimig CPU into the FPGA
« Reply #2 on: November 26, 2007, 01:07:18 PM »
Bravo! 3000 lines too, I'm impressed.
Try blazedmongers new Free Universal Computer kit, available with the GUI toolkit Your Own Universe, the popular IT edition, Extremely Reliable System for embedded work, Enhanced Database development and Wide Area Development system for telecommuting.
 

Offline TobiFlexTopic starter

  • Jr. Member
  • **
  • Join Date: Jan 2006
  • Posts: 53
    • Show only replies by TobiFlex
Re: TG68 - The Open Source Minimig CPU into the FPGA
« Reply #3 on: November 26, 2007, 01:15:30 PM »
Quote
Do you think it would be hard to add 68020 support?


Yes!
But for now we can clock the CPU faster. The CPU Kernal is very fast and only the bus wrapper make it slow.
The Kernal is 2x-3x faster then the 68000 with the same clock and you can clock them with 28MHz.
I think it is possible to make the minimig 8x-12x faster then the original.

Viele Grüße
TobiFlex
 

Offline jkonstan

  • Full Member
  • ***
  • Join Date: Dec 2005
  • Posts: 243
    • Show only replies by jkonstan
Re: TG68 - The Open Source Minimig CPU into the FPGA
« Reply #4 on: November 26, 2007, 01:31:03 PM »
Keep up the good work !

 :-)
 

Offline AJCopland

Re: TG68 - The Open Source Minimig CPU into the FPGA
« Reply #5 on: November 26, 2007, 01:41:52 PM »
Well done! Very good of you and in keeping with the spirit to open source it too :-)

Andy
Be Positive towards the Amiga community!
 

Offline yetihw

  • Jr. Member
  • **
  • Join Date: Mar 2005
  • Posts: 59
    • Show only replies by yetihw
Re: TG68 - The Open Source Minimig CPU into the FPGA
« Reply #6 on: November 26, 2007, 02:20:05 PM »
Thats awesome the whole mini mig thing is.  In college we made   the 68000 trainers in an altiera FPGA like the mini mig and was a great learning experience but to model the CPU too would have been awesome.  I'm impressed.
Couldn\\\'t afford an amiga then can\\\'t afford one now.
 

Offline alexh

  • Hero Member
  • *****
  • Join Date: Apr 2005
  • Posts: 3644
    • Show only replies by alexh
    • http://thalion.atari.org
Re: TG68 - The Open Source Minimig CPU into the FPGA
« Reply #7 on: November 26, 2007, 02:45:31 PM »
Excellent work. I am glad you were able to release your work.

Is there any attempt to make the instruction timings the same as the original 68k?

Why do I ask?

It's just that some programs rely on the timing of the 68k instructions relative to the rest of the Amiga hardware.

Compatibility is as important than speed IMHO.

It is a million times worse for the Atari ST where there were no accelerators and standard 68k CPU instruction timing was the core to everything. A large % of ST games rely on it.
 

Offline TobiFlexTopic starter

  • Jr. Member
  • **
  • Join Date: Jan 2006
  • Posts: 53
    • Show only replies by TobiFlex
Re: TG68 - The Open Source Minimig CPU into the FPGA
« Reply #8 on: November 26, 2007, 02:54:12 PM »
Quote
Is there any attempt to make the instruction timings the same as the original 68k?


most of the byte and word instructions are exact. Long and mulu/divu/rotation instructions are faster. But - Hehe - this is version 1.0!

Viele Grüße
TobiFlex
 

Offline billt

  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 910
    • Show only replies by billt
    • http://www.billtoner.net
Re: TG68 - The Open Source Minimig CPU into the FPGA
« Reply #9 on: November 26, 2007, 02:57:22 PM »
VHDL? Ewww! Just kidding. This is really cool. Thanks TobiFlex! (Though it would have been even more cool in verilog)

Is there a free vhdl simulator ala Icarus, or a translator, or can Icarus do vhdl since I last read up on it? I can use Modelsim at work but am not supposed to use it for not-work things. ;)

In partial answer to my own question, though I'm not sure if any are good or even workign at all yet:
http://www.symphonyeda.com/proddownloads.htm
http://ghdl.free.fr/
http://freehdl.seul.org/

Though the 68K in VHDL and Minimig in Verilog poses a full-system simulation challenge. Modelsim can do multi-language simulations. Is there a working free simulator that does this?
Bill T
All Glory to the Hypnotoad!
 

Offline JimS

  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 1155
    • Show only replies by JimS
Re: TG68 - The Open Source Minimig CPU into the FPGA
« Reply #10 on: November 26, 2007, 02:59:29 PM »
Well Done!
:bow:  :bow:  :bow:  :bow:  :cheers:  :cheers:  :cheers:
Obsolescence is futile. You will be emulated. - Amigus of Borg
 

Offline spihunter

  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 1501
    • Show only replies by spihunter
Re: TG68 - The Open Source Minimig CPU into the FPGA
« Reply #11 on: November 26, 2007, 03:03:29 PM »
Awesome! :-)
 

Offline alexh

  • Hero Member
  • *****
  • Join Date: Apr 2005
  • Posts: 3644
    • Show only replies by alexh
    • http://thalion.atari.org
Re: TG68 - The Open Source Minimig CPU into the FPGA
« Reply #12 on: November 26, 2007, 03:14:17 PM »
Quote
TobiFlex wrote:
this is version 1.0!

I understand and I take my hat off to you.

There are some subtle undocumented 68k behaviour that you might be interested in:

http://www.trzy.org/files/68knotes.txt
http://pasti.fxatari.com/68kdocs/
 

Offline TobiFlexTopic starter

  • Jr. Member
  • **
  • Join Date: Jan 2006
  • Posts: 53
    • Show only replies by TobiFlex
Re: TG68 - The Open Source Minimig CPU into the FPGA
« Reply #13 on: November 26, 2007, 05:57:23 PM »
Into the first link I can read this:
Quote
Much of my testing was conducted on the MC68EC000 processor


The MC68EC000 is different from the 68000. I have my Core let run against a real MC68HC000 and can not find software differences when the Kickstart or some programms are running. So I know all importand Instructions works correct. About never used Instructions I can not say anything.
Example: I have found no program for the AMIGA that use CHK or MOVEP Instructions.

About the doc on the second link. My Core use no prefetch. My Core use classical Fetch/Execute last - Decode - Fetch next/Execute - order.
Thats why most Instrucions can execute in 2 clocks. The Bus wrapper expand this to 4 clocks.
But for the minimig is the prefetch not so important. The core is fast enough to decode the opcode between as=high. So the timing is the same as the 68000 timing.

On my DE2 Board with a real MC68EC000 and running ANARCHY1 DEMO I can see some rendering error but with the softcore I can not.
I dont know what happens but I think my core has a high Betatested Level. (Upss I hope you can understood my - sorry for my poor english)

Viele Grüße
TobiFlex
 

Offline alexh

  • Hero Member
  • *****
  • Join Date: Apr 2005
  • Posts: 3644
    • Show only replies by alexh
    • http://thalion.atari.org
Re: TG68 - The Open Source Minimig CPU into the FPGA
« Reply #14 on: November 26, 2007, 06:06:39 PM »
Interesting.

Try this program

http://amiga.nvg.org/warlock/adf/b/Birk+Sundell/100C64Tunes.adf.gz

It is known to be sensitive to 68000 incompatibility. I dont think it will work, but if it does, then great!

The Hardwired demo times the 68000 multiply instruction and if it is not a time it expects it comes up with: "This demo don't like Axel". (Axel = Accelerator)