Author Topic: Getting into SoC (Where to start?)  (Read 1307 times)

0 Members and 1 Guest are viewing this topic.

Offline steamedhamsTopic starter

  • Regular Contributor
  • *
  • Posts: 65
  • Country: fr
Getting into SoC (Where to start?)
« on: April 28, 2021, 02:09:21 pm »
I have a masters in EE and the last 6 months were full of digital design stuff and it caught my attention.
I am now doing an internship related to FPGA..; SoC seems to be an area they might go into one day. Currently their SoC is outsourced.

Where should I go to start building this knowledge. I saw ARM has some paid courses that cover the topic.

It would be great to hear from a SoC designer, verification engineer or digital design...etc to learn more.
 

Offline rstofer

  • Super Contributor
  • ***
  • Posts: 9943
  • Country: us
Re: Getting into SoC (Where to start?)
« Reply #1 on: April 28, 2021, 06:37:18 pm »
A simple way to get started is to use the IP provided by the chip vendor.  In the case of Xilinx, this would be MicroBlaze.  They also have a lot of peripheral cores and memory cores.  It's pretty much drag and drop to get a system set up.  There is a C compiler as well.  It's RISC but it isn't ARM or MIPS.

There is a book on ARM FPGA implementations and it does go through the pipelining and hazards.  The code provided in the book does not include the pipelined version although it is well described.

https://www.amazon.com/gp/product/0128000562

A similar book by the same authors for MIPS architecture:

https://www.amazon.com/Digital-Design-Computer-Architecture-Harris/dp/0123944244

Altera has the NIOS IP
« Last Edit: May 02, 2021, 09:59:12 pm by rstofer »
 
The following users thanked this post: steamedhams

Offline dtodorov

  • Contributor
  • Posts: 46
  • Country: bg
Re: Getting into SoC (Where to start?)
« Reply #2 on: April 28, 2021, 09:21:34 pm »
I would also indeed looking into FPGA's and soft cores on them. My experience with Xilinx's MircoBlaze was quite positive and things there really worked out-of-the box. Also, the configurability there gives quite an insight on operation of such cores and their interface towards peripherials (also quite configurable).

I'm sure the Altera/Intel have a similar experience with Nios core, but I actually never managed to deep dive there.

Last thing, there are some IoT boards with quite powerful SoC, mainly situated around networking (e.g. https://labs.mediatek.com/en/platform/linkit-smart-7688 ).
 
The following users thanked this post: steamedhams

Offline technix

  • Super Contributor
  • ***
  • Posts: 3508
  • Country: cn
  • From Shanghai With Love
    • My Untitled Blog
Re: Getting into SoC (Where to start?)
« Reply #3 on: April 30, 2021, 06:26:00 am »
In the hardware part of things, you can start off with a Xilinx Zynq 7020 board. It has a reasonably large FPGA and a reasonably performant Linux-capable hard CPU in one chip, and that is fairly cheap now given its age. (AFAIK Zynq 7020 is even cheaper than comparable Artix FPGA...)
 
The following users thanked this post: steamedhams

Offline dolbeau

  • Regular Contributor
  • *
  • Posts: 91
  • Country: fr
Re: Getting into SoC (Where to start?)
« Reply #4 on: April 30, 2021, 01:44:00 pm »
Where should I go to start building this knowledge.

You might have a go at playing with one of the available open-source SoC/SoC builder. Plenty to chose from. The language used to create the core and soc may or may not be relevant to real-life work (Verilog, SystemVerilog, VHDL, SpinalHDL, Chisel, Migen, nMigen, ...), but the underlying principles will be similar. Tinkering is a good way to learn :-)

E.g. LiteX and ESP can both generate Linux-capable SoC with different cores; the first support SMP with the VexRiscv core (32-bits RISC-V), the second with LEON (a venerable 32-bits SPARC core that was designed - and used - for aerospace applications). They both support uni-processor with 64-bits RISC-V (Ariane/CVA6 for ESP, Rocket or BlackParrot for LiteX). LiteX fits on fairly small FPGA and can do very lightweight core (for bare-metal codes), ESP seems to require larger devices (they don't really support any cheap board).

There's probably plenty more out there, including those developed for retrocomputing (e.g. MIST, MISTer, TEMLIB, ...)
 
The following users thanked this post: steamedhams


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf