System on Chip
This techerature is about architectural level considerations when
designing a System on Chip. Again, the scope is around the SoCs
which will use ARM's Cortex-M class processors.
The first issue perhaps is Hosted Vs
Let us first learn a bit about what is a Hosted vs Hostless SoC
A Hosted SoC is the one which is typically a 'companion' chip to a
large SoC. The large SoC is termed as the Host SoC: An example of
Hosted SoC could be a small Blue-tooth + Display Driver SoC for a
LTE SmartWatch, where the LTE SoC is the large Host, and this small
Blue-tooth + Display Dirver is the Hosted SoC i.e. the companion
SoC. The function of the small 'hosted' or the 'companion' SoC is
quite dependent upon the Large Host SoC. Typically the Host SoC will
have the main application processor, and the Operating System, and
will control the small companion SoC via a chip-to-chip link e.g.
PCIe or SPI etc, and thus the Hosted SoC would appear to the Host as
a kind of peripheral device.
A Hostless SoC is quite self-sufficient, and is primarily the main
SoC on the circuit board. It will typically have its own application
processor and its own operating system. An example could be an Audio
+ Bluetooth SoC for headphone or a speaker. The function of this SoC
isn't dependent upon any other SoC on the same circuit board, and it
is the main SoC on the board. Typically the Micro-controller SoCs
would also fall in this category.
So why it is important to consider Hosted Vs HostLess?
For Hosted SoC, the designer may use the resources on the system
that are present for the large Host SoC for example, for a Hosted
SoC, you may want to use the NVM memory of the Host SoC to store all
the code, and the code can then be downloaded from the Host SoC to
the Hosted SoC. This means that the Hosted SoC can be a SoC with no
NVM. This means that the architecture of this SoC will be
significantly different, now that the code is downloaded into its
RAM. RAM is very fast as compared to NVM, so downloading the code
directly to RAM and running from RAM may eliminate the need of a
processor Cache memory for example.
This is just one example showing how the design of the SoC may be
impacted by it being Hosted Vs Hostless. There can be numerous such
There can be a SoC which can work both in Hosted or Hostless Mode.
However these will be beyond scope of this techerature.
The Scope of this Techerature:
This tutorial will assume that the SoC is Host-less i.e.
self-sufficient, and has minimum dependency upon other SoCs. A
typical example could be a Audio SoC which has a Blue-Tooth and
Wi-Fi functionality integrated. Or an IoT SoC again with BT and/or
Which Cortex-M processor? Processor Selection for your SoC
Click Here to Make Comments or ask Questions