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

Similar documents
EXOSTIV TM. Frédéric Leens, CEO

Programmable Logic Design I

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

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

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

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

Using SignalTap II in the Quartus II Software

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

VHDL Design and Implementation of FPGA Based Logic Analyzer: Work in Progress

ASYNCHRONOUS COUNTER CIRCUITS

LFSRs as Functional Blocks in Wireless Applications Author: Stephen Lim and Andy Miller

EEM Digital Systems II

Inside Digital Design Accompany Lab Manual

Logic Analysis Basics

Logic Analysis Basics

Modeling Latches and Flip-flops

CSE 352 Laboratory Assignment 3

Design and implementation (in VHDL) of a VGA Display and Light Sensor to run on the Nexys4DDR board Report and Signoff due Week 6 (October 4)

DEDICATED TO EMBEDDED SOLUTIONS

Modeling Latches and Flip-flops

Lab #5: Design Example: Keypad Scanner and Encoder - Part 1 (120 pts)

EE178 Lecture Module 4. Eric Crabill SJSU / Xilinx Fall 2005

FPGA Development for Radar, Radio-Astronomy and Communications

FPGA-BASED EDUCATIONAL LAB PLATFORM

Lab #10 Hexadecimal-to-Seven-Segment Decoder, 4-bit Adder-Subtractor and Shift Register. Fall 2017

SignalTap Analysis in the Quartus II Software Version 2.0

CSCB58 - Lab 4. Prelab /3 Part I (in-lab) /1 Part II (in-lab) /1 Part III (in-lab) /2 TOTAL /8

Altera s Max+plus II Tutorial

Lecture 10: Programmable Logic

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

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

Prototyping an ASIC with FPGAs. By Rafey Mahmud, FAE at Synplicity.

Laboratory Exercise 7

LAX_x Logic Analyzer

Name: Date: Suggested Reading Chapter 7, Digital Systems, Principals and Applications; Tocci

EITF35: Introduction to Structured VLSI Design

Logic and Computer Design Fundamentals. Chapter 7. Registers and Counters

Figure 1 Block diagram of a 4-bit binary counter

Scan. This is a sample of the first 15 pages of the Scan chapter.

Solutions to Embedded System Design Challenges Part II

Experiment # 12. Traffic Light Controller

Design of a Binary Number Lock (using schematic entry method) 1. Synopsis: 2. Description of the Circuit:

Radar Signal Processing Final Report Spring Semester 2017

CAD for VLSI Design - I Lecture 38. V. Kamakoti and Shankar Balachandran

YEDITEPE UNIVERSITY DEPARTMENT OF COMPUTER ENGINEERING. EXPERIMENT VIII: FLIP-FLOPS, COUNTERS 2014 Fall

EE178 Spring 2018 Lecture Module 5. Eric Crabill

FPGA Based Implementation of Convolutional Encoder- Viterbi Decoder Using Multiple Booting Technique

Laboratory 4. Figure 1: Serdes Transceiver

Traffic Light Controller

L11/12: Reconfigurable Logic Architectures

OF AN ADVANCED LUT METHODOLOGY BASED FIR FILTER DESIGN PROCESS

2.6 Reset Design Strategy

Why FPGAs? FPGA Overview. Why FPGAs?

FPGA Implementation of DA Algritm for Fir Filter

1. Synopsis: 2. Description of the Circuit:

Application Note PG001: Using 36-Channel Logic Analyzer and 36-Channel Digital Pattern Generator for testing a 32-Bit ALU

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

Faculty of Electrical & Electronics Engineering BEE3233 Electronics System Design. Laboratory 3: Finite State Machine (FSM)

Lab Assignment 2 Simulation and Image Processing

EMPTY and FULL Flag Behaviors of the Axcelerator FIFO Controller

COMPUTER ENGINEERING PROGRAM

ECE 5765 Modern Communication Fall 2005, UMD Experiment 10: PRBS Messages, Eye Patterns & Noise Simulation using PRBS

LAB 3 Verilog for Combinatorial Circuits

EECS150 - Digital Design Lecture 3 Synchronous Digital Systems Review. Announcements

FPGA Design. Part I - Hardware Components. Thomas Lenzi

Digital Fundamentals: A Systems Approach

Flip-Flops. Because of this the state of the latch may keep changing in circuits with feedback as long as the clock pulse remains active.

Report on 4-bit Counter design Report- 1, 2. Report on D- Flipflop. Course project for ECE533

Experiment # 4 Counters and Logic Analyzer

Synchronous Sequential Logic

Electrical & Computer Engineering ECE 491. Introduction to VLSI. Report 1

Laboratory Exercise 4

Asynchronous IC Interconnect Network Design and Implementation Using a Standard ASIC Flow

AC : DIGITAL DESIGN MEETS DSP

International Journal of Scientific & Engineering Research, Volume 5, Issue 9, September ISSN

Sequential Circuit Design: Principle

Spartan-II Development System

L12: Reconfigurable Logic Architectures

You will be first asked to demonstrate regular operation with default values. You will be asked to reprogram your time values and continue operation

Module for Lab #16: Basic Memory Devices

FPGA Implementation of Sequential Logic

LUT Optimization for Memory Based Computation using Modified OMS Technique

Programmable Logic Design Techniques II

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

Long and Fast Up/Down Counters Pushpinder Kaur CHOUHAN 6 th Jan, 2003

Table of Contents Introduction

cascading flip-flops for proper operation clock skew Hardware description languages and sequential logic

LogiCORE IP Spartan-6 FPGA Triple-Rate SDI v1.0

TKK S ASIC-PIIRIEN SUUNNITTELU

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

Combinational vs Sequential

ECE 545 Digital System Design with VHDL Lecture 1B. Digital Logic Refresher Part B Sequential Logic Building Blocks

ECE 545 Digital System Design with VHDL Lecture 2. Digital Logic Refresher Part B Sequential Logic Building Blocks

Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science Introductory Digital Systems Laboratory

Using the Quartus II Chip Editor

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

Serial FIR Filter. A Brief Study in DSP. ECE448 Spring 2011 Tuesday Section 15 points 3/8/2011 GEORGE MASON UNIVERSITY.

Simulation Mismatches Can Foul Up Test-Pattern Verification

ECE 270 Lab Verification / Evaluation Form. Experiment 9

University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Science SOLUTIONS

Transcription:

Tutorial 11 ChipscopePro, ISE 10.1 and Xilinx Simulator on the Digilent Spartan-3E board Introduction This lab will be an introduction on how to use ChipScope for the verification of the designs done on FPGAs. ChipScope Pro 10.1 is the tool provided by Xilinx for this purpose. The board will be a Digilent Spartan-3E starter kit. Objective The objective is to verify the functioning of a simple counter implementation using ChipScope. The counter implemented here is a 4-bit counter operated at five different frequencies. The aim is not to implement complex digital designs but to show the user a method to integrate ChipScope into an existing design in order to verify its operation in a simple and efficient manner. ChipScope is a virtual logic analyzer. Prerequisites Basic knowledge about digital design and FPGAs. Acquaintance with Xilinx ISE 10.1 and Xilinx Simulator tools. ChipScope is not included in ISE but is a program available through the Xilinx university program. Application This document is used by students, who are learning FPGA design and verification. Design Overview 4-bit counter implemented at five different frequencies using the system clock running at 50 Mhz. The 50 Mhz 50 Mhz 50 Mhz 50 Mhz 50 Mhz five frequencies are,,,,, (the frequencies are 2 3 2 23 2 24 2 25 2 26 chosen to make the counter action visible through the LEDs, except for the highest frequency which is

solely to verify the design in the ISE Simulator). The frequencies are controlled using input signal FREQUENCY connected to three of the available four sliding switches (SW1, SW2 & SW3). The output of the 4-bit counter is connected to four of the available seven LEDs (LD0, LD1, LD2, LD3). An asynchronous reset is also provided to the design which is connected to one of the sliding switches (SW0). Process 1. Complete the counter design to implement functionality as explained (provided). 2. Verify inputs and outputs with test bench waveform (provided). 3. Integrate the ChipScope into the counter design (explained in detail in the Implementation section). 4. Analyze the design using ChipScope (also explained in detailed in the next section). Implementation 1. Right click on the top module of the design intended for verification or debugging, and select new source. Then select ChipScope Definition and Connection File as shown below. Figure 1: ChipScope Module Selection

2. Then give an appropriate name for the file name. Press next and select the hierarchy level at which the analysis is intended to be performed and then press next and then do finish. Figure 2: Hierarchy Selection 3. The first two steps will cause a new file (with file name as given) to be created in the source window under the project hierarchy as shown below. Figure 3: ChipScope Module Location

4. Double click on this new source file which cause the below window to pop up. Keep the default settings with Use SRLs and Use RPMs as checked. This will enable the tool to use Shift Register LUTs instead of flip flops and multiplexers thereby effectively reducing the size and improving the performance of the core generator. RPMs contain RLOC constraints which define the order and structure of the underlying design primitives. Use of RPMs will enable the tool to use relationally placed macros (like FMAP, HMAP, ROM, RAM, etc) allowing logic blocks to be placed relative to increase speed and use die resources efficiently substituting hard macros with an equivalent that can be simulated directly which again increases the core performance. Figure 4: SRL and RPMs 5. Press next and again leave the default conditions i.e., keep the Disable JTAG Clock BUFG Insertion box unchecked. Disabling JTAG clock will cause the implementation tool to route the JTAG clock using normal routing resources instead of global clock routing resources. This might affect the high speed clock signals. So, unless the global resources are very scarce, it should not be disabled. But, disabling might introduce skew.

Figure 5: Global Clocks 6. Press next and then select the number of trigger ports and their respective widths depending on the design requirement. Triggers are those signals which initiate or trigger a certain sequence of actions influencing certain signals under consideration. Here, signal FREQUENCY is the only trigger taken into consideration (which is three bits wide) to control the counter output. Therefore, number trigger ports is set to 1 and the width is set to 3. Figure 6: Trigger Options

7. Now Match Type should be selected. This defines the type of trigger one wants. For example: Basic mode, triggers depending on the specific value to which trigger is set. Range mode, triggers depending on the range of values in which the trigger is defined. Extended mode triggers depending on one or more occurrences of exact or range of trigger values to which trigger is set. A combinatorial logic (like AND/OR) or conditional logic (IF/THEN) between 2 or more signals can also be implemented into a trigger signal. Since FREQUENCY signal has definite values, Basic mode can be chosen for the Match Type in the present case. Figure 7: Match Type 8. Now uncheck or check the Trigger Conditions Settings i.e., Enable Trigger Sequencer and Enable Storage Qualification depending on the design requirements. Enable Trigger Sequencer can be used to enable a 16 level trigger sequencer which aids in configuring a multi level state machine to trigger upon a user defined traversal scheme of match units. Enable Storage Qualification can be used to filter data that is captured based on the user defined conditions that can be combined with trigger events. As the present trigger (FREQUENCY signal) is a simple and straight forward trigger, so both the boxes can be unchecked which saves little amount of logic space on the FPGA as shown below (LUT and FF count).

Figure 8: Trigger and Storage Settings 9. Press next and depending on the design requirement uncheck or check the Data Same As Trigger option. If data is not same as trigger then define the Data Width. The Data Depth is defined depending again on the requirements. It is recommended to put maximum limit as it can be adjusted during the analysis phase. Select the Rising or Falling edge of the clock signal depending on whichever edge desired to sample the data. As in the present design, the output data (Q) and trigger (FREQUENCY) are different the Data Same As Trigger icon is unchecked. Since the width of counter is 4-bit, data width is selected as 4. Rising edge is selected for clock edge for sampling data. Figure 9: Data Options

10. Press next and then press Modify Connections. Figure 10: Net Connections 11. Once Modify Connections is clicked, the below shown window will pop up. Select the appropriate signals from the list of nets and make connections to the respective clock, trigger and data signals. Note: Sometimes certain nets do not show up in the list, which means that during optimizations the tool has found that there is more than one net with same logic. As a result it optimizes it to a single net thereby resulting in absence of few wanted nets. This would require more detailed analysis of the design or modification of the same to make the necessary connections for debugging. Once all the connections are made press OK. Then press Return to Project Navigator and Save Project changes.

Figure 11: Net Selections 12. Now re-implement the design using the Implement Design icon and then do the configuration using the Configure Target Device icon. Once these steps are done successfully one is ready to analyze the design using the Analyze Design Using ChipScope icon (present along with the implement design and configure design icons in the processes window of the ISE tool). By double clicking this icon the following window will pop up. Figure 12: ChipScope Analyzer In the top left hand corner there is an icon which is used to open the JTAG chain, click on this icon and the following window pops up. It shows all the devices it has found in the JTAG chain, press OK.

Figure 13: JTAG Chain 13. Once the list is accepted by pressing OK the following window shows up. Set the trigger to design criteria, adjust the data depth to the amount needed and then hit the play button (all of them are marked in red boxes). One can observe all the output signal variations and do the verification as needed. Figure 14: Trigger and data setup

14. The data waveform for the sample counter when trigger is set to 000 is as shown below. Note: To observe more changes the sample clock of the ChipScope has been set to the LSB of the 4-bit counter. Figure 15: Waveforms

15. Sometimes using the bus plot will be very beneficial to observe certain output signals. This can be done by selecting all the data ports and tying them into a single bus as shown below. Figure 16: Bus Port Creation 16. The bus plot can be viewed by clicking on the bus plot icon as shown below and selecting the appropriate bus signal intended for viewing. Figure 17: Bus Plot

17. This is the signal that is directly being tapped from the FPGA on the board unlike the ISE Simulator signals which are behavioral simulated (can be observed using the test bench provided along with the sample project). So one gets to observe how the actual signal is behaving on the board which is very essential to resolve timing issues in high speed designs. -Merits and Demerits 1. The major advantages of ChipScope compared to external logic analyzers are: Reduces the probe delays in analyzing the signals. Reduces the circuit performance degradation caused due to probing. Portable and convenient to analyze circuitry on FPGA. Cost logic analyzers can cost over $50,000. 2. There are few limitations of ChipScope as compared to external logic analyzers which are: Availability of resources on the FPGA (which comes into picture for large complex designs). A simple example is the amount of space occupied by the present counter design with and without ChipScope logic integrated respectively is: Figure 18: Device Utilization with ChipScope Figure 19: Device Utilization without ChipScope

Sampling rate cannot be faster than the design clock frequency (making glitch detection not possible). Exercise Try to develop a sine wave generator using LUT, CORDIC or any other technique and verify the same using ChipScope Pro tool. Hint: Using bus plot as shown below: -Author Bio Name: Vallabh Srikanth Devarapalli Graduate student at UNM in ECE department. E-mail: vsdevara@unm.edu. Updated By: Brian Zufelt Undergraduate student at UNM in ECE department.