Hardware-Software Codesign Course Details

 
Vipin Kizheppatt
 
Hardware Software Codesign
 
02/08/2024
Course Management
2
 
o
L
e
c
t
u
r
e
Monday, Wednesday, Friday 10 AM
o
L
a
b
Reconfigurable Computing lab
Tuesday, Thursday
o
I
n
s
t
r
u
c
t
o
r
Vipin Kizheppatt
D212, EEE Department
Consultation: Tuesday 4:00-5:00 PM
Course Objectives
3
 
o
 You should be able to design and implement moderate
to complex IPs with standard bus interfaces such as
AXI4, AXI-Stream etc.
o
 You should be able to develop drivers for the IP blocks
o
 You should be familiar with embedded Linux and real-
time operating systems
o
 You should be able to design moderately complex IP
blocks using high-level synthesis (HLS)
Prerequisites
4
 
o
 You should be quite familiar with Verilog HDL
(
https://youtube.com/playlist?list=PLXHMvqUANAFPO4id07GQg
gl64FS06TYWN&si=AsMSry7wNRfW1GCe
)
o
 You should be quite familiar with C/C++ programming language
(
https://youtube.com/playlist?list=PL98qAXLA6aftD9ZlnjpLhdQAO
FI8xIB6e&si=1NN6e6zOklZDiEe0
)
o
 You should have strong background in digital circuit design
o
 You should have a good understanding of computer
organization/architecture
 
Evaluation Components
 
5
Software
6
 
o
S
o
f
t
w
a
r
e
 
i
s
 
c
o
m
p
o
s
e
d
 
o
f
 
c
o
d
e
 
a
n
d
 
d
a
t
a
o
C
o
d
e
 
c
o
r
r
e
s
p
o
n
d
s
 
t
o
 
s
e
t
 
o
f
 
i
n
s
t
r
u
c
t
i
o
n
s
 
s
u
p
p
o
r
t
e
d
 
b
y
 
a
p
r
o
c
e
s
s
o
r
o
D
a
t
a
 
c
o
r
r
e
s
p
o
n
d
s
 
t
o
 
r
e
g
i
s
t
e
r
s
 
a
n
d
 
m
e
m
o
r
y
 
l
o
c
a
t
i
o
n
s
u
s
e
d
 
b
y
 
t
h
e
 
c
o
d
e
 
d
u
r
i
n
g
 
e
x
e
c
u
t
i
o
n
Software
7
 
o
Aim 
     
    
 
  
C Code               Assembly Code             Hex Code
char
 
a
=
20
;
     MOV A
,
#20
        
3E
 
20
char
 
b
=
30
;
     MOV B
,
#30
        
06
 
30
char
 
c
;
c
 = 
a
+
b
; 
      ADD A,B
          
80
               MOV
 
[000A]
,
A 
    
32
 
0A 00
Software
8
o
Modern computers use a stored-program model for program
execution
Software
9
 
o
Software does not exist without hardware!!
o
  
  
   
  
   

o
   
    
flexibility
o
For implementing a new application, same hardware can
be used with a different set of instructions
o
Converting software written in a high-level language to
machine language (compilation) is also a fast process
Software
10
 
o
How fast a software-based system executes depend upon
several factors
o
Roughly it can be mapped to the number of instructions,
number of clock cycles per instruction and the clock
frequency at which the processor runs
execution Time = #instructions x clock cycle/instruction x clock period
o
Practically we cannot keep on increasing clock frequency
or reduce clock cycle/instruction
Software
11
 
o
A
n
o
t
h
e
r
 
l
i
m
i
t
i
n
g
 
f
a
c
t
o
r
 
o
f
 
s
o
f
t
w
a
r
e
 
i
m
p
l
e
m
e
n
t
a
t
i
o
n
 
i
s
 
p
o
w
e
r
c
o
n
s
u
m
p
t
i
o
n
o
In stored program model, often data/instruction needs to be
fetched from external memory
o
Inter-chip communication is one of the most power
consuming operation (due to large driving current)
o
Again since applications need to be mapped to a fixed
hardware architecture, implementation may be suboptimal
increasing execution time and power consumption
Hardware
12
 
o
Hardware (here we are dealing only with digital circuits)
and built using gates and flip-flops
o
The major advantage of hardware is it can be custom
designed for a specific application
o
T
h
i
s
 
i
n
c
r
e
a
s
e
s
 
t
h
e
i
r
 
p
e
r
f
o
r
m
a
n
c
e
 
(
t
h
r
o
u
g
h
p
u
t
)
 
a
n
d
 
p
o
w
e
r
c
o
n
s
u
m
p
t
i
o
n
 
c
o
m
p
a
r
e
d
 
t
o
 
a
 
s
o
f
t
w
a
r
e
 
i
m
p
l
e
m
e
n
t
a
t
i
o
n
o
B
u
t
 
h
a
r
d
w
a
r
e
 
i
s
 
i
n
h
e
r
e
n
t
l
y
 
i
n
f
l
e
x
i
b
l
e
o
Their design and development process is more complex
and takes more time compared to software counterpart
Hardware-Software
13
 
o
In a hardware-software co-design approach we try to
exploit advantages of both domains
o
As a thumb rule, hardware is very efficient in implementing
data intensive applications 
(usually referred as data path)
o
Software is more appropriate for 
control intensive
applications 
(usually referred as control path)
o
In a codesign approach, we implement data processing
portion of the system on custom hardware and use
software to control them
 
14
 
Thank you any
questions
Slide Note
Embed
Share

This comprehensive hardware-software codesign course presented by Vipin Kizheppatt covers various aspects such as course management, objectives, prerequisites, evaluation components, software fundamentals, and practical applications. The course aims to equip participants with the skills to design and implement IPs, develop drivers, work with embedded systems, and utilize high-level synthesis techniques. Additionally, it delves into digital circuit design, computer architecture, and Verilog HDL. The evaluation components include mid-semester exams, lab assignments, projects, and theoretical assessments. Explore the world of hardware-software co-design with this informative course!

  • Hardware-Software Codesign
  • Vipin Kizheppatt
  • Course Management
  • Embedded Systems
  • Digital Circuit Design

Uploaded on Sep 28, 2024 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

E N D

Presentation Transcript


  1. Hardware Software Codesign Vipin Kizheppatt 02/08/2024

  2. Course Management oLecture Monday, Wednesday, Friday 10 AM oLab Reconfigurable Computing lab Tuesday, Thursday oInstructor Vipin Kizheppatt D212, EEE Department Consultation: Tuesday 4:00-5:00 PM 2

  3. Course Objectives o You should be able to design and implement moderate to complex IPs with standard bus interfaces such as AXI4, AXI-Stream etc. o You should be able to develop drivers for the IP blocks o You should be familiar with embedded Linux and real- time operating systems o You should be able to design moderately complex IP blocks using high-level synthesis (HLS) 3

  4. Prerequisites o You (https://youtube.com/playlist?list=PLXHMvqUANAFPO4id07GQg gl64FS06TYWN&si=AsMSry7wNRfW1GCe) o You should be quite familiar with C/C++ programming language (https://youtube.com/playlist?list=PL98qAXLA6aftD9ZlnjpLhdQAO FI8xIB6e&si=1NN6e6zOklZDiEe0) o You should have strong background in digital circuit design o You should have a good understanding of computer organization/architecture should be quite familiar with Verilog HDL 4

  5. Evaluation Components EC No. Evaluation Component Duration (min) Weightage (%) Date & Time Nature of Component 8/10/24 (11:00-12:30) 1. Mid Sem 1.5 hrs 20 Closed Book 2. 3. Lab/assignment Project and Viva Lab Comprehensive Comprehensive (Theory) - - 20 20 To be announced To be announced Open Book Open Book 4. 5 hrs 25 To be announced Open Book 5. 2 hrs 15 11/12/24 (AN) Closed Book 5

  6. Software o Software is composed of code and data o Code corresponds to set of instructions supported by a processor o Data corresponds to registers and memory locations used by the code during execution 6

  7. Software o Aim Add 20H and 30H and store the result in memory C Code Assembly Code Hex Code char a=20; MOV A,#20 3E 20 char b=30; MOV B,#30 06 30 char c; c = a+b; ADD A,B 80 MOV [000A],A 32 0A 00 7

  8. Software o Modern computers use a stored-program model for program execution 8

  9. Software o Software does not exist without hardware!! o In software-based systems, applications are implemented as different set of instructions (software) mapped to the same hardware architecture o This is the greatest advantage of software also flexibility o For implementing a new application, same hardware can be used with a different set of instructions o Converting software written in a high-level language to machine language (compilation) is also a fast process 9

  10. Software o How fast a software-based system executes depend upon several factors o Roughly it can be mapped to the number of instructions, number of clock cycles per instruction and the clock frequency at which the processor runs execution Time = #instructions x clock cycle/instruction x clock period o Practically we cannot keep on increasing clock frequency or reduce clock cycle/instruction 10

  11. Software o Another limiting factor of software implementation is power consumption o In stored program model, often data/instruction needs to be fetched from external memory o Inter-chip communication is one of the most power consuming operation (due to large driving current) o Again since applications need to be mapped to a fixed hardware architecture, implementation may be suboptimal increasing execution time and power consumption 11

  12. Hardware o Hardware (here we are dealing only with digital circuits) and built using gates and flip-flops o The major advantage of hardware is it can be custom designed for a specific application o This increases their performance (throughput) and power consumption compared to a software implementation o But hardware is inherently inflexible o Their design and development process is more complex and takes more time compared to software counterpart 12

  13. Hardware-Software o In a hardware-software co-design approach we try to exploit advantages of both domains o As a thumb rule, hardware is very efficient in implementing data intensive applications (usually referred as data path) o Software is more appropriate for control intensive applications (usually referred as control path) o In a codesign approach, we implement data processing portion of the system on custom hardware and use software to control them 13

  14. Thank you any questions 14

More Related Content

giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#