FP68k PCB+FPGA softcore microprocessor (PGA host socket)


This project would involve both a PCB design and an FPGA softcore system to implement a microprocessor compatible with the Motorola/Freescale 68k family, particularly to connect to a 68060 motherboard PGA socket/bus. It might be possible to design this to also directly plug into a 68040 motherbard socket, if there is room for level shifting circuitry to gain 5V tolerance. If space would not allow 5V tolerance on-board, then a separate PCB adapter could be used for this, as well as others to adapt to 68030, 020, 010/000 etc. I envision a family of PCBs that would resemble the Sonnet QuadDoubler, but with an FPGA on top instead of a 680x0 chip. Note that this idea was originally to replace the very difficult to find MC68060 last mask set (nearly all on sale are counterfeits), but has since branched out to replace the full 680x0 family. Why not?

Note that this project is not necessarily to clone Motorola's design exactly, only for FP68060 to place some 68k compatible thing into a 68060 PGA socket, FP68040 to place some 68k compatible thing into a 68040 PGA socket, etc.. The FPGA softcore may be any amount different than 68060 in terms of superscalarity, caching, clock rates, ALU arrangement, pipelining, etc. as a wholly new processor core design. Only the 060 socket and the 68K ISA are considered. At first this is likely to be lacking in design features compared to a true Motorola 68060, but perhaps in time this could even advance beyond where Motorola/Freescale left off with the 68K family.

This project is inspired by a variety of things, including my related Gonzo project, and experiments by TobiFlex, ShadowFire, and Majsta.

While some want an x86 PC plugged into the 680x0 socket and do software emulation of 68k in the PC, and some others want an ARM equivalent, I myself prefer a straight FPGA softcore of 680x0 such as TG68 for this. I'd also prefer to do it with an SoC FPGA such as Xilinx Zync or Altera Cyclone/Arria 5 which include fast ARM hardwired microprocessors inside, to have both the softcore and software emulator options in a single chip, with a pathway to ARM-native such as AROS to boot...

While my time may not allow much progress from myself, I have set up a PCB project area on UpVerter as well as a linked general project area at GitHub under LGPL 2.1+ license, and uploaded a very quick & dirty Eagle 5 library with 68040 and 68060 PGA socket footprints there. Upverter links to GitHub, where I would post any Verilog/VHDL code related to this project. I have been studying FPGA, VHDL and computer architecture in my Masters Degree program at Johns Hopkins, and hope to continue with followup courses in these and related topics. Ah, if only time allowed to play...


Some already existing 680x0 softcores to try in this project:

  • TG68 as seen in minimigtg68 SoC system, running on Altera DE1 etc. FPGA boards, which is a reimplementation of Amiga 500 computer. This is known to be in active development toward 32bit bussing and 68020+ compatibility, and may be the best choice of existing cores.
  • WF_68K00_IP From the Suska SoC project, which is a reimplementation of the Atari ST computer.
  • ao68000 as seen in the aoOCS SoC project, which is another reiplementation of Amiga 500 computer with a WishBone bus instead of 68k bus. (I understand the GitHub repos are more recent than the OpenCores repos for these two projects)
  • k68 from opencores
  • j68 on GitHub