Sie sind auf Seite 1von 53

Mr. A. B.

Shinde
Assistant Professor,
Electronics Engineering,
PVPIT, Budhgaon
shindesir.pvp@gmail.com

System-on-a-chip or system on chip (SoC or SOC) refers to


integrating all components of a computer or other electronic
system into a single integrated circuit (chip).

It may contain digital, analog, mixed-signal, and often radiofrequency functions all on one.

Microcontrollers typically have under 100K of RAM are singlechip-systems;

whereas the term SoC is typically used with more powerful


processors, capable of running software such as Windows or
Linux, which need external memory chips (flash, RAM) to be
useful, and which are used with various external peripherals.
2

Many interesting systems are too complex to fit on just one chip
built with a process optimized for just one of the system's tasks.

When it is not feasible to construct an SoC for a particular


application, an alternative is a system in package (SiP)
comprising a number of chips in a single package.

In large volumes, SoC is believed to be more cost effective


than SiP, because its packaging is simpler.

The SoC chip includes processors and numerous digital


peripherals, and comes in a ball grid package with lower and
upper connections.

One microcontroller, microprocessor or DSP core(s). Some


SoCs called multiprocessor System-on-Chip (MPSoC)
include more than one processor core.

1.

Memory blocks including a selection of ROM, RAM, EEPROM


and Flash.

2.

Timing sources including oscillators and phase-locked loops.

3.

Peripherals including counter-timers, real-time


power-on reset generators.

4.

External interfaces including industry standards such as USB,


FireWire, Ethernet, USART, SPI.

timers and

Analog interfaces including ADCs and DACs.

Voltage regulators and power management circuits.

These blocks are connected by either a proprietary or industrystandard bus such as the AMBA bus from ARM.

DMA controllers
route
data
directly
between external
interfaces and memory, by-passing the processor core and
thereby increasing the data 6 throughput of the SoC

Ethernet
MAC

Audio
Codec

Interrupt
Controller

GP I/O
Address
Decode
Unit

CLK

SRAM

Power Supply

CLK
CLK

CPU
(uP / DSP)

Memory
Controller

SRAM

SRAM

SDRAM

Timer

UART
CoProc.

SDRAM

custom
IF-logic

L
C

Display
Controller

Traditional Embedded System


7

Ethernet
MAC

Audio

FPGA Codec

Interrupt
Controller

GP I/O
Address
Decode
Unit

CLK

SRAM

Power Supply

CLK
CLK

CPU

Memory
Controller

SRAM

SRAM

(uP / DSP)

SDRAM

Timer

UART
CoProc.

SDRAM

custom
IF-logic

L
C

Display
Controller

Audio
Codec

EPROM

Power Supply

L
C

SRAM

SRAM

SRAM

SDRAM

SDRAM

10

A SoC consists of both the hardware described above, and the


software controlling the microcontroller, microprocessor or DSP
cores, peripherals and interfaces.

The design flow for a SoC aims to develop this hardware and
software in parallel.

Most SoCs are developed from pre-qualified hardware blocks,


together with the software drivers that control their operation.

The hardware blocks are put together using CAD tools; the
software modules are integrated using a software-development
environment.
11

A key step in the design flow is: The hardware is mapped onto
an FPGA that mimics the behavior of the SoC, and the software
modules are loaded into the memory.

Once programmed, the emulation platform enables the hardware


and software of the SoC to be tested and debugged at close to
its full operational speed.

After emulation the hardware of the SoC follows the place and
route phase of the design of an integrated circuit before it is
fabricated.

Chips are verified for logical correctness before being sent to


foundry. This process is called functional verification.

Verilog and VHDL are typical hardware description languages


used for verification.

12

Microcontroller:
A microcontroller is a processor that has its program and data
memory built in.
These chips are intended for small embedded control
applications, so leaving the pins for I/O and not requiring a
external memory bus.
Some microcontrollers have as little as 6 pins, and can do
useful things.
In contrast, general purpose computing processor (GPP) is
intended for a large computations, such can have 100s of pins
in a array and require extensive external circuitry.
In general a microcontroller is taken as being an embedded
device which is internally programmed to perform a specific
task.
There is minimal user interaction and little or no flexibility.
A microcontroller is typically fairly low powered with only small
amounts of memory and ROM (flash).

13

SoC:
Conversely a System-on-Chip is the other end of the spectrum.
It is more geared towards complete flexibility and user
interaction.
It often includes things like IO drivers for bigger hardware, and
even sometimes a graphics adapter.
A System-on-Chip is more like a complete computer system, on
a single chip.
System on Chip, is a less well defined term.
Cyprus calls some of their parts PSOC (Programmable System
on Chip).
These are basically a microcontroller with small FPGA on the
same chip.
Instead of having built in peripherals, you can make whatever
you want within the available resources of the FPGA.
14

15

An embedded system is a
special-purpose
computer
system designed to perform one
or a few dedicated functions,
often with real- time computing
constraints.

It is usually embedded as part


of a complete device including
hardware
and
mechanical
parts. In contrast, a generalpurpose computer, such as a
personal computer, can do
many different tasks depending
on programming.

Embedded systems control


many of the common devices in
use today.

16

Physically, embedded systems range from portable devices


such as digital watches and MP4 players, to large stationary
installations like traffic lights, factory controllers, or the systems
controlling nuclear power plants.

Complexity
varies
from
low,
with
a
single
microcontroller chip, to very high with multiple units, peripherals
and networks mounted inside a large chassis or enclosure.

In general, "embedded system" is not an exactly defined term, as


many systems have some element of programmability.

For example, Handheld computers share some elements with


embedded systems such as the operating systems and
microprocessors which power them but are not truly
embedded systems, because they allow different applications
to be loaded and peripherals to be connected.
17

INTRO TO

EMBEDDED SYSTEM DESIGN

18

A Microcontroller is essentially a small and self sufficient


computer on a chip, used to control devices

It has all the memory and I/O it needs on board

Is not expandable no external bus interface

Characteristics of a Microcontroller
Low cost
Low speed, on the order of 10 KHz 20 MHz
Low Power, extremely low power in sleep mode
Small architecture, usually an 8-bit architecture
Small memory size, but usually enough for the type of
application it is intended for. Onboard Flash.
Limited I/O, but again, enough for the type of application
intended for.

19

A Microprocessor is fundamentally a collection of on/off switches


laid out over silicon in order to perform computations

Characteristics of a Microprocessor
High cost
High speed, on the order of 100 MHz 4 GHz
High Power consumption, lots of heat
Large architecture, 32-bit, and recently 64-bit architecture
Large memory size, onboard flash and cache, with an external
bus interface for greater memory usage
Lots of I/O and peripherals, though Microprocessors tend to be
short on General purpose I/O

20

Harvard Architecture refers to a memory structure where the


processor is connected to two different memory banks via two
sets of buses

This is to provide the processor with two distinct data paths, one
for instruction and one for data

Through this scheme, the CPU can read both an instruction


and data from the respective memory banks at the same time

This inherent independence increases the throughput of the


machine by enabling it to always pre-fetch the next instruction

The cost of such a system is complexity in hardware commonly


used in DSPs
21

A Von-Neumann Machine, in contrast to the Harvard Architecture


provides one data path (bus) for both instruction and data

As a result, the CPU can either be fetching an instruction


from memory, or read/writing data to it

Other than less complexity of hardware, it allows for using a


single, sequential memory.

Todays processing speeds vastly outpace memory access


times, and we employ a very fast but small amount of memory
(cache) local to the processor

Modern processors employ a Harvard Architecture to read from


two instruction and data caches, when at the same time using a
Von-Neumann Architecture to access external memory

22

Although numbers are always displayed in the same way,


they are not stored in the same way in memory

Big-Endian machines store the most significant byte of data in


the lowest memory address

Little-Endian machines on the other hand, store the least


significant byte of data in the lowest memory address

23

The Intel family of Microprocessors and processors from Digital


Equipment Corporation use Little- Endian mode

Whereas Architectures
Big-Endian

Architectures such as PowerPC, MIPS, and Intels IA- 64 are


Big-Endian, supporting either mode

Unfortunately both methods are in prevalent use today, and


neither method is superior to the other

from

Sun,

IBM,

and Motorola are

24

The Program Counter is a 16 or 32 bit register which contains


the address of the next instruction to be executed

The PC automatically increments to the next sequential memory


location every time an instruction is fetched

Branch, jump, and interrupt operations load the Program


Counter with an address other than the next sequential location

During reset, the PC is loaded from a pre-defined memory


location to signify the starting address of the code

25

The significance of the reset vector is that it points the processor


to the memory address which contains the firmwares first
instruction

Without the Reset Vector, the processor would not know where to
begin execution

Upon reset, the processor loads the Program Counter (PC) with
the reset vector value from a pre-defined memory location

On
CPU08
$FFFE:$FFFF

architecture,

this

is

at

location

26

The Stack Pointer (SP), much like the reset vector, is required at
boot time for many processors

Some processors, in particular the 8-bit microcontrollers


automatically provide the stack pointer by resetting it to a
predefined value

On a higher end processor, the stack pointer is usually read from


a non-volatile memory location, much like the reset vector

For example on a Cold-Fire microprocessor, the first sixteen


bytes of memory location must be programmed as follows:
0x00000000: Reset Vector
0x00000008: Stack Pointer
27

The Computer Operating Properly (COP) module is a component


of modern processors which provides a mechanism to help
software recover from runaway code

The COP, also known as the Watchdog Timer, is a free running


counter that generates a reset if it runs up to a pre-defined value
and overflows

In order to prevent a watchdog reset, the user code must clear


the COP counter periodically.

COP can be disabled through register settings, and even


though this is not good practice for final firmware release, it is a
prudent strategy through the course of debug
28

Embedded Systems, unlike a PC, never exit an application

They idle through an Infinite Loop waiting for an event to happen


in the form of an interrupt, or a pre-scheduled task

In order to save power, some processors enter special sleep


or wait modes instead of idling through an Infinite Loop, but
they will come out of this mode upon either a timer or an
External Interrupt

29

Interrupts are mostly hardware


program an event has occurred

mechanisms which tell the

They happen at any time, and are therefore asynchronous to


program flow

They require special handling by the processor, and are


ultimately handled by a corresponding Interrupt Service Routine
(ISR)

Need to be handled quickly.

It takes too much time for servicing an interrupt, and you may
miss another interrupt.
30

Proposal
Definition
Technology Selection
Budgeting (Time, Human, Financial)
Material and Development tool purchase
Schematic Capture & PCB board design
Firmware Development & Debug
Hardware Manufacturing
Testing
Certification
Firmware Release
Documentation
Ongoing Support
31

The purpose of the design cycle is to remind and guide the


developer to step within a framework proven to keep you on
track and on budget.

There are numerous design cycle methodologies, of which the


following are most popular

The Waterfall Model


Top-down versus Bottom-up
Spiral Model
GANTT charts

32

THE WATERFALL MODEL

Waterfall is a software development model in which development


is seen flowing steadily through the phases of
Requirement Analysis
Design
Implementation
Testing
Integration
Maintenance

Advantages are good progress tracking due to clear milestones

Disadvantages are its inflexibility, by making it difficult to


respond to changing customer needs / market conditions
33

TOP-DOWN VERSUS BOTTOM-UP

The Top-Down Model analyses the overall functionality of a


system, without going into details

Each successive iteration of this process then designs


individual pieces of the system in greater detail

The Bottom-Up Model in contrast defines the individual pieces


of the system in great detail

These individual components are then interfaced together to


form a larger system

34

THE SPIRAL MODEL

Modern software design practices such as the Spiral Model


employ both top-down and bottom- up techniques

Widely used in the industry today

For a GUI application, for example, the Spiral Model would


contend that
You first start off with a rough-sketch of user interface
(simple buttons & icons)
Make the underlying application work
Only then start adding features and in a final stage neat up the
buttons & icons
35

GANTT CHART

GANTT Chart is simply a type of bar chart which shows the


interrelationships of how projects and schedules progress over
time

36

Metrics to consider in designing an Embedded System


Unit
Cost: Can be a combination of cost
manufacture hardware + licensing fees

to

NRE Costs: Non Recurring Engineering costs

Size: The physical dimensions of the system

Power Consumption: Battery, power supply, wattage, current


consumption, etc.

Performance: The throughput of the system, its response


time, and computation power

Safety, fault-tolerance, field-upgradeability, ruggedness,


maintenance, ease of use, ease of installation, etc. etc.

37

38

39

40

Problem Statement

allowing a chamber temperature set-point to be entered,

displaying both set-point and actual temperatures, and

tracking step changes in set-point temperature with acceptable

rise time, steady-state error, and overshoot.

43

Temperature controller specifications

44

Temperature controller hardware block diagram

45

Temperature controller hardware


The microcontroller, a Motorola MC68HC705B16 (6805 for
short), is the heart of the system.
It accepts inputs from a simple four-key keypad e.g. set-point
temperature, and it displays both set-point and measured
chamber temperatures using two-digit seven-segment LED
displays controlled by a display driver.
All these inputs and outputs are accommodated by parallel
ports on the 6805.
Chamber temperature is sensed using a pre-calibrated
thermistor and input via one of the 6805s analog-to-digital
inputs.
Finally, a pulse-width modulation (PWM) output on the 6805 is
used to drive a relay which switches line power to the resistive
heater off and on.
46

Schematic
of
microcontroller
board

47

Figure shows a schematic of the electronics and their interfacing


to the 6805.

The keypad, a Storm 3K041103, has four keys which are


interfaced to pins PAO- PA3 of Port A, configured as inputs.
One key functions as a mode switch.
Two modes are supported: set mode and run mode.
In set mode two of the other keys are used to specify the setpoint temperature: one increments it and one decrements.
The fourth key is unused at present.

The LED displays are driven by a Harris Semiconductor ICM7212


display driver interfaced to pins PB0-PB6 of Port B, configured as
outputs.
48

The temperature-sensing thermistor drives, through a voltage


divider, pin AN0 (one of eight analog inputs). Finally, pin PLMA
(one of two PWM outputs) drives the heater relay.

Software on the 6805 implements the temperature control


algorithm, maintains the temperature displays, and alters the setpoint in response to keypad inputs.

49

The design of a SoC has similar goals as an embedded design.

The designed system will be used in a


environment, and has to fulfill strict requirements.

Some requirements are clearly defined by the application like the


functional requirements of an algorithm, e.g. the decoding of an
MPEG 1 Layer 3 data stream, which covers certain quality
restrictions.

The environment poses other requirements: e.g. minimizing the


cost, footprint, or power consumption. However due to the
flexibility of a SoC design, achieving the set goals, involves
analyzing a multi dimensional design space.

well-specified

50

The degrees of freedom stem from the process element types


and characteristics,
their
allocation,
the
mapping
of
functional elements to the process elements, their interconnection
with busses and their scheduling.

A SoC design has to deal with a wide range: it starts with a


functional description on system level, where major function
blocks are defined and no timing information is given.

51

The goal of SoC design paradigm is to manage the immense size


of design decisions in the hardware software co-design.
This is only possible by above well-defined flow of design steps

52

Any

s
53

Das könnte Ihnen auch gefallen