So I gave my laptop a long overdue processor upgrade and it left me with a spare Intel Core Duo T2300E processor in perfectly working condition. So I am thinking maybe I can forgo the standard Intel (or nVidia) chipset and slap an FPGA to it and begin using this assembly like something on the line of a Zynq, just with a dual-core x86 instead of ARM as the processor block. This project is purely for LOLs (maybe for science) and may never leave the drawing boards though.

My questions would be:

  • What FPGA should I use? Preferrably beginner friendly in the sense of low price, easy to solder package, and friendly development interface. Bear in mind this chip need to be able to work with the 667MHz FSB the Core Duo chip is looking for.
  • What are the required functionalities I have to implement to support this dual-core processor properly? Linux-only is okay for me.
  • What are the good candidates of other components, besides a powerful DC-DC converter to power the processor and the FPGA and corresponding heatsinks, to put on the module? DRAM in the form of chips or slots for computer memory modules? Maybe a PCI Express connector? Some Flash storage? SATA ports for attaching hard drives? HDMI port? Or something exotic?
  • What is a good form factor for such a board? Is 170mm by 170mm "mini-ITX" with mounting holes allowing the resulting board being used in a PC chassis a good idea? Or an PCI Express expansion card for another computer?
  • What kind of experiment can I perform on such a board, with an appropriate form factor? For mini-ITX form factor is trying to create my own chipset (or in this case a single supporting chip) a good idea? For PCI Express card form factor is making this some kind of compute card or something akin to a GPU a good idea?
  • \$\begingroup\$ You have a spare processor or a spare motherboard with a processor soldered down on it? \$\endgroup\$
    – horta
    Jan 31 '16 at 20:31
  • \$\begingroup\$ @horta I have just the spare processor. It was socketed and if I ever put it into my own board it will stay socketed. \$\endgroup\$ Jan 31 '16 at 20:34
  • 3
    \$\begingroup\$ Dealing with an FSB that is 64 bits wide, running at 667 MHz and using quad data rate transfers is a MAJOR undertaking. To be honest, I'm not aware of any FPGAs (even the biggest and most expensive ones) that could actually do this. That's why northbridge chips are ALWAYS custom ASICs. If the concept of marrying a high-performance CPU with an FPGA is something you want to play around with, just get a Zedboard. \$\endgroup\$
    – Dave Tweed
    Jan 31 '16 at 20:52
  • 1
    \$\begingroup\$ @DaveTweed Stratix and Virtex FPGAs are capable for FSB, HyperTransport and QPI interfacing. Actually, there were socket FPGAs on the market for 2 or 4 way server boards. I think the vendor was Nallatech. Because PCIe 3.0 x8 / x16 is so fast and cheap, I think they ended these devices. There was also a Intel Atom Stratix dual chip FPGA. I think we'll see something similar soon, since Intel bought Altera :). \$\endgroup\$
    – Paebbels
    Jan 31 '16 at 21:19
  • \$\begingroup\$ Are you looking for a blank FPGA or something with an integrated core. The problem with an FPGA is that if you are planning on making a processor from scratch on it, the access to x86 processor design is not accessible. If you want to use this for just messing around I would suggest starting under an assumption of you don't know what you want to do. What I mean by this is to hook up the FPGA to JTAG and then try to use the FPGA as a boundary scan tool. This seems more accessible until you have a solid idea on the necessities of the project. \$\endgroup\$
    – mcmiln
    Feb 1 '16 at 19:55

If you have a spare processor, I think the best way to go about adding an fpga to it would be to buy a motherboard that has a PCIe slot and add in a pcie fpga card. Done and done.

Trying to redo the work of hundreds to thousands of people working full time for years is borderline insanity or more probably simply engineering mis-estimation on a gross scale. I'm sure there's also plenty of information that's only shown to OEM's which would make an attempt at spinning your own board to support such a beast nigh impossible.

If you want to play in processor/fpga land, your best route in both a time manner and cost manner is to buy a solution that allows you to play in. The cost of your engineering time to make such a solution would run well over the cost of these already made solutions.

Alternately, if you really just want practice getting a processor fitted with an FPGA for the experience, don't bother using your intel processor. Go with something much lower powered and more open. It'll be cheaper and you have a chance of succeeding. Once you succeed at a smaller level, you may decide to work your way up. You're just about guaranteed failure if you start this big with this processor.

  • \$\begingroup\$ The problem for this particular processor is that being a decade-old mobile processor at its lowest end, there isn't any motherboard supporting it unless I roll my own. I know I can buy a Zynq board with everything nice and supported but as I said here, pairing this Core Duo to an FPGA is for the LOLs. \$\endgroup\$ Jan 31 '16 at 20:50
  • \$\begingroup\$ @MaxthonChan Yup, that's the problem with old hardware, it gets obsoleted. That will be another hurdle you run into is trying to find compatible parts with this chip. That's why I recommend trying to connect a microcontroller or an RPi to an FPGA rather than using this processor. \$\endgroup\$
    – horta
    Jan 31 '16 at 20:54
  • \$\begingroup\$ Issue is this particular CPU predates PCIe support. @MaxthonChan You can get socket 478 motherboards off eBay quite readily (old used ones granted, but still). However these would only allow interfacing to the FPGA using PCI which is much slower than PCIe but has the advantage of allowing for the possibility of using lower end FPGAs. \$\endgroup\$ Jan 31 '16 at 22:53
  • \$\begingroup\$ @TomCarpenter The Core Duo chip in question came from a laptop that uses PCIe 1.1 x16 discrete graphics and PCIe 1.1 x1 wireless NICs. I don't think there exist a Socket 478 motherboard that can accept 667MHz FSB. \$\endgroup\$ Feb 1 '16 at 0:33

The issue you have is the CPU in question is as old as the pyramids in technology terms. It doesn't support common interfaces like PCIe - only PCI when connected to the correct north bridge. It is possible to get motherboards for these things off well know auction sites and whatnot (it is a socket 478 processor), which would simplify things, but would still leave you needing to connect the FPGA via PCI at 133MHz. Granted the low speed would allow you to use lower end FPGAs (I think Xilinx have a PCI core, probably Altera and others too).

But it leads to the question of what would you get out of doing it. Some PCB skills yes - need to design a PCI board for your FPGA. Some HDL/FPGA development skills, tick. And also some driver development skills for either Linux or Windows depending on what you run. I'm not sure trying to spin an entire motherboard would provide anything more than that would apart from an empty wallet and many hours of fruitless attempts to hack access to an obsolete interconnect.

Alternatively, ditch the processor and build a PCIe compatible board. This would give you the same learning experience but would allow you to use it in a more up to date computer where you might be able to do more beneficial learning experiments like designing some form of co-processor/compute module. Plus going for PCIe would teach you some stuff about high frequency PCB layout - I would probably stick with Gen 1.0 support with that regard as at 2.5Gbps would be achievable without going to expensive high frequency substrates. It would also be in the capabilities of some of the low to mid range (think cheaper) FPGAs.

  • \$\begingroup\$ The laptop this chip came out from does have PCIe support - lots of it, 16x from the 945PM northbridge and at least 4x from the ICH7M southbridge. Laptop chips and desktop ones are very different beasts. Also the lower power variants of the same processor lineup, all pin-to-pin compatible, like L7200 and L7400, are still being produced. \$\endgroup\$ Feb 1 '16 at 0:48
  • \$\begingroup\$ Fair enough. I was looking at the CPU datasheet. Forgot that the old ones used the north bridge to gain PCIe - modern ones have the root complex on the CPU. \$\endgroup\$ Feb 1 '16 at 0:49
  • \$\begingroup\$ Modern ones have its northbridge built in, and the PCH is basically what was called a southbridge. Some mobile chips even have that built in as a multi-chip module and for those development is a lot easier. I am hoping this Intel processor + FPGA combo can give me a platform to experiment on. \$\endgroup\$ Feb 1 '16 at 1:09
  • \$\begingroup\$ @MaxthonChan If you wait a couple years, there'll likely be an Intel+FPGA processor available for you to just buy: pcworld.com/article/3006601/components-processors/… \$\endgroup\$
    – horta
    Feb 1 '16 at 2:21

Not the answer you're looking for? Browse other questions tagged or ask your own question.