The PLB PCI Full Bridge design provides full bridge
functionality between the Xilinx 64-bit PLB and a 32-bit
Revision 2.2 compliant Peripheral Component
Interconnect (PCI) bus. The bridge is referred to as the
PLB PCI Bridge in this document.
The Xilinx PLB is a 64-bit bus subset of the IBM PLB
described in the 64-Bit Processor Local Bus Architecture Specification v3.5. Details on the Xilinx PLB and the PLB
IPIF are found in the Processor IP Reference Guide. This
guide is accessed via EDK help or the Xilinx website at:
The LogiCORE PCI v3.0 core provides an interface with
the PCI bus. Details of the LogiCORE PCI 32 v3.0 core
operation is found in the
v3.0 Product Specification and the Xilinx The Real-PCI
Design Guide v3.0.
Xilinx LogiCORE PCI Interface
Product Specification
LogiCORE™ Facts
Core Specifics
Supported Device
Family
Version of Coreplb_pciv1.00a
Resources Used
Virtex-IIPMinMax
I/O (PCI)4950
I/O (PLB-related)397433
LUTs33503870
FFs25702970
Block RAMs88
DocumentationProduct Specification
Design File FormatsVHDL
C
Provided with Core
Virtex™-II Pro, Virtex-4
ESS
Host bridge functionality (often called North bridge
functionality) is an optional functionality.
Configuration Read and Write PCI commands can be
performed from the PLB-side of the bridge. The PLB
PCI Bridge supports a 32-bit/33 MHz PCI bus only.
Exceptions to the support of PCI commands supported
by the v3.0 core are outlined in the
The PLB PCI Bridge design has parameters that allow
customers to configure the bridge to suit their
application. The parameterizable features of the design
are discussed in the
• Utilizes two pairs of FIFOs to exploit the separate master and slave PLB IPIF modules.
• Includes a master IP module for remote PCI initiator transactions, which follows the protocol for
interfacing with the master IPIF module utilizing Xilinx LocalLink protocol. The PLB PCI Bridge
translates the PCI initiator request to PLB IPIF master transactions.
• Includes a slave IP module for remote PLB master transactions, which follows the protocol for
interfacing with the slave IPIF module utilizing Xilinx IPIC protocol. The PLB PCI Bridge translates
the PLB master request to PCI initiator transactions. The SRAM-like interface is utilized at the IPIC
interface for data transfers.
• The PLB IPIF slave attachment has a timer that limits the time for both read and write dataphase
operations to complete. When the timer expires, Sl_MErr signal is asserted. See PLB IPIF Product
Specification for details.
• Full bridge functionality
- PLB Master read and write of a remote PCI target (both single and burst)
- PCI Initiator read and write to a remote PLB slave (both single and multiple).
- I/O read and I/O write commands are supported only for PLB master read and writes of PCI
I/O space as designated by its associated memory designator parameter. All memory space on
the PLB-side is designated as memory space in the PCI sense, therefore, I/O commands cannot
be used to access memory on the PLB-side.
- Configuration read and writes are supported (including self-configuration transactions) only
when upper word address lines are utilized for IDSEL lines. The Configuration Read and Write
commands are automatically executed by writing to the Configuration Data Port Register. Data
in the Configuration Address Port Register and the Configuration Bus Number/Subordinate Bus
Number Register are used in execution of the configuration transaction per PCI 2.2 specification.
• PCI Memory Read Line (MRL) command is supported in which the v3.0 core is a target. MRL is
aliased to a Memory Read command which has a single data phase on the PCI.
• PCI Memory Write Invalidate (MWI) command is supported in which the v3.0 core is a target. The
v3.0 core does not support this command when it is an initiator. MWI is aliased to a Memory Write
command which has a single data phase on the PCI.
• Supports up to 6 PLB devices, in the sense defined by independent parameters and unique PLB
memory space for each device
- Each device has the following parameters: PLB BAR, high (upper) address, memory designator,
and translation for mapping PLB address space to PCI address space. Byte addressing integrity is
maintained by default in all transfers. Address translation is performed by high-order bit
substitution. High-order bit definition can be done with parameters or dynamically via registers.
EARLY ACCESS
• Supports up to 3 PCI devices (or BARs in PCI context) with unique memory PCI memory space.
The v3.0 core supports up to 3 PCI BAR.
- Each device has the following parameters: PCI BAR, length, memory designator, and translation
for mapping PCI address space to PLB address space. Byte addressing integrity is maintained by
2www.xilinx.comDS508 March 21, 2006
Product Specification
PLB PCI Full Bridge (v1.00a)
default in all transfers. Address translation is performed by high-order bit substitution.
High-order bit definition is defined only by parameters
•Registers include
- Interrupt and interrupt enable registers at different hierarchal levels
-Reset
- Configuration Address Port, Configuration Data Port and Bus Number/Subordinate Bus
Number
- High-order bits for PLB to PCI address translation
- Bridge Device number on PCI bus
• PLB-side Interrupts include
- PLB Master Read SERR and PERR
- PLB Master Read Target Abort
- PLB Master Write SERR and PERR
- PLB Master Write Target Abort
- PLB Master Write Master Abort
- PLB Master Burst Write Retry and Retry Disconnect
-PLB Master Burst Write Retry Timeout
- PCI Initiator Read and Write SERR
• Asynchronous FIFOs with backup capability
• Synchronization circuits for signals that cross time-domain boundaries
• Responds to the PCI latency timer
• Completes posted write operations prior to initiating new operations
• Signal set required for integrating a PCI bus arbiter in the FPGA with the PLB PCI bridge is
available at the top-level of the PLB PCI bridge module. The signal set includes PCLK, RST_N,
FRAME_I, REQ_N_toArb and IRDY_I
• Supports PCI clock generated in FPGA
• Parameterized control of IO-buffer insertion of INTR_A and REQ_N IO-buffers
• All address translations performed by high-order bit substitution. The number of bits substituted
depends on the address range
- Parameterized selection of IPIF BAR high-order bits defined by programmable registers for
dynamic translation operation or by parameters for reduced resource utilization
Y
L
ACCESS
AR
• Parameterized selection of device ID number (when configuration functionality is included)
defined by a programmable register for dynamic device number definition or by parameter to
reduce resource utilization
E
• The PLB PCI bridge does not have an integral DMA
• Input signal to provide the means to asynchronous asset INTR_A from a user supplied register (i.e.,
a PLB GPIO). The signal is Bus2PCI_INTR is an active high signal
• PCI Monitor output port to monitor PCI bus activity
DS508 March 21, 2006www.xilinx.com3
Product Specification
PLB PCI Full Bridge (v1.00a)
System Reset
When the bridge is reset, both RST_N and PLB_reset must be simultaneously held at reset for at least
twenty clock periods of the slowest clock.
Evaluation Version
The PLB PCI Bridge is delivered with a hardware evaluation license. When programmed into a Xilinx
device, the core will function in hardware for about 8 hours at the typical frequency of operation. To use
the PLB PCI Bridge without this timeout limitation, a full license must be purchased.
Functional Description
The PLB PCI Bridge design is shown in Figure 1 and described in the following sections. As shown,
PLB IPIF PCI Bridge is comprised of three main modules:
• The PLB IPIF (Processor Local Bus Intellectual Property InterFace). It interfaces to the PLB bus.
• The IPIF v3.0 Bridge. It interfaces between the PLB IPIF and the v3.0 core.
• The LogiCORE PCI32 Interface v3.0 core. It interfaces to the PCI bus.
Figure Top x-ref 1
Interrupt
Module
PLB IPIF
IPIF/V3 BridgeXilinx
v3.0 PCI Core
Bridge
Registers
PLB Bus
Slave
Attachment
Master
Attachment
PCI2IPIF
FIFO
IPIF2PCI
FIFO
Slave SM
Master SM
PCI2IPIF
FIFO
IPIF2PCI
FIFO
Initiator
Target
PCI Bus
EARLY ACCESS
ds508_01_112205
Figure 1: PLB PCI Full Bridge Block Diagram
LogiCore Version 3.0 32-bit PCI Core Requirements
The PLB PCI bridge uses the 32-bit Xilinx LogiCore Version 3 IP core. Before the bridge can perform
transactions on the PCI bus, the v3.0 core must be configured via configuration transactions from either
the PCI-side or if configuration functionality is included in the bridge configuration, from the PLB-side.
Both a design guide and an implementation guide are available for the Xilinx LogiCore v3.0 PCI IP
4www.xilinx.comDS508 March 21, 2006
Product Specification
PLB PCI Full Bridge (v1.00a)
core. These documents detail the v3.0 core operation, including configuration cycles, and are available
from Xilinx.
As required by the LogiCORE v3.0 core, GNT_N must be asserted for two clock cycles to initiate a PCI
transaction by the PLB PCI Bridge.
Bus Interface Parameters
Because many features in the IPIF v3.0 Bridge design can be parameterized, the user can realize a PLB
PCI Full Bridge uniquely tailored while using only the resources required for the desired functionality.
This approach also achieves the best possible performance with the lowest resource usage.
shown the features that can be parameterized in the PLB PCI Bridge design.
Address Translation
Address space on the PCI side that is accessible from the PLB side must be translated to a 2N contiguous
block on the PLB side. Up to six contiguous blocks are possible. Each block has parameters for base
address (C_IPIFBAR_N), high address, address translation vector, and memory designator (memory or
I/O).
All address space on the PLB side that is accessible from the PCI side must be translated to a maximum
of three 2
v3.0 core supports up to 3 BARs. Each block has parameters for length, which must be a 2
address translation vector. Only PCI memory space is supported.
N
contiguous blocks on the PCI side. Up to three blocks are possible because the LogiCore PCI
Tab le 1
N
range, and
Address translations in both directions are performed as follows:
• High-order address bits are substituted for the address vector before crossing to the other bus
domain. The number of high-order bits substituted in the PLB address presented to the bridge is
given by the number of bits that are the same between the C_IPIFBAR_N and C_
IPIF_HIGHADDR_N parameters. The number of high-order bits substituted in the PCI address
presented to the bridge for a translation from PCI to PLB domains is given by the bus width minus
the parameter C_PCIBAR_LEN_N.
• The low-order bits are transferred directly between bus domains. The bits substituted in a
translation from PLB to PCI domains can be selected via a parameter
(C_INCLUDE_BAROFFSET_REG) as either a parameter (C_IPIFBAR2PCIBAR_N) or a
programmable register for each BAR. The bits that are substituted for in a translation from PCI to
PLB domains is defined by a parameter (C_PCIBAR2IPIFBAR_M) for each BAR.
Figure 2 shows two sets of base address register (BAR) parameters and how they are used. The two sets
are independent sets: one set for the up to six PLB-side device (IPIFBAR) address ranges and another
set for the up to three PCI-side device (PCIBAR) address ranges.
This document includes three examples of how to use the two sets of base address register (BAR)
parameters:
Example 1, shown in Figure 2, outlines the use of the two sets of BAR parameters.
Example 2 outlines the use of the IPIFBAR parameters sets for the specific address translations of PLB
addresses within the range of a given IPIFBAR to a remote PCI address space.
E
AR
Y
L
ACCESS
DS508 March 21, 2006www.xilinx.com5
Product Specification
PLB PCI Full Bridge (v1.00a)
Example 3 outlines the use of the PCIBAR parameter sets for the address translation of PCI addresses
within the range of a given PCIBAR to a remote PLB address space.
Figure Top x-ref 2
PLB Bus
PLB PCI Full Bridge
IPIF
C_IPIFBAR_NUM = 3
BAR_10
BAR_11
IPIFBAR_0
Note 1
PCI Bus
Figure 2: Translation of Addresses Bus-to-Bus with High-Order Bit Substitution
(high-order
bit sub)
Addr to PCI
IPIFBAR_1
(high-order
bit sub)
Addr to PCI
v3.0 LogiCORE
C_PCIBAR_NUM = 2
PBAR_21PBAR_22PBAR_20
IPIFBAR_2
(high-order
bit sub)
Addr to PCI
IPIFBAR_3IPIFBAR_4
IPIF to v3.0 LogiCORE Bridge
Addr to PLB
(high-order
bit sub)
PCIBAR_0
Addr to PLB
(high-order
bit sub)
PCIBAR_1
IPIFBAR_5
Note 2
PCIBAR_2
ds508_02_112205
Example 1
Because address translations are performed only when the PLB PCI Bridge is configured with FIFOs,
the example shown in
Figure 2 is for an PLB PCI Bridge configuration with FIFOs only. In this example, it
is assumed that C_INCLUDE_BAROFFSET_REG=0, therefore, the parameters C_IPIFBAR2PCIBAR_N
define the high-order bits for substitution in translating the address on the PLB bus to the PCI bus.
The PLB parameters are C_IPIFBAR_N, C_IPIF_HIGHADDR_N, and C_IPIFBAR2PCIBAR_N for N=0
EARLY ACCESS
to 5.
The PCI parameters are C_PCIBAR_LEN_M and C_PCIBAR2IPIFBAR_M for M=0 to 2.
Example 2
Example 2 shows of the settings of the two independent sets of base address register (BAR) parameters
for specifics of address translation of PLB addresses within the range of a given IPIFBAR to a remote
PCI address space. Note that this setting does not depend on the PCIBARs of the PLB PCI Bridge.
6www.xilinx.comDS508 March 21, 2006
Product Specification
PLB PCI Full Bridge (v1.00a)
As in example 1, it is assumed that the parameter C_INCLUDE_BAROFFSET_REG=0, therefore the
C_IPIFBAR2PCIBAR_N parameters define the address translation.
In this example, where C_IPIFBAR_NUM=4, the following assignments for each range are made:
C_IPIFBAR_0=0x12340000
C_IPIF_HIGHADDR_0=0x1234FFFF
C_IPIFBAR2PCIBAR_0=0x5671XXXX (Bits 16-31 are don’t cares)
C_IPIFBAR_1=0xABCDE000
C_IPIF_HIGHADDR_1=0xABCDFFFF
C_IPIFBAR2PCIBAR_1=0xFEDC0xXX (Bits 19-31 are don’t cares)
C_IPIFBAR_2=0xFE000000
C_IPIF_HIGHADDR_2=0xFFFFFFFF
C_IPIFBAR2PCIBAR_2=0x40xXXXXX (Bits 7-31 are don’t cares)
C_IPIFBAR_3=0x00000000
C_IPIF_HIGHADDR_3=0x0000007F
C_IPIFBAR2PCIBAR_3=8765438X (Bits 25-31 are don’t cares)
Accessing the PLB PCI Bridge IPIFBAR_0 with address 0x12340ABC on the PLB bus yields
0x56710ABC on the PCI bus.
Accessing the PLB PCI Bridge IPIFBAR_1 with address 0xABCDF123 on the PLB bus yields
0xFEDC1123 on the PCI bus.
Accessing the PLB PCI Bridge IPIFBAR_2 with address 0xFFFEDCBA on the PLB bus yields
0x41FEDCBA on the PCI bus.
Accessing the PLB PCI Bridge IPIFBAR_3 with address 0x00000071 on the PLB bus yields
Ox876543F1 on the PCI bus.
Example 3
Example 3 outlines address translation of PCI addresses within the range of a given PCIBAR to PLB
address space. Note that this translation is independent of the PLB PCI Bridge IPIF BARs.
The parameters C_PCIBAR2IPIFBAR_M parameters define the address translation for all
C_PCIBAR_NUM.
In this example, where C_PCIBAR_NUM=2, the following range assignments are made:
BAR 0 is set to 0xABCDE800 by host
C_PCIBAR_LEN_0=11
C_PCIBAR2IPIFBAR_0=0x123450XX (Bits 21-31 are don’t cares)
BAR 1 is set to 0x12000000 by host
C_PCIBAR_LEN_1=25
C_PCIBAR2IPIFBAR_1=0xFEXXXXXX (Bits 7-31 are don’t cares)
Accessing the PLB PCI Bridge PCIBAR_0 with address 0xABCDEFF4 on the PCI bus yields
0x123457F4 on the PLB bus.
E
AR
Y
L
ACCESS
DS508 March 21, 2006www.xilinx.com7
Product Specification
PLB PCI Full Bridge (v1.00a)
Accessing the PLB PCI Bridge PCIBAR_1 with address 0x1235FEDC on the PCI bus yields
0xFE35FEDC on the PLB bus.
PCI BAR to which IPIF
BAR 0 is mapped
unless
C_INCLUDE_BAROFF
SET_REG = 1
IPIF BAR 0 memory
designator
Parameter
Name
Bridge Features Parameter Group
C_IPIFBAR
_NUM
HIGHADDR_0
C_IPIFBAR2
PCIBAR_0
C_IPIF_SPACE
TYPE_0
1
Allowable Values
1-6; Parameters listed
below corresponding to
unused BARs are
ignored, but must be
valid values. BAR label
0 is the required bar for
all values 1-6 and the
index increments from 0
as BARs are added
Valid PLB address
Vector of length
C_PLB_AWIDTH
0 = I/O space
1 = Memory space
(1)
(1)
Default
Val ue
6integer
0xFFFFFFFF
0x00000000
0xFFFFFFFF
1integer
VHDL
Type
std_logic_
vector
std_logic_
vector
std_logic_
vector
G6IPIF device 1 BARC_IPIFBAR_1Valid PLB address
G7
G8
G9
G10IPIF device 2 BARC_IPIFBAR_2Valid PLB address
G11
G12
IPIF BAR high address 1C_IPIFBAR_
HIGHADDR_1
PCI BAR to which IPIF
BAR 1 is mapped
unless
C_INCLUDE_BAROFF
SET_REG = 1
IPIF BAR 1 memory
designator
C_IPIFBAR2
PCIBAR_1
C_IPIF_SPACE
TYPE_1
Valid PLB address
Vector of length
C_PLB_AWIDTH
0 = I/O space
1 = Memory space
EARLY ACCESS
IPIF BAR high address 2C_IPIFBAR_
HIGHADDR_2
PCI BAR to which IPIF
BAR 2 is mapped
unless
C_INCLUDE_BAROFF
SET_
REG = 1
PCI BAR to which IPIF
BAR 3 is mapped
unless
C_INCLUDE_BAROFF
SET_REG = 1.
IPIF BAR 3 memory
designator
IPIF BAR high
address 4
PCI BAR to which IPIF
BAR 4 is mapped
unless
C_INCLUDE_BAROFF
SET_REG = 1
Parameter
Name
C_IPIF_SPACE
TYPE_2
C_IPIFBAR_
HIGHADDR_3
C_IPIFBAR2
PCIBAR_3
C_IPIF_SPACE
TYPE_3
C_IPIFBAR_
HIGHADDR_4
C_IPIFBAR2
PCIBAR_4
Allowable Values
0 = I/O space
1 = Memory space
Valid PLB address
Vector of length
C_PLB_AWIDTH
0 = I/O space
1 = Memory space
Valid PLB address
Vector of length
C_PLB_AWIDTH
(1), (2)
(1), (2)
(1), (2)
(1), (2)
Default
Val ue
1integer
0xFFFFFFFF
0x00000000
0xFFFFFFFF
1integer
0xFFFFFFFF
0x00000000
0xFFFFFFFF
VHDL
Type
std_logic_
vector
std_logic_
vector
std_logic_
vector
std_logic_
vector
std_logic_
vector
std_logic_
vector
G21
G22IPIF device 5 BARC_IPIFBAR_5Valid PLB address
G23
G24
G25
IPIF BAR 4 memory
designator
IPIF BAR high
address 5
PCI BAR to which IPIF
BAR 5 is mapped
unless
C_INCLUDE_BAROFF
SET_
REG = 1
IPIF BAR 5 memory
designator
C_IPIF_SPACE
TYPE_4
C_IPIFBAR_
HIGHADDR_5
Y
L
C_IPIFBAR2
PCIBAR_5
C_IPIF_SPACE
TYPE_5
0 = I/O space
1 = Memory space
ACCESS
Valid PLB address
Vector of length
C_PLB_AWIDTH
0 = I/O space
1 = Memory space
AR
1-3; Parameters listed
below corresponding to
E
G26Number of PCI devices
C_PCIBAR_
NUM
unused BARs are
ignored, but must be
valid values. BAR label
0 is the required bar for
all values 1-3 and the
index increments from 0
as BARs are added
PCI2IPIF FIFO
occupancy level in
double words that
triggers the bridge to
initiate an IPIF burst
write to remote PLB
device
IPIF2PCI FIFO
occupancy level that
starts data transfer
(Both as initiator and
target on PCI) to PCI
agent with multiple data
phases per transfer
(must meet 16 PCI
period maximum).
Minimum IPIF2PCI
FIFO occupancy level
that triggers bridge to
initiate a prefetch IPIF
read of a remote PLB
slave
Parameter
Name
C_TRIG_IPIF_
WRBURST_
OCC_LEVEL
C_TRIG_PCI_
DATA_XFER_
OCC_LEVEL
C_TRIG_IPIF_
READ_OCC_
LEVEL
Allowable Values
2 to the lesser of 24 or
the PCI2IPIF FIFO
DEPTH-3. PCI2IPIF
FIFO DEPTH given by
2^C_PCI2IPIF_FIFO_A
BUS_WIDTH
2 to the lesser of 24 or
the IPIF2PCI FIFO
DEPTH-3. IPIF2PCI
FIFO DEPH given by
2^C_IPIF2PCI_FIFO_
ABUS_WIDTH
2 to the lesser of 24 or
the IPIF2PCI FIFO
DEPTH-3. IPIF2PCI
FIFO DEPH given by
2^C_IPIF2PCI_FIFO_
ABUS_WIDTH
Default
Val ue
8integer
8integer
16integer
VHDL
Type
Number of PCI retry
G43
G44
G45
G46Device base address
G47
G48
G49
attempts in IPIF
posted-write operations
Number of PCI clock
periods between retries
in posted- write
operations
Number of IPIF retry
attempts in
posted-write PCI
initiator operations
Device absolute high
address
Include the registers for
high-order bits to be
AR
substituted in
translation
E
Include the register for
local bridge device
number when
configuration
functionality
(C_INCLUDE_PCI_CO
NFIG =1) is included
Number of IDELAY
controllers instantiated.
Ignored it not Virtex-4
Includes IDELAY
primitive on GNT_N.
Set by tcl-scripts and
ignored if not Virtex-4.
Provides a means for
BSB to pass LOC
coordinates for
IDELAYCTRLs for a
given board to
EDK and is optional for
user to set LOC
constraints. This
parameter has no
impact on bridge
functionality.
PCI Configuration
Space Header Device IDC_DEVICE_ID16-bit vector0x0000
Parameter
Name
C_NUM_
IDELAYCTRL
C_INCLUDE_
GNT_DELAY
C_IDELAY
CTRL_LOC
v3.0 Core Parameters Group
Allowable Values
2-6
(Virtex-4 only)
1=Include IDELAY
primitive
(Virtex-4 only)
0=No IDELAY primitive
See Device
Implementation section,
subsection Virtex-4
Support for allowed
values
Default
Val ue
2integer
0integer
NOT_SETstring
VHDL
Type
std_logic_
vector
G54
G55
G56
G57
G58
G59
G60
PCI Configuration
Space Header Vendor
ID
PCI Configuration
Space Header Class
Code
PCI Configuration
Space Header Rev ID
PCI Configuration
Space Header
Subsystem ID
PCI Configuration
Space Header
Subsystem Vendor ID
Include configuration
functionality via IPIF
transactions
Number of IDSEL
signals supported
PCI address bit that PCI
v3.0 core IDSEL is
connected to
PLB master ID bus
width (set automatically
by XPS)
Number of masters on
PLB bus (set
automatically by XPS)
Parameter
Name
C_INCLUDE_
PCI_CONFIG
C_NUM_
IDSEL
C_BRIDGE_
IDSEL_ADDR_
BIT
IPIF Parameters Group
C_PLB_MID_
WIDTH
C_PLB_NUM_
MASTERS
C_PLB_
AWIDTH
C_PLB_
DWIDTH
Allowable Values
0 = Not included
1 = Included
1 to 168integer
31 down to 16
Must be <= 15 +
C_NUM_IDSEL.
AD(31 down to 0) index
labeling
log2(C_PLB_NUM_MA
STERS)
1-168integer
32 (only allowed value32integer
64 (only allowed value64integer
Default
Val ue
1integer
16integer
3integer
VHDL
Type
G68
Notes:
1. The range specified must comprise a complete, contiguous power of two range, such that the range = 2n and
the n least significant bits of the Base Address are zero.
2. The minimum address range specified by C_BASEADDR and C_HIGHADDR must be at least 0x1FF.
C_BASEADDR must be a multiple of the range, where the range is C_HIGHADDR - C_BASEADDR + 1.
Specifies the target
technology
C_FAMILY
See PLB IPIF data
sheet
virtex2string
ACCESS
Y
L
AR
E
DS508 March 21, 2006www.xilinx.com13
Product Specification
PLB PCI Full Bridge (v1.00a)
PLB PCI Bus Interface I/O Signals
The I/O signals for the PLB PCI Bridge are listed in Tab le 2. The interfaces referenced in this table are
shown in Figure 1 in the PLB PCI Bridge block diagram.
Table 2: PLB PCI Bridge I/O Signals
PortSignal NameInterfaceI/ODescription
P1IP2INTC_IrptInternalOInterrupt from IP to the Interrupt Controller
P2PLB_ClkPLB BusIPLB main bus clock. See table note 1.
P3PLB_RstPLB BusIPLB main bus reset. See table note 1.
PLB_ABus(0:C_PLB_
P4
AWIDTH-1)
P5PLB_PAValidPLB BusI
PLB_masterID(0:C_PLB
P6
_MID_WIDTH-1)
System Signals
PLB Signals
PLB BusINote 1 applies from P4 to P53.
PLB BusI
P7PLB_abortPLB BusI
P8PLB_RNWPLB BusI
PLB_BE(0:[C_PLB_DWI
P9
DTH/8]-1)
P10PLB_MSize(0:1)PLB BusI
P11PLB_size(0:3)PLB BusI
P12PLB_type(0:2)PLB BusI
PLB_wrDBus(0:C_PLB_
P13
DWIDTH-1)
P14PLB_wrBurstPLB BusI
P15PLB_rdBurstPLB BusI
P16Sl_addAckPLB BusO
P17Sl_SSize(0:1)PLB BusO
P18Sl_waitPLB BusO
P19Sl_rearbitratePLB BusO
P20Sl_wrDAckPLB BusO
P21Sl_wrCompPLB BusO
EARLY ACCESS
PLB BusI
PLB BusI
P22Sl_wrBTermPLB BusO
Sl_rdDBus(0:C_PLB_D
P23
WIDTH-1)
P24Sl_rdWdAddr(0:3)PLB BusO
P25Sl_rdDAckPLB BusO
P26Sl_rdCompPLB BusO
14www.xilinx.comDS508 March 21, 2006
PLB BusO
Product Specification
PLB PCI Full Bridge (v1.00a)
Table 2: PLB PCI Bridge I/O Signals (Contd)
PortSignal NameInterfaceI/ODescription
P27Sl_rdBTermPLB BusO
Sl_MBusy(0:C_PLB_NU
P28
M_MASTERS-1)
Sl_MErr(0:C_PLB_NUM
P29
_MASTERS-1)
P30PLB_MAddrAckPLB BusI
P31PLB_MSSize(0:1)PLB BusI
P32PLB_MRearbitratePLB BusI
P33PLB_MBusyPLB BusI
P34PLB_MErrPLB BusI
P35PLB_MWrDAckPLB BusI
PLB_MRdDBus(0:C_PL
P36
B_DWIDTH-1)
PLB BusO
PLB BusO
PLB BusI
P37PLB_MRdWdAddr(0:3)PLB BusI
P38PLB_MRdDAckPLB BusI
P39PLB_MRdBTermPLB BusI
P40PLB_MWrBTermPLB BusI
P41M_requestPLB BusO
P42M_priorityPLB BusO
P43M_buslockPLB BusO
P44M_RNWPLB BusO
M_BE(0:[C_PLB_DWIDT
P45
H/8]-1)
P46M_MSize(0:1)PLB BusO
P47M_size(0:3)PLB BusO
P48M_type(0:2)PLB BusO
P49M_abortPLB BusO
M_ABus(0:C_PLB_AWI
P50
DTH-1)
P51
M_wrDBus(0:C_PLB_D
WIDTH-1)
AR
PLB BusO
Y
L
PLB BusO
PLB BusO
ACCESS
P52M_wrBurstPLB BusO
P53M_rdBurstPLB BusOTable note 1 applies from P53 to P4.
P54
DS508 March 21, 2006www.xilinx.com15
Product Specification
E
AD[C_PCI_DBUS_WIDT
H-1:0]
PCI Address and Data Path Signals
PCI BusI/OTime-multiplexed address and data bus
PLB PCI Full Bridge (v1.00a)
Table 2: PLB PCI Bridge I/O Signals (Contd)
PortSignal NameInterfaceI/ODescription
CBE[(C_PCI_DBUS_WI
P55
DTH/8)-1:0]
PCI BusI/OTime-multiplexed bus command and byte enable bus
P56PA RPCI BusI/O
PCI Transaction Control Signals
P57FRAME_NPCI BusI/ODriven by an initiator to indicate a bus transaction
P58DEVSEL_NPCI BusI/O
P59TRDY_NPCI BusI/O
P60IRDY_NPCI BusI/O
P61STOP_NPCI BusI/O
P62IDSELPCI BusI
PCI Interrupt Signals
P63INTR_APCI BusO
PCI Error Signals
P64PERR_NPCI BusI/O
Generates and checks even parity across AD and
CBE
Indicates that a target has decoded the address
presented during the address phase and is claiming
the transaction
Indicates that the target is ready to complete the
current data phase
Indicates that the initiator is ready to complete the
current data phase
Indicates that the target has requested to stop the
current transaction
Indicates that the interface is the target of a
configuration cycle
Indicates that LogiCORE PCI interface requests an
interrupt
Indicates that a parity error was detected while the
LogiCORE PCI interface was the target of a write
transfer or the initiator of a read transfer
P65SERR_NPCI BusI/O
PCI Arbitration Signals
P66REQ_NPCI BusO
P67GNT_NPCI BusI
PCI System Signals
EARLY ACCESS
P68RST_NPCI BusI
P69PCLKPCI BusIPCI bus clock signal
PCI Bus Internal Arbiter Signals
P70REQ_N_toArbInternalO
P71FRAME_IInternalO
Indicates that a parity error was detected during an
address cycle, except during special cycles
Indicates to the arbiter that the LogiCORE PCI
initiator requests access to the bus
Indicates that the arbiter has granted the bus to the
LogiCORE PCI initiator
PCI bus reset signal is used to bring PCI-specific
registers, sequences, and signals to a consistent
state
Input from PCI Bus REQ_N available at top-level as
output from bridge
Input from PCI Bus FRAME_N availalble at top-level
as output from bridge
16www.xilinx.comDS508 March 21, 2006
Product Specification
PLB PCI Full Bridge (v1.00a)
Table 2: PLB PCI Bridge I/O Signals (Contd)
PortSignal NameInterfaceI/ODescription
P72IRDY_IInternalO
PCI 64-bit Extensions (reserved for future support of 64-bit PCI)
P73PA R6 4PCI BusI/O
P74ACK64_NPCI BusI/O
P75REQ64_NPCI BusI/O
User Asserted PCI Interrupt Signal
P76Bus2PCI_INTRInternalI
Virtex-4 Only, IDELAY Clock
P77RCLKInternalI
PCI Bus Monitoring Debug Vector Signal
P78PCI_monitor(0:47)InternalOOutput vector to monitor PCI Bus.
Input from PCI Bus IRDY_N availalble at top-level as
output from bridge
Generates and checks even parity across AD[63:32]
and CBE[7:4]
Indicates that a target has decoded the address
presented during the address phase and is claiming
the transaction as a 64-bit target
Driven by the initiator to indicate a 64-bit bus
transaction
Active high signal to asynchronously assert INTR_A.
Inverted signal drives INTR_N user application input
of v3.0 core. See v3.0 core documents for details on
INTR_N functionality.
200 MHz clock input to IDELAY elements of Virtex-4
buffers. Ignored if not Virtex-4 architecture.
Notes:
1. This signal’s function and timing are defined in the IBM 64-Bit Processor Local Bus Architecture Specification
Version 3.5.
The REQ_N_toArb facilitates an interface to an internal (i.e., in the FPGA) pci arbiter. The v3.0 input
buffer for GNT_N is removed. This allows an internal connection to GNT_N when using an internal
arbiter. When an external arbiter is used, GNT_N_fromArb is not needed.
REQ_N is a 3-stated I/O. The REQ_N_toArb port is available to maintain a v3.0 core-like interface. The
REQ_N_toArb port allows the use of the same port list for PCI bus interface and the ucf-file for the v3.0
core is the standard file.
The v3.0 core requires that GNT_N be asserted for two clock cycles to initiate a transaction upon
receiving grants.
Bus2PCI_INTR is an active High signal. It allows asynchronous assertion of INTR_A on the PCI bus.
The signal is driven by user supplied circuitry (i.e., a PLB GPIO IP core). If it is not connected in the
mhs-file, then EDK 8.1 tools will tie the signal Low. The signal is inverted in the PLB PCI Bridge and
AND’d with the bridge interrupt signal (active Low) to drive the INTR_N input of the v3.0 core. This
signal then asynchronously drives INTR_A on the PCI bus. See the v3.0 core specifications on INTR_A
behavior relative to v3.0 input INTR_N. The v3.0 core command register interrupt disable bit controls the
INTR_A operation and v3.0 core status register Interrupt status bit flags if v3.0 core INTR_A is asserted.
E
AR
Y
L
ACCESS
DS508 March 21, 2006www.xilinx.com17
Product Specification
PLB PCI Full Bridge (v1.00a)
Port and Parameter Dependencies
The dependencies between the IPI v3.0 Bridge design port (i.e., I/O signals) and parameters are shown
in
The set of PLB/IPIF BAR-parameters of
N = 0 to C_IPIFBAR_NUM-1 are
meaningful. When C_IPIFBAR_NUM <
6, the parameters of N =
C_IPIFBAR_NUM up to and including 5
have no effect. If C_IPIFBAR_NUM = 6,
the set of PLB/IPIF BAR-parameters of N
= 0 to 5 are all meaningful (i.e., G2-G25
are meaningful).
G2 to G3 define range in PLB-memory
space that is responded to by this device
(IPIF BAR)
G2 to G3 define range in PLB-memory
G3C_IPIFBAR_HIGHADDR_0G2G2
G4C_IPIFBAR2PCIBAR_0
G5C_IPIF_SPACETYPE_0
G6C_IPIFBAR_1G7G1 and G7
G7C_IPIFBAR_HIGHADDR_1G6G1 and G6
G8C_IPIFBAR2PCIBAR_1
G9C_IPIF_SPACETYPE_1G1Meaningful only if G1>1
G2, G3 and
G48
G1, G6, G7
and G48
EARLY ACCESS
G10C_IPIFBAR_2G11
G1 and
G11
space that is responded to by this device
(IPIF BAR)
Meaningful only if G48 = 0 and in this
case only high-order bits that are the
same in G2 and G3 are meaningful.
Meaningful only if G1>1, then G6 to G7
define the range in PLB-memory space
that is responded to by this device (IPIF
BAR)
Meaningful only if G1>1, then G6 to G7
define the range in PLB-memory space
that is responded to by this device (IPIF
BAR)
Meaningful only if G48 = 0 and G1>1. In
this case only high-order bits that are the
same in G6 and G7 are meaningful.
Meaningful only if G1>2, then G10 to
G11 define the range in PLB-memory
space that is responded to by this device
(IPIF BAR)
Meaningful only if G1>2, then G10 to
G11C_IPIFBAR_HIGHADDR_2G10
18www.xilinx.comDS508 March 21, 2006
G1 and
G10
G11 define the range in PLB-memory
space that is responded to by this device
(IPIF BAR)
Product Specification
Loading...
+ 40 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.