The ChipScope™ PLB Integrated Bus Analyzer (IBA) core
is a specialized bus analyzer core designed to debug embedded systems that contain the IBM CoreConnect™ Processor
Local Bus (PLB) version 4.6. The ChipScope PLB46 IBA
core in EDK is based on a Tcl script that generates an Hardware Description Language (HDL) wrapper to the PLB IBA
and calls the ChipScope Core Generator (Coregen) to generate the netlist based on user parameters.
The ChipScope PLBv46 IBA is a soft IP core designed for
Xilinx® FPGAs and contains the following features:
•Probes the master, slave, arbiter, and error status signals
of the PLBv46 bus
•Probes the PLBv46 OR'ed slave signals
•Automatically adjusts ports to the PLBv46 bus width
•Separates master, slave, and error status signals into
independent match units which can be enabled or
disabled by a design parameter
•Allows independent enabling or disabling of probed
master, slave, and error status signals for data capture
•Supports trigger port customization by a design
parameter
•Supports match unit type customization for each trigger
port by a design parameter
•Supports sample depths from 1024-131,072 on
Virtex™-5 Devices selectable by a design parameter
•Can probe as few as 1 signals and as many as 1115
signals on a Virtex-5 device
•Provides a separate input bus to allow a user-defined
input debug port
•Supports a trigger output indicator pin that can be sent
off chip or to other cores
LogiCORE™ Facts
Core Specifics
Supported Device
Family
Version of Corechipscope_plb46_ibav1.00a
Spartan®-3, Spartan-3A, Spartan-3AN,
Spartan-3A DSP, Spartan-3E,
Virtex®-4, Virtex-4 FX, Virtex-4 LX,
Virtex-4 SX, Virtex-5 LX,
Virtex-5 LXT, Virtex-5 SXT
Resources Used
MinMax
SlicesN/AN/A
LUTsN/AN/A
FFsN/AN/A
Block RAMsN/AN/A
Provided with Core
DocumentationProduct Specification
Design File FormatsVHDL/EDIF
Constraints FileN/A
VerificationN/A
Instantiation Template N/A
Reference DesignsNone
Design Tool Requirements
Xilinx Implementation
Tools
VerificationChipScope Pro 11.1 or later
SimulationNot Supported in Simulation
SynthesisXST
ISE® 11.1 or later
Support
Provided by Xilinx, Inc.
For more information about the PLBv46 IBA core, refer to
the ChipScope Pro Software and Cores User Guide.
The IBA_PLBv46 ports listed in Table 1 connect to the PLBv46 bus. The core divides related ports into 13 match
unit groups (MUs) as shown in the second column of the table. Each match unit group can connect to a trigger port
of the IBA. Certain match unit groups, such as MU_1, are further subdivided to allow more fine control of the signals attached to a trigger port. For example, PLB_Rst is part of MU_1A and PLB_MRdErr is part of MU_1B but
both will be combined into MU_1 when enabled.
Every match unit label has a match type and match counter width parameter. The match unit type describes the
type of compare operation that can be done with the match unit. The valid values for this type are defined for each
match unit. For instance C_MU_1_TYPE only supports basic and basic with edges because multiple signals make
up this match unit bus; whereas for C_MU_3_TYPE, all compare options are available because this match unit
has only one connected signal bus type. The match counter width allows a user to look for multiple occurrences
of the match event. This counter width is controllable through the C_MU_xx_CNT_W parameter (xx is a place
holder for 1-13). When this parameter is set to 0 only 1 occurrence is counted, otherwise the match event count is
limited by the width of this parameter.
The number of match units to use is defined by the C_MU_xx_NUM parameter. By default if a match unit does
not have the C_MU_xx_NUM parameter then only one match unit is used for the match group. If the
C_MU_xx_NUM parameter is defined, then one or two match units are available for this match group. What this
enables is looking at sequences of this particular match group. For instance in match group 2 you may want a trigger sequence to first look at PLB_PAValid=1 followed by a rising edge on PLB_SaddrAck. For this specific trigger the first match unit is set to look for PLB_PAValid=1 and the second is set for PLB_SaddrAck=R.
The first match unit is labeled 1a and 1b. The 1a group of signals makes up the reset and error flag signals. The
1b group contains master related error signals. The generator allows adding 1a, 1b or both of these groups to the
core via the generic parameters C_USE_MU_1A, and C_USE_MU_1B respectively.
The second match unit has labels 2a, 2b, and 2c. The 2a signals contain 16 of the primitive ports which provide
essential PLB bus transaction information. The 2b signals contain buses that identify widths and master information of the active transaction. The 2c label is used for the transaction attribute bus. The three subdivided match
unit groups can be all or individually enabled using the parameters C_USE_MU_2A, C_USE_MU_2B, and
C_USE_MU_2C.
The third, fourth, and fifth match units are used for the address, data write, and data read buses respectively. Each
bus has a dedicated match unit so it can be individually enabled and defined with unique C_MU_xx_TYPE pattern match units.
The 6a and 6b match units are used for the slave side interface. This match unit holds all the control and status
ports of all the slaves on the PLB. Similarly, match units 11, 12 and 13 have all the control and status of all the
masters.
DS619 April 7, 2009www.xilinx.com5
Product Specification
When these match units are enabled, all slaves or masters are enabled. You cannot individually enable a particular
master.
The match units 7, 8, and 9 are slave side signals for BUSY, READ, and WRITE error controls going to the master. These units are broken out individually because this bus has one signal for each master on each slave. Consequently, you can have up to 256 signals on each one of these match units (if PLB goes to a 16 slave, 16 master
solution).
The arbiter status signals can be monitored using match unit 10. The signals probed by this match unit can help
identify the order of the PLB master transactions that are being sorted on the bus.
ChipScope PLB46 IBA Parameters
To create a ChipScope PLB46 IBA uniquely tailored for your system and to optimize performance, specific features can be parameterized on the PLB IBA. Table 2 describes the features that can be parameterized.
The ChipScope PLB IBA peripheral supports multiple trigger units that connect to the PLB Control bus, Address
bus, Data bus, lumped Slave or Master busses. Each one of these trigger units can be enabled and parameterized
independently. Tab le 2 lists all the parameters used in selecting the trigger port connections. These parameters
define what signals are connected to the trigger ports, the match unit type, and if the signals are stored in the sample buffer.
Table 2: IBA_PLBv46 Design Parameters
GenericFeature/DescriptionParameter Name
G1Target FamilyC_FAMILYspartan3,
G2DeviceC_DEVICEString
G3Device PackageC_PACKAGEString
G4Device speed gradeC_SPEEDGRADEString
G5Number of PLB MastersC_PLBV46_NUM_MASTERS1-82Integer
G6Number of PLB SlavesC_PLBV46_NUM_SLAVES1-81Integer
G7Number of bits required to encode
the number of PLB Masters
G8PLB Address Bus WidthC_PLBV46_AWIDTH3232Integer
G9PLB Data Bus WidthC_PLBV46_DWIDTH32,64,12864Integer
Table 2 lists the IBA PLBv46 parameterized features, which control the ports attached to the IBA trigger and stor-
age units. They also are used to configure the storage and match unit options available for each trigger port.
The IBA ports are subdivided into logical groups call match units, as shown in Table 1. Each match unit has a set
of parameters that are used to enable and define the trigger port configuration for a specific set of PLBv46 signals.
10www.xilinx.comDS619 April 7, 2009
Product Specification
Every match unit group has a match type and match counter width parameter. The match unit type describes the
type of compare operation that can be done on a match unit. The valid values for this type are defined for each
match unit. For example, C_MU_1_TYPE only supports basic and basic with edges since multiple signals make
up this match unit. Alternately, for C_MU_3_TYPE all compare options are available since this match unit has the
complete PLB_ABus bus connected to it. The match counter width allows you to look for multiple occurrences of
the match event. This counter width is controllable through the C_MU_xx_CNT_W parameter (where xx is a
place holder for the MU signal value, 1-13). When this parameter is set to 0, only one occurrence is counted; otherwise, the maximum match event count is limited by the width of this parameter.
The number of match units is defined by the C_MU_xx_NUM parameter. By default, if a match unit does not
have this parameter, only one match unit is used for the match unit group. If the C_MU_xx_NUM parameter is
defined, then one or two match units can be assigned for this match group. When multiple match units are available, sequences of a match unit group can be detected. For example, in MU_2, a trigger sequence could be created
to look for PLB_PAValid=1 followed by a rising edge on PLB_SaddrAck. For this specific trigger event the first
match unit of MU_2 would be set to PLB_PAValid=1 and the second to PLB_SaddrAck=R.
Allowable Parameter Combinations
All parameters are independent of each other. Each parameter must be in the range or exact value as listed in
Table 2. Certain combinations will disable the sub-parameters. For example, consider when C_USE_MU_3 is set
to 0. In this case all the C_MU_3_<XYZ> parameters are ignored because the match unit group has been disabled.
Depending on the architecture certain parameters may fail during a design rule check. For instance, if you specify
C_NUM_DATA_SAMPLES to be 32768 for a non-Virtex-5 device, you will get an error message. Also there you
must have a width of at least one signal going to the data sample storage buffer.
ChipScope PLB46 IBA Module Block Diagram
X-Ref Target - Figure 1
Chipscope
ICON
PLB
mon_plb
clk
iba_trig_in
icon_control
Chipscope
PLB_IBA
iba_trig_out
Figure 1: ChipScope PLB46 IBA Block Diagram
DS283_01_092506
DS619 April 7, 2009www.xilinx.com11
Product Specification
Design Implementation
The ChipScope PLB IBA design is implemented in a Tcl script. When the EDK Platgen tool is run, this Tcl script
is called and it internally calls the ChipScope Pro Core generator in command line mode providing a generated
argument (.arg) file to create a customized ILA. This ILA is customized per the IBA settings and is attached to the
PLB46 bus using a custom HDL wrapper.
XST is the synthesis tool used for synthesizing the wrapper HDL generated for the ChipScope PLB IBA. The
EDIF netlist output from XST and ChipScope Core Generator are then input to the Xilinx Foundation tool suite
for actual device implementation.
Target Technology
The intended target technology is all Xilinx FPGAs.
Device Utilization and Performance Benchmarks
The device utilization varies widely based on the parameter combinations set by the user.
Restrictions
Maximum number of signals that can be stored for non-Virtex-5 device families is limited to 256 signals. For Virtex-5 family devices the limit is 1024 signals.
References
•More information on the ChipScope Pro software and cores is available in the Software and Cores User
Guide, located at http://www.xilinx.com/documentation
•Information about hardware debugging using ChipScope Pro in EDK is available in the Platform Studdio
11.1 online help, located at http://www.xilinx.com/documentation
•Information about hardware debugging using ChipScope Pro in System Generator for DSP is available in
the Xilinx System Generator for DSP User Guide, located at http://www.xilinx.com/documentation
.
.
.
Support
Xilinx provides technical support for this LogiCORE product when used as described in the product documentation. Xilinx cannot guarantee timing, functionality, or support of product if implemented in devices that are not
defined in the documentation, if customized beyond that allowed in the product documentation, or if changes are
made to any section of the design labeled DO NOT MODIFY.
Ordering Information
The PLB IBA core is provided under the ISE Design Suite End-User License Agreement and can be generated
using the Xilinx Embedded Development Kit (EDK) system 11.1 or higher. EDK is shipped with the Xilinx ISE
Design Suite development software.
Xilinx is providing this design, code, or information (collectively, the “Information”) to you “AS-IS” with no warranty of any
kind, express or implied. Xilinx makes no representation that the Information, or any particular implementation thereof, is free
from any claims of infringement. You are responsible for obtaining any rights you may require for any implementation based
on the Information. All specifications are subject to change without notice. XILINX EXPRESSLY DISCLAIMS ANY
WARRANTY WHATSOEVER WITH RESPECT TO THE ADEQUACY OF THE INFORMATION OR ANY
IMPLEMENTATION BASED THEREON, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OR
REPRESENTATIONS THAT THIS IMPLEMENTATION IS FREE FROM CLAIMS OF INFRINGEMENT AND ANY
IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Except as stated
herein, none of the Information may be copied, reproduced, distributed, republished, downloaded, displayed, posted, or
transmitted in any form or by any means including, but not limited to, electronic, mechanical, photocopying, recording, or
otherwise, without the prior written consent of Xilinx.
DS619 April 7, 2009www.xilinx.com13
Product Specification
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.