Reconfigurable Computing ES ZG554 Session 1: BITS Pilani
Reconfigurable Computing ES ZG554 Session 1: BITS Pilani
Reconfigurable Computing ES ZG554 Session 1: BITS Pilani
ES ZG554
Session 1
Pawan Sharma
BITS Pilani [email protected]
Pilani Campus 04/08/2018
Today’s Lecture
• Course Overview
• Module: Introduction to Reconfigurable
Computing
– General Purpose Computing [T1. Sec 1]
– Domain and Application specific processors [T1. Sec 2
& 3]
– Reconfigurable Computing [T1. Sec 4]
– Fields of Application [T1. Sec 5.1 to 5.4]
2
BITS Pilani, Pilani Campus
Course Overview
3
BITS Pilani, Pilani Campus
Course Modules
Module 1: To understand the basics of reconfigurable computing, general purpose computing, domain
specific and application specific processors.
Introduction to Reconfigurable computing
Module 2: Reconfigurable Computing Present a basic overview of simple programmable devices like ROM, PLA/PAL, SPLD and
Hardware CPLD.
Module 3: Hardware Description Covers the basics of Verilog language, a hardware description language used to simulate the
Languages and Logic design functional behavior of digital designs
Module 4: Reconfigurable Computing To understand the technology as well as the coupling possibilities of reconfigurable systems,
Architecture from the fine-grained look up table (LUT)-based reconfigurable systems like the field
programmable gate arrays (FPGA) to the new coarse-grained technology.
Module 5: Programming Reconfigurable To understand the implementation on reconfigurable system. It covers the steps needed
Systems (design entry, functional simulation, logic synthesis, technology mapping, place and route
and bit stream generation) to implement today’s FPGAs.
Module 6: Mapping designs to Cover the key mapping steps, functional and structural, unique to field-programmable gate
reconfigurable Platform arrays (FPGAs) and reconfigurable targets, include technology mapping to the primitive
FPGA programmable gates, summarizes the key algorithms used to map reconfigurable
designs
4
BITS Pilani, Pilani Campus
Module 7: High-Level It considers the high-level synthesis for reconfigurable systems, also known as temporal partitioning. It
Synthesis for Reconfigurable covers the implementation of large functions, which cannot fit into one RPU.
Devices
Module 8: Temporal To understand the stand-alone reconfigurable systems and knowing different ways of operating systems
placement and Routing for reconfigurable systems in charge of managing the resources of a given system and allocate space on
a device for the computation of incoming tasks.
Module 9: Online Modules dynamically placed at run-time on a given device need to communicate with each other in
Communication order to exchange data. Therefore, they dynamically create a need of communication channels on the
chip. This module reviews and explains the different approaches to solve this dynamic
intercommunication need.
Module 10: Reconfiguration Understand ways to reduce configuration overhead, reduce configuration time and configuration
Management encryption techniques
5
BITS Pilani, Pilani Campus
Text and Reference Books
R2 Scott Hauck, André DeHon, Reconfigurable Computing - The Theory and Practice of FPGA
Based Computation, The Morgan Kaufmann Series in Systems on Silicon, 2007.
R3 Verilog HDL, Samir Palnitkar, Prentice Hall, 2003.
R6 Giovanni De Micheli, synthesis and optimization of digital circuits, Tata McGraw-Hill, 2003
6
BITS Pilani, Pilani Campus
Evaluation Component
EC-2 Mid-Semester Test Closed Book 2 hours 30% 30/09/2018 (FN) 10 AM – 12 Noon
EC-3 Comprehensive Exam Open Book 3 hours 50% 25/11/2018 (FN) 9 AM – 12 Noon
7
BITS Pilani, Pilani Campus
Lab Details
• Use of Xilinx Vivado software
• Software and hardware to be accessed from central remote
lab facilities, using Internet
• Need high speed internet connection to access, preferably
>4 Mbps
• If available, you may also use your own copy of software
and hardware
• Assignments to be uploaded on course page within timeline
• Lab access material would be available on course page
Datapath Data
Registers Data
and
Instructions
Instruction Address
register
PC Address
register
Controllpath
12
Program execution
– Instruction Fetch (IF): The next instruction to be executed is
fetched from the memory
– Decode (D): The instruction is decoded to determine the
operation
– Read operand (R): The operands are read from the memory
– Execute (EX): The required operation is executed on the ALU
– Write result (W): The result of the operation is written back to the
memory
– Instruction execution in Cycle (IF, D, R, EX,W)
13
Disadvantages
– Speed efficiency: Not efficient, due to the sequential program execution
(temporal resource sharing).
• Resource efficiency: Only one part of the hardware resources is required for the
execution of an instruction. The rest remains idle.
• One bus is a bottleneck. Only one information can be accessed at the same time.
• Memory access: Memories are about 1000 time slower than the processor
• Instruction stored in the same memory as the data can be accidentally rewritten
by an error in a program.
o Drawbacks are compensated using high clock speed, pipelining,
caches, instruction pre-fetching, etc.
14
Pipelining:
One instruction needs tinstrcution = 5*tcycle
o no improvement. In instruction cycle
3 instructions need 7*tcycle in the ideal
case.
9*tcycle on a Harvard architecture.
Increased throughput
Even with pipeline and other improvements like cache, the execution remain sequential.
15
16
17
18