UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

Design and Debug Techniques Blog

cancel
Showing results for 
Search instead for 
Did you mean: 

Design and Debug Techniques Blog

Moderator
Moderator

Video Series 33 is a continuation of Video Series 32. In this Video Series, we will walk through the steps needed to create and update the Video Mixer example design application so that it can be output through the ZCU702 board 's On-Board HDMI.

2019-10-22 21_25_08-Photo - Google Photos.png

Read more...

Read more
1 0 59
Community Manager
Community Manager

This entry in the Hardware simulation blog series explores the options in the HyperLynx® Waveform Viewer options and how they correlate to hardware. 

Read more...

Read more
3 0 71
Moderator
Moderator

This video Series entry shows an example of the Hardware Design which can use the On-Board HDMI output of the Zynq®-7000 SoC ZC702 evaluation kit using the ADV7511 to visualize the Video Mixer example design.

The Video Mixer example design is originally described in Chapter 5 of (PG243).

Note: the design will need a software application to work. This will be done in the following Video Series entry (Number 33).
This series also has a prerequisite of Video Series 19 and Video Series 20, which describe the ADV7511.

 

Read more...

Read more
1 0 386
Moderator
Moderator

Do you need to run Ethernet applications on a Zynq MPSoC device and consider using a Gigabit Ethernet MAC (GEM) core in the PS rather than using the PL logic?

If so, this blog entry will provide guidance and some debugging tips which might help you to design with the GEM Core. 

Read more...

Read more
4 0 179
Xilinx Employee
Xilinx Employee

This blog entry introduces three powerful scripts which can help you to profile compile time for design implementation.

Read more...

Read more
1 0 228
Xilinx Employee
Xilinx Employee

This blog entry is the fifth and last lab in a series which is targeted at beginners in FPGA design entry using Vivado.

This last lab helps you to understand Mixed Flow, where design entry could be a mix of RTL, IP, and HLS generated IP.  Completion of earlier labs is helpful for execution of this lab.

 

Read more...

Read more
3 0 185
Xilinx Employee
Xilinx Employee

This blog entry is the fourth lab in a series targeted at beginners in FPGA design entry using Vivado.

This lab covers design entry using IP Integrator. Each step includes a screen shot for the user to refer to as they try it out.

Read more...

Read more
0 0 232
Xilinx Employee
Xilinx Employee

This blog entry is the third lab in a series targeted at beginners in FPGA design entry using Vivado.

This third lab covers IP and RTL generation from C++ input using the High Level Synthesis (HLS) flow.

Each step includes a screen shot for the user to refer to as they try it out.

Read more...

Read more
2 0 305
Xilinx Employee
Xilinx Employee

This blog entry is the second lab in a series targeted at beginners in FPGA design entry using Vivado.

This second lab covers design entry using IP.  Each step includes a screen shot for the user to refer to as they try it out.

Read more...

Read more
2 0 320
Moderator
Moderator

In Zynq UltraScale+ boards such as the Zynq UltraScale+ MPSoC ZCU102 Evaluation Kit, the QSPI Flash is connected to the PS portion of the device and does not have a direct physical connection to the PL side.

In such configurations, it is not possible to write a bitstream (.mcs file) directly to the flash via the Hardware Manager. In fact, when attempting to configure the bitstream to be loaded via QSPI, Vivado will only make the Boot via JTAG option available, as it knows that there is no flash available in the PL.

In order to configure and boot such devices via Flash, the PS portion of the device must be booted (even if it is not desired or will not be used in the actual project), in order to allow the bitstream to be transmitted from the Flash to the PS and to reach the PL through the MIO pins.

The process consists of creating a new Zynq MPSoC project in Vivado Block Design (or adding this block to an existing design) in order to include the PS in the project, and using the SDK to create a First Stage Boot Loader (FSBL) for the PS, an optional PS application, and finally creating the flash image which will contain the boot files for both the PS and PL.

 

Read more...

Read more
3 0 313
Xilinx Employee
Xilinx Employee

This blog entry is the first lab in a series which will be targeted at beginners in FPGA design entry using Vivado.

These labs are organized to give the user a quick start and to help them to get a feel for how the tool flow works. We have picked a very simple design that is easy to understand so that different steps in the flow can be explained easily.

The labs will be presented in this order – RTL Flow, IP based Flow, HLS based Flow, IP Integrator based Flow, and then finally creating a design using a mix of the earlier flows.

Read more...

Read more
3 1 346
Moderator
Moderator

This blog entry contains steps for installing the Xilinx JTAG cable drivers on Windows 10. 

 

 

 
Read more...

Read more
6 0 374
Moderator
Moderator

A useful tool for debugging in hardware is to use an Integrated Logic Analyser (ILA). In this Video Series entry we will see how we can add an ILA to debug a Video application.

 

 

Read more...

Read more
3 0 542
Moderator
Moderator

In this new entry in the Xilinx Video Series, we will see the difference between progressive and interlaced video.

This video series also include an example design of video deinterlacing using the Xilinx Video Processing Subsystem (VPSS) IP.

Read more...

Read more
0 0 336
Moderator
Moderator

The PMU Firmware is quite a complex application so debugging might be required if changes are made to the default implementation or if anything is going wrong with it.

There are two main ways to debug the PMU Firmware, using log prints in the serial output or using the Xilinx System Debugger (XSDB) to debug the application code.

This blog post aims to provide some guidelines for both use cases, building on the information provided in the "Debugging PMU Firmware" section in the (UG1137) user guide.

Read more...

Read more
2 0 305
Moderator
Moderator

This blog entry is a continuation of Introduction to PetaLinux Part 1. It is aimed at anyone who wants to get started with PetaLinux and learn about its key tools, concepts, and capabilities. In the first blog entry we looked at how to create a PetaLinux project and how to modify an image. In the second blog entry, we will continue with the project created in Part 1 and look at how to build the system image and boot it on a Zynq® UltraScale+™ ZCU102 evaluation kit.

I will run through the basic steps needed in this tutorial, however, the scope of the blog is limited. You can find out more information about PetaLinux on the Xilinx website here

Read more...

Read more
4 0 461
Moderator
Moderator

In this new entry in the Xilinx Video Series, we will cover video scaling, which is used to changed the resolution of a video stream.

This video series also includes an example design of video scaling using the Xilinx Video Processing Subsystem (VPSS) IP.

Read more...

Read more
2 0 522
Xilinx Employee
Xilinx Employee

Incremental synthesis is a production feature since the 2019.1 release. It addresses the need for fast iterations during the synthesis phase, significantly reducing compile time while also ensuring predictable results, with no cost of QoR loss.

Read more...

Read more
6 0 598
Xilinx Employee
Xilinx Employee

This blogs entry covers how to save compile time using the incremental implementation technique.

Read more...

Read more
4 0 535
Xilinx Employee
Xilinx Employee

Compile time is always a key concern in design cycles. In this blog, we will cover the techniques for design compile time reduction, following the flow of design entry, synthesis, and implementation. This blog will be updated regularly, with more subtopics links added as they completed.

Read more...

Read more
6 0 478
Xilinx Employee
Xilinx Employee

Clock gating in RTL is a common way of reducing power in ASICs, however it not translate well to FPGAs.  Because of that, FPGA synthesis tools will have a feature that can convert gated clocks.  This article will speak to how Vivado Synthesis converts gated clocks and how to control the feature.

Read more...

Read more
4 2 584
Moderator
Moderator

The Platform Management Unit Firmware (PMUFW) is a part of the software stack on Zynq® MPSoC devices that users expect to work out of the box, and so don't tend to pay much attention to until something goes wrong.

However, as the name states, this software manages the whole platform, so it has a huge impact on a lot of use cases that you might be using right now.

This blog entry is intended to be the starting point of a series where I will be covering different aspects of the PMU Firmware, from buildling or debugging it up to discovering its role in different system use cases.

Welcome to the PMU Firmware blog posts!

Read more...

Read more
4 0 522
Xilinx Employee
Xilinx Employee

Having issues connecting to the Platform Cable USB II or Digilent cable in Vivado?

Why not check out this blog entry with instructions on how to manually install the cable drivers instead of doing a full software re-installation.

Read more...

Read more
6 1 562
Moderator
Moderator

Xilinx offers a wide range of IPs for hardware debugging of FPGAs and SoC resources, such as the ILA, VIO, and IBERT cores. Traditionally,  such cores are accessed via JTAG connection, which requires the device to be locally and physically accessible.

this constraint is impracticable in many applications where the FPGA is in a hard-to-access location, there is no direct access to the FPGA JTAG pins, or the system is deployed in the field.

To resolve such issues, Xilinx introduced the Xilinx Virtual Cable (XVC), which is a TCP/IP-based protocol that acts like a JTAG cable and provides a means to access and debug the FPGA or SoC design without using a physical cable.

This blog entry describes how to create an XVC design for Zynq® UltraScale+™ devices using Vivado and Petalinux 2018.3. The design is capable of connecting to the PS side of a device via Ethernet and enables PL debugging cores to be remotely accessed.

Note: this article was co-authored by Andre Guerrero and Matt Piazza.

Read more...

Read more
4 0 576
Moderator
Moderator

This blog entry is the second installment of our guide to using the RF Analyzer. 

In this edition we are going to road test the Analyzer on the Zynq® UltraScale+™ RFSoC ZCU1275 characterization kit for the ZU29DR 16x16 RFSoC. 

 

 

 

 

 

 

 

Read more...

Read more
4 1 697
Moderator
Moderator

This blog entry covers frequently asked questions about FPGA encryption and provides a guide to generating an encrypted bitstream using non-project mode.

For in-depth detail, refer to (UG570) the UltraScale™ Architecture Configuration user guide and XAPP1267 Using Encryption & Authentication to secure UltraScale™/UltraScale+™ FPGA .

The obfuscated keys flow is only applicable for UltraScale and UltraScale+ devices, although Bootgen can be used to generate an encrypted bitstream for 7 Series and later devices. 

 

 
Read more...

Read more
10 0 481
Xilinx Employee
Xilinx Employee

The data on the PIPE interface is encrypted at Gen3 speed. When debugging PCIe issues, it is helpful to be able to look at the packets on the PCIe link.

To do so, users need to have a Protocol Link Analyser. Due to the high cost, not many users would have access to such a piece of equipment. The packet analysis tool provided with a Protocol Link Analyzer is very extensive and provides in-depth analysis of the link traffic.

The Xilinx UltraScale+ Devices Integrated Block for PCI Express Gen3 IP has a feature to integrate a descrambler module to decrypt the encrypted data on the PIPE interface. This does not provide the same amount of analytic data as a Protocol Link Analyzer does but this could nevertheless be helpful in identifying a potential issue and in most cases could help in tracking the root cause of the issue.

This blog will provide details on how to analyze the output data from the descrambler module by identifying different types of PCIe packets that are coming from the link and going into the PCIe IP.

Read more...

Read more
3 0 661
Xilinx Employee
Xilinx Employee

This blog entry covers how to enable POST_CRC checking to allow for detection of Single Event Upsets in 7 Series devices.

It also covers how to test error injection, so that you can be confident that in a real scenario, the error will be correctly detected and reported.

Read more...

Read more
12 0 590
Moderator
Moderator

Starting in Vivado 2019.1, the Vivado Synthesis engine supports Incremental Flow. This enables users to reduce overall synthesis runtime when the design changes are small.

Read more...

Read more
7 0 1,001
Moderator
Moderator

In previous video series entries, I discussed the common color spaces for Image and Video; RGB (Video Series 2), YCbCr4:4:4 (Video Series 9) and YCbCr4:2:2/YCbCr4:2:0 (Video Series 10).

The Video Processing Subsystem IP includes a Color Space Converter (CSC) sub-core which allows you to convert a video stream from one of these color spaces to any of the others.

In this Video Series entry, we will see how to add the VPSS IP configured as a Color Space Converter Only.

Read more...

Read more
2 0 590