SignalTap: An In-System Logic Analyzer

Similar documents
Using SignalTap II in the Quartus II Software

SignalTap Analysis in the Quartus II Software Version 2.0

Laboratory Exercise 7

DE2-115/FGPA README. 1. Running the DE2-115 for basic operation. 2. The code/project files. Project Files

Laboratory Exercise 4

Debugging of VHDL Hardware Designs on Altera s DE2 Boards

FPGA TechNote: Asynchronous signals and Metastability

Ryerson University Department of Electrical and Computer Engineering COE/BME 328 Digital Systems

CHAPTER 3 EXPERIMENTAL SETUP

Debugging of Verilog Hardware Designs on Altera s DE-Series Boards. 1 Introduction. For Quartus Prime 15.1

Procedures to Characterize Maury s Automatic Tuner Using ATS Software Version 5.1 or above

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

Implementing Audio IP in SDI II on Arria V Development Board

Laboratory Exercise 7

Quick Reference Manual

Getting Started with the LabVIEW Sound and Vibration Toolkit

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

Introduction To LabVIEW and the DSP Board

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

Digilent Nexys-3 Cellular RAM Controller Reference Design Overview

Using the Quartus II Chip Editor

Mortara X-Scribe Tango+ Interface Notes

FAQ of DVB-S PI210. Copyright KWorld Computer Co., Ltd. All rights are reserved. October 24, 2007

AN 848: Implementing Intel Cyclone 10 GX Triple-Rate SDI II with Nextera FMC Daughter Card Reference Design

Solutions to Embedded System Design Challenges Part II

PRELIMINARY INFORMATION. Professional Signal Generation and Monitoring Options for RIFEforLIFE Research Equipment

Cyclone II EPC35. M4K = memory IOE = Input Output Elements PLL = Phase Locked Loop

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

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

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)

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

EEM Digital Systems II

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

Lab experience 1: Introduction to LabView

Agilent Parallel Bit Error Ratio Tester. System Setup Examples

Altera s Max+plus II Tutorial

ENGR 1000, Introduction to Engineering Design

EdgeConnect Module Quick Start Guide ITERIS INNOVATION FOR BETTER MOBILITY

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

MIE 402: WORKSHOP ON DATA ACQUISITION AND SIGNAL PROCESSING Spring 2003

Serial Digital Interface Reference Design for Stratix IV Devices

SignalTap Plus System Analyzer

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

LedSet User s Manual V Official website: 1 /

Configuring the Stack ST8961 VS Module when used in conjunction with a Stack ST81xx series display.

User Manual. English. Sequencer Control Option BE3200. I en HBM: public

USER GUIDE. Get the most out of your DTC TV service!

Mortara XScribe Versions 3.xx and 5.xx Tango M2 Interface Notes

Defining and Labeling Circuits and Electrical Phasing in PLS-CADD

Welch Allyn CardioPerfect Workstation Tango+ Interface Notes

Wilkes Repair: wilkes.net River Street, Wilkesboro, NC COMMUNICATIONS

Advanced Synchronization Techniques for Data Acquisition

Training Note TR-06RD. Schedules. Schedule types

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

CHAPTER 6 DESIGN OF HIGH SPEED COUNTER USING PIPELINING

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

CCE900-IP-TR. User s Guide

Aurora Grid-Tie Installation Instructions (Model Number: PVI-3.0-OUTD-US-W) Revision 4.1

Analyzing and Saving a Signal

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

Fig. 1. The Front Panel (Graphical User Interface)

INSTALLATION AND OPERATION INSTRUCTIONS EVOLUTION VIDEO DISTRIBUTION SYSTEM

Cisco Spectrum Expert Software Overview

This guide gives a brief description of the ims4 functions, how to use this GUI and concludes with a number of examples.

Traffic Light Controller

Serial Decode I2C TEN MINUTE TUTORIAL. December 21, 2011

First Time Setup Guide

2. Logic Elements and Logic Array Blocks in the Cyclone III Device Family

NanoGiant Oscilloscope/Function-Generator Program. Getting Started

PQ-Box 100 Quick Start Instructions

Implementing VGA Application on FPGA using an Innovative Algorithm with the help of NIOS-II

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

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

Video Effects Processor - VSL 201

ExtIO Plugin User Guide

1. Synopsis: 2. Description of the Circuit:

1 Terasic Inc. D8M-GPIO User Manual

PEP-II longitudinal feedback and the low groupdelay. Dmitry Teytelman

Decade Counters Mod-5 counter: Decade Counter:

Programmable Logic Design I

SigPlay User s Guide

Reference Guide 2015 ZOOM CORPORATION. Copying or reprinting this manual in part or in whole without permission is prohibited.

Signals Needed for Digital Communications

Scan Converter Quick Installation Guide

Logic Controls LV3000 VGA Connected Virtual Pole Display

THDB_ADA. High-Speed A/D and D/A Development Kit

SERDES Eye/Backplane Demo for the LatticeECP3 Versa Evaluation Board User s Guide

ViewCommander- NVR Version 3. User s Guide

B2 Spice A/D Tutorial Author: B. Mealy revised: July 27, 2006

Operating Instructions

AC335A. VGA-Video Ultimate Plus BLACK BOX Back Panel View. Remote Control. Side View MOUSE DC IN OVERLAY

Leveraging Reconfigurability to Raise Productivity in FPGA Functional Debug

Part 1 Basic Operation

Quick Help Teaching Room Technology Support

Positive Attendance. Overview What is Positive Attendance? Who may use Positive Attendance? How does the Positive Attendance option work?

D-Lab & D-Lab Control Plan. Measure. Analyse. User Manual

TELEVISION. Star Plans. Interactive Guide and DVR (Digital Video Recorder) Manual ARVIG arvig.net

LabView Exercises: Part III

Getting Started Guide for the V Series

Topic: Instructional David G. Thomas December 23, 2015

Transcription:

SignalTap: An In-System Logic Analyzer I. Introduction In this chapter we will learn 1 how to use SignalTap II (SignalTap) (Altera Corporation 2010). This core is a logic analyzer provided by Altera that is compiled with your design. A block diagram view of the system is shown in Fig. 1. Fig. 1. Block diagram of a design that has SignalTap compiled as a separate design partition (Altera Corporation 2010). The goals of this chapter are: 1. To guide the reader in downloading and verifying a simple design on the DE1 board via SignalTap. 2. To explain the concepts of clock, trigger and buffer in SignalTap. 3. To help the reader understand different areas of the SignalTap main window. 1 As usual, this tutorial refers to version 10.0 of Quartus and the associated tools.

II. The System The design to be analyzed configures a Cyclone II Phase Locked Loop (PLL) via the MegaIP Wizard to step up the 50 MHz DE1 board clock to 100 MHz 2. We use a counter to step down the 50 MHz clock to 1 Hz and output the slow clock to a green LED on the DE1. We use the same counter, but the input clock is 100 MHz. We output this clock to a red LED on the board. Visually, the red LED will appear to flash twice as fast as the green LED. A top-level FSM waits for the user to press KEY(0) on the DE1 board before running the design. We confirm the 100 MHz clock frequency using SignalTap. A top-level RTL output of the project is shown in Fig. 2. Note that to avoid confusion, Fig. 2 does not include the SignalTap core. Fig. 2. The top level RTL view of the signaltapdemo project To continue, please open the signaltapdemo Quartus project. III. Starting SignalTap Note that before we can use SignalTap we need to enable the TalkBack feature in Quartus. Refer to Appendix A at the end of this chapter to enable the TalkBack feature. There are many ways to start SignalTap. The easiest way is to add a SignalTap (.stp) file to our project. We will then configure SignalTap, compile SignalTap with our design and download the resulting.sof file to the DE1 board. Note that every time we change settings in SignalTap, we need to recompile the entire project since we are using the free web edition of Quartus. The subscription edition of Quartus has the incremental compilation feature that enables us to recompile only modified elements of our design. First, to start SignalTap, add the.stp file to our project as follows: 1. Once you open the signaltapdemo project, left-click File New. 2 We will use faster clocks in later chapters to output higher VGA resolutions.

2. The window in Fig. 3 should pop up. Left-click on as shown in Fig. 3 and left-click. Fig. 3. Adding the.stp file to your project The SignalTap window in Fig. 4 appears. The different sub-windows of SignalTap have been labeled in Fig. 4. We will use these sub-windows to understand some of the basic concepts behind SignalTap.

IV. Basic Concepts behind SignalTap Fig. 4. SignalTap main window There are three main concepts behind SignalTap: the clock signal, the trigger and the buffer. Please refer to Fig. 4 throughout the discussion below. 1. The Clock Signal provides the source of the sampling clock for your design. In this case, we will use a 300 MHz sampling clock. According to the Nyquist-Shannon sampling theorem (Varaiya and Lee 2002), to avoid aliasing, the sampling clock needs to be at least twice as fast as the highest frequency in the system. In our project the fastest clock has a frequency of 100 MHz. Hence we need a sampling clock with a frequency of at least 200 MHz. 2. The Trigger source starts the sampling of the specified signals (using the sampling rate of the Clock Signal in 1.). In the case of our project we will trigger on the start button. That is, SignalTap will wait till the user presses KEY0 on the board to start sampling at the rate specified by the clock signal. 3. The Buffer is where the data is stored. We will use a buffer size of 4K. The size of the buffer and the number of signals that we monitor determine the amount of time for which data can be stored.

Based on the discussion above we will configure SignalTap to use the 300 MHz clock as the sampling clock, KEY(0) as the trigger and a buffer size of 4K. To configure SignalTap to use the 300 MHz clock: 1. Left-click on the next to The Clock Signal label in Fig. 4. The Node-finder window in Fig. 5 appears. Fig. 5. The node finder window The node finder window can be used to add clock sources, signals and triggers. We will add the 300 MHz clock signal first. First, make sure the default setup of the node finder window matches the settings in Fig. 6. Fig. 6. Default setup of the node finder window, compare to Fig. 5 2. The default setup indicates that we are going to list all names from our design entry. Left-click in the node finder window. Fig. 5 changes to Fig. 7.

Fig. 7. The node finder window listing all signals in our design entry Scroll down the as shown in Fig. 8. list till you can select clockpll:pllrealization c1 signal Notice that Quartus synthesized away the node name specified in our project. The reason is that the 300 MHz clock is not driving any input.

Fig. 8. Selecting the 300 MHz clock signal. The format of the node is <component name>:<instance name> port 3. Left-click to move the node to. Next, left-click. This should bring up the SignalTap main window. The relevant part of this window is shown in Fig. 9. Fig. 9. The Clock source is selected to be the second output of the PLL, the 300 MHz clock Now we will configure the sample depth or Buffer size. Simply select 4K from the drop down box in Fig. 9.

Finally we will add the signals that we want to sample and select one of them as the trigger source. A very important note about SignalTap is that it is not possible to display or trigger on the clock source. To add signals to be monitored: 4. Right-Click in the Trigger Sources and Signals to be Monitored sub-window (refer to Fig. 4). This should bring up the menu shown in Fig. 10. Fig. 10. We will use the Node Finder to add signals and trigger sources

5. Left-click. The Node finder window appears again. Select nodes such that the Node finder window matches Fig. 11 shown below. Fig. 11. Selecting the signals to monitor and our trigger source We have elected to monitor three signals: KEY(0) 3, the 50 MHz clock and the 100 MHz clock. The node for the 100 MHz clock is. 6. Left-click the Trigger Sources. This should bring back the SignalTap main window but now and Signals to be monitored is filled. Refer to Fig. 12. Fig. 12. The setup window configured with our nodes to be monitored 3 We use the VHDL notation for KEY: KEY(0) instead of SignalTap s square bracket notation: KEY[0].

7. We will trigger on a falling edge (active low) of KEY(0). Right-Click the under Trigger Conditions for KEY(0) and select as shown in Fig. 13. Fig. 13. Configuring KEY(0) as the trigger 8. Uncheck for the other signals. The final result should be Fig. 14. Fig. 14. Trigger and signals are selected We are almost ready to simulate. First, notice that the amount of memory (M4K) blocks required by our.stp file is reported under the SignalTap Memory Usage section in Fig. 4. Fig. 15 below shows only this section from Fig. 4 but with the relevant information filled in. Fig. 15. Trigger and signals are selected Finally we need to save, compile and download our design. This is done in the next section. V. Running SignalTap

1. Save your.stp file by selecting File Save. Use the default name, a dialog box asks if you want to enable SignalTap for the current project. Select yes and open the minimized Quartus Window. You should see the stp1.stp under Project Navigator and the design ready to be compiled as shown in Fig. 16. Fig. 16. Quartus project with SignalTap module added Double-click on and wait for the synthesis to finish.

2. Once synthesis is complete, maximize the SignalTap window again and browse for the.sof file by left-clicking next to the.sof file information box (refer to Fig. 4). Choose the signaltapdemo.sof file, the result is shown in Fig. 17. Fig. 17. signaltapdemo.sof selected for download 3. Now power on the DE1 board by connecting the USB cable to your laptop. Left-click (in Fig. 17) to bring up the Hardware Setup window shown in Fig. 18. Use the drop-down box as shown in Fig. 18 to select the USB-Blaster. Left-click to go back to the SignalTap main window. Fig. 18. Selecting the USB blaster 4. Use the drop down box (refer to Fig. 19) to select USB-Blaster in the SignalTap main window. Fig. 20 shows the result.

Fig. 19. Enabling USB blaster in SignalTap Fig. 20. USB blaster enabled in SignalTap 5. SignalTap should now be ready to acquire. Left-click the tab under the Trigger Sources and Signals to be monitored and Left-click on the SignalTap instance under SignalTap Memory Usage (refer to Fig. 4). Fig. 21 shows the result. 6. Left-click on Run-Analysis button. SignalTap will interface to the DE1 and wait for you to press KEY(0). Once you press KEY(0), you should obtain Fig. 22. 7. In order to zoom in and confirm that we have a doubled clock, move your mouse cursor over the any of the signals in the Data window. The cursor will change to a zoom icon. Repeatedly left-click till you can visually confirm that you have a doubled clock, refer to Fig. 23. Now, it would be useful if the time units were in seconds instead of sample numbers. To change the units, right-click on the scale. Enter 3.33 ns since we have a 300 MHz sampling clock and leftclick and select. Figure 24 shows the result.

Fig. 21. SignalTap ready to acquire Fig. 22. Data acquired in SignalTap, after pressing KEY(0)

Fig. 23. Zoomed in signals. Notice that the clocks are not synchronized Fig. 24. Axis scale adjusted to display time units. Notice that the PLL clock out has twice the frequency as the 50 MHz clock VI. Conclusions In this chapter, we introduced you to SignalTap. We downloaded a simple clock doubler design on the DE1 board and confirmed the functionality of our design. SignalTap has advanced features like segmented buffering, advanced trigger conditions like state-based triggering etc. The SignalTap user s manual from Altera (Altera Corporation 2010) is a good starting point for advanced functionality in SignalTap. VII. References Altera Corporation. "Quartus II 10.0 handbook - Design Debugging Using the SignalTap II Logic Analyzer." July 2010. http://www.altera.com/literature/hb/qts/qts_qii53009.pdf (accessed July 2010). Varaiya, Pravin P, and Edward A Lee. Structure and Interpretation of Signals and Systems. Addison- Wesley, 2002. VIII. Revision History Date August 2010 Author/Comments Dr. Muthuswamy/initial documentation

Appendix A Enabling the TalkBack Feature Before we begin, we need to enable the TalkBack feature of Quartus II web edition so we can use SignalTap. Follow the steps below to enable the TalkBack feature. Step 1: Start Quartus and select Tools Options Internet Connectivity. You should see the window in Fig. A1. Fig. A1. Enabling TalkBack Select and enable the feature. Save your settings and restart Quartus. You should now be able to use SignalTap.