element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Path to Programmable 3
  • Challenges & Projects
  • Design Challenges
  • Path to Programmable 3
  • More
  • Cancel
Path to Programmable 3
Blog Blog 3: Getting Started with Vivado |Path to Programmable 3| Part 2
  • Blog
  • Forum
  • Documents
  • Leaderboard
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Path to Programmable 3 to participate - click to join for free!
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: prashanthgn.engineer
  • Date Created: 26 Jul 2023 12:03 AM Date Created
  • Views 1062 views
  • Likes 5 likes
  • Comments 1 comment
  • ultra96v2
  • Zynq DMA
  • tcl scripting
  • element14
  • AMD XILINX
  • avnet
  • ultrascale+
  • vivado
  • Ultra96-V2 Board
  • ultra96-V2-G
  • amd
  • Path to Programmable III
  • Path to Programmable 3
  • mpsoc
  • vitis
  • programmable
Related
Recommended

Blog 3: Getting Started with Vivado |Path to Programmable 3| Part 2

prashanthgn.engineer
prashanthgn.engineer
26 Jul 2023

Hardware Training Summary

Lesson 4: Peripherals

Zynq MPSoC General connectivity 

PS IO : MIO only 

  • Qual SPI
  • NAND
  • GEM - Gigabit Ethernet
  • USB2.0 through ULPI interface
  • GPIO : 0-2 Bank

EMIO/EMIO Possibility 

  • SD/SDIO/eMMC
  • Control Area Network 
  • I2C
  • UART
  • SPI
  • Trace
  • Software Watchdog
  • GPIO - EMIO also can be used

only EMIO

  • GEM as GMII
  • UART modem Signals ( CTS,. RTS, etc) 

High Speed PS Peripherals : Configurable GTR Transceiver interfaces 

  • PCIe Gen2 : to x4
  • SATA : to 2 Ports 
  • Display Port
  • USB3.0

Interconnect matrix used to determine connection. 

All interfaces are configurable through I/O configuration window. 

Assign them to necessary MIO Pins 

Zynq MPSoC Memory Map

image

image

Vivado Assigns address for PL based designs Automatically.  

LAB 3 : PS Configuration Part 2 MIO Peripherals

Experiment 1: Enable and Map all PS Peripherals

{gallery}Lab3 : Experiment 1

image

SD0 and SD1 Interface selection

image

I2C0 and GPI, GPO interface selection

image

SPI and UART interface Selection

image

GPIO MIO, SWDT and TTC interfaces

image

High Speed Port Selection : DP : GTR lanes 0-1, USB 3.0 - GTR Lane 2, USB3.0 GTR Lane 3

Experiment 2: Set the PS Clocks

{gallery}Set the Clocks

image

Set the Input Clocks

image

Set the out Put clock : PLL modes

image

PLL Settings

image

Validate the Block Design

image

Reset the output parameters

image

Generation of output Parameters

image

Bistream Generation

Experiment 3: Create and Run Test Applications

{gallery}Memory Application

image

Opening the Platform Project

image

Hello World Application

image

Memory Application Test Passed

https://youtu.be/D-4nNUPAGAA 

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image

Peripheral test

Lesson 5: The Power of Tcl

What is TCL ? 

  • Tool Command Language 
  • unite command Languages in all sort of EDAs
  • TCL is Open Source !!! 
  • Download & Install Tcl | ActiveState : TCL Webpage 

General instruction to TCL

  • For Rapid Prototyping 
  • Scriptiong Application 
  • Run TCL Commands for any automated process
  • Walk through TCL Commands
  • TCL can be used to create a Block Design

LAB4 : Using TCL in Vivado Embedded Designs

{gallery}TCL

TCL Script

image

TCL Script -2


Lesson 6: Merging the Processing Subsystem (PS) and Programmable Logic (PL)

AXI Ports

AXI Port Types Qty
Full Power Master Domine Ports 2
Low Power Domine Master part 1
Low Power Domine Slave part 1
High Perfomance Coherent Slave ports 2
High Performance Slave Ports 4
Accelerator Coherency Porst ACP 1
Accelerator Coherency Extension Port  1
Total 12

  • AXI Types: Master and Slave modes only 
  • Master to master cannot be connected: only unlike Ports can be connected: Master to slave 
  • Full duplex communication from Master to Slave AXI Bus 
  • Five AXI Channels 
    • Read Address
    • Read Data
    • Write address.
    • Write data
    • Write Response
  • Up to 16 Master and 16 Slaves
  • 32~256 Bit data Width 
  • Dedicated oqn clock Domine for master and Slave

AXI Smart interconnect

  • 16 Master -Salve
  • 32~1024 Data bits
  • AXI protocol compliant 
  • only Round Robin Arbitration

AMBA BUS : Advanced Microcontroller BUS architecture 

AXI Follows Handshakes READY/VALID 

AXI4-Lite

  • Lite weight 
  • Design tradeoffs- No burst, No ID, 32/64 Bits only 

image

Source : https://semiwiki.com/wp-content/uploads/2020/01/AMBA-history.png

AXI Stream

image

  • FPD/LPD supports 32/64/128 Bit Data bus
  • LPD Burt Length is limited to 16 Bits only 
  • LPD enables Direct access to PL!!! - Like Block RAM and DDR

High performance Slave AXI

  • High bandwidth Master to Slave Data
  • Access to Memories like DDR, OCM, TCM
  • x4 128/64/32 Bit Configuration 
  • Smooth Long Latency event 
  • Low latency path for DDR, OCM, TCM

More info available on Zynq Ultrascale+ technicial Reference Manual : Zynq UltraScale+ Device Technical Reference Manual (xilinx.com)

LAB 5 : Adding a PL Peripheral

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image

https://youtu.be/yCUj-xQ5exI

{gallery}My Gallery Title

image

AXI BRAM IP and Connection Automation

Block RAM Generator IP

Zynq Ultrascale+ MP SoC IP : Enabling AXI Master Interface

image

Connection Automation for AXI Bus

BitStream Generated


Lesson 7: Zynq DMA Controller

  • What is DMA : Direct Memory Access :  IOs can access memory directly without CPU involving.
  •  DMA is the effective way to connect between PS and PL

image

Data Path 

  • Data from Slave AXI to  Slave Interconnect though FPD Main Switch 
  • Passs though CCI to L2 cache
  • from L2 to DDDR DRAM
  • FPD and LPD move data between DDR, OCM and Slave PL Peripherals

Additional DMA Controllers included in below peripherals 

  • PCIe Gen2
  • SATA
  • Display Port 
  • Gigabit Ethernet
  • USB3.0/2.0
  • SD/SDIO/eMMC
  • QSPI

Lab 6 Improving Data flow between PL and PS utilizing PS DMA

{gallery}Lab 6

Adding DMA Application

BRAM to DRAM Application Stuck

DRAM to DRAM is passing


Lesson 8: Creating Custom IP

  • IP Packers includes
    • Source Files
    • Simulation Models
    • Example Design
    • Documentation 
    • Test bench
  • Wizard in Vivado to create an IP!!!
  • IP Package creates HDL Source

LAB 7 : Add Custom PL Peripheral

{gallery}Creating the IP

Creating the IP

Creating the AXI Pheripheral


Adding AXI


IP Created available in catalogue


Lesson 9: Vivado's Hardware Manager

FPGA Design is an iterative Process.

ILA : Integrated Logic Analyzer 

image

VIO 3.0  : Vivaldo native Virtual input and Output 

image

JTAG to AXI 1.2

image


Lesson 10: Tcl Scripting and Next Steps

  • Allow for easy share of Project
  • TCL build projects in minutes 

the Learning with ELement14 will continues..

Feel free to Share your thoughts.

Regards

Prashanth Kumar G N

  • Sign in to reply
  • Murulidharlm
    Murulidharlm over 2 years ago

    Good blog, your lab session recordings are much needed, thank you Prashanthgn.engineer

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube