System on Chip Architecture : By Aviral Mittal avimit att yahu dat cam
Objective:
The objective of this tutorial is to introduce a System on Chip Architecture details to anyone working in the Semiconductor industry.
Literature on SoC Architecture can be found littered all over the internet.
However they are all very high level, and any one single literature do not focus on all the aspects of SoC architecture.
Most of them are presented as a connection of some boxes with arrows.
The objective of this tutorial is to take a very small example SoC,
identify all the components it has, detail the function of each of the components,
explain why they are needed, explain how they work/interact with each other to realize
the broad level function of the whole of the SoC as one unit.

So what is a SoC:
SoC stands for System on Chip. Its highly integrated version of Integrated Circuits.
Integrated circuits were invented by Texas Instruments a long time ago
At that time TI was able to integrate a few transistors to make an IC.
Since then the 'integration' on the silicon has massively increased.
And now we have entire system on a Chip.
And that is what a SoC is.
A modern SoC may have billions of transistors integrated into a single device.

So that was one way to explain what a SoC is.
Here is another one:
A SoC is a electronic device which has Hardware and Software as two essential components, working in tandem
to realize some function(s).

What is inside a SoC: Components of SoC
Almost all the SoCs will have the following elements: Following the list, more about each element of the SoC is explained and its presence justified.
1. I/O pads : These are the pins which lets the SoC communicate with outside world.
2. Power management Unit : Though in some cases PMU can be external to the SoC, it in turn contains Voltage Regulators.
3. Production test logic also called Design for Test Logic (DFT):
4. Trace & Debug Logic:
5. Fuses.
6. Microprocessor(s)
7. Memory(s). Several types of memories. Cache, ROM, Flash, SRAM.
8. Communication Back bone: Also called SoC fabric, System Bus etc.
9. Security logic.
10. Software: This may not be there for all SoCs, and the SoCs without any software in it, will allow the user to put software in its memories post production.
11. Clock source, e.g. crystal oscillator: Though in some cases it is possible to provide a clock to a SoC externally
12. PLLs: Phased Locked Loops.
14. Clock & Reset Logic
15. Power consumption reduction logic. Some times also called low power features.
16. Peripherals: Logic to transfer data off chip, and to receive data from external sources. e.g. USB, I2C, PCI, UART. Ethernet
17. RF Circuit: Not all SoCs have them. But the ones with wireless communication on board must have it.
18. Timers
19. Watchdogs.
20. Interrupt logic.
21. Pin-Muxing logic.
22. Hardware Boot State Machine.
23. Temperature Sensor.
24. AON logic: Always ON Logic.
25. DACs/ADCs
26. DSP processor/DSP logic
27. Ring Oscillators.
28. Random number generator sometimes also called TRNG (True Random Number Generator)
29. Encryption/Decryption logic
30. Power-ON reset generator.
31. Battery Charging Circuit.




Ever wondered how to design A SoC,
ever wondered what is in a SoC,
ever wondered how does a SoC works,
ever wondered how does a SoC boots,
ever wondered what are the essential components of a modern SoC?
Yes, you are at the right place. This tutorial attempts to answers all of the above.

What is a SoC
SoC stands for System on Chip. Its highly integrated version of Integrated Circuits.
Integrated circuits were invented by Texas Instruments a long time ago
At that time TI was able to integrate a few transistors to make an IC.
Since then the 'integration' on the silicon has been massively increasing.
And now we have entire system on a Chip.
And that is what a SoC is.
A modern SoC may have billions of transistors integrated into a single device.

Tutorial organization:
This tutorial identifies the common functions present in most modern SoCs.
The tutorial then takes an example SoC which has some specific functions
in addition to the common ones.
Each function of the SoC is a 'block' in the SoC terms. A 'block' is typically coded using VHDL or verilog.
A master diagram is then developed, which will present a typical SoC as
integration of the common functions/blocks and specific functions/blocks
The tutorial then presents some tools which are commonly used to build a SoC level RTL.

A typical function in a SoC may be performed by a block which is a pure hardware block
or it may be a combination of hardware and software.