SlideShare a Scribd company logo
Courses @ NECST
Lorenzo Di Tucci <lorenzo.ditucci@polimi.it>
Emanuele Del Sozzo <emanuele.delsozzo@polimi.it>
Marco D. Santambrogio <marco.santambrogio@polimi.it>
Xilinx Vivado
25/01/2018
Agenda
• Hardware Design Flow (2nd step)
• Xilinx Vivado
–Synthesis
–Place & Route
–Bitstream Generation
• Hands on example: implementation of both master AXI
and AXI stream designs for vector addition using
Vivado and SDK
Reminder!
Use this Google Doc to provide your data
https://goo.gl/FRCG6y
First, install the VPN we have provided you.
(Mac: Tunnelblick - Windows/Linux: OpenVPN)
To SSH to the machine:
ssh <name>.<surname>@nags31.local.necst.it
password: user
Reminder!
You can change your password here:
http://changepassword.local.necst.it/
You can also RDP to the instance using
• Microsoft Remote Desktop (Microsoft/Mac OS)
• Remmina (Linux)
To connect to the machine, or change your password you must
have started the VPN.
Hardware Design Flow for HPC
• Hardware Design Flow (HDF): process to realize a
hardware module
• HDF for FPGAs can be seen as a 2 step process
The Hardware Design Flow
The Hardware Design Flow
System integration, driver generation and runtime management
The Hardware Design Flow
System integration, driver generation and runtime management
The Hardware Design Flow
System integration, driver generation and runtime management
Vivado Design Suite
• Vivado Design Suite is a software suite for synthesis
and analysis of HDL designs
• Vivado enables developers to synthesize designs,
perform timing analysis, examine RTL diagrams,
simulate designs, and configure the target FPGA
• Starting from HDL, Vivado performs several steps to
eventually generate the bitstream
Vivado Main Steps
• Synthesis: translation from HDL to gate level
• Place: placing of all the logic components on the FPGA
• Route: design of all the wires needed to connect the
placed components
• Bitstream: generation of FPGA configuration file
Synthesis
Place & Route
Bitstream
Launch Vivado
Source settings64.sh file and launch vivado
Vivado GUI
• text
New Project
• text
Project Name
• text
Project Type
• text
Add Sources
• text
Add Constraints
• text
Parts/Boards
• text
Board Selection
• text
Project Summary
• text
Project Window
• text
Run / Generate Bitstream / Settings / Project Summary
Create Block Design
• text
Block Design
• text
Add IP
Validate Design
Regenerate Layout
Tcl Console
Settings
Add IP
• text
Add Memory Interface Generator
• text
Run Block Automation
• text
Block Automation Settings
• text
Run Connection Automation
• text
Connection Automation Settings
• text
MIG Block
• text
Customize MIG Block
• text
MIG Customization
• text
MIG Customization
• text
MIG Customization
• text
MIG Customization
• text
MIG Customization
• text
MIG Customization
• text
MIG Customization
• text
This page allows to add / customize clock signals
MIG will generate two clocks:
- ui_clk (200Mhz)
- ui_addn_clk_0 (100Mhz)
MIG Customization
• text
MIG Customization
• text
MIG Customization
• text
MIG Customization
• text
MIG Customization
• text
MIG Customization
• text
MIG Customization
• text
MIG Customization
• text
MIG Customization
• text
MIG Customization
• text
MIG Customization
• text
MIG Customization
• text
Add IP
• text
Add Microblaze
• text
Run Block Automation
• text
Block Automation Settings
• text
Run Connection Automation
• text
Connection Automation Settings
• text
Run Connection Automation
• text
Connection Automation Settings
• text
MIG + Microblaze Design
• text
IP Settings
• text
Settings
• text
Repository
• text
Add IP Repository
• text
Path to IP Repository
• text
IP Found
• text
Repository Added
• text
Add IP
• text
Add Kernel
• text
Connect Kernel Clock
• text
Connect Kernel Clock to Microblaze clock
Connection Automation Settings
• text
Customize MDM
• text
Enable JTAG UART
• text
Run Connection Automation
• text
Connection Automation Settings
• text
Add IP
• text
Add AXI Timer
• text
Run Connection Automation
• text
Connection Automation Settings
• text
Customize Microblaze
• text
Microblaze Settings
• text
Validate Design
• text
Validation Successful
• text
Sources
• text
HDL Wrapper
• text
HDL Wrapper Creation
• text
Generate Bitstream
• text
Launch Synthesis And Implementation
• text
Run Settings
• text
Bitstream Generation Completed
• text
Device Occupation
• text
Resource Utilization
• text
Export Hardware
• text
Export Hardware Settings
• text
This command will create an HDF archive containing
the bitstream and drivers for SDK
Launch SDK
• text
Launch SDK Settings
• text
SDK Window
• text
Application Project
• text
New Project
• text
Templates
• text
Program FPGA
• text
Program FPGA settings
• text
Programming FPGA
• text
Run Configurations
• text
Application (GDB)
• text
Target Setup
• text
Bitstream Selection
• text
Target Setup done
• text
Application
• text
Project Selection
• text
Application done
• text
STDIO Connection
• text
STDIO Connection done
• text
Hello World Execution
• text
Lscript
• text
Running Our Design
• text
AXI Stream Design
• Let’s know implement the design for the streaming
version of the vector addition
• For this design, we will use the DMA IP
• All the steps until the “MIG + Microblaze Design” slide
do not change
IP Settings
• text
Settings
• text
Repository
• text
Add IP Repository
• text
Path to IP Repository
• text
IP Found
• text
Repository Added
• text
Add IP
• text
Add AXI DMA (0)
• text
Customize DMA (0)
• text
DMA Settings (0)
• text
Connect DMA (0) clocks
• text
Connection Automation Settings
• text
Add IP
• text
Add Kernel
• text
Connect Kernel clock
• text
Connect Kernel Reset
• text
Connect port b to DMA (0)
• text
Connect port a to DMA (0)
• text
Add IP
• text
Add AXI DMA (1)
• text
Customize DMA (1)
• text
DMA Settings (1)
• text
Connect DMA (1) clocks
• text
Connection Automation Settings
• text
Connect port c to DMA (1)
• text
Add IP
• text
Add AXI DMA (2)
• text
Customize DMA (2)
• text
DMA (2) Settings
• text
Connect DMA (2) clocks
• text
Connection Automation Settings
• text
Connect port d to DMA (2)
• text
Next steps
It is now possible to repeat the steps done for the previous
design:
–enable JTAG UART on the MDM block
–add AXI Timer IP
–Run Validation
–Create HDL Wrapper
–Run Generate Bitstream
–Export Hardware
–Run SDK
Device Occupation
• text
Resource Utilization
• text
SDK steps
After exporting the hardware from Vivado:
– Launch SDK
– Create the project
– Test the “helloworld”
– Use the provided code to evaluate the design
Summary
• Vivado toolchain allows developers to design both the
IP they want to accelerate and the overall system
• Vivado/Vivado HLS examples, and SDK code are
available on nags31 server in /sdaccel_contest folder
• Next lectures will focus on SDAccel toolchain
Feedbacks
• We are working at improving this course, would you
share your feedback for this lesson?
https://goo.gl/tLcWQj
Thank You for the
Attention!
Lorenzo Di Tucci
lorenzo.ditucci@polimi.it
Emanuele Del Sozzo
emanuele.delsozzo@polimi.it
Marco D. Santambrogio
marco.santambrogio@polimi.it

More Related Content

PDF
SDAccel Design Contest: Vivado HLS
PPTX
SDAccel Design Contest: SDAccel and F1 Instances
PDF
SDAccel Design Contest: Xilinx SDAccel
PDF
SDAccel Design Contest: Intro
PDF
Intel® RDT Hands-on Lab
PPTX
Kernel Proc Connector and Containers
PDF
00 opencapi acceleration framework yonglu_ver2
PDF
Возможности интерпретатора Python в NX-OS
SDAccel Design Contest: Vivado HLS
SDAccel Design Contest: SDAccel and F1 Instances
SDAccel Design Contest: Xilinx SDAccel
SDAccel Design Contest: Intro
Intel® RDT Hands-on Lab
Kernel Proc Connector and Containers
00 opencapi acceleration framework yonglu_ver2
Возможности интерпретатора Python в NX-OS

What's hot (20)

PPTX
Hands on OpenCL
PDF
OpenCL Programming 101
PPTX
Network OS Code Coverage demo using Bullseye tool
PPTX
Symmetric Crypto for DPDK - Declan Doherty
PDF
How Linux Processes Your Network Packet - Elazar Leibovich
PDF
NkSIP: The Erlang SIP application server
PDF
iptables and Kubernetes
PDF
Running Legacy Applications with Containers
PDF
IP Virtual Server(IPVS) 101
PDF
Introduction to OpenCL
PDF
CNTUG x SDN Meetup #33 Talk 1: 從 Cilium 認識 cgroup ebpf - Ruian
PDF
Control Your Network ASICs, What Benefits switchdev Can Bring Us
PPTX
Tech Days 2015: Embedded Product Update
PPTX
OpenCL Heterogeneous Parallel Computing
PDF
BKK16-305B ILP32 Performance on AArch64
PDF
BKK16-400B ODPI - Standardizing Hadoop
PDF
Using IO Visor to Secure Microservices Running on CloudFoundry [OpenStack Sum...
PDF
VMware ESXi - Intel and Qlogic NIC throughput difference v0.6
PDF
Developping drivers on small machines
PDF
SDVIs and In-Situ Visualization on TACC's Stampede
Hands on OpenCL
OpenCL Programming 101
Network OS Code Coverage demo using Bullseye tool
Symmetric Crypto for DPDK - Declan Doherty
How Linux Processes Your Network Packet - Elazar Leibovich
NkSIP: The Erlang SIP application server
iptables and Kubernetes
Running Legacy Applications with Containers
IP Virtual Server(IPVS) 101
Introduction to OpenCL
CNTUG x SDN Meetup #33 Talk 1: 從 Cilium 認識 cgroup ebpf - Ruian
Control Your Network ASICs, What Benefits switchdev Can Bring Us
Tech Days 2015: Embedded Product Update
OpenCL Heterogeneous Parallel Computing
BKK16-305B ILP32 Performance on AArch64
BKK16-400B ODPI - Standardizing Hadoop
Using IO Visor to Secure Microservices Running on CloudFoundry [OpenStack Sum...
VMware ESXi - Intel and Qlogic NIC throughput difference v0.6
Developping drivers on small machines
SDVIs and In-Situ Visualization on TACC's Stampede
Ad

Similar to SDAccel Design Contest: Vivado (20)

PDF
DSDT Meetup Nov 2017
PDF
Dsdt meetup 2017 11-21
PPTX
Interop 2017 - Managing Containers in Production
PDF
WebRTC Webinar & Q&A - Sumilcast Standards & Implementation
PDF
Dev Ops
PDF
CMake: Improving Software Quality and Process
PDF
Cmake kitware
PPTX
Learn Electron for Web Developers
PDF
Netflix oss season 2 episode 1 - meetup Lightning talks
PPTX
Design-Time Properties in Custom Pipeline Components
PPTX
Fiware cloud developers week brussels
PDF
Provisioning Windows instances at scale on Azure, AWS and OpenStack - Adrian ...
PPTX
Advanced Internet of Things firmware engineering with Thingsquare and Contiki...
DOC
Srikanth_PILLI_CV_latest
PDF
WebRTC Standards & Implementation Q&A - The Internals of WebRTC Browsers Impl...
PDF
HOW TO DRONE.IO IN CI/CD WORLD
PPTX
Getting started with titanium
PPTX
Semiconductor Design Services, IoT Solutions, IoT Consulting, IoT Solutions a...
PDF
Building and Managing your Virtual Datacenter using PowerShell DSC - Florin L...
PDF
C++ Windows Forms L01 - Intro
DSDT Meetup Nov 2017
Dsdt meetup 2017 11-21
Interop 2017 - Managing Containers in Production
WebRTC Webinar & Q&A - Sumilcast Standards & Implementation
Dev Ops
CMake: Improving Software Quality and Process
Cmake kitware
Learn Electron for Web Developers
Netflix oss season 2 episode 1 - meetup Lightning talks
Design-Time Properties in Custom Pipeline Components
Fiware cloud developers week brussels
Provisioning Windows instances at scale on Azure, AWS and OpenStack - Adrian ...
Advanced Internet of Things firmware engineering with Thingsquare and Contiki...
Srikanth_PILLI_CV_latest
WebRTC Standards & Implementation Q&A - The Internals of WebRTC Browsers Impl...
HOW TO DRONE.IO IN CI/CD WORLD
Getting started with titanium
Semiconductor Design Services, IoT Solutions, IoT Consulting, IoT Solutions a...
Building and Managing your Virtual Datacenter using PowerShell DSC - Florin L...
C++ Windows Forms L01 - Intro
Ad

More from NECST Lab @ Politecnico di Milano (20)

PDF
Mesticheria Team - WiiReflex
PPTX
Punto e virgola Team - Stressometro
PDF
BitIt Team - Stay.straight
PDF
BabYodini Team - Talking Gloves
PDF
printf("Nome Squadra"); Team - NeoTon
PPTX
BlackBoard Team - Motion Tracking Platform
PDF
#include<brain.h> Team - HomeBeatHome
PDF
Flipflops Team - Wave U
PDF
Bug(atta) Team - Little Brother
PDF
#NECSTCamp: come partecipare
PDF
NECSTCamp101@2020.10.1
PDF
NECSTLab101 2020.2021
PDF
TreeHouse, nourish your community
PDF
TiReX: Tiled Regular eXpressionsmatching architecture
PDF
Embedding based knowledge graph link prediction for drug repurposing
PDF
PLASTER - PYNQ-based abandoned object detection using a map-reduce approach o...
PDF
EMPhASIS - An EMbedded Public Attention Stress Identification System
PDF
Luns - Automatic lungs segmentation through neural network
PDF
BlastFunction: How to combine Serverless and FPGAs
PDF
Maeve - Fast genome analysis leveraging exact string matching
Mesticheria Team - WiiReflex
Punto e virgola Team - Stressometro
BitIt Team - Stay.straight
BabYodini Team - Talking Gloves
printf("Nome Squadra"); Team - NeoTon
BlackBoard Team - Motion Tracking Platform
#include<brain.h> Team - HomeBeatHome
Flipflops Team - Wave U
Bug(atta) Team - Little Brother
#NECSTCamp: come partecipare
NECSTCamp101@2020.10.1
NECSTLab101 2020.2021
TreeHouse, nourish your community
TiReX: Tiled Regular eXpressionsmatching architecture
Embedding based knowledge graph link prediction for drug repurposing
PLASTER - PYNQ-based abandoned object detection using a map-reduce approach o...
EMPhASIS - An EMbedded Public Attention Stress Identification System
Luns - Automatic lungs segmentation through neural network
BlastFunction: How to combine Serverless and FPGAs
Maeve - Fast genome analysis leveraging exact string matching

Recently uploaded (20)

PDF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PPTX
Tissue processing ( HISTOPATHOLOGICAL TECHNIQUE
PDF
FourierSeries-QuestionsWithAnswers(Part-A).pdf
PDF
Supply Chain Operations Speaking Notes -ICLT Program
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PPTX
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PDF
Chinmaya Tiranga quiz Grand Finale.pdf
PDF
Trump Administration's workforce development strategy
PPTX
202450812 BayCHI UCSC-SV 20250812 v17.pptx
PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
PDF
VCE English Exam - Section C Student Revision Booklet
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
PDF
Yogi Goddess Pres Conference Studio Updates
PDF
A GUIDE TO GENETICS FOR UNDERGRADUATE MEDICAL STUDENTS
PDF
Anesthesia in Laparoscopic Surgery in India
PDF
01-Introduction-to-Information-Management.pdf
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
STATICS OF THE RIGID BODIES Hibbelers.pdf
Tissue processing ( HISTOPATHOLOGICAL TECHNIQUE
FourierSeries-QuestionsWithAnswers(Part-A).pdf
Supply Chain Operations Speaking Notes -ICLT Program
Final Presentation General Medicine 03-08-2024.pptx
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
Chinmaya Tiranga quiz Grand Finale.pdf
Trump Administration's workforce development strategy
202450812 BayCHI UCSC-SV 20250812 v17.pptx
Abdominal Access Techniques with Prof. Dr. R K Mishra
VCE English Exam - Section C Student Revision Booklet
Final Presentation General Medicine 03-08-2024.pptx
2.FourierTransform-ShortQuestionswithAnswers.pdf
Yogi Goddess Pres Conference Studio Updates
A GUIDE TO GENETICS FOR UNDERGRADUATE MEDICAL STUDENTS
Anesthesia in Laparoscopic Surgery in India
01-Introduction-to-Information-Management.pdf

SDAccel Design Contest: Vivado