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 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
  • Challenges & Projects
  • Design Challenges
  • Path to Programmable
  • More
  • Cancel
Path to Programmable
Blog Debugging by means of Logic Analyzer in Vivado
  • Blog
  • Forum
  • Documents
  • Polls
  • Files
  • Events
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: mu.udhay
  • Date Created: 20 Dec 2018 5:11 PM Date Created
  • Views 2198 views
  • Likes 4 likes
  • Comments 0 comments
  • debuging minized
Related
Recommended

Debugging by means of Logic Analyzer in Vivado

mu.udhay
mu.udhay
20 Dec 2018

Hi Friends , In this Post we deal with Important Aspect in every design - "Debugging" image.

I would like to make this Post more generalized so that it can be applied to what ever Project you are working on it does not matter , for Reference i will use the PWM controlled LED design Project i posted here.

You may not require to go there as i tried my level best to make this Self Contained with much smaller number of references as possible.

Lets Dive Into Debugging .

As always  in Our Top Down approach , Debugging is done in 2 scenarios :

1.)When you got both Software (PS programmed) and Hardware Logic (Bitstream of PL ) also Done

2.)When you are Building only PL logic or Some IP blocks in PL i.e.., In short You Don't have Your PS not Programmed Readily

 

We First Consider the First Case and Integrate the Second Case.

Debugging - When Both Software & Hardware Designs are Completed :

In this case , In order to debug , you have to add ILA (Integrated Logic Analyzer ) IP block into your PL Design and Attach the Line states or Pins/Ports you would like to Observe to the ILA probes Inputs just as shown in below figure.

image

Here we need to give PL fabric Clock from PS (for eg:FCLK_CLK0 ) ILA 'clk' Input and the Probes lengths are varied based on the Width of the Lines we connect to it.

Then you Generate the Bitstream and use that bitstream while Programing your FPGA in SDK .

When you are Running  the Program on the Minized Open In Vivado the Hardware Manager Option , Under Program and Debug Heading (below Generate Bitstream).

If the Hardware Manager Prompts 'No Hardware Target is Open' select "Open Target " beside it and select "Auto Connect"

Vivado Connects to the Minized Device and gives the Possible Probe Interfaces you can See as Attached Probes, as shown in fig:image

Here On the Hardware Tab you can See XADC , hw_ila_1(ILA) , hw_axi_1(jtag to axi interface).

XADC is already Integrated in the Logic Analyzer block , it is nothing by a scope or Xilinx Analog to Digital Convertor  ,  a self explanatory name !

hw_ila_1 refers to the ILA which shows that it is in IDLE mode i.e.., It is not Capturing any Events on the Probes , you can Select the "hw_ila_1" interface (or similar to that name in your Design) and  click "Run Trigger Immediate for this ILA Core" as show in Red Mark below :

image

This Gives the Immediate Logic Values on the Probes at that Moment .

Similarly you can go for Continuous Capture where you get Data on Probes Flowing Real Time continuously just as you were using some Logic Scope .

It also gives you a feature in which you tell Vivado to Capture the Traffic (Am i Irritating ?) .

For that Feature , you first select which Logic Probes are best suited for that (Interrupt pins are used in such cases) , Go for Trigger Setup   

image

Select the '+' button and Set the Value to when you want Capture to Start (R for +ve Edge Triggering and soon)

image

That's it , you can observe that ILA is in waiting State as long as there are no triggers

image

Here the Default setting is that the ILA prints Half of the Samples(512 in my Case) before Triggering and rest after Triggering , we can change it if required.

In this way , we can use Vivado Integrated Logic Analyzer to Debug our Design , It can also be used to work as a Logic Analyzer image Yeah , we can Build a one .

I will build a USB Logic Analyzer and will demonstrate it in my Future Post.

In the mean time , i would post about Software Design Training I am Undergoing , it fills the Holes in our Understanding .

Don't Forget , I will continue Posting the Hardware Aspects also along with Software Training (but Separate Posts) , as there is lot of Fun waiting for Us image.

See You in my Next Post.

  • Sign in to reply
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