Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 46

BITS Pilani

presentation
BITS Pilani Swapnil Patil
Pilani Campus
BITS Pilani
Pilani Campus

Hardware Software Codesign


Lecture No. 1
BITS Pilani
Pilani Campus

Chapter 1 Introduction
Chapter 1. Introduction to
Hardware Software Codesign
• Pre-requisite Embedded Systems

• Evolution of Microprocessors

• Microprocessor : Universal Building Block

• SOC evolution

• Hardware Based Example

• Software Based Example

Embedded Meaning implanted


Embedded means something that is attached to another thing.
An embedded system can be thought of as a computer hardware system having software embedded in it.
can be an independent system or it can be a part of a large system.
a microcontroller or microcontroller based system which is designed to perform a specific task.
For example, a fire alarm is an embedded system; it will sense only smoke.

BITS Pilani, Pilani Campus


BITS Pilani
Pilani Campus

1.1 Introduction to Embedded


System Design
1.1 Embedded Systems
• Embedded means something that is firmly and deeply Implanted
into another thing.

• It can be thought of as a computer hardware system having


software embedded in it.

• Independent system or be a part of a large system.

• microcontroller or microprocessor systems which is designed to


perform a specific task.

• fire fighting system: sense smoke & operate water valves

BITS Pilani, Pilani Campus


Characteristics of
Embedded Systems
Special-functioned
specialized operation and does the same repeatedly. 

Constrained bound
cost, size, power, and performance & time to market

Reactive and Real time


Must react to changes in the system's environment and compute results in real time without
any delay. (Cruise Control, Safety Airbags)

Memory & Connected 


It must have a memory, as its software usually embeds in ROM. It has connected peripherals
to connect input and output devices.

HW-SW systems
Software is used for more features and flexibility. Hardware is used for performance and
reliability.

BITS Pilani, Pilani Campus


Fire Fighting System

Smoke Sensor 
It detects smoke & measures different parameters of smoke and converts it to an
electrical signal which can be read by an observer or by any electronic instrument like an A2D
converter. A sensor stores the measured quantity to the memory.

A-D/D-A Converter 
An analog-to-digital converter converts the analog signal sent by the sensor into a digital
signal & Vice versa for D-A convertor

Processor & ASICs 


Processors process the data to measure the output and store it to the memory.

Actuator 
An actuator reads the output given by the D-A Converter opens water Valve as instructed
BITS Pilani, Pilani Campus
“The farther back you can look, the farther forward you are
likely to see.”
-- Winston Churchill

BITS Pilani, Pilani Campus


BITS Pilani
Pilani Campus

1.2 High Level Design


Historical Background
Digital Voltmeter

BITS Pilani, Pilani Campus


Historical Background

1. The block diagram shows mix of analog & digital elements


interconnected with point to point connections.

2. Even all-digital measurement counter, which stores ADC output


consists of counters.

3. Each counter drives its own numeric display and communicates to


the next counter over one wire.

4. There are no buses in the design, none are needed.

5. No microprocessors, it wouldn't appear for another 8 years

BITS Pilani, Pilani Campus


Welcome to The World of
Microprocessor
1. i-4004 was 16-pin DIP Package.

2. The 4bit bus had multiplexed


access to the various components in
the system. The architecture had
multiplexed address and data bus.

3. It took 3 cycles to pass a 12bit


address and another 2 or 4 more to
read back an 8 or 16bit instruction.

4. With a maximum operating


frequency of 740kHz and long, multi-
cycle bus operations, the i-4004 was
too slow to take on many system
control tasks and was largely ignored

BITS Pilani, Pilani Campus


Architecture Diagram for
i-4004

BITS Pilani, Pilani Campus


i-8008

1. The i-8008 was introduced in April,


1972 packaged in a 18-pin DIP.

2. The 8 bit bus had multiplexed access to


the various components in the system.
The architecture had multiplexed
address and data bus.

3. It took 2 cycles to pass a 14bit address


and another 1 or 2 more to read back
an 8
or 16bit instruction.

4. With a maximum operating frequency of


800kHz, the i-8008 was still too slow to
fire the imagination of many system
designers.

BITS Pilani, Pilani Campus


i-8080

1. The i-8080 was introduced in April, 1974 packaged in a 40-pin DIP.

2. The separate address bus was 16 bits and data bus was 8 bits

3. With a maximum operating frequency of 2MHz, the i-8080 finally got system
designers to adopt the microprocessor as key system building block.

4. Other Microprocessor Vendors like Motorola & Zilog also introduced at about the
same time in 40 pin

5. Since then, microprocessor-based design has become the nearly universal


approach to system design.
BITS Pilani, Pilani Campus
Microprocessor Based
Systems

BITS Pilani, Pilani Campus


Changes in Approach
1. The figure illustrates how a system designer might implement a digital voltmeter like
the HP3440A today.

2. A Microprocessor controls all of the major system components in the modern design
implementation.

3. The processor communicates with other components over a common bus ! the
microprocessor´s main bus

4. Now, what are the other differences :-


• Massive amount of parallelism in early design Vs the one-operation-at-a-time over
the microprocessor bus.
• It was more expensive to route multiple point-to-point connections Vs less expensive
to route buses to move data into and out of packaged microprocessors.
• Nothing need to be multiplexed due to full parallelism Vs Limitations on the
frequency of operation due to multiplexing the shared bus (resource).

5. What happens NeXT :-

BITS Pilani, Pilani Campus


Changes in Approach

1. NOW, systems needed more tasks to be executed on


processors... uP Vendors adopted the following...

• Increase the clock rate... rush by uP vendors to do this.


• buses widened... 16bit, 32bit, 64bit.
• Add more buses to the processor architecture.

2. WHAT IS the fallout of all these techniques ?

BITS Pilani, Pilani Campus


Frequency Scaling

BITS Pilani, Pilani Campus


Changes in Approach

1. NOW, systems needed more tasks to be executed on


processors... uP Vendors adopted the following...
• Increase the clock rate... rush by uP vendors to do this.
• buses widened... 16bit, 32bit, 64bit.
• Add more buses to the processor architecture.

2. WHAT IS the fallout of all these techniques ?


• Device pin size increase.
• Device power dissipation increase

BITS Pilani, Pilani Campus


Pin Count Scaling

BITS Pilani, Pilani Campus


Power Consumption

BITS Pilani, Pilani Campus


BITS Pilani
Pilani Campus

1.3 Hardware Software Co-design


SOC (System On Chip)

A system-on-a-chip (SoC) is
a chip with all the necessary
electronic circuits and parts
for a  given system, such as
a smartphone
or wearable, on a single
integrated circuit (IC) 

BITS Pilani, Pilani Campus


Advantages of SOC
Size
The size of a SOC is small and it includes a lot of features and functions
Flexibility
In terms of chip size, power and form factor, it is very tough to beat the
suppleness that a system on chip provides in a design
Cost Efficient
This is accurate; especially for application specific SoCs like a video
codec, since the other is to implement it in software, that can be an
expensive in terms of effort and time.
High Volume
System on chips are countless if you have a high capacity product since it
makes it easier to defend the resources and cost of an engineering

BITS Pilani, Pilani Campus


Typical SOC Architecture

BITS Pilani, Pilani Campus


SOC Development Flow

BITS Pilani, Pilani Campus


SOC

BITS Pilani, Pilani Campus


BITS Pilani
Pilani Campus

1.4 Dualism of HW SW Codesign


Multiplication

BITS Pilani, Pilani Campus


BITS Pilani, Pilani Campus
Assembly Program for
same

BITS Pilani, Pilani Campus


Implementation of SW based
multiplier in HW .. (Dualism)

1 Assume you have a 8bit multiplier hardware block,


attached to the 8085 processor. How would you do?

2 What would you do if you do have h/w flexibility, but not


as much as a 8bit multiplier block. AND s/w flexibility
that it’s ok if it is not a single cycle. In other words, its ok
to have a multiplier throughput of say 500kHz or 256kHz
(two flavors).

3 Assume external h/w also works at 1MHz max.

BITS Pilani, Pilani Campus


BITS Pilani
Pilani Campus

Software Based Example for


Touch screen controller System
Touch Screen System

BITS Pilani, Pilani Campus


Requirements

BITS Pilani, Pilani Campus


BITS Pilani, Pilani Campus
BITS Pilani, Pilani Campus
BITS Pilani, Pilani Campus
Block Diagram

BITS Pilani, Pilani Campus


BITS Pilani, Pilani Campus
BITS Pilani, Pilani Campus
BITS Pilani, Pilani Campus
BITS Pilani, Pilani Campus
Acknowledgements

BITS Pilani, Pilani Campus

You might also like