Professional Documents
Culture Documents
Unit 1
Unit 1
09/18/2022 An Intro 4
UNIT – III
DSP Processor Architectures
Fixed Point Vs Floating Point digital signal processors
VLIW Architecture of TMS320C6713 floating point
processor
Key features
C6713 DSK functional diagram
basic operations
memory mapping
L2 memory architecture
DSP Interfacing CODEC (AIC23)
Software development and debugging using Code
Composer Studio (CCS)
09/18/2022 An Intro 5
UNIT – IV
Implementation of DSP Algorithms on Floating Point
Digital Signal Processor
FIR filtering
IIR filtering (Direct Form I, Direct Form II)
DIF FFT implementation
Wiener filtering
Least Mean Square adaptive algorithm
Recursive Least Square adaptive algorithm
Discrete Kalman Filtering algorithm
09/18/2022 An Intro 6
TEXTBOOKS
TEXTBOOKS
1. Marilyn Wolf, Computer as Components: Principles of
Embedded Computing System Design, 4th Edition, Elsevier,
2017.
2. Emmanuel C. Ifeachor and Barrie W. Jervis. Digital Signal
Processing: A Practical Approach, 2nd Edition, Pearson
Education, 2012.
3. Andrew N. Sloss, Dominic Symes, Chris Wright. ARM System
Developer’s Guide: Designing and Optimizing System Software,
Elsevier, 2004.
09/18/2022 An Intro 7
REFERENCES
REFERENCES
1. Simon Haykin. Adaptive filter theory, 4th Edition, Pearson
Education, 2013.
2. User Manual LPC2148:
https://www.scribd.com/doc/210433900/User-Manual-
LPC2148
3. User manual TMS320C67XX Texas instruments
https://www.ti.com/lit/ds/symlink/tms320c6713b.pdf
4. Technical Reference manual TMS320C6713 DSK, Texas
Instruments:
http://c6000.spectrumdigital.com/dsk6713/revc/files/
6713_dsk_techref.pdf
5. TMS320C6000 Code Composer Studio Tutorial
http://www.ti.com/lit/ug/spru301c/spru301c.pdf
09/18/2022 An Intro 8
Introduction to
Embedded System Design
Unit – I
https://www.indiamart.com/proddetail/embedded-system-software-
6585748473.html
Characteristics of Embedded Systems
• Single-functioned
– Executes a single program, repeatedly
• Tightly-constrained
– Low cost, low power, small, fast, etc.
• Reactive and real-time
– Continually reacts to changes in the system’s
environment
– Must compute certain results in real-time without
delay
Design Challenges –
Optimizing Design Metrics
• Obvious design goal:
– Construct an implementation with desired
functionality
• Key design challenge:
– Simultaneously optimize numerous design metrics
• Design metric
– A measurable feature of a system’s implementation
– Optimizing design metrics is a key challenge
Design Metrics
➢ Unit cost: the monetary cost of manufacturing each
copy of the system, excluding NRE cost
(ANS:12000)
Design metrics (continued)
➢Performance: the execution time or throughput of the
system
On-time
D W 2W
On-time Delayed Time
entry entry
PROBLEM 2
• Consider a lifetime of the product is 52 weeks,
if the product is released with delay of 4
weeks, then the approximate percentage
revenue loss will be _____%.
ANS(22%)
Performance Design Metric
• Widely-used measure of system, widely-abused
= (D(3W-D)/2W2)*100%
Design Flows
Unit I
INTRODUCTION
2
DESIGN GOALS
The obvious goal of a design process is to create a product that does
something useful.
Typical specifications for a product will include
functionality (e.g., cell phone),
manufacturing cost (must have a retail price below $200),
Performance (must power up within 3 s),
power consumption (must run for 12 h on two AA batteries), or
other properties.
A design process has several important goals beyond function,
performance, and power. Three of these goals are summarized below.
■ Time-to-market
-beat competitors to market
■ Design cost
■ Quality 3
Design Methodology
4
Design flow
5
COMMON DESIGN FLOW MODELS
• Waterfall model
• Spiral model
• Successive refinement
6
Typical Design Flow
requirements
Top-down
design specification
architecture
Bottom-up
design
Real design component
development
often iterative
system
integration
7
1. Waterfall model
Introduced by Royce , the first model proposed for the
software development process.
8
Waterfall model
• Requirement analysis
– Determines the basic characteristics of the system
• Architecture design
– Decomposes the functionality into major components
• Coding
– Implements the pieces and integration
• Testing
– Determines the bugs
• Maintenance
– Entails deployment in the field, bug fixes and
upgrades
9
Problems in Waterfall model
• Real projects rarely follow the sequential flow models
• Difficult for the customers to state all the properties
explicitly
• Customer must have patience
– To overcome these problems an alternative model of
software development called the spiral model
• While the waterfall model assumes that the system is
built once in its entirety, the spiral model assumes that
several versions of the system
10
2.Spiral model
11
Spiral Model
• Designing the system is more complex progresses in that
each level of design, the designers go through
requirements, construction, and testing phases.
• Finally more complete versions of the system are
constructed, each phase requires more work, widening
the design spiral.
• The first cycles at the top of the spiral are very small and
short, while the final cycles at the spiral’s bottom add
detail learned from the earlier cycles of the spiral.
12
Spiral Model
Advantage:
• The spiral model is more realistic than the waterfall
model because multiple iterations are often necessary
to add enough detail to complete a design.
Disadvantage:
• However, a spiral methodology with too many spirals
may take too long when design time is a major
requirement.
13
3. Successive refinement model
specify specify
architect architect
design design
build build
test test
initial system refined system
The system is built several times. A first system is used as
a rough prototype, and successive models of the system
are further refined. 14
Hardware/software design flow
Embedded computing systems often involve the design of
hardware as well as software.
requirements and
specification
architecture
integration
testing
15
Hardware/software design flow
17
A hierarchical design flow for an
embedded system.
18
Elements of Concurrent Engineering
Cross-functional teams: include members from various
disciplines involved in the process, including manufacturing,
hardware and software design, marketing, and so forth.
20
Course Name:
Embedded & Signal Processing Architectures
Unit – I
Introduction to ARM7TDMI Core
Courtesy: Andrew N. Sloss, Dominic Symes, Chris Wright.
ARM System Developer’s Guide: Designing and Optimizing
System Software, Elsevier, 2004.
1
RISC DESIGN PHILOSOPHY
• RISC is a design philosophy aimed at delivering
simple but powerful instructions that execute
within a single cycle at a high clock speed
2
RISC DESIGN PHILOSOPHY
• Pipelines—The processing of instructions is
broken down into smaller units that can be
executed in parallel by pipelines
5
ARM7TDMI CORE ARCH.
6
TDMI ?
– T: Thumb, 16-bit compressed instruction set
– D: on-chip Debug support, enabling the
processor to halt in response to a debug
request
– M: enhanced Multiplier, yield a full 64-bit
result, high performance
– I: Embedded ICE hardware
7
ARM7TDMI CORE ARCH.
• Three stage pipeline: fetch, decode and execute
• Support two instruction set
– 32-bit ARM instruction set
– 16-bit Thumb instruction set
• 32-bit ARM plus 16-bit Thumb extension
• Seven processor modes are used to run user
tasks
• 37 total registers divided among seven different
processor modes
8
ARM7TDMI CORE ARCH.
• Embedded ICE on-chip debug
9
ARM7TDMI core architecture
10
ARM7TDMI CORE ARCH.
• Register Bank is connected to ALU via two data
paths A bus, B bus
11
ARM7TDMI CORE ARCH.
• In-line decompression process of Thumb
instructions while in the decode stage of the
pipeline
13
REGISTERS
14
MODES
• The processor enters abort mode when there is a failed attempt
to access memory
• Fast interrupt request and interrupt request modes correspond
to the two interrupt levels available on the ARM processor
• Supervisor mode is the mode that the processor is in after reset
and is generally the mode that an operating system kernel
operates in
• System mode is a special version of user mode that allows full
read-write access to the CPSR
• Undefined mode is used when the processor encounters an
instruction that is undefined or not supported by the
implementation
• User mode is used for programs and applications
15
ARM STATE REGISTER SET
• The ARM state register set contains 16 directly-
accessible registers, r0 to r15
17
Program Status Registers format (Cont.)
18
ARM state register set (Cont.)
19
Thumb state Register Set
• The Thumb state register set is a subset of the ARM state set.
20
Thumb state register set (Cont.)
21
Relationship between
ARM state and Thumb state registers
• Thumb state CPSR and SPSRs, and ARM state CPSR and
SPSRs are identical
22
Mapping of
Thumb state registers onto ARM state registers
23
Program status registers
25
Program Status Registers (Cont.)
• Interrupt disable bits :
• I and F bits are the interrupt disable
• I bit is set, IRQ interrupts are disabled
• F bit is set, FIQ interrupts are disabled.
T bit :
• Reflects the operating state
•T bit is set, the processor is executing in Thumb state
• T bit is clear, the processor executing in ARM state.
26
PSR - Mode bits
27
Three –stage pipeline
Three-stage instruction pipeline
Fetch
instruction is fetched from memory
Decode
instruction is decoded and the data path control
signals prepared for the next cycle
EXECUTE
operands are read from the register bank, shifted,
combined in the ALU and the result written back
28
Three-stage pipeline (Cont.)
30
Principal components Three-stage pipeline
31
Principal components of Three-stage pipeline
(Cont.)
• The ALU, which performs the arithmetic and logic functions
required by the instruction set.
32
Three- stage Execution performance
33
Optimal Pipelining
35
ARM Exceptions Types (Cont.)
• Reset
– Occurs when the processor reset pin is asserted
– For signalling Power-up
– For resetting as if the processor has just
powered up
– Software reset
– Can be done by branching to the reset vector
(0x0000)
• Undefined instruction
• Occurs when the processor or coprocessors
cannot recognize the currently execution
instruction
36
ARM Exceptions Types (Cont.)
• Software Interrupt (SWI)
– User-defined interrupt instruction
– Allow a program running in User mode to request
privileged operations that are in Supervisor mode
For example, RTOS functions
• Prefetch Abort
– Fetch an instruction from an illegal address, the
instruction is flagged as invalid
– However, instructions already in the pipeline continue
to execute until the invalid instruction is reached and
then a Prefetch Abort is generated.
37
ARM Exceptions Types (Cont.)
• Data Abort
– A data transfer instruction attempts to load or store
data at an illegal address
• IRQ
– The processor external interrupt request pin is
asserted (LOW) and the I bit in the CPSR is clear
(enable)
• FIQ
– The processor external fast interrupt request pin is
asserted (LOW) and the F bit in the CPSR is clear
(enable)
38
Handling an exception
• Exceptions arise whenever the normal flow of a program
has to be halted temporarily
39
Handling an exception (Cont.)
40
Leaving an exception
41
Exception vectors Table
42
ARM Exception Vector Table
43
ARM Exception Priorities
44
Course Name:
Embedded & Signal Processing Architectures
Features of ES Programming
2
Embedded C Programming Fundas.
C Vs. Embedded C
C programming language code - No need to know You must have good knowledge about the hardware
about computer hardware i.e. C language is not for that you’re developing any code. Embedded C is
hardware dependent language. fully hardware dependent language.
3
Embedded C Programming Fundas.
C language program is hardware independent. Embedded C program is hardware dependent.
Standard compilers can be used to compile and Specific compilers that are able to generate
execute the program. particular hardware/micro-controller based output.
Need to write full program from scratch while The compiler generates some initial code
developing a C language code. automatically based on the selected μP/μC.
we can use standard function like printf(), scanf() etc These functions may not work, because in an
for output and input. embedded device there may not any standard output
device you have to write code to display output to
connected display unit like 16X2 LCD, graphics
display etc.
4
Embedded C Programming Fundas.
C language compilers generate operating system Embedded C language compilers generate
dependent executable files that can be run on the hardware dependent files that you have to upload
same operating system. in the micro-controller
Readability modifications, bug fixing are very easy It’s not too easy to read, understand, modify and fix
in a C language program. the bugs in an Embedded C language program.
GCC (GNU Complier collection), Borland turbo C, Keil compiler (An Arm company compilers), AVR
Intel C++ compiler are some of the popular GCC – are some of the popular compilers to
compilers which are used to compile, execute a C compile, run an Embedded C language program.
language program.
5
Embedded C Programming Fundas.
Basic Embedded C Program Structure
7
Embedded C Programming Fundas.