COE758 Xilinx ISE 9.2 Tutorial 2. Integrating ChipScope Pro into a project

Similar documents
Tutorial 11 ChipscopePro, ISE 10.1 and Xilinx Simulator on the Digilent Spartan-3E board

HDL & High Level Synthesize (EEET 2035) Laboratory II Sequential Circuits with VHDL: DFF, Counter, TFF and Timer

CHAPTER 3 EXPERIMENTAL SETUP

Lab 3: VGA Bouncing Ball I

Using the XSV Board Xchecker Interface

Using SignalTap II in the Quartus II Software

Spartan-II Development System

Flip-flop and Registers

Lab 6: Video Game PONG

Lab 4: Hex Calculator

Device 1 Device 2 Device 3 Device 4

library IEEE; use IEEE.STD_LOGIC_1164.ALL;

Debugging of VHDL Hardware Designs on Altera s DE2 Boards

ACS College of Engineering. Department of Biomedical Engineering. HDL pre lab questions ( ) Cycle-1

Spartan-II Development System

Programmable Logic Design I

Design Problem 4 Solutions

ECT 224: Digital Computer Fundamentals Digital Circuit Simulation & Timing Analysis

Ryerson University Department of Electrical and Computer Engineering EES508 Digital Systems

Class 19 Sequential Logic: Flip-Flop

SignalTap Analysis in the Quartus II Software Version 2.0

Logic Analysis Basics

Class 06 Sequential Logic: Flip-Flop

Logic Analysis Basics

LAX_x Logic Analyzer

Figure 1 Block diagram of a 4-bit binary counter

TSIU03: Lab 3 - VGA. Petter Källström, Mario Garrido. September 10, 2018

DIGITAL SYSTEM DESIGN VHDL Coding for FPGAs Unit 7

EXOSTIV TM. Frédéric Leens, CEO

ECE337 Lab 4 Introduction to State Machines in VHDL

FPGA TechNote: Asynchronous signals and Metastability

Laboratory Exercise 7

COMPUTER ENGINEERING PROGRAM

FPGA Laboratory Assignment 4. Due Date: 06/11/2012

Laboratory Exercise 7

ChipScope Pro Serial I/O Toolkit User Guide

MASSACHUSETTS INSTITUTE OF TECHNOLOGY Department of Electrical Engineering and Computer Sciences

PicoBlaze. for Spartan-3, Virtex-II, Virtex-IIPRO and Virtex-4 devices. JTAG Loader. Quick User Guide. Kris Chaplin and Ken Chapman

California State University, Bakersfield Computer & Electrical Engineering & Computer Science ECE 3220: Digital Design with VHDL Laboratory 7

Main Design Project. The Counter. Introduction. Macros. Procedure

ENGG2410: Digital Design Lab 5: Modular Designs and Hierarchy Using VHDL

VHDL 4 BUILDING BLOCKS OF A COMPUTER.

Xilinx Answer Eye Qualification

VHDL Upgrading of a TNT2 card

Lecture 6: Simple and Complex Programmable Logic Devices. EE 3610 Digital Systems

RF Solution for LED Display Screen

Main Design Project. The Counter. Introduction. Macros. Procedure

C8188 C8000 1/10. digital audio modular processing system. 4 Channel AES/EBU I/O. features. block diagram. 4 balanced AES inputs

AMIQ-K2 Program for Transferring Various-Format I/Q Data to AMIQ. Products: AMIQ, SMIQ

16 Universe LED Matrix Panels Instructions

Digital Systems Laboratory 1 IE5 / WS 2001

Laboratory 1 - Introduction to Digital Electronics and Lab Equipment (Logic Analyzers, Digital Oscilloscope, and FPGA-based Labkit)

DS099-E08 (v2.5) December 14, 2006

LIO-8 Quick Start Guide

Eng. Mohammed Samara. Fall The Islamic University of Gaza. Faculty of Engineering. Computer Engineering Department

AC : DIGITAL DESIGN MEETS DSP

sld_virtual_jtag Megafunction User Guide

TTC Interface Module for ATLAS Read-Out Electronics: Final production version based on Xilinx FPGA devices

STATIC RANDOM-ACCESS MEMORY

Global Trigger Trigger meeting 27.Sept 00 A.Taurok

Radar Signal Processing Final Report Spring Semester 2017

SERDES Eye/Backplane Demo for the LatticeECP3 Serial Protocol Board User s Guide

FPGA Development for Radar, Radio-Astronomy and Communications

Sundance Multiprocessor Technology Limited. Capture Demo For Intech Unit / Module Number: C Hong. EVP6472 Intech Demo. Abstract

Design and Implementation of SOC VGA Controller Using Spartan-3E FPGA

Using the XC9500/XL/XV JTAG Boundary Scan Interface

SXGA096 DESIGN REFERENCE BOARD

hochschule fu r angewandte wissenschaften hamburg Prof. Dr. B. Schwarz FB Elektrotechnik/Informatik

EEG A1452 SCTE-104 Inserter Frame Card

ULN-8 Quick Start Guide

LMH0340/LMH0341 SerDes EVK User Guide

ECE 270 Lab Verification / Evaluation Form. Experiment 9

Lecture 2: Linear Feedback Shift Registers and Logic Analysis

SignalTap: An In-System Logic Analyzer

General: Catalog Description: Grading Policy: Course Code: COE 203 Title: Digital Logic Laboratory Co-requisite(s): COE 202 (Digital Logic Design)

Lab Assignment 2 Simulation and Image Processing

ECE 3401 Lecture 12. Sequential Circuits (II)

Document History Version Comment Date

ECE 3401 Lecture 11. Sequential Circuits

Altera s Max+plus II Tutorial

Feedback Sequential Circuits

Level and edge-sensitive behaviour

CS/EE Homework 6

Synchronous Sequential Design

THE DIAGNOSTICS BACK END SYSTEM BASED ON THE IN HOUSE DEVELOPED A DA AND A D O BOARDS

Outline. CPE/EE 422/522 Advanced Logic Design L04. Review: 8421 BCD to Excess3 BCD Code Converter. Review: Mealy Sequential Networks

VLSI DESIGN LAB (EE-330-F) VI SEMESTER. Electrical and Electronics Engineering

16 Dec Testing and Programming PCBA s. 1 JTAG Technologies

ET398 LAB 4. Concurrent Statements, Selection and Process

SignalTap Plus System Analyzer

VHDL test bench for digital image processing systems using a new image format

ECE 263 Digital Systems, Fall 2015

Quick Guide Book of Sending and receiving card

EEM Digital Systems II

Quick Reference Manual

18 Nov 2015 Testing and Programming PCBA s. 1 JTAG Technologies

Digital. Digital. Revision: v0.19 Date: : / 76

Laboratory Exercise 4

3. Configuration and Testing

FPGA Implementation of DA Algritm for Fir Filter

Transcription:

COE758 Xilinx ISE 9.2 Tutorial 2 ChipScope Overview Integrating ChipScope Pro into a project

Conventional Signal Sampling Xilinx Spartan 3E FPGA JTAG 2

ChipScope Pro Signal Sampling Xilinx Spartan 3E FPGA ChipScope Pro JTAG 3

ChipScope Overview It is a software Logic Analyzer ay Can be integrated in ISE project as a component ChipScope p has following features: Can be connected to Inputs Can be connected to Outputs Can be connected to Intermediate signals Can have a variable number of inputs/triggers Records up to 16384 samples Can create virtual internal inputs (such as buttons) that are activated from the GUI application on a PC 4

ChipScope Configuration Variations To JTAG To JTAG ChipScope Integrated Controller (ICON) ChipScope Integrated Controller (ICON) Integrated Logic Analyzer (ILA) 36bit Bus Virtual I/O (VIO) To JTAG ChipScope Integrated Controller (ICON) Integrated Logic Analyzer (ILA) Virtual I/O (VIO) 5

Integration ChipScope ICON and ILA into Project from Tutorial 1 Before einserting components we need to: Generate ICON for the project Generate ILA with appropriate p amount of inputs, and triggers Open ChipScope Pro Core Generator 6

Select ICON (integrated Controller). Press Next> 7

1 2 3 1. Specify directory where the project is located 2. Select appropriate FPGA device (Spartan3E) 3. Select number of Control Ports. In this case it is 1 since we only have ILA Press Next> 8

By selecting Generate HDL Example File ChipScope Pro Core generator will also generate the template which you will be able to copy directly to your design, thus minimizing possible errors. Press Generate Core> this will generate core and all required files Press Start Over to continue in generating ILA component 9

This time select ILA (Integrated Logic Analyzer) and Press Next> As before, make sure that Output Netlist: is placed in the project directory and Spartan3E is selected as Device Family. By default these settings should be already present. Press Next> 10

You can select number of triggers which can be setup to initiate the signal capture, same as you would do on physical logic analyzer. There are many options such as being able to have several trigger matches, but for now we will use a single match unit, and 8 bit trigger. Press Next> 11

In this window you select number of samples that you want to be recorded at any given capture, and number of sample signal channels. For now we will pick 512 Samples with 32 bit Data Width. Note that increasing both of these parameters will require more internal memory, which might be needed by your design, therefore only use as much as you need. Press Next> 12

Same as for the ICON select Generate HDL Example File and Press Generate Core After core is generated you can close ChipScope Pro Core Generator and go back to the project to start integrating ChipScope Pro components into it. 13

In the project directory you will notice that there are two VHDL example files for the ICON and ILA modules. 14

You will need to open the example files either in a text editor, or directly in the Xilinx ISE. 15

Declaration Instantiation In these files you will find component declaration, and instantiation as shown in the window above. These sections can be directly copied to the project which in turn will initialize these components in your project. 16

ICON and ILA modules are linked by the common communication Bus control0. ila_data and trig0 Busses are connected to the actual inputs/outputs/signals in the design. Directory of all of the files can be downloaded from the coarse website. After all of the components insertions Run Generate Programming File to make 17 sure that there are no errors.

Output of internal signals of the counter to the ila_data, as well as the input of the switch(0). At the same time, set first bit of the trigger trig0 to switch(0), so as an example when switch is set to 1 signals capturing will commence. 18

Final Source Code library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity tutorial is Port ( clk : in STD_LOGIC; led : out STD_LOGIC_VECTOR (7 downto 0); switch : in STD_LOGIC_VECTOR (3 downto 0)); end tutorial; architecture Behavioral of tutorial is component icon port ( control0 : out std_logic_vector(35 downto 0)); end component; component ila port ( control : in std_logic_vector(35 downto 0); clk : in std_logic; data : in std_logic_vector(31 downto 0); trig0 : in std_logic_vector(7 downto 0)); end component; signal counter: std_logic_vector(29 downto 0); signal control0 : std_logic_vector(35 downto 0); signal ila_data : std_logic_vector(31 downto 0); signal trig0 : std_logic_vector(7 downto 0); begin iicon: i_icon icon port map ( control0 => control0); i_ila : ila port map ( control => control0, should be linked between ILA and ICON clk => clk, signal is supplied by the main clock data => ila_data, All signals that need to be monitored are assigned to ila_data Bus trig0 => trig0 All signals that are desired to be triggered from are assigned to trig0 ); process(clk) begin if(clk'event and clk='1') then if(switch(0)='1') then counter<=counter+'1'; else counter<=counter '1'; end if; end if; end process; led(7 downto 0)<=counter(29 downto 22); ila_data(29 downto 0)<=counter(29 downto 0); ila_data(30)<=switch(0); trig0(0)<=switch(0); end Behavioral; 19

After all of the ILA signals were assigned Run the Generate Programming File and correct all of the errors that are encountered. At this point platform can be configured with the configuration file and ChipScope Pro can be used to sample the signals. 20

Instead of going through the impact double click on the Analyze Design Using ChipScope. 21

When the ChipScope Pro is loaded click on the JTAG scan button at the top left corner. Thiswill initiate communication with the Spartan 3E platform, and identify all of the devices on the JTAG chain. 22

When communication is successful a window with a list of devices on the JTAG chain will appear. Press OK 23

Identified devices will be added to the list. To upload the configuration bitstream to the Spartan 3E, right clickon the DEV:0 MyDevice0 (XC3S500E) and select Configure. 24

Select configuration file from your project directory with extention.bit and press Open Press OK to upload the configuration bitstream file. 25

When configuration is completed successfully DEV:0 MyDevice0 (XC3S500E) will expand and show MyILA0 component with ihthe Trigger Setup, Waveform, etc Double click on Trigger Setup and Waveform to bring the ILA interface on screen. 26

3 1 2 1. Trigger Setup window allows to configure ChipScope Pro to commence capturing when combination of the particularsignalsis is encountered. 2. Middle window shows the signal captures as it would on any logic analyzer. 3. To initiate capture at any point, without trigger press on T! button. 27

After the immediate capture you will see all of the levels of individually captured signals. Ifsome signals represented a Bus you can group them into the Bus for easier readout. Select signals that you want to place in a Bus by holding Ctrl and clicking on desired signals, after which right click over the selected signals and select Add to Bus > New Bus 28

Grouped Bus will be added at the top of the list of signals. Grouped Bus can berenamed by rightclickingon the Busand selecting Rename. 29

There are several ways of representing grouped value. Options are available by right clicking on the bus and selecting Bus Radix menu. In this menu you have many options such as Hex, Dec, Binary,and more. 30

2 1 3 1. To capture signals based on trigger input, set the first bit of the trigger vector to 1. 2. Click on the Play button at the top left corner to start monitoring for the trigger. 3. When switch is set to the top position signals would be captured based on the transition. 31

As shown, when trigger (switch 0) was set to 1 signals were captured and shown in the Waveform window. 32

To see in detail the bus output you can right click on the bus and select Zoom>Zoom In. Resulting zoom isshownshown on the next page, where transition from one value to the other is displayed along with sample number. 33

This concludes the introduction into the ChipScope Pro with the use of a single ILA module. 34

Conclusion This complete ChipScope Pro tutorial which included: Overview of the ChipScope Pro Generation of ChipScope Procores Insertion of ChipScope Pro cores into the project from Tutorial 1 Identification and Configuration of the FPGA device directly from ChipScope Pro Capturing signals using ILA module and displaying in the Waveform window. Capturing C i signals based on the trigger setup. Next tutorial will cover the Virtual I/O module which allows for generation of virtual inputs and outputs inside the FPGA using the ChipScope p Pro GUI. This benefits the designer on the stage of debugging of the firmware and hardware. 35