-2

My understanding of the main parts of an SoC are:

  • Microcontroller
  • RAM (volatile memory)
  • Flash/solid state RAM (permanent memory)
  • Clock/Oscillator
  • Ethernet NIC
  • Power Management
  • Bus (to connect everything above)

I Googled "open source X" for all the components above (substituting "X" for each item, e.g. "open source microcontroller", etc.) and, to my surpise, only found a single project, OpenCore, dedicated to the design of OSH components for SoCs.

The problem is, all the OpenCore sub-projects (for MCUs, RAM, Ethernet, etc.) haven't been updated since 2009 (it's currently 2015)! This indicates that the project has largely been abandoned.

So I have to ask:

  • What are all the OSH components that would be required to produce an actual, modern open source SoC (if my list above is misleading or lacking); and
  • Have I missed any other (active/modern) projects, besides OpenCore? If not, then why are there so few OSH projects for SoC componentry? Do patents get in the way or something?
smeeb
  • 787
  • 3
  • 13
  • 32
  • See http://electronics.stackexchange.com/questions/61873/why-is-open-hardware-so-rare/61891#61891 – pjc50 Jan 21 '15 at 23:20

1 Answers1

2

That's basically because designing a full SoC, from scratch, would require tons of money. And of time of course, that is basically the same thing.

The list you provide seems quite right to me, you might want to throw in some other interfaces such USB or PCI, and maybe add some peripherals such as a GPIO expansion port, like the raspberry pi.

After that you start designing. I am not sure if you are familiar with digital design but that's something that requires time, tools, skills, time, money, and some more time.

Once your core is ready you need to design everything else, then throw all your nice gates on silicon and have it fabbed somewhere. I'm guessing a full set of 22nm masks is in the 10M$ ballpark, hoping you didn't mess anything up you end up with a nice SoC and you can sell it.

The companies that actually do this have a lot of designs already done, what they do is gradually improve their chips. And yes, patents are probably an issue.

To directly answer all your questions:

Your list looks good, I'd say memory should stay off the chip unless we're speaking of some 10s of MB.
I don't think you miss any great project out there, you're getting why now, and patents might be an issue.

A small addendum: opencores target is FPGA chips. Prototyping on them is way cheaper than on silicon but that's not something the average hobbyst does in his garage.

Vladimir Cravero
  • 16,007
  • 2
  • 38
  • 71
  • Thank you @Vladimir Cravero (+1) - I guess it all makes sense. Just one last followup question: you say "Prototyping on them (FPGA chips) is way cheaper...but that's not something the average hobbyst does in his garaga." **Why?** What does the average hobbyist use, if not FPGA, and why? Thanks again! – smeeb Jan 21 '15 at 20:37
  • @smeeb An arduino :( – Phil Frost Jan 21 '15 at 20:38
  • @smeeb What I meant is that FPGA is quite on the top league for hobbists. A decent developing board can cost as much as 100$, a cool dev board starts at 300$. While you can get a dev board from ST with a kickass micro, some leds and some sensors for like 10$. – Vladimir Cravero Jan 21 '15 at 20:39
  • 1
    @PhilFrost tha arduino is the ME tool :P – Vladimir Cravero Jan 21 '15 at 20:39
  • Thanks again @VladimirCravero (+1) - out of curiosity what is an "ME tool"? – smeeb Jan 21 '15 at 20:40
  • Mechanical Engineers. I say that because there's a friend of mine (ME) that uses it to mess around with his creations and sometimes asks for help or code review, and I'm forced to dig in it. – Vladimir Cravero Jan 21 '15 at 20:42