SlideShare a Scribd company logo
1 of 48
UNIT V
CASE STUDY
 Hardware and software co-design - Data Compressor -
Software Modem – Personal Digital Assistants – Set–
Top–Box. – System-on-Silicon – FOSS Tools for
embedded system development.
2/7/2023 1
Co design Definition
and Key Concepts
 Co design
 The meeting of system-level objectives by exploiting
the trade-offs between hardware and software in a
system through their concurrent design
 Key concepts
 Concurrent: hardware and software developed at the
same time on parallel paths
 Integrated: interaction between hardware and software
developments to produce designs that meet
performance criteria and functional specifications
2/7/2023 2
Motivations for Codesign
 Factors driving codesign (hardware/software systems):
 Instruction Set Processors (ISPs) available as cores in many design
kits (386s, DSPs, microcontrollers,etc.)
 Systems on Silicon - many transistors available in typical processes
(> 10 million transistors available in IBM ASIC process, etc.)
 Increasing capacity of field programmable devices - some devices
even able to be reprogrammed on-the-fly (FPGAs, CPLDs, etc.)
 Efficient C compilers for embedded processors
 Hardware synthesis capabilities
2/7/2023 3
Motivations for Codesign
 The importance of codesign in designing
hardware/software systems:
 Improves design quality, design cycle time, and cost
 Reduces integration and test time
 Supports growing complexity of embedded systems
 Takes advantage of advances in tools and technologies
 Processor cores
 High-level hardware synthesis capabilities
 ASIC development
2/7/2023 4
Categorizing Hardware/Software
Systems
 Application Domain
 Embedded systems
 Manufacturing control
 Consumer electronics
 Vehicles
 Telecommunications
 Defense Systems
 Instruction Set Architectures
 Reconfigurable Systems
 Degree of programmability
 Access to programming
 Levels of programming
 Implementation Features
 Discrete vs. integrated components
 Fabrication technologies
2/7/2023 5
Categories of Codesign Problems
 Codesign of embedded systems
 Usually consist of sensors, controller, and actuators
 Are reactive systems
 Usually have real-time constraints
 Usually have dependability constraints
 Codesign of ISAs
 Application-specific instruction set processors (ASIPs)
 Compiler and hardware optimization and trade-offs
 Codesign of Reconfigurable Systems
 Systems that can be personalized after manufacture for a specific
application
 Reconfiguration can be accomplished before execution or
concurrent with execution (called evolvable systems)
2/7/2023 6
Components of the Codesign
Problem
 Specification of the system
 Hardware/Software Partitioning
 Architectural assumptions - type of processor, interface style between
hardware and software, etc.
 Partitioning objectives - maximize speedup, latency requirements,
minimize size, cost, etc.
 Partitioning strategies - high level partitioning by hand, automated
partitioning using various techniques, etc.
 Scheduling
 Operation scheduling in hardware
 Instruction scheduling in compilers
 Process scheduling in operating systems
 Modeling the hardware/software system during the design process
2/7/2023 7
CPUs
 Example: data compressor.
2/7/2023 8
Goal:
 Compress data transmitted over serial line.
 Receives byte-size input symbols.
 Produces output symbols packed into bytes.
 Will build software module only here.
2/7/2023 9
Collaboration diagram for
compressor
:input :data compressor :output
1..n: input
symbols
1..m: packed
output
symbols
2/7/2023 10
Huffman coding
 Early statistical text compression algorithm.
 Select non-uniform size codes.
 Use shorter codes for more common symbols.
 Use longer codes for less common symbols.
 To allow decoding, codes must have unique
prefixes.
 No code can be a prefix of a longer valid code.
2/7/2023 11
Huffman example
character P
a .45
b .24
c .11
d .08
e .07
f .05
P=1
P=.55
P=.31
P=.19
P=.12
2/7/2023 12
Example :Huffman code
 Read code from root to leaves:
a 1
b 01
c 0000
d 0001
e 0010
f 0011
2/7/2023 13
Huffman coder requirements
table
name data compression module
purpose code module for Huffman
compression
inputs encoding table, uncoded
byte-size inputs
outputs packed compression output
symbols
functions Huffman coding
performance fast
manufacturing cost N/A
power N/A
physical size/weight N/A
2/7/2023 14
Building a specification
 Collaboration diagram shows only steady-state
input/output.
 A real system must:
 Accept an encoding table.
 Allow a system reset that flushes the compression buffer.
2/7/2023 15
data-compressor class
data-compressor
buffer: data-buffer
table: symbol-table
current-bit: integer
encode(): boolean,
data-buffer
flush()
new-symbol-table()
2/7/2023 16
data-compressor behaviors
 encode: Takes one-byte input, generates packed
encoded symbols and a Boolean indicating whether
the buffer is full.
 new-symbol-table: installs new symbol table in object,
throws away old table.
 flush: returns current state of buffer, including
number of valid bits in buffer.
2/7/2023 17
Auxiliary classes
data-buffer
databuf[databuflen] :
character
len : integer
insert()
length() : integer
symbol-table
symbols[nsymbols] :
data-buffer
len : integer
value() : symbol
load()
2/7/2023 18
Auxiliary class roles
 data-buffer holds both packed and unpacked symbols.
 Longest Huffman code for 8-bit inputs is 256 bits.
 symbol-table indexes encoded verison of each symbol.
 load() puts data in a new symbol table.
2/7/2023 19
Class relationships
symbol-table
data-compressor
data-buffer
1
1
1
1
2/7/2023 20
Encode behavior
encode
create new buffer
add to buffers
add to buffer
return true
return false
input symbol
buffer filled?
T
F
2/7/2023 21
Insert behavior
pack into
this buffer
pack bottom bits
into this buffer,
top bits into
overflow buffer
update
length
input
symbol
fills buffer?
T
F
2/7/2023 22
Program design
 In an object-oriented language, we can reflect the
UML specification in the code more directly.
 In a non-object-oriented language, we must either:
 add code to provide object-oriented features;
 diverge from the specification structure.
2/7/2023 23
C++ classes
Class data_buffer {
char databuf[databuflen];
int len;
int length_in_chars() { return len/bitsperbyte; }
public:
void insert(data_buffer,data_buffer&);
int length() { return len; }
int length_in_bytes() { return (int)ceil(len/8.0); }
int initialize();
...
2/7/2023 24
C++ classes, cont’d.
class data_compressor {
data_buffer buffer;
int current_bit;
symbol_table table;
public:
boolean encode(char,data_buffer&);
void new_symbol_table(symbol_table);
int flush(data_buffer&);
data_compressor();
~data_compressor();
}
2/7/2023 25
C code
struct data_compressor_struct {
data_buffer buffer;
int current_bit;
sym_table table;
}
typedef struct data_compressor_struct data_compressor,
*data_compressor_ptr;
boolean data_compressor_encode(data_compressor_ptr
mycmptrs, char isymbol, data_buffer *fullbuf) ...
2/7/2023 26
Testing
 Test by encoding, then decoding:
input symbols
symbol table
encoder decoder
compare
result
2/7/2023 27
Code inspection tests
 Look at the code for potential problems:
 Can we run past end of symbol table?
 What happens when the next symbol does not fill the
buffer? Does fill it?
 Do very long encoded symbols work properly? Very
short symbols?
 Does flush() work properly?
2/7/2023 28
Program design and analysis
 Software modem.
2/7/2023 29
Theory of operation
 Frequency-shift keying:
 separate frequencies for 0 and 1.
time
0 1
2/7/2023 30
FSK encoding
 Generate waveforms based on current bit:
bit-controlled
waveform
generator
0110101
2/7/2023 31
FSK decoding
A/D
converter
zero filter
one filter
detector 0 bit
detector 1 bit
2/7/2023 32
Transmission scheme
 Send data in 8-bit bytes. Arbitrary spacing between
bytes.
 Byte starts with 0 start bit.
 Receiver measures length of start bit to synchronize
itself to remaining 8 bits.
start (0) bit 1 bit 2 bit 3 bit 8
...
2/7/2023 33
Requirements
Inputs Analog sound input, reset button.
Outputs Analog sound output, LED bit display.
Functions Transmitter: Sends data from memory
in 8-bit bytes plus start bit.
Receiver: Automatically detects bytes
and reads bits. Displays current bit on
LED.
Performance 1200 baud.
Manufacturing cost Dominated by microprocessor and
analog I/O
Power Powered by AC.
Physical
size/weight
Small desktop object.
2/7/2023 34
Specification
Line-in*
input()
Receiver
sample-in()
bit-out()
1 1
Transmitter
bit-in()
sample-out()
Line-out*
output()
1 1
2/7/2023 35
System architecture
 Interrupt handlers for samples:
 input and output.
 Transmitter.
 Receiver.
2/7/2023 36
Transmitter
 Waveform generation by table lookup.
 float sine_wave[N_SAMP] = { 0.0, 0.5, 0.866, 1, 0.866,
0.5, 0.0, -0.5, -0.866, -1.0, -0.866, -0.5, 0};
time
2/7/2023 37
Receiver
 Filters (FIR for simplicity) use circular buffers to hold
data.
 Timer measures bit length.
 State machine recognizes start bits, data bits.
2/7/2023 38
Hardware platform
 CPU.
 A/D converter.
 D/A converter.
 Timer.
2/7/2023 39
Component design and testing
 Easy to test transmitter and receiver on host.
 Transmitter can be verified with speaker outputs.
 Receiver verification tasks:
 start bit recognition;
 data bit recognition.
2/7/2023 40
System integration and testing
 Use loopback mode to test components against each
other.
 Loopback in software or by connecting D/A and A/D
converters.
2/7/2023 41
Personal digital assistant
The Palm TX EO Personal Communicator
(440) from AT&T
2/7/2023 42
Typical features
 Touch screen
 Memory cards
 Wired connectivity
 Wireless connectivity
 Synchronization
Uses
 Automobile navigation
 Ruggedized PDAs
 Medical and scientific uses
 Educational uses
 Sporting uses
2/7/2023 43
SET-TOP-BOX
2/7/2023 44
SET-TOP-BOX ARCHITECTURE
2/7/2023 45
What is Free/Open Source
Software?
 “Briefly, OSS/FS programs are programs whose licenses give users the
freedomto run the program for any purpose, to study and modify the
program, and toredistribute copies of either the original or modified
program (without having topay royalties to previous developers).” David
Wheeler1
WHY FOSS?
 “Open-source software has been called many things: a movement, a fad, a
virus,a Communist conspiracy, even the heart and soul of the Internet. But
one point isoften overlooked: Open-source software is also a highly effective
vehicle for thetransfer of wealth from the industrialized world to developing
countries.”Andrew Leonard13
2/7/2023 46
The FOSS development
method
 Reduced duplication of effort
 Building upon the work of others
 Better quality control
 Reduced maintenance costs
2/7/2023 47
The benefits of using FOSS
 Besides the low cost of FOSS, there are many other
reasons
 Security
 Reliability/Stability
 Open standards and vendor independence
 Reduced reliance on imports
 Developing local software capacity
 Piracy, IPR, and WTO
 Localization
2/7/2023 48

More Related Content

Similar to unit 5-ERTS.pptx

System_on_Chip_SOC.ppt
System_on_Chip_SOC.pptSystem_on_Chip_SOC.ppt
System_on_Chip_SOC.pptzahixdd
 
Mirabilis_Design AMD Versal System-Level IP Library
Mirabilis_Design AMD Versal System-Level IP LibraryMirabilis_Design AMD Versal System-Level IP Library
Mirabilis_Design AMD Versal System-Level IP LibraryDeepak Shankar
 
Sybsc cs sem 3 physical computing and iot programming unit 1
Sybsc cs sem 3 physical computing and iot programming unit 1Sybsc cs sem 3 physical computing and iot programming unit 1
Sybsc cs sem 3 physical computing and iot programming unit 1WE-IT TUTORIALS
 
Using the Cypress PSoC Processor
Using the Cypress PSoC ProcessorUsing the Cypress PSoC Processor
Using the Cypress PSoC ProcessorLloydMoore
 
Avionics Paperdoc
Avionics PaperdocAvionics Paperdoc
Avionics PaperdocFalascoj
 
IMAGE CAPTURE, PROCESSING AND TRANSFER VIA ETHERNET UNDER CONTROL OF MATLAB G...
IMAGE CAPTURE, PROCESSING AND TRANSFER VIA ETHERNET UNDER CONTROL OF MATLAB G...IMAGE CAPTURE, PROCESSING AND TRANSFER VIA ETHERNET UNDER CONTROL OF MATLAB G...
IMAGE CAPTURE, PROCESSING AND TRANSFER VIA ETHERNET UNDER CONTROL OF MATLAB G...Christopher Diamantopoulos
 
soc ip core based for spacecraft application
soc ip core based for spacecraft applicationsoc ip core based for spacecraft application
soc ip core based for spacecraft applicationnavyashree pari
 
Digital design with Systemc
Digital design with SystemcDigital design with Systemc
Digital design with SystemcMarc Engels
 
AAME ARM Techcon2013 003v02 Software Development
AAME ARM Techcon2013 003v02  Software DevelopmentAAME ARM Techcon2013 003v02  Software Development
AAME ARM Techcon2013 003v02 Software DevelopmentAnh Dung NGUYEN
 
IRJET- Navigation Camp – Bot
IRJET-  	  Navigation Camp – BotIRJET-  	  Navigation Camp – Bot
IRJET- Navigation Camp – BotIRJET Journal
 
Verilog presentation final
Verilog presentation finalVerilog presentation final
Verilog presentation finalAnkur Gupta
 

Similar to unit 5-ERTS.pptx (20)

soc design for dsp applications
soc design for dsp applicationssoc design for dsp applications
soc design for dsp applications
 
System_on_Chip_SOC.ppt
System_on_Chip_SOC.pptSystem_on_Chip_SOC.ppt
System_on_Chip_SOC.ppt
 
Mirabilis_Design AMD Versal System-Level IP Library
Mirabilis_Design AMD Versal System-Level IP LibraryMirabilis_Design AMD Versal System-Level IP Library
Mirabilis_Design AMD Versal System-Level IP Library
 
Bindu_Resume
Bindu_ResumeBindu_Resume
Bindu_Resume
 
chameleon chip
chameleon chipchameleon chip
chameleon chip
 
Resume
ResumeResume
Resume
 
Sybsc cs sem 3 physical computing and iot programming unit 1
Sybsc cs sem 3 physical computing and iot programming unit 1Sybsc cs sem 3 physical computing and iot programming unit 1
Sybsc cs sem 3 physical computing and iot programming unit 1
 
Using the Cypress PSoC Processor
Using the Cypress PSoC ProcessorUsing the Cypress PSoC Processor
Using the Cypress PSoC Processor
 
Avionics Paperdoc
Avionics PaperdocAvionics Paperdoc
Avionics Paperdoc
 
Verilog
VerilogVerilog
Verilog
 
IMAGE CAPTURE, PROCESSING AND TRANSFER VIA ETHERNET UNDER CONTROL OF MATLAB G...
IMAGE CAPTURE, PROCESSING AND TRANSFER VIA ETHERNET UNDER CONTROL OF MATLAB G...IMAGE CAPTURE, PROCESSING AND TRANSFER VIA ETHERNET UNDER CONTROL OF MATLAB G...
IMAGE CAPTURE, PROCESSING AND TRANSFER VIA ETHERNET UNDER CONTROL OF MATLAB G...
 
Dsp lab manual 15 11-2016
Dsp lab manual 15 11-2016Dsp lab manual 15 11-2016
Dsp lab manual 15 11-2016
 
Embedded concepts
Embedded conceptsEmbedded concepts
Embedded concepts
 
soc ip core based for spacecraft application
soc ip core based for spacecraft applicationsoc ip core based for spacecraft application
soc ip core based for spacecraft application
 
Digital design with Systemc
Digital design with SystemcDigital design with Systemc
Digital design with Systemc
 
Physical design
Physical design Physical design
Physical design
 
EEE226a.ppt
EEE226a.pptEEE226a.ppt
EEE226a.ppt
 
AAME ARM Techcon2013 003v02 Software Development
AAME ARM Techcon2013 003v02  Software DevelopmentAAME ARM Techcon2013 003v02  Software Development
AAME ARM Techcon2013 003v02 Software Development
 
IRJET- Navigation Camp – Bot
IRJET-  	  Navigation Camp – BotIRJET-  	  Navigation Camp – Bot
IRJET- Navigation Camp – Bot
 
Verilog presentation final
Verilog presentation finalVerilog presentation final
Verilog presentation final
 

Recently uploaded

SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )Tsuyoshi Horigome
 
Electronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfElectronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfme23b1001
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...Soham Mondal
 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxKartikeyaDwivedi3
 
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ
 
Current Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLCurrent Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLDeelipZope
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxpurnimasatapathy1234
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxk795866
 
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSCAESB
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile servicerehmti665
 
chaitra-1.pptx fake news detection using machine learning
chaitra-1.pptx  fake news detection using machine learningchaitra-1.pptx  fake news detection using machine learning
chaitra-1.pptx fake news detection using machine learningmisbanausheenparvam
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerAnamika Sarkar
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130Suhani Kapoor
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...VICTOR MAESTRE RAMIREZ
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxDeepakSakkari2
 

Recently uploaded (20)

young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
 
POWER SYSTEMS-1 Complete notes examples
POWER SYSTEMS-1 Complete notes  examplesPOWER SYSTEMS-1 Complete notes  examples
POWER SYSTEMS-1 Complete notes examples
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )
 
Electronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfElectronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdf
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptx
 
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
 
Current Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLCurrent Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCL
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptx
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptx
 
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentation
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
 
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptxExploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
 
chaitra-1.pptx fake news detection using machine learning
chaitra-1.pptx  fake news detection using machine learningchaitra-1.pptx  fake news detection using machine learning
chaitra-1.pptx fake news detection using machine learning
 
young call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Serviceyoung call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Service
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptx
 

unit 5-ERTS.pptx

  • 1. UNIT V CASE STUDY  Hardware and software co-design - Data Compressor - Software Modem – Personal Digital Assistants – Set– Top–Box. – System-on-Silicon – FOSS Tools for embedded system development. 2/7/2023 1
  • 2. Co design Definition and Key Concepts  Co design  The meeting of system-level objectives by exploiting the trade-offs between hardware and software in a system through their concurrent design  Key concepts  Concurrent: hardware and software developed at the same time on parallel paths  Integrated: interaction between hardware and software developments to produce designs that meet performance criteria and functional specifications 2/7/2023 2
  • 3. Motivations for Codesign  Factors driving codesign (hardware/software systems):  Instruction Set Processors (ISPs) available as cores in many design kits (386s, DSPs, microcontrollers,etc.)  Systems on Silicon - many transistors available in typical processes (> 10 million transistors available in IBM ASIC process, etc.)  Increasing capacity of field programmable devices - some devices even able to be reprogrammed on-the-fly (FPGAs, CPLDs, etc.)  Efficient C compilers for embedded processors  Hardware synthesis capabilities 2/7/2023 3
  • 4. Motivations for Codesign  The importance of codesign in designing hardware/software systems:  Improves design quality, design cycle time, and cost  Reduces integration and test time  Supports growing complexity of embedded systems  Takes advantage of advances in tools and technologies  Processor cores  High-level hardware synthesis capabilities  ASIC development 2/7/2023 4
  • 5. Categorizing Hardware/Software Systems  Application Domain  Embedded systems  Manufacturing control  Consumer electronics  Vehicles  Telecommunications  Defense Systems  Instruction Set Architectures  Reconfigurable Systems  Degree of programmability  Access to programming  Levels of programming  Implementation Features  Discrete vs. integrated components  Fabrication technologies 2/7/2023 5
  • 6. Categories of Codesign Problems  Codesign of embedded systems  Usually consist of sensors, controller, and actuators  Are reactive systems  Usually have real-time constraints  Usually have dependability constraints  Codesign of ISAs  Application-specific instruction set processors (ASIPs)  Compiler and hardware optimization and trade-offs  Codesign of Reconfigurable Systems  Systems that can be personalized after manufacture for a specific application  Reconfiguration can be accomplished before execution or concurrent with execution (called evolvable systems) 2/7/2023 6
  • 7. Components of the Codesign Problem  Specification of the system  Hardware/Software Partitioning  Architectural assumptions - type of processor, interface style between hardware and software, etc.  Partitioning objectives - maximize speedup, latency requirements, minimize size, cost, etc.  Partitioning strategies - high level partitioning by hand, automated partitioning using various techniques, etc.  Scheduling  Operation scheduling in hardware  Instruction scheduling in compilers  Process scheduling in operating systems  Modeling the hardware/software system during the design process 2/7/2023 7
  • 8. CPUs  Example: data compressor. 2/7/2023 8
  • 9. Goal:  Compress data transmitted over serial line.  Receives byte-size input symbols.  Produces output symbols packed into bytes.  Will build software module only here. 2/7/2023 9
  • 10. Collaboration diagram for compressor :input :data compressor :output 1..n: input symbols 1..m: packed output symbols 2/7/2023 10
  • 11. Huffman coding  Early statistical text compression algorithm.  Select non-uniform size codes.  Use shorter codes for more common symbols.  Use longer codes for less common symbols.  To allow decoding, codes must have unique prefixes.  No code can be a prefix of a longer valid code. 2/7/2023 11
  • 12. Huffman example character P a .45 b .24 c .11 d .08 e .07 f .05 P=1 P=.55 P=.31 P=.19 P=.12 2/7/2023 12
  • 13. Example :Huffman code  Read code from root to leaves: a 1 b 01 c 0000 d 0001 e 0010 f 0011 2/7/2023 13
  • 14. Huffman coder requirements table name data compression module purpose code module for Huffman compression inputs encoding table, uncoded byte-size inputs outputs packed compression output symbols functions Huffman coding performance fast manufacturing cost N/A power N/A physical size/weight N/A 2/7/2023 14
  • 15. Building a specification  Collaboration diagram shows only steady-state input/output.  A real system must:  Accept an encoding table.  Allow a system reset that flushes the compression buffer. 2/7/2023 15
  • 16. data-compressor class data-compressor buffer: data-buffer table: symbol-table current-bit: integer encode(): boolean, data-buffer flush() new-symbol-table() 2/7/2023 16
  • 17. data-compressor behaviors  encode: Takes one-byte input, generates packed encoded symbols and a Boolean indicating whether the buffer is full.  new-symbol-table: installs new symbol table in object, throws away old table.  flush: returns current state of buffer, including number of valid bits in buffer. 2/7/2023 17
  • 18. Auxiliary classes data-buffer databuf[databuflen] : character len : integer insert() length() : integer symbol-table symbols[nsymbols] : data-buffer len : integer value() : symbol load() 2/7/2023 18
  • 19. Auxiliary class roles  data-buffer holds both packed and unpacked symbols.  Longest Huffman code for 8-bit inputs is 256 bits.  symbol-table indexes encoded verison of each symbol.  load() puts data in a new symbol table. 2/7/2023 19
  • 21. Encode behavior encode create new buffer add to buffers add to buffer return true return false input symbol buffer filled? T F 2/7/2023 21
  • 22. Insert behavior pack into this buffer pack bottom bits into this buffer, top bits into overflow buffer update length input symbol fills buffer? T F 2/7/2023 22
  • 23. Program design  In an object-oriented language, we can reflect the UML specification in the code more directly.  In a non-object-oriented language, we must either:  add code to provide object-oriented features;  diverge from the specification structure. 2/7/2023 23
  • 24. C++ classes Class data_buffer { char databuf[databuflen]; int len; int length_in_chars() { return len/bitsperbyte; } public: void insert(data_buffer,data_buffer&); int length() { return len; } int length_in_bytes() { return (int)ceil(len/8.0); } int initialize(); ... 2/7/2023 24
  • 25. C++ classes, cont’d. class data_compressor { data_buffer buffer; int current_bit; symbol_table table; public: boolean encode(char,data_buffer&); void new_symbol_table(symbol_table); int flush(data_buffer&); data_compressor(); ~data_compressor(); } 2/7/2023 25
  • 26. C code struct data_compressor_struct { data_buffer buffer; int current_bit; sym_table table; } typedef struct data_compressor_struct data_compressor, *data_compressor_ptr; boolean data_compressor_encode(data_compressor_ptr mycmptrs, char isymbol, data_buffer *fullbuf) ... 2/7/2023 26
  • 27. Testing  Test by encoding, then decoding: input symbols symbol table encoder decoder compare result 2/7/2023 27
  • 28. Code inspection tests  Look at the code for potential problems:  Can we run past end of symbol table?  What happens when the next symbol does not fill the buffer? Does fill it?  Do very long encoded symbols work properly? Very short symbols?  Does flush() work properly? 2/7/2023 28
  • 29. Program design and analysis  Software modem. 2/7/2023 29
  • 30. Theory of operation  Frequency-shift keying:  separate frequencies for 0 and 1. time 0 1 2/7/2023 30
  • 31. FSK encoding  Generate waveforms based on current bit: bit-controlled waveform generator 0110101 2/7/2023 31
  • 32. FSK decoding A/D converter zero filter one filter detector 0 bit detector 1 bit 2/7/2023 32
  • 33. Transmission scheme  Send data in 8-bit bytes. Arbitrary spacing between bytes.  Byte starts with 0 start bit.  Receiver measures length of start bit to synchronize itself to remaining 8 bits. start (0) bit 1 bit 2 bit 3 bit 8 ... 2/7/2023 33
  • 34. Requirements Inputs Analog sound input, reset button. Outputs Analog sound output, LED bit display. Functions Transmitter: Sends data from memory in 8-bit bytes plus start bit. Receiver: Automatically detects bytes and reads bits. Displays current bit on LED. Performance 1200 baud. Manufacturing cost Dominated by microprocessor and analog I/O Power Powered by AC. Physical size/weight Small desktop object. 2/7/2023 34
  • 36. System architecture  Interrupt handlers for samples:  input and output.  Transmitter.  Receiver. 2/7/2023 36
  • 37. Transmitter  Waveform generation by table lookup.  float sine_wave[N_SAMP] = { 0.0, 0.5, 0.866, 1, 0.866, 0.5, 0.0, -0.5, -0.866, -1.0, -0.866, -0.5, 0}; time 2/7/2023 37
  • 38. Receiver  Filters (FIR for simplicity) use circular buffers to hold data.  Timer measures bit length.  State machine recognizes start bits, data bits. 2/7/2023 38
  • 39. Hardware platform  CPU.  A/D converter.  D/A converter.  Timer. 2/7/2023 39
  • 40. Component design and testing  Easy to test transmitter and receiver on host.  Transmitter can be verified with speaker outputs.  Receiver verification tasks:  start bit recognition;  data bit recognition. 2/7/2023 40
  • 41. System integration and testing  Use loopback mode to test components against each other.  Loopback in software or by connecting D/A and A/D converters. 2/7/2023 41
  • 42. Personal digital assistant The Palm TX EO Personal Communicator (440) from AT&T 2/7/2023 42
  • 43. Typical features  Touch screen  Memory cards  Wired connectivity  Wireless connectivity  Synchronization Uses  Automobile navigation  Ruggedized PDAs  Medical and scientific uses  Educational uses  Sporting uses 2/7/2023 43
  • 46. What is Free/Open Source Software?  “Briefly, OSS/FS programs are programs whose licenses give users the freedomto run the program for any purpose, to study and modify the program, and toredistribute copies of either the original or modified program (without having topay royalties to previous developers).” David Wheeler1 WHY FOSS?  “Open-source software has been called many things: a movement, a fad, a virus,a Communist conspiracy, even the heart and soul of the Internet. But one point isoften overlooked: Open-source software is also a highly effective vehicle for thetransfer of wealth from the industrialized world to developing countries.”Andrew Leonard13 2/7/2023 46
  • 47. The FOSS development method  Reduced duplication of effort  Building upon the work of others  Better quality control  Reduced maintenance costs 2/7/2023 47
  • 48. The benefits of using FOSS  Besides the low cost of FOSS, there are many other reasons  Security  Reliability/Stability  Open standards and vendor independence  Reduced reliance on imports  Developing local software capacity  Piracy, IPR, and WTO  Localization 2/7/2023 48