Welcome, Guest. Please login or register.

AuthorTopic: Die space for m68k on FPGA?  (Read 2787 times)

0 Members and 1 Guest are viewing this topic.

Offline freqmax

Die space for m68k on FPGA?
« on: January 03, 2013, 07:40:03 PM »
I know it has been written in some other thread but how much of the FPGA Spartan 1600 used in the FPGA Replay is used by the plain 68000 CPU ?

Need the number to figure out if another CPU implementation is realistically possible.
 

Offline ChaosLord

Re: Die space for m68k on FPGA?
« Reply #1 on: January 03, 2013, 07:59:31 PM »
I am interested in how much space 68020+ takes.

How much space 68050/68070 was taking was written many times on Natami forums.  It was always a moving target as things got changed.  I can't remember what the numbers were.

There are 3 main numbers:
LE: Logic Elements
SRAM: How many SRAM banks it uses.
Multipliers: Many FGPA chips have built-in multipliers you can use so u don't have to waste LE on them.
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 freqmax

Re: Die space for m68k on FPGA?
« Reply #2 on: January 03, 2013, 08:01:44 PM »
68020/0507070 is way more complex and therefore uses way more transistors.
 

Offline ChaosLord

Re: Die space for m68k on FPGA?
« Reply #3 on: January 03, 2013, 08:31:59 PM »
020 is just an 000 with 32-bit datapaths, a small L1 cache and a barrel shifter and a few new instructions and a few new addressing modes.  It is more complex, sure.  But I am still interested to know how many more LE it takes over a plain jane 000
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 psxphill

Re: Die space for m68k on FPGA?
« Reply #4 on: January 04, 2013, 12:37:06 AM »
Quote from: ChaosLord;721161
020 is just an 000 with 32-bit datapaths, a small L1 cache and a barrel shifter and a few new instructions and a few new addressing modes. It is more complex, sure. But I am still interested to know how many more LE it takes over a plain jane 000

The 020 onwards can read/write unaligned words and dwords. Again not earth shattering, but it's more complex. An EC030 is also not much more complex.
 
A 68851 & 68882 would be nice to have in addition, but those are more complex. The 68060 MMU&FPU were simpler, so that would be easier. You could also not bother with all the 68020 stuff.
 

Offline billt

Re: Die space for m68k on FPGA?
« Reply #5 on: January 04, 2013, 02:01:58 AM »
Quote from: freqmax;721152
I know it has been written in some other thread but how much of the FPGA Spartan 1600 used in the FPGA Replay is used by the plain 68000 CPU ?

Need the number to figure out if another CPU implementation is realistically possible.


Sure it's realistically possible. You'll need to figure out which family of FPGA you are interested, particularly which vendor, and download the tools for that vendor. (Xilinx ISE Webpack or Altera Quartus 2, etc)

Now get the HDL for your baseline, which might be the TG68 VHDL code.

Set up enough of a project to be able to synthesize. As you aren't actually making a product, and only want FPGA utilization report, you may not need to do everything that a full product project may need to do. I'm not sure if you'd need to assign pins in the constraints file or anything or not.

Run synthesis until you've weeded out the errors and important looking warnings, and look at the report. I've not looked at Altera tools yet. Xilinx gives you utilization % of LUTs, flops, clocks, etc. You may have to assign TG68 clocks to FPGA clocks, not sure.

If you can't do that, then someone else should be researching if it's practical to do more than plain 68000, such as Yaqube and Mikej, which I think they are already doing. Or the Natami guys, who may or may not still be doing exactly this project. Or Suska guy. I believe it's very doable, and just a couple days ago started thinking about an FPGA on a PGA carrier to replace 68060 which are so hard to find the good ones now. (or any other 680x0, but earlier ones have 5V issues to fit in too)
Bill T
All Glory to the Hypnotoad!
 

Offline freqmax

Re: Die space for m68k on FPGA?
« Reply #6 on: January 04, 2013, 06:19:07 AM »
I' curious if an 80386 + VGA can be implemented on the existing FPGA Replay.

Other CPU:s like MIPS, ARM, SPARC etc.. could also be of interest. Especially to explore software that are designed for platforms that now are quite hard to find.

Quote from: billt
an FPGA on a PGA carrier to replace 68060 which are so hard to find the good ones now.[/url]

I like the idea. Power through the socket might be an isssue thoe.
 

Offline Hattig

Re: Die space for m68k on FPGA?
« Reply #7 on: January 04, 2013, 10:04:37 AM »
Quote from: freqmax;721192
I' curious if an 80386 + VGA can be implemented on the existing FPGA Replay.


The FPGAArcade implementation will have RTG (i.e., VGA) as well as AGA. The level of 2D acceleration (i.e., hardware acceleration of graphics.library) in the RTG card might not be high, depending on the space available for implementation, and yaqube's time.

It will also have a CPU core that is roughly 68020/030 compatible (I believe a data cache is the main differentiator between these chips) and running at a higher speed. My fuzzy memory recalls something about 10 MIPS, maybe that was something else.

80386 had under 300,000 transistors, and I believe that the 68030 is comparable. Some of that will be cache or registers, hence using the FPGA SRAM rather than logic units.
 

Offline yakumo9275

Re: Die space for m68k on FPGA?
« Reply #8 on: January 04, 2013, 11:33:04 AM »
Quote from: freqmax;721192
I' curious if an 80386 + VGA can be implemented on the existing FPGA Replay.

Other CPU:s like MIPS, ARM, SPARC etc.. could also be of interest. Especially to explore software that are designed for platforms that now are quite hard to find.

go browse http://opencores.org/

there is HEAPS of open source cpu cores and chip emulations in verilog/vhdl.

Go browse projects, processors. There is arm cores, sparc cores, z80's, 8086's, 68k etc. LOTS of cool stuff there.
--/\\-[ Stu ]-/\\--
Commodore 128DCR, JiffyDOS, Ultimate 1541 II, uIEC/SD, CBM 1902A  Monitor
 

Offline freqmax

Re: Die space for m68k on FPGA?
« Reply #9 on: January 04, 2013, 12:02:23 PM »
I know, but how much FPGA resources they use is another..
 

Offline billt

Re: Die space for m68k on FPGA?
« Reply #10 on: January 04, 2013, 03:34:34 PM »
Quote from: freqmax;721192
I' curious if an 80386 + VGA can be implemented on the existing FPGA Replay.


While I don't know the capacity of the FPGA on the Replay, I'd guess yes. Someone's working on this with a DE1 port, and DE1 does not have a humungous FPGA. Though they do seem to recommend DE2 for more room down the line...

http://zet.aluzina.org

The google has coughed up a couple other things as well, but this Zet one sounds the best.
Bill T
All Glory to the Hypnotoad!
 

Offline mikej

Re: Die space for m68k on FPGA?
« Reply #11 on: January 04, 2013, 08:38:51 PM »
Shouldn't be a problem, I had a quick look at their code.
It will be an interesting port, I'll throw the core in and see what the utilization is.
/Mike
 

Offline matthey

Re: Die space for m68k on FPGA?
« Reply #12 on: January 05, 2013, 05:59:33 AM »
Quote from: freqmax;721192
I' curious if an 80386 + VGA can be implemented on the existing FPGA Replay.


DosBox with 68k Dynamic Recompilation should be able to achieve 386 emulation speeds on a fast 68060 or fpga 68k CPU. The bonus is that the Amiga can multitask at the same time kind of like the advantage of ShapeShifter over a real 68k Macintosh. An enhanced fpga 68k CPU could support faster emulation of x86 by providing some useful instructions and addressing modes that the x86 has but the 68k does not. When creating the basic 68k dynamic recompilation, I could see that MVS/MVZ (x86 MOVSX/MOVZX), LEA to a data register, immediate shifts >8, base register update addressing mode, small longword->word compressed immediates, a PERM instruction and fast bitfield instructions would greatly speedup and simplify x86 emulation. Many of these ideas were previously suggested in the 68koolFusion ISA coincidentally. A true 386 fpga core should still be a little faster but then a real 386 DOS machine can be obtained for free.

Quote from: billt
an FPGA on a PGA carrier to replace 68060 which are so hard to find the good ones now.


Quote from: freqmax;721192
I like the idea. Power through the socket might be an issue thoe.


Yea, Interesting idea. An fpga is low power and voltage like the 68060. An fpga core would have to be very similar to a 68060 though.
 

Offline freqmax

Re: Die space for m68k on FPGA?
« Reply #13 on: January 05, 2013, 08:21:00 AM »
Quote from: matthey;721296
DosBox with 68k Dynamic Recompilation should be able to achieve 386 emulation speeds on a fast 68060 or fpga 68k CPU. The bonus is that the Amiga can multitask at the same time


Problem is that some of the interesting applications and reason to run 80386 software on real hardware is very low latency. This is very true for parallelport bitbanging DOS software. So it's the same issue as with software emulated Amigas. They can't deal with latency and propagation races properly.

So a very common setup like 80386+VGA+Soundblaster with many lovely parallelports would be just the thing to make use of existing DOS bitbanging software.

@MikeJ, If you succeed to run TurboC in 80286 mode using outportb(0x378,0xF0) etc and some VGA demos with sound I thing the re-implementation can be called a success. ;)

A more specific setup would be:
CPU: 80386 - least complex x86-processor with the greatest software compatibility
FPU: 80387 - IF space is available
Video: VGA -perhaps CGA/EGA as options, again for compatibility
Sound: Soundblaster 16
HDD: P-ATA < 8GB
Floppy: 2x 1,44MB
Serial: 16550 that can dump contents to flash or use Ethernet
Parallel: 8255 with real world I/O
Ethernet: NE2000

Of course OSD options to enable/disable as desired could be used. And loadable setups associated with a bootimage etc.

The main point is 80386+VGA and access to I/O via (many) parallelports such that bitbanging DOS stuff can be made to work. So rather more real world I/O than anything else. By using 80386 instead of 8086/286 one get the benefit of being able to run Unix or Windows. Perhaps one could fix the ten or so 80386 errata (bugs) at the same time.
 

Offline Fats

Re: Die space for m68k on FPGA?
« Reply #14 on: January 05, 2013, 02:50:04 PM »
Quote from: matthey;721296
DosBox with 68k Dynamic Recompilation should be able to achieve 386 emulation speeds on a fast 68060 or fpga 68k CPU. The bonus is that the Amiga can multitask at the same time kind of like the advantage of ShapeShifter over a real 68k Macintosh.


Why not go for both a m68k and x86 CPU core at the same time on the FPGA :) ?
Trust me...                                              I know what I\'m doing