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

BITS Pilani

presentation
BITS Pilani Swapnil Patil
swapnilpatil@wilp.bits-pilani.ac.in
Pilani Campus
BITS Pilani
Pilani Campus

Hardware Software Codesign


Module. 2
Recap
• 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

2.1 Concept of System Modelling ,


Need for Concurrent Models
BITS Pilani
Pilani Campus

Concept of System Modelling


Agenda

• Basic theme that has come out from previous lecture

• Modelling Essentials

BITS Pilani, Pilani Campus


Basic Concepts

•Simulation : Behavior Modelling

•Emulation : Behavior Modelling

•What's the difference


• https://www.youtube.com/watch?v=HZePYihHiXk

BITS Pilani, Pilani Campus


Ingredients of HW-SW
Codesign

https://www.youtube.com/watch?v=MnrJzXM7a6o&feature=youtu.be

BITS Pilani, Pilani Campus


Pipelining

BITS Pilani, Pilani Campus


Approaches

BITS Pilani, Pilani Campus


Basic Modelling
requirements

BITS Pilani, Pilani Campus


BITS Pilani
Pilani Campus

Need for Concurrent Models


Concurrency – (ABS, Speedometer,
Console Monitor)

BITS Pilani, Pilani Campus


Concurrency – Data Driven
DFG(Data Flow Graph)

BITS Pilani, Pilani Campus


Concurrency – Control
Driven

BITS Pilani, Pilani Campus


Concurrency – Control
Driven

BITS Pilani, Pilani Campus


Concurrency – Pipeline
Driven

BITS Pilani, Pilani Campus


BITS Pilani
Pilani Campus

2.2 State Oriented Models


2.2.1 State Transitions/FSM

BITS Pilani, Pilani Campus


How to Represent FSM

BITS Pilani, Pilani Campus


Elevator Based System
FSM

BITS Pilani, Pilani Campus


2.2.2 Petri Nets

Token based state machine


Traffic signal based Petri nets

BITS Pilani, Pilani Campus


1 keys Traffic system

BITS Pilani, Pilani Campus


2 Key traffic system

BITS Pilani, Pilani Campus


2.2.3 HCFSM (Hierarchical
Concurrent Finite State Machine)

• Extension of FSM Model


• Adds Support for Hierarchy & Concurrency
• Each State Can be Further Decomposed into smaller
states

For example :
We can consider lift installation as a single FSM wherein Main panel inside
lift & all panels on each floor are devised as working with it as one system.

If we want to make it FCFSM, then we divide system into 2 parts , FSM


module for Main lift panel & another FSM for each floor panel , both are
running concurrently & will talk to each other on event basis

BITS Pilani, Pilani Campus


2.2.3 Hierarchical
Concurrent FSM (HCFSM)

BITS Pilani, Pilani Campus


BITS Pilani
Pilani Campus

2.3 Activity Oriented Models


2.3.1 Data Flow Graphs
(DFG)
Simple C code:

 two assignments to the variable x

BITS Pilani, Pilani Campus


single-assignment form

• The single-assignment form is important because it


allows us to identify a unique location in the code where
each named location is computed

BITS Pilani, Pilani Campus


Data Flow Graphs

1
2

BITS Pilani, Pilani Campus


BITS Pilani, Pilani Campus
2.3.2 Flowcharts

BITS Pilani, Pilani Campus


BITS Pilani
Pilani Campus

2.4 Structure Oriented Models


2.4.1 Component Connectivity
Diagram (CCD)

• CCD is a class of Structure Oriented model

• It is used to describe a system’s physical structure


against its functionality

• Different types of CCD


1. Block Diagram CCD
2. Register level CCD
3. Gate level CCD

BITS Pilani, Pilani Campus


Block level CCD for a
Microprocessor Based Systems

BITS Pilani, Pilani Campus


Register level CCD for
(A+B)/2
Represent ALU , Registers, Selectors & Buses.

BITS Pilani, Pilani Campus


Gate Level CCD

BITS Pilani, Pilani Campus


RT & Block level for
elevator system

BITS Pilani, Pilani Campus


BITS Pilani
Pilani Campus

2.5 Data Oriented Models


Data Oriented models

• Focus on data representation


• Used in systems where data outweighs all other aspects
of design

BITS Pilani, Pilani Campus


2.5.1 Entity Relationship
Diagram
Example: Online purchase portal
Represent flow of data in system

BITS Pilani, Pilani Campus


2.5.2 Jackson’s Diagram

• Unlike Entity relationship Diagram which shows attributes


& interrelationship of data it models
• Jackson’s diagram models each individual data in term of
its structure , by decomposing it into sub data
• Example : suitable for modelling record
• Suitable for data that would need to be decomposed in a
way that is much more complex than appropriate simple
form.
• AND for composition
• OR for selection
• * for iteration

BITS Pilani, Pilani Campus


Jackson’s Diagram for
Drawing

BITS Pilani, Pilani Campus


BITS Pilani
Pilani Campus

2.6 Heterogeneous Models


2.6.1 Control & Data Flow
diagram (CDFG)
Combination of Flow chart (CFG) with DFG Model
IF CFG is abstract class , CDFG is derived class of it

BITS Pilani, Pilani Campus


CDFG

BITS Pilani, Pilani Campus


CDFG

BITS Pilani, Pilani Campus


2.6.2 Structure Chart

• Structure chart which shows the breakdown of a system


to its lowest manageable levels

• Used in structured programming to arrange program


modules into a tree

• Each module is represented by a box, which contains


the module's name. The tree structure visualizes the
relationships between modules

BITS Pilani, Pilani Campus


Structure Chart for Payroll
System

BITS Pilani, Pilani Campus


2.6.3 Programming
language Paradigm
Imperative Languages (Control driven mode of execution)
• C
• Cobol

Declarative Language (do not specify order of execution)


More target driven
• LISP
• PROLOG

Example of LISP to add 3 numbers

BITS Pilani, Pilani Campus


Object Based:
• C++
• System verilog

BITS Pilani, Pilani Campus


2.6.4 Program State
Machine(PSM)
• PSM = HCFSM + programming language Paradigm
• PSM consists of a hierarchy of program states
• Each program state represents distinct mode of
operation

BITS Pilani, Pilani Campus


BITS Pilani, Pilani Campus
2.6.5 Queuing Model

• Queuing model is used for analysing systems


• Used to find out performance or resource bottlenecks
• It represents systems as network of queues & servers
• Arriving requests are stored in queues waiting for
processing
• Servers will be processing incoming requests from
Queues.

BITS Pilani, Pilani Campus


BITS Pilani, Pilani Campus
References

Specification and Design of Embedded Systems


• Daniel D Gajski

BITS Pilani, Pilani Campus

You might also like