On-Chip Design Verification with Xilinx FPGAs

Similar documents
Using the Agilent Technologies Series Logic Analysis System with the Xilinx ChipScope ILA

Agilent Technologies E5900B Emulation Probes

Agilent Noise Source Calibration Using the Agilent N8975A Noise Figure Analyzer and the N2002A Noise Source Test Set. Technical Overview

Automatic protection switching. OmniBER playing a more active role

34970A 3499A/B/C. Advanced Test Equipment Rentals ATEC (2832) 34970A and 3499A/B/C Switch Systems

Agilent E7478A GPRS Drive Test System

Alarm stress testing G.709. Application note. OmniBER OTN communications performance analyzer

Current Drain Analysis Enhances WLAN Network Card Design and Test

Agilent CDMA Base Station Over-Air Maintenance Tool

E2625A Communication Mask Test Kit E2698A Ethernet Masks

Evaluating Battery Run-down Performance Using the Agilent 66319D or 66321D with Option # A Device Characterization Software

Agilent 8960 Wireless Test Set Ensures the Success of Your Wireless Products

Agilent 7061A and 87130A Switch Attenuator Drivers

Agilent Technologies VQT Phone Adapter J1996A

Agilent 8703A. Lightwave. Configuration Guide nm or 1550 nm 130 MHz to 20 GHz modulation bandwidth. Example Configuration:

SignalWizard: all-channel testing technology (SONET)

Technical Specifications May 2003

Agilent Technologies InfiniiVision MSO N5406A FPGA Dynamic Probe for Xilinx

Side-by-Side Comparison: Agilent N5700 System DC Source and Xantrex XFR DC Power Supply

Agilent N1203/4/7C Beam Manipulators and N1206T Adjustment Tool Kit

Agilent Technologies Infiniium MSO8000 and MSO9000 Series N5397A FPGA Dynamic Probe for Xilinx

Advanced Test Equipment Rentals ATEC (2832)

Benefits of a Switch/Measure Unit for Data Acquisition and Electronic Functional Test

Agilent B4655A FPGA Dynamic Probe for Xilinx

Keysight U5340A FPGA Development Kit for High-Speed Digitizers

Agilent 87222C/D/E Coaxial Transfer Switches dc to 26.5, 40, 50 GHz Product Overview

Agilent L4433A Dual/Quad 4x8 Reed Matrix

Utilization of Agilent s Remote Management Cards RMC Plus L/LS 1.0 (N2521A-AT1/N2521A-AT3) in Intel s. Performance Appliance Platform.

Keysight B4655A FPGA Dynamic Probe for Xilinx. Data Sheet

Agilent Technologies IP Telephony Reporter J5422A

Agilent RF Network Analyzers PNA Series

InfiniBand System-Level Debugging

Infiniium MSO8000, MSO9000A and MSO 9000 H-Series N5397A FPGA Dynamic Probe for Xilinx

Keysight U5340A FPGA Development Kit for High-Speed Digitizers

AgilentTechnologies TS-50 RF Shielded Test Fixtures

Agilent Technologies E2688A, N5384A High-Speed Serial Data Analysis and Clock Recovery Software for Infiniium Oscilloscopes

Agilent 87204/87206A, B, C Multiport Coaxial Switches dc to 4 GHz, dc to 20 GHz, dc to 26.5 GHz

1735A 1, 2 and 4 Gb/s Fibre Channel Multi-Application Protocol Analyzer Module and Traffic Generator

Tandem connection monitoring

Agilent Short Message Service Testing Using the E6702B cdma2000 Test Set. Application Note

System Developer Guide Using LAN in Test Systems: PC Configuration

Agilent 87104/87106A, B, C Multiport Coaxial Switches dc to 4 GHz, dc to 20 GHz, dc to 26.5 GHz

Agilent U2600A Series USB Isolated Digital I/O Devices. Data Sheet

Virtual Input/Output v3.0

How to Convert from a Xantrex XFR to an Agilent N5700

Agilent L4421A 40-Channel Armature Multiplexer

Employing Multi-FPGA Debug Techniques

I 2 C and SPI Protocol Triggering and Decode for Infiniium 8000 and Series Oscilloscopes

How to Convert from a Sorensen DLM to an Agilent N5700

Xilinx ChipScope ICON/VIO/ILA Tutorial

Agilent 87406B Coaxial Matrix Switch dc to 20 GHz Product Overview

Using ChipScope. Overview. Detailed Instructions: Step 1 Creating a new Project

Agilent Technologies N5393A PCI Express Electrical Performance Validation and Compliance Software for Infiniium 54855A or Series Oscilloscopes

FPGA Circuit Design: Overcoming Power-Related Challenges

I 2 S Triggering and Hardware-based Decode (Option SND) for Agilent InfiniiVision Oscilloscopes

Advanced FPGA Design Methodologies with Xilinx Vivado

Agilent 16962A 2 GHz State, 2/4/8 GHz Timing Logic Analyzer Module

Agilent ENA RF Network Analyzer

CIRCUIT DESIGN. is published monthly by: UP Media Group Inc Powers Ferry Road, Ste. 600 Atlanta, GA Tel (678) Fax (678)

Agilent Lightwave Solution Platform

Agilent Technologies B4656A FPGA Dynamic Probe for Altera

Product Overview. Emulation Solution. Verify Interrupt Routines Debug Assembly Code Optimize Code

ChipScope Demo Instructions

OPERATING AND SERVICE MANUAL SPECIAL SUPPLEMENT

ChipScope Pro Software and Cores User Guide

APPLICATION NOTE. Gate Count Capacity Metrics for FPGAs. Introduction. Maximum Logic Gates

Lab Environment and Miniproject Assignment

Agilent Modern Connectivity Using USB and LAN I/O Converters

Fibre Channel Arbitrated Loop v2.3

OmniBER OTN 10 Gb/s communications performance analyzer. Product note. The key to (10G) line card testing G.709

í ChipScope Pro Software and Cores User Guide [] UG029 (v14.2) July 25, 2012

Agilent Hard Disk Read/Write Test System. E5023A Electronics Package E5010C Split Axis Spin Stand E5013A Combined Axis Spin Stand

Agilent Microwave Sweep Oscillator and Network Analyzer Instrument Security

Transitioning from GPIB to LXI Examining Similarities, Differences and Best Practices

PCI Express Protocol Triggering and Decode for Infiniium 9000 Series Oscilloscopes

ChipScope Pro Software and Cores

EMBEDDED VISION AND 3D SENSORS: WHAT IT MEANS TO BE SMART

FPGA. Logic Block. Plessey FPGA: basic building block here is 2-input NAND gate which is connected to each other to implement desired function.

Xilinx FPGA Dynamic Probe. Online Help

Frequently Asked Questions (FAQ)

Adding the ILA Core to an Existing Design Lab

Agilent I/O Hardware for PC-to-Instrument Connection Data Sheet

Agilent Upgrade Guide for the 8510 Vector Network Analyzer Product Note

SPART. SPART Design. A Special Purpose Asynchronous Receiver/Transmitter. The objectives of this miniproject are to:

Introduction to Field Programmable Gate Arrays

Programmable Logic Design I

Agilent Noise Source Calibration Using the Agilent N8975A Noise Figure Analyzer and the N2002A Noise Source Test Set. Product Note

Agilent N1918A Power Analysis Manager

FPGA for Complex System Implementation. National Chiao Tung University Chun-Jen Tsai 04/14/2011

Graduate Institute of Electronics Engineering, NTU FPGA Design with Xilinx ISE

U85026A Detector 40 to 60 GHz

Keysight Technologies Understanding x1149 Integrity Test. Application Note

Using Xilinx ChipScope Pro ILA Core with Project Navigator to Debug FPGA Applications. UG750 (v12.3) November 5, 2010

Agilent E3640A E3649A Programmable DC Power Supplies

E2688A, N5384A High-Speed Serial Data Analysis and Clock Recovery Software for Infiniium Oscilloscopes

Agilent Technologies N5392A Ethernet Electrical Performance Validation and Conformance Software for Infiniium Oscilloscopes

Agilent Strain Measurement Application Using Agilent U2300A Series Data Acquisition Devices With Agilent VEE Pro. Application Note

In this lecture, we will focus on two very important digital building blocks: counters which can either count events or keep time information, and

Lab #1: Introduction to Design Methodology with FPGAs part 1 (80 pts)

Overview of Microcontroller and Embedded Systems

Transcription:

On-Chip Design Verification with Xilinx FPGAs Application Note 1456 Xilinx Virtex-II Pro devices have redefined FPGAs. The Virtex-II Pro brings with it not only a denser and faster FPGA, but an IBM PPC 405 core and up to twenty four 3.125Gb/s high speed serial transceivers. In effect, with a Virtex II Pro device it is feasible to fit an entire card design on a single chip. However this new capability carries a dark cloud because FPGA designers are concerned that there may not be enough visibility for verification and debug of large FPGAs. Currently one option for the FPGA designer is to use HDL simulators like Mentor s ModelSim. With the simulator you can verify all your HDL, modeling everything from internal flops to an I/O pad. Xilinx FPGA Design Flow Simulation can be a step backwards for FPGA development. This is because FPGAs have reprogramability built in. Generally FPGA designers use this feature to verify their design in-circuit. This is of tremendous value because you not only save time in generating the simulation testbench, you actually verify your design against real live data. The penalty for in-circuit verification is that observability and controllability is lost. Observability and controllability are terms used by the IC test field to refer to the ease of access to an internal gate. Observability is the ease of being able to view or probe the output of a gate. Controllability is the ease of being able to manipulate the inputs of a gate. For in-circuit verification these same terms can be shared with one distinction. In-circuit observability and controllability is not limited to individual gates, it can span across entire modules that can encapsulate hierarchies of many more modules. To address the controllability and observability issues of in-circuit verification Xilinx has created ChipScope. In ChipScope there are two fundamental intellectual property (IP) cores which give real-time observability and controllability. For observability ChipScope has a logic analyzer soft core called the integrated logic analyzer (ILA). For controllability ChipScope has the soft core called the virtual inputoutput core (VIO). Thus with the latest ChipScope 5.2i, you can examine and drive internal FPGA nodes deep in your design, all done real-time and in-circuit.

Comparator Data_Path Comparator Figure 1. ILA block diagram Design Observability The ILA is a configurable logic analyzer soft core that enables you to observe nodes inside your design. With the ILA you can inspect inputs and outputs of modules, sub-modules and even individual elements like flip flops and gates. The basic structure of the ILA is similar to that of a typical logic analyzer. It consists of two main blocks, a comparator and a storage buffer (Figure 1). The comparator detects patterns or ranges of patterns in the data path and produces a trigger mark when detected. Coupled with the comparator is a storage buffer. This buffer is used to store sampled data along with the trigger mark. For the ILA, the comparator and storage buffer can probe the same or different nodes. When the comparator and storage buffer are both connected to the same nodes, the ILA behaves much like a typical bench top logic analyzer. In this case you set the comparator to detect a pattern seen in the storage buffer data path. Trigger Mark Store Data_Path Storage Buffer When the comparator and storage buffer are connected to separate nodes, it gives you a new degree of freedom. With this feature you can have the ILA comparator attached to the address and control lines of an internal bus and have only the data bus connected to the storage buffer. In this way you can configure the comparator to search for certain addresses or ranges and store only the data bus samples. The ILA core gives you in-circuit observability but there are some issues to consider. The first is that the ILA requires you to supply a clock. Unlike a bench top logic analyzer that can work with its own sample clock, the ILA core cannot operate with out a user supplied clock. This restriction can work against a design that has tight timing margins, since the additional clock and probe connections may reduce the design performance. The second ILA issue to consider is the core size. The ILA unit that can consume the greatest amount of resources is the storage buffer. This is because the ILA uses internal block memory for the storage buffer block. This poses a problem for designs that already use the block memory or that require deep traces for in-circuit verification and debug. To alleviate this problem Xilinx has worked with Agilent Technologies to extend the ILA with an Agilent Trace Core (ATC). The ILA with ATC is similar to the basic ILA with the only difference being the buffer storage is off-chip. ATC creates a channel to send internal data to pins which are then captured by a 2 million sample Agilent FPGA Trace Port Analyzer. The ATC is configurable so that more data can be sent off chip with fewer pins. It accomplishes this pin reduction task using time division multiplexing (TDM). TDM in the ATC accelerates the data close to 4 times the input clock rate. This acceleration is what enables the user to gain greater internal node visibility with fewer pins and no internal block RAM used. 2

CLK Port_In Port Port_Out Figure 2. VIO block diagram Design Controllability For controllability Xilinx has created the virtual input output core (VIO). This core provides an alternate means of driving nodes inside the FPGA. Like the ILA the VIO can be connected to the inputs and outputs of modules, sub-modules and basic elements like flip flops. The difference is that the VIO core has specific ports for design inputs and outputs. The basic structure of the VIO core consists of four ports (Figure 2). Two of the ports are inputs and two of the ports are outputs. One pair of input/output ports are asynchronous, the other pair are synchronous. The asynchronous ports are intended for module ports that do not require synchronized timing, VIO Asynchronous Port_In Asynchronous Port Asynchronous Port_Out such as asynchronous resets. For module ports that are synchronized, the VIO core furnishes synchronized inputs and outputs that are clocked by the module s clock. The VIO output ports are connected to module inputs. The width of the port is configurable so that narrow and wide ports can be driven by a single VIO core. One feature difference between the synchronous and the asynchronous port is that only the synchronous has an option to create a pulse train pattern. The pulse train pattern consists of a 16 bit buffer that is attached to all the synchronous ports which allows real-time creation of patterns. These patterns are clocked out at the module clock speed to produce a testcase that spans 16 test vectors. The VIO input ports are connected to module outputs. Like the VIO output port, the input port size is configurable. Both asynchronous and synchronous input ports have an activity indicator. This indicator works as a toggle flag that detects when edge transitions have occurred. The advantage of the synchronous port over the asynchronous is that its samples are synchronous to the module clock whereas the asynchronous will be sampled by the user interface. One point should be made on the VIO input port use model. The VIO input port is a one shot sample of an input. The time between samples is slow since the communication mechanism is a JTAG cable. Thus the task of sampling a VIO input port can take hundreds of milliseconds and will be unusable for capture of real-time trace data. Thus for the capture of real time trace data it is recommended you use the ILA. 3

Design CLK Figure 3. Testbench using VIO and ILA In-Circuit Testbench Given these two cores, ILA and VIO, it is now possible to create in-circuit testbenches for modules that have little or no external pin visibility. To create an in-circuit testbench you need only to connect a VIO-output core to the inputs of your design and an ILA to the outputs (Figure 3). If you are debugging a design, you can also put ILAs at other locations to help track down the root cause of the problem. Similarly, the VIO core can aid in debugging by providing a means of forcing internal nodes to certain conditions to help temporarily patch or exaggerate a problem. Although the usage model for debugging in-circuit is not the same as a simulator, with VIO and ILA you can quickly come up with configurations that give you comparable observability and controllability. VIO Design Under Test ILA or ILA with ATC Port_Out Design Outputs One choice that is available to in-circuit testbenches over simulation is whether the test data comes from real stimulus or a pattern generator. With real-time data the inputs of the design under test are all stimulated by the actual inputs to the FPGA. These inputs can be anything from high-speed serial data to an analog to digital data that is processed by your FPGA. To observe and control this test setup you use the one or more ILAs at the outputs of the main processing module and you use the VIO core to setup and enable the testcase. By using this test setup you can now control when the real-time data is fed to the design and observe the results of the testcase. If realtime data is not available or controllable you can use pattern vectors to create the testcase. Traditionally pattern vectors used for in-circuit testing have required filling out tables of bits that are used to stimulate the design. However with an FPGA you have the freedom to create a module inside your FPGA that generates these patterns. This means that instead of using a large pattern stored in memory to test your design you can actually hook a counter to the inputs of your design and test out all possible input combinations. Like in the real-time testcase, the ILA is used to check the outputs of your module and the VIO to setup and run the test. With this test setup you can observe and control the pattern data and run at design speed. 4

Conclusion Xilinx s ChipScope is making in-circuit verification of large FPGAs, like the Virtex II Pro, much more effective. Although there is no substitute for simulation, the reality is that shortened time-to-market windows, floating specifications, and evolving standards are driving FPGA designers to use the actual hardware as the golden verification platform. As a result, there is a dire need for tools that bring the simulation environment observability and controllability to the bench. Xilinx s ChipScope tool team understands this problem and is focused on developing solutions for it. With ChipScope 5.2i you gain controllability through the VIO core. For deep trace capture ChipScope 5.2i provides ILA with ATC which is capable of storing up to 2 million samples with the Agilent FPGA TPA. Thus with ChipScope you can confidently verify and debug your Xilinx FPGA in-circuit and deliver your product to your customer on time. About the Author Adrian Hernández received his B.S.E.E from the University of Texas at El Paso and will be completing an M.S.E.E. at University of Colorado in the fall of 2003. Adrian has six years experience with Agilent Technologies (Hewlett-Packard) developing logic analyzer solutions with a focus on embedded processors and FPGAs. Today he is a digital design engineer developing FPGA IP used in logic analyzers. After work activities include gardening and restoring a 1966 Chevy pickup. 5

www.agilent.com Agilent Technologies Test and Measurement Support, Services, and Assistance Agilent Technologies aims to maximize the value you receive, while minimizing your risk and problems. We strive to ensure that you get the test and measurement capabilities you paid for and obtain the support you need. Our extensive support resources and services can help you choose the right Agilent products for your applications and apply them successfully. Every instrument and system we sell has a global warranty. Support is available for at least five years beyond the production life of the product. Two concepts underlie Agilent's overall support policy: "Our Promise" and "Your Advantage." Our Promise Our Promise means your Agilent test and measurement equipment will meet its advertised performance and functionality. When you are choosing new equipment, we will help you with product information, including realistic performance specifications and practical recommendations from experienced test engineers. When you use Agilent equipment, we can verify that it works properly, help with product operation, and provide basic measurement assistance for the use of specified capabilities, at no extra cost upon request. Many self-help tools are available. Your Advantage Your Advantage means that Agilent offers a wide range of additional expert test and measurement services, which you can purchase according to your unique technical and business needs. Solve problems efficiently and gain a competitive edge by contracting with us for calibration, extra-cost upgrades, out-of-warranty repairs, and on-site education and training, as well as design, system integration, project management, and other professional engineering services. Experienced Agilent engineers and technicians worldwide can help you maximize your productivity, optimize the return on investment of your Agilent instruments and systems, and obtain dependable measurement accuracy for the life of those products. www.agilent.com/find/emailupdates Get the latest information on the products and applications you select. Agilent T&M Software and Connectivity Agilent's Test and Measurement software and connectivity products, solutions and developer network allows you to take time out of connecting your instruments to your computer with tools based on PC standards, so you can focus on your tasks, not on your connections. Visit www.agilent.com/find/connectivity for more information. By internet, phone, or fax, get assistance with all your test & measurement needs Online assistance: www.agilent.com/find/assist Phone or Fax United States: (tel) 800 452 4844 Canada: (tel) 877 894 4414 (fax) 905 282 6495 China: (tel) 800 810 0189 (fax) 800 820 2816 Europe: (tel) (31 20) 547 2323 (fax) (31 20) 547 2390 Japan: (tel) (81) 426 56 7832 (fax) (81) 426 56 7840 Korea: (tel) (82 2) 2004 5004 (fax) (82 2) 2004 5115 Latin America: (tel) (305) 269 7500 (fax) (305) 269 7599 Taiwan: (tel) 0800 047 866 (fax) 0800 286 331 Other Asia Pacific Countries: (tel) (65) 6375 8100 (fax) (65) 6836 0252 Email: tm_asia@agilent.com Product specifications and descriptions in this document subject to change without notice. Agilent Technologies, Inc. 2003 Printed in USA April 30, 2003 5988-9434EN