Hardware/Software Codesign EEE G626
Hardware/Software Codesign EEE G626
Hardware/Software Codesign EEE G626
SW
Hardware/Software Codesign
EEE G626
‹#›
HW
SW
Lecture – 4
Xilinx vivado: Overview, Lab1, Lab2
EEE G626 2
VIVADO DESIGN SUITE
DSP Design Software Development Hardware Design VIVADO HLS
VIVADO IP INTEGRATOR C Functional Verification
System Generator for DSP Software Development Kit (SDK)
DSP Specific IP Zynq and Embedded Specific IP
Power
Estimation
On-Chip Debug STA
XPower Analyzer Vivado Logic Analyzer
Timing Analyzer
& Virtual I/O
RTL Design I/O Planning Functional Verification RTL Synthesis Floorplanning Place & Route Power Analysis
Vivado Flow Vivado I/O Pin Vivado Simulator / Vivado Synthesis Vivado Vivado Xpower Analyzer
Navigator Planning 3rd Party Simulator Implementation Implementation
Introduction to Embedded System
Design using Zynq
Zynq
Vivado 2014.2 Version
This material exempt per Department of Commerce license exception TSU © Copyright 2014 Xilinx
Objectives
Vivado is the overall project manager and is used for developing non-embedded
hardware and instantiating embedded systems
– Vivado/IP Integrator flow is recommended for developing Zynq embedded systems using 2013.2 and
later
HW/SW Simulation
Hardware Software
Design Design
HW/SW Debug
A
Customizable panels
B E
A: Project Management
B: IP Integrator
C
C: FPGA Flow
D: Layout Selection
E: Project view/Preview Panel
F: Console, Messages, Logs
Block Configuration
PS-PL Interface
Configuration
MIO Configuration/Table
View
Clock Configuration
DDR
SMC Timing Calculation
Interrupt Configuration
1. Launch Vivado
2. Invoke IP Integrator to
3. Configure PS settings create Block Diagram
4. Add IP & configure 5. Generate Top-Level HDL 9. Specify hardware
(close Block Diagram, 6. Add Constraints description from Vivado
return to Vivado) 7. Generate Bitstream => .bit 10. Add Software
8. Export hardware to SDK Project & Build => .elf
Hardware Configuration
IP Integrator
Vivado SDK
11. Program bitstream & .elf into Zynq
ZYBO
Clock Configuration
– Input frequency can be set
• Processor, DDR
– All IOP clock frequencies can be set
– Clock to PL configuration
– Set Timers
Vivado includes all the tools, documentation, and IP necessary for building embedded
systems
IPI is a System Level design tool that increases productivity, allowing designs to be
completed faster
The Software Development Kit (SDK) is a comprehensive software development
environment for software applications
An embedded processing system component is built with IP provided in the IP Catalog.
Designers can also add their own custom IP to this catalog
The PS Configuration wizard permits access to several configurable features of PS
Zynq
Vivado 2014.2 Version
This material exempt per Department of Commerce license exception TSU © Copyright 2014 Xilinx
ARM Cortex-A9 based Embedded System Design
Lab1 through Lab5
DDR3 PL
Memory Memory
Controller
Timer
RS232 UART
ARM AXI4
Cortex-A9 AXI-BRAM Controller BRAM
AXI4-Lite
AXI LED_IP LED
M_AXI_GP0 Interconnect
Block AXI4-Lite
GPIO Push-Buttons
AXI4-Lite
PS GPIO DIP Switches
This lab guides you through the process of using Vivado and IP Integrator to create a
simple ARM Cortex-A9 based processor system
Targeting the Zedboard or ZYBO board.
– Very similar steps, differences pointed out in the instructions
– Follow the instructions for the board you are using
You will use Vivado to create the system and generate a software application from one
of the standard project templates in SDK to verify the hardware functionality
DDR3
Memory Memory
Controller
RS232 UART
ARM
Cortex-A9
PS
Vivado software allows creating or adding an embedded processor source and invoking
IP Integrator.
A block diagram, representing the hardware design, provides hardware system
parameters information.
After the system has been defined and configured, the hardware can be exported and
SDK can be invoked from Vivado.
Software development is done in SDK which provides several application templates
including memory tests.
You verified the hardware operation by downloading the test application, executing on
the processor, and observing the output in the serial terminal window.
Zynq
Vivado 2014.2 Version
This material exempt per Department of Commerce license exception TSU © Copyright 2014 Xilinx
Introduction
This lab guides you through the process of extending the processing system you
created in the previous lab by adding two GPIO IPs in PL
DDR3 PL
Memory Memory
Controller
RS232 UART
ARM
Cortex-A9
AXI
M_AXI_GP0 Interconnect
Block AXI4-Lite
GPIO Push-Buttons
AXI4-Lite
PS GPIO DIP Switches
The GP Master interface of the PS was enabled. GPIO peripherals were added from the
IP catalog and connected to the Processing System through the 32b Master GP
interface.
The peripherals were configured and external FPGA connections were established. Pin
location constraints were made using IP Integrator Automation, and also manually, to
connect the peripherals to push buttons and DIP switches.
A TestApp application project was created and the functionality was verified after
downloading the bitstream and executing the program.
The End SW
Questions ?
EEE G626 51