Planeamento
Aulas Teóricas
Course Presentation
Presentation of the course.
Objectives, program, planning and classes, and evaluation method.
Introduction to Multiprocessors in FPGAs
FPGA-based Multiprocessors
Cores from FPGA Companies
Embedded System Design Flow on Zynq
Zynq Architecture
Zynq All Programmable SoC (AP SoC)
Zynq AP SoC Processing System (PS)
Processor Peripherals
Clock Features
AXI Interfaces
Intro to FPGA
Introduction to programmable logic devices and FPGAs.
Artix-7 architecture and main elements.
Adding PL Hardware to the Embedded System
Custom HW components
Codesign Development
Amdahl's law and Hardware Speedup
HW/SW Communication
Performance Comparisons
Stream-Based Interfaces
Stream-Based IP
High-Level Synthesis of AXI-Stream IP
HLS Streams
HW/SW System using GP0.and AXI-Stream IP
AXI-Stream FIFO
HW/SW System using GP0.
Software Drivers.
HW IP Simulation
Design and Simulation Flow.
VHDL testbenchs specific for simulation of integer matrix product
Waveform Visualization.
Hardware Debugging
In-System Logic Design Debugging.
Probing phase steps. Insertion of debug cores. Setting up debug. Integrated Logic Analyser options.
Test in Hardware.
Floating-Point IP
Floating-Point IP cores.
Floating point standard formats and main arithmetic block components.
Multiplier and Adder cores. Non-blocking and Blocking modes.
HLS specification of a Floating-Point AXI-Stream IP
Fixed-point Operators
Fixed-Point representation and arithmetic.
Fixed-point accumulator
Fixed-point accumulator
Accumulator Precision
HLS Accumulator Specification
Floating-point to fixed-point and fixed-point to floating-point converters
Direct Memory Access
Using Direct Memory Access to data shared between SW and HW.
AXI DMA IP.
Connecting the AXI-Stream HW IP.
Example Application.
Matprod IP simple DMA-based Architecture
Interfacing the Matprod AXI-Stream IP with a DMA AXI Component.
Zynq Memory Resources
On-chip memory (OCM): RAM.
DDR3 external memory.
APU Memory Hierarchy, L1 and L2 caches.
OCM / DDR Address Map.
Linker Script – Use Example.
Shared Memory and Cache Issues.
Cortex A9 Processor Cache Functions.
Dual Microprocessor System Design
Software Development for dual ARM Zynq platform.
Configuration management.
Shared memory management.
Dual Matrix-Product Test Application.
Support to Project Demonstration
Support to the completion of the first project (in LSD2).
Architectures for PL Accelerators
A multi-processor for cluster analysis - design example 1.
K-means clustering application.
Architecture, processing elements and data movements.
Implementation, resource utilization and performance analysis.
Multi-processor for sparse matrix applications - design example 2.
Architecture, processing elements and data movements.
Implementation, resource utilization and performance analysis.
A HW/SW architecture for equation solving by Jacobi iteration algorithm - example 3.
A HW/SW architecture for kNN classification - example 4.
AXI bus
Advanced eXtensible Interface (AXI) bus.
Basic AXI Transactions. AXI-Full, AXI-Lite and AXI-Stream Signals.
AXI Interconnect block.
AXI-Full vs. AXI-Lite vs. AXI-Stream.
Networks-on-Chip - Advanced Bus Architectures
Bus based Communication Architectures. Main Topologies, Decoding and Arbitration.
Standard Bus Architectures.
Network-on-Chip (NoC). Definitions and Terminology. Generic Routers. Switching strategies.
Intel 80-Tile Teraflop NoC design.
Summary on HW/SW CoDesign and Hardware (Software) Challenges
Factors driving codesign.
HW vs. SW Performance trade-offs.
Abstraction Levels for codesign models.
Codesign Methodology.
State of Codesign Technology.
SystemC for Co-Specification. C-to-Hardware design tools.
High-Level Synthesis versus OpenCL.
Upcoming Devices
Support to Final Project
Support to the completion of the final project (in LSD2).
Support to Final Project
Support to the completion of the final project (in LSD2).
Support to Final Project
Support to the completion of the final project (in LSD2).
Support to Final Project
Support to the completion of the final project (in LSD2).
Support to Final Project
Support to the completion of the final project (in LSD2).