PALMiCE FPGA Probing Function User's Manual

Similar documents
CCE 3202 Advanced Digital System Design

Logic Implementation on a Xilinx FPGA using VHDL WWU Linux platform assumed. rev 10/25/16

Logic Implementation on a Xilinx FPGA using VHDL WWU Linux platform assumed. rev 11/01/17

CCE 3202 Advanced Digital System Design

User s Manual (Forth edition)

Board-Data Processing. VHDL Exercises. Exercise 1: Basics of VHDL Programming. Stages of the Development process using FPGA s in Xilinx ISE.

[VARIABLE declaration] BEGIN. sequential statements

FPGA briefing Part II FPGA development DMW: FPGA development DMW:

Lab 3. Advanced VHDL

DESIGN AND IMPLEMENTATION OF MOD-6 SYNCHRONOUS COUNTER USING VHDL

Lab 3 Sequential Logic for Synthesis. FPGA Design Flow.

DIGITAL LOGIC DESIGN VHDL Coding for FPGAs Unit 6

DIGITAL LOGIC WITH VHDL (Fall 2013) Unit 1

Implementing Multipliers in Xilinx Virtex II FPGAs

Field Programmable Gate Array

Chip Design with FPGA Design Tools

VHDL Testbench. Test Bench Syntax. VHDL Testbench Tutorial 1. Contents

VIVADO TUTORIAL- TIMING AND POWER ANALYSIS

DIGITAL LOGIC WITH VHDL (Fall 2013) Unit 6

Introduction to Xilinx Vivado tools

Sequential Logic - Module 5

ECE 545 Lecture 6. Behavioral Modeling of Sequential-Circuit Building Blocks. George Mason University

TRAFFIC LIGHT CONTROLLER USING VHDL

Programming Xilinx SPARTAN 3 Board (Simulation through Implementation)

Circuit Design and Simulation with VHDL 2nd edition Volnei A. Pedroni MIT Press, 2010 Book web:

Vivado Walkthrough ECGR Fall 2015

Sequential Statement

Inferring Storage Elements

Getting Started with Xilinx WebPack 13.1

VHDL: Modeling RAM and Register Files. Textbook Chapters: 6.6.1, 8.7, 8.8, 9.5.2, 11.2

Xilinx ISE8.1 and Spartan-3 Tutorial EE3810

Using ModelSim to Simulate Logic Circuits in VHDL Designs. 1 Introduction. For Quartus II 13.0

FPGA design with National Instuments

Revision: February 27, E Main Suite D Pullman, WA (509) Voice and Fax

ECE 448 Lecture 4. Sequential-Circuit Building Blocks. Mixing Description Styles

Experiment 8 Introduction to VHDL

Maximizing Logic Utilization in ex, SX, SX-A, and Axcelerator FPGA Devices Using CC Macros

Chapter 2 Getting Hands on Altera Quartus II Software

Maximizing Logic Utilization in ex, SX, and SX-A FPGA Devices Using CC Macros

Converting Hardware Interface Layer (HIL) v1.x Projects to v2.0

VHDL HIERARCHICAL MODELING

QUARTUS II Altera Corporation

Banks, Jasmine Elizabeth (2011) The Spartan 3E Tutorial 1 : Introduction to FPGA Programming, Version 1.0. [Tutorial Programme]

Introduction to WebPACK 5.2 for FPGAs. Using Xilinx WebPACK Software to Create FPGA Designs for the XSB-300E Board

EENG 2910 Project III: Digital System Design. Due: 04/30/2014. Team Members: University of North Texas Department of Electrical Engineering

Revision: February 27, E Main Suite D Pullman, WA (509) Voice and Fax

Advanced module: Video en/decoder on Virtex 5

Control and Datapath 8

Outline. CPE/EE 422/522 Advanced Logic Design L05. Review: General Model of Moore Sequential Machine. Review: Mealy Sequential Networks.

TLL5000 Electronic System Design Base Module

Using the ChipScope Pro for Testing HDL Designs on FPGAs

Xilinx ISE8.1 and Spartan-3 Tutorial (Prepared by Kahraman Akdemir based on Professor Duckworth's Tutorials updated September 2006)

TLL5000 Electronic System Design Base Module. Getting Started Guide, Ver 3.4

Summary of FPGA & VHDL

Hardware Synthesis. References

COE Design Process Tutorial

Lecture 7. Standard ICs FPGA (Field Programmable Gate Array) VHDL (Very-high-speed integrated circuits. Hardware Description Language)

The block diagram representation is given below: The output equation of a 2x1 multiplexer is given below:

SOPC LAB1. I. Introduction. II. Lab contents. 4-bit count up counter. Advanced VLSI Due Wednesday, 01/08/2003

Lecture 12 VHDL Synthesis

Active-HDL. Getting Started

APPENDIX 1 SINUSOIDAL PULSE WIDTH MODULATION

Part 4: VHDL for sequential circuits. Introduction to Modeling and Verification of Digital Systems. Memory elements. Sequential circuits

Lab 4: Integrating a picoblaze processor in LabVIEW FPGA by use of CLIP node

Senior Project Design Review: Internal Hardware Design of a Microcontroller in VLSI

Introduction to WebPACK 6.1. Using Xilinx WebPACK Software to Create FPGA Designs for the XSA Board

The board is powered by the USB connection, so to turn it on or off you plug it in or unplug it, respectively.

Introduction to WebPACK 4.1 for FPGAs. Using Xilinx WebPACK Software to Create FPGA Designs for the XSA Board

CSE 260 Introduction to Digital Logic and Computer Design. Exam 1. Your name 2/13/2014

HDL Coding Style Xilinx, Inc. All Rights Reserved

DatasheetDirect.com. Visit to get your free datasheets. This datasheet has been downloaded by

1 ST SUMMER SCHOOL: VHDL BOOTCAMP PISA, JULY 2013

FSM Components. FSM Description. HDL Coding Methods. Chapter 7: HDL Coding Techniques

Adding the ILA Core to an Existing Design Lab

ECOM 4311 Digital Systems Design

TUTORIAL On USING XILINX ISE FOUNDATION DESIGN TOOLS: Mixing VHDL and Schematics

Probes are available for placement in the Schematic Editor only, by choosing Place» Directives» Instrument Probe [P, V, I] from the main menus.

Parallel Cable III Emulator for the XSB-300E Board

VHDL And Synthesis Review

The University of Alabama in Huntsville ECE Department CPE Final Exam Solution Spring 2004

Hardware Description Language VHDL (1) Introduction

Concurrent & Sequential Stmts. (Review)

Timing Analysis in Xilinx ISE

The Virtex FPGA and Introduction to design techniques

Abi Farsoni, Department of Nuclear Engineering and Radiation Health Physics, Oregon State University

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

Tutorial on Simulation using Aldec Active-HDL Ver 1.0

MANUAL XILINX ISE PROJECT NAVIGATOR

Laboratory 4 Design a Muti-bit Counter

Introduction to WebPACK 6.3. Using Xilinx WebPACK Software to Create FPGA Designs for the XSA Board

Using XILINX WebPACK Software to Create CPLD Designs

Lab 6 : Introduction to Verilog

Verilog Design Entry, Synthesis, and Behavioral Simulation

EE 367 Logic Design Lab #1 Introduction to Xilinx ISE and the ML40X Eval Board Date: 1/21/09 Due: 1/28/09

EEL 4712 Digital Design Test 1 Spring Semester 2007

Schedule. ECE U530 Digital Hardware Synthesis. Rest of Semester. Midterm Question 1a

Introduction. About this tutorial. How to use this tutorial

Version 1.6/ Design Flow. The Development Tools Questa and Vivado

ELEC 204 Digital System Design LABORATORY MANUAL

Laboratory of Digital Circuits Design: Design, Implementation and Simulation of Digital Circuits Using Programmable Devices

Transcription:

PALMiCE FPGA Probing Function User's Manual This manual describes the probing function and presents the basic usage patterns. Chapter1 Introducing the Probing Function The probing function makes it easy for the CSIDE debugging software to connect FPGA internal nodes (signals) to pins. This allows waveform monitoring based debugging to proceed smoothly. The previously troublesome and time-consuming operation of modifying a source file, performing the logic synthesis/place and route operations, and finally performing a configuration operation can now be performed simply with just CSIDE operations, and execution only takes from under a minute to just a few minutes. Note The signals that can be modified or added are the signals that have placement information (that is, the signals displayed in the CSIDE Node Location window). Signals that have been optimized in logic circuits cannot be routed. In this case, you must either use the CSIDE ISE linkage function (see Chapter4 ISE Linkage Function) or re-synthesize in the Xilinx FPGA development tool ISE. Since the actual routing operation uses the ISE FPGA editor, the ISE Web Pack is not supported. The following section describes the probing function in detail. 1

Chapter2 Using the Probing Function To use the probing function, first associate the FPGA pins and channels. 2.1 Associating FPGA Pins and Channels When using the probing function, first, the FPGA pins allocated as analyzer pins must be linked to the PALMiCE analyzer function channels. Rather than linking the FPGA pins each time internal signals to be monitored are set up, we recommend allocating the FPGA pins and the channels in advance. If this linkage is set up in advance, then the following debugging operations based on repeatedly registering and changing the monitored signals will proceed smoothly. There are two methods for linking FPGA pins and channels. 1. Using the probing settings wizard 2. Using commands The following section describes these two methods. *In the figure, the FPGA pins are the pins that are actually connected to the user system. 2.1.1 Linking by using the probing settings wizard 1. When registering and changing the monitored signals, click the [Probing function] button to enable the probing function. Then click [Analyzer Pin Settings]. 2

2. The Probing Settings wizard is displayed. Register the FPGA pins according to the wizard procedure. Click [Finish] when done registering pins. 2.1.2 Linking by using commands This section describes the procedure for linking using commands. Commands are entered and executed in the Command window. Use the StateAnalyzerChannelPin command. (See the Command Reference section in the PALMiCE FPGA Online Manual.) Example1 To set the FPGA pin connected to channel 0 (CH0) to chain number 1 FPGA pin number M15. StateAnalyzerChannelPin( 0, 1, M15 ) It is also possible to set up multiple channels and FPGA pins easily by creating a macro file and executing it in the Command window. Example2 Macro file example: settings for channels 0 to 7 (CH0 to CH15) {probingset StateAnalyzerChannelPin( 0, 1, M15 ) StateAnalyzerChannelPin( 1, 1, M16 ) StateAnalyzerChannelPin( 2, 1, M13 ) StateAnalyzerChannelPin( 3, 1, L14 ) StateAnalyzerChannelPin( 4, 1, L15 ) StateAnalyzerChannelPin( 5, 1, L16 ) StateAnalyzerChannelPin( 6, 1, L13 ) StateAnalyzerChannelPin( 7, 1, K14 ) StateAnalyzerChannelPin( 8, 1, K15 ) StateAnalyzerChannelPin( 9, 1, K16 ) StateAnalyzerChannelPin( 10, 1, L12 ) StateAnalyzerChannelPin( 11, 1, K12 ) StateAnalyzerChannelPin( 12, 1, K13 ) StateAnalyzerChannelPin( 13, 1, J14 ) StateAnalyzerChannelPin( 14, 1, J15 ) StateAnalyzerChannelPin( 15, 1, J16 ) } Enter "probingset" in the Command window and execute it. 3

2.2 Registering Monitored Signals The following methods can be used to register signals for waveform monitoring. Registration from the Editor window Registration from the Node Location window Registration from the analyzer settings 2.2.1 Registration from the Editor and Node Location windows Registration from the Editor window Registration from the Node Location window Right click on the signal to be registered and select [Register in the Analyzer] from the pop-up menu. 2.2.2 Registration from the analyzer settings Right click anywhere in the Analyzer window and select [Analyzer settings] from the pop-up menu. The Analyzer Settings dialog box will be displayed. Signals can be registered with the [Set trigger and signal] tab. See Chapter3 Trying the Probing Function for details. The signals that can be registered as monitored signal are the signals that have placement information (that is, the signals displayed in the CSIDE Node Location window). Signals that have been optimized in logic circuits cannot be routed. The sequence of modifying the source file, performing the logic synthesis/place and route operations, and finally performing a configuration operation is required to monitor signals that have no placement information. However, these operations can also be performed in CSIDE using the ISE linkage function. (See Chapter4 ISE Linkage Function.) 4

Chapter3 Trying the Probing Function This chapter describes the probing function using a sample program. This sample program is written in the VHDL language. It is a simple circuit consisting of 8-bit counter and flip flop elements. The sample program is shown here. ------------------------------------------------------------- -- Sample Circuit -- Copyright 2004 COMPUTEX CO.,LTD. All rights reserved. ------------------------------------------------------------- library IEEE ; use IEEE.std_logic_1164.all ; use IEEE.std_logic_unsigned.all ; entity SAMPLE is port ( CE : in std_logic; RESET : in std_logic; CK : in std_logic; OUT_DT : out std_logic_vector(7 downto 0) ) ; end SAMPLE; architecture BEHAVIOR of SAMPLE is -- ***************** COMPONENT ****************** -- component CAPTURE_SPARTAN2 port( CAP : in std_logic ; CLK : in std_logic ) ; end component ; component BUFG port ( I : in std_logic; O : out std_logic ); end component; --Signal-- signal CK_GCK : std_logic; signal COUNT_DT : std_logic_vector(7 downto 0); ------------------------------------------------------------- begin UC : CAPTURE_SPARTAN2 port map (CAP => '1',CLK => CK_GCK) ; U1 : BUFG port map (I => CK, O => CK_GCK); ------------------------------------------------------------- process (CK_GCK,RESET) begin if (RESET = '1') then COUNT_DT <= "00000000"; elsif (CK_GCK'event and CK_GCK = '1') then if CE = '1' then COUNT_DT <= COUNT_DT + '1'; end if; end if; end process; process (CK_GCK) begin if (CK_GCK'event and CK_GCK = '1') then OUT_DT <= COUNT_DT; end if; end process; end BEHAVIOR; component IBUF port ( I : in std_logic; O : out std_logic ); end component; -- ***************** END COMPONENT ****************** -- 5

3.1 Linking Channels to FPGA Pins First, we link the channels to the FPGA pins. In this section we describe the procedure for using the Probing Settings wizard. 1. Select [Analyzer] from the [View] menu in the CSIDE main window. The Analyzer window will be displayed. Right click anywhere in the Analyzer window and select [Analyzer Settings] from the pop-up menu. The Analyzer Settings window will be displayed. Select the [Set trigger and signal] tab. The dialog box show here will be displayed. Click [Add]. 2. Click [Probing function] to enable the probing function. Next click [Analyzer Pin Settings]. 6

3. The Probing Settings wizard will be displayed. Register the FPGA pins according to the wizard procedure. 4. Register the FPGA pin numbers in each channel. Select the channel for registration and click [Edit]. Note [Save Macro] button This button saves the current settings in a macro file. 5. The Modify Analyzer Pin dialog box will be displayed. Set the pin number and click [OK]. Note [Advanced Settings] button Sets the pin electrical characteristics. See the online manual for details. 6. After registering the pins, click [Next]. 7

7. Verify the set values and click [Finish]. 8. This completes linking the channels to the FPGA pins. 8

3.2 Registering the Monitored Signals Once the channels and FPGA pins have been linked, next, register the bus signals count_dt[7:0] in channels 0 to 7. This section describes this operation from the standpoint of the Analyzer Settings dialog box. To register the signals using the Editor window and the Node Location window, proceed to step 4 immediately. 1. Right click anywhere in the Analyzer window and select [Analyzer Settings] from the pop-up menu. The Analyzer Settings dialog box will be displayed. Select the [Set trigger and signal] tab. Then click [Add]. 2. The Signal Settings dialog box will be displayed. Click [Probing function] to enable the probing function. 3. Select the signal name to register from the [Node name] list. Select count_dt[7:0]. 9

4. Select the channels to allocate. Check channels 0 to 7. Click [Registration] after the channels have been selected. Note The number of required channels and the number of selected channels will be displayed. Select channels so that these two channel counts have the same value. BusSize = 8 / 8 The number of required channels The number of selected channels If [Automatic Channel Allocation] is checked, CSIDE will select the channels to use from the unused channels and allocate them automatically. 5. The Signal Settings dialog box will be displayed for the next signal registrations. Since we will not be registering them using this dialog box, click [Close] to close this dialog box. 6. The count_dt[7:0] signals are registered for channels 0 to 7. Set the trigger and other conditions and click [OK]. 10

7. A dialog box that verifies whether or not you want to have all the signal settings reflected in the window will open. Click [Yes]. 8. Start the FPGA editor and click [Yes] in the dialog box that opens to confirm whether or not you want to perform a configuration operation. 9. The FPGA editor runs and performs a configuration operation. When the configuration completes normally, "Configuration of FPGA completed normally" will be displayed in the status bar. 10. The count_dt[7:0] signals will have been added. 11

3.3 Modifying the Monitored Signals This section describes the procedure for modifying the count_dt[7:0] signals registered in section 3.2 Registering the Monitored Signals 1. Right click anywhere in the Analyzer window and select [Analyzer Settings] from the pop-up menu. The Analyzer Settings dialog box will be displayed. Select the [Set Trigger and Signal] tab. Select count_dt[7:0] as the signal name to be modified and click [Change]. 2. The Signal Settings dialog box will be displayed showing the current registration state. 3. Select the signals to be modified from the [Node name] list. Select "ce". The unnecessary channels will be cleared. To allocate the ce signal to another channel, check the channel to which it is to be allocated. 12

4. When the signal modifications have been made, click [OK]. 5. This modifies the ce signal. Set the trigger and other conditions and click [OK]. 6. A dialog box that verifies whether or not you want to have all the signal settings reflected in the window will open. Click [Yes]. 7. Start the FPGA editor and click [Yes] in the dialog box that opens to confirm whether or not you want to perform a configuration operation. 8. The FPGA editor runs and performs a configuration operation. When the configuration completes normally, "Configuration of FPGA completed normally" will be displayed in the status bar. 13

9. This modifies the ce signal for count_dt[7:0] signal waveform monitoring. 14

Chapter4 ISE Linkage Function The CSIDE ISE linkage function is used to register and modify signals that have no placement information. This function can perform the sequence of operations consisting of (1) modifying the source in CSIDE, (2) synthesis, and (3) configuration. The actual synthesis operation is performed by the Xilinx FPGA development tool ISE. (Read the Synthesis and Synthesis following Place and Route in the online manual in conjunction with this section.) This section uses the example used in Chapter3 Trying the Probing Function. The following describes the procedure for registering the bus signal count_dt[0..7]. 1. For the signals that were registered (added), define pins in the UCF file so that the allocated pins are routed as analyzer pins during synthesis. Select [Source] in the [FPGA] menu. The FPGA source window will be displayed. Open the sample.ucf file and define the FPGA pins. 2. Define the FPGA pins. Although any names can be used for the added pins, we will use CH_CTEX(0) to (7) in this section. Note The FPGA pins defined here are pins that are actually connected to the user system. After defining the FPGA pins, select [Save] - [File] from the File menu to save the ucf file. 15

3. Select the sample.vhd file in the FPGA Source Management window, and open the file. Edit the file as necessary. Analyzer monitored signal pin declaration Allocating count_dt[7.. 0] to the analyzer monitored signals 4. After the sample.vhd file has been edited as required, execute [Synthesize] from the FPGA menu. The message shown here will be displayed. If this is acceptable, click [Yes]. 5. ISE will run, and after synthesis, a configuration operation will be performed. When the configuration completes normally, "Configuration of FPGA completed normally" will be displayed in the status bar. 16

6. Register the signals in the Analyzer window. Select [Analyzer] in the [View] menu. The Analyzer window will open. Either double click or right click anywhere in the Analyzer window and select [Analyzer Settings] from the pop-up menu. The Analyzer Settings dialog box will be displayed. Select the [Set Trigger and Signal] tab. Click [Add]. 7. The Signal Settings dialog box will be displayed. Disable the probing function. 8. Enter count_dt as the [Signal] and click channels 0 to 7. Next, click [Registration]. 9. The Signal Settings dialog box will be displayed for the next signal registration. Since there are no signals to register at this point, click [Close] to close this dialog box. 10. The count_dt[7:0] signals are now registered for channels 0 to 7. Set the trigger and other conditions and click [OK]. 11. A dialog box that verifies whether or not you want to have all the signal settings reflected in the window will open. Click [Yes]. 17

12. The count_dt[7:0] signals have now been added. Computex Co.,ltd. Head office 432-13, 4-chome, Gojyoubashi-higashi, Higashiyama-ku, Kyoto, 605-0846 TEL.075(551)0528 FAX.075(551)2585 Sales department 7F, DNK-building, 15-2, 2-chome, Uchikanda, Chiyoda-ku, Tokyo, 101-0047 TEL.03(3253)2901 FAX.03(3253)2902 PALMiCE FPGA Probing Function User's Manual CM654(B)0411 18