System on Chip Architecture Fundamentals: By Aviral Mittal avimit att yahu dat cam
Objective:
The objective of this Tutorial/Techerature is to introduce a System on Chip Architecture Fundamentals.
Techerature on SoC Architecture can be found littered all over the internet.
However they are all very high level, and any one single techerature do not cover 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.
The approach of this techerature is a bit back-side-front (analogous to up-side-down),
because logically the need should be described before a component addressing that need is mentioned/introduced
But then it becomes a very long story, so to cut the story short, we go back-side-front, describe all the components
that are present in a modern SoC, and state what need each one has fulfilled (i.e. its function)

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/components:
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.
32. SoC Control and Status Register Block.
33. SoC ID Register.

                                                                                                                Next =>


Some Random Info:
In ASIC/SoC implementations, the system can boot-up from the internal RC oscillator and switch over to external crystal oscillator or PLL for clock source when needed. PLL can provide higher clock frequency for high-performance operations [System-on-Chip Design with ARM Cortex M processors:-Joseph Yiu, Distinguished Engineer, ARM"
RC Oscillator will use less power than Xtal oscillator, but of course will be in-accurate".