Overview Features Coding ApolloOS Performance Forum Downloads Products Order Contact

Welcome to the Apollo Forum

This forum is for people interested in the APOLLO CPU.
Please read the forum usage manual.
Please visit our Apollo-Discord Server for support.



All TopicsNewsPerformanceGamesDemosApolloVampireAROSWorkbenchATARIReleases
Information about the Apollo CPU and FPU.

Different Core "branch" for Different FPGA?

Daniel Sevo

Posts 299
10 Dec 2016 15:55


Logic dictates that if you keep adding stuff to the core, eventually you will run out of "space/Logic Elements" in the Cyclone III FPGA.
  So is there a plan to "branch off" the core into an extended feature set that will only be available in a bigger FPGA.. (be it Cyclone V or Arria 10).
 
  Currently we have:
  Most complete 68k instruction set
  AMMX extensions
  Custom MMU
  Fast Memory controller
  Simple 2d graphics core
 
  Still no:
  FPU
  68k legacy/compatible MMU
 
  question is if both still missing features fit into Cyclone III. Lack of MMU is a design choice. But would it even fit in current core in Cyclone III?
 
  For future bigger FPGA, maybe SSE could be added to add ability to accelerate some 3d.
  But where will the line be drawn exactly. At some point, additional features simply will not fit into Cyclone III, creating a fragmentation among Vampire users. So does it even make sense to add significant features that only..say..half of future Vampire users would have access to (assumin that the Standalone and or v1200 would useca bigger FPGA)?
 
 
 
 


OneSTone O2o

Posts 159
10 Dec 2016 15:59


To my information FPU is already integrated as it is also done in 68040/60.


Mo Retro

Posts 241
10 Dec 2016 18:54


oneSTone o2o wrote:

To my information FPU is already integrated as it is also done in 68040/60.

As far as I've read here in the forum, the FPU was partialy implemented but disabled in the Gold Core 1. There are other items that have more prority than the FPU
I has be to confirmed by one of the apollo members if it's going be in the Gold Core 2.


Ian Parsons

Posts 230
10 Dec 2016 20:10


The original Vampire '1' Used a cyclone II with 8K LE. When the Apollo team tried to cut down the Apollo Core to fit a '68020 class phoenix core' on to it they ran out of space and had to leave out some of the 68020 stuff. The first design of the Vampire 2 specified a Cyclone III with 10K LE, probably enough to complete a phoenix core but not much else. After much discussion of what size to go for 16K, 25K or something bigger the compromise of size (and therefore future proofing) versus cost came out at 40K LE. Hopefully that will be enough to implement everything that's planned on the current road map. Anything bigger would have increased the already significantly higher cost compared to the V1 still further. As it turned out the costs for a 40K LE board ended up being much higher in the end anyway as losses were incurred on the initial orders after component price rises and other factors took their toll on the project.


Gunnar von Boehn
(Apollo Team Member)
Posts 6214
10 Dec 2016 21:11


I would explain the situation like this:
 
  Apollo 68080 provides the following:
 
  * complete 68040 compatibility
 
  Also existing are the 68040 compatible FPU, the MPU and the MMU.
 
  The FPU is mathematically 100% tested and fully compliant.
  We still had to do the roundup of some FPU control instruction.
  While we were at this, some activities took higher priority this year.
 
 
  These were:
 
  - Developmnet of the FAST-IDE controller for V500+.
  - New PCB design to make Vampire ready for mass production.
  - Design of stand alone Vampire
  - new memory controller development for V1200
 
  Also it seemed us very important that the MULTIMEDEA EXTENSION do technically integrate well with the FPU internally.
  Therefore we had to also verify some of the AMMX to ensure this.
 
  As a nice side effect of this work, this give people now Video playback capabilities unseen so far on AMIGA. ;-)

One think should be clear:
Our goal is to create a good new 68k architecture.
And goal is also that ALL Vampire cards are and stay compatible.




Daniel Sevo

Posts 299
11 Dec 2016 21:19


Gunnar von Boehn wrote:

I would explain the situation like this:
 
  Apollo 68080 provides the following:
 
  * complete 68040 compatibility
 
  Also existing are the 68040 compatible FPU, the MPU and the MMU.
 
  The FPU is mathematically 100% tested and fully compliant.
  We still had to do the roundup of some FPU control instruction.
  While we were at this, some activities took higher priority this year.
 
 
  These were:
 
  - Developmnet of the FAST-IDE controller for V500+.
  - New PCB design to make Vampire ready for mass production.
  - Design of stand alone Vampire
  - new memory controller development for V1200
 
  Also it seemed us very important that the MULTIMEDEA EXTENSION do technically integrate well with the FPU internally.
  Therefore we had to also verify some of the AMMX to ensure this.
 
  As a nice side effect of this work, this give people now Video playback capabilities unseen so far on AMIGA. ;-)
 
 
 
  One think should be clear:
  Our goal is to create a good new 68k architecture.
  And goal is also that ALL Vampire cards are and stay compatible.
 
 

Thanx Gunnar, great to hear directly from the source :-)
I feel like sending you a Christmas gift :-)

Am I reading this right, there already is a proper "motorola compatible" 040 MMU developed apart from the custom MPU?

I like the idea that you want to avoid fragmentation and that all Vampires will have same feature set. I think it is a good decision, especially for software developers. Sure vampires can be clocked at different speeds but the feature set is consistent. :thumbsup:

So now the obvious follow up question. :-) How about the AGA re-implementation / improvement. Fits nicely inside the Cyclone III as well on top of all the other stuff already done?




Kolbjørn Barmen
(Needs Verification)
Posts 219/ 2
12 Dec 2016 13:15


No, only the FPU is said to be 040 compatible.
The MMU is (from what Gunnar has told before) custom and not available for any software, the MPU is 68080 specific and available from software.

posts 7