ORCA OR3LP26B Field-Programmable System Chip (FPSC) Embedded Master/Target PCI Interface Data Sheet

ORCA™ OR3LP26B FPSC Device Datasheet
June 2010
All Devices Discontinued!
Product Change Notifications (PCNs) #09-10 has been issued to discontinue all devices in
this data sheet.
The original datasheet pages have not been modified and do not reflect those changes.
Please refer to the table below for reference PCN and current product status.
Product Line
OR3LP26B
Ordering Part Number
OR3LP26BBA352-DB
OR3LP26BBM680-DB
Product Status
Reference PCN
Discontinued
PCN#09-10
5555 N.E. Moore Ct. z Hillsboro, Oregon 97124-6421 z Phone (503) 268-8000 z FAX (503) 268-8347
Internet: http://www.latticesemi.com
Data Sheet
April 2002
ORCA® OR3LP26B Field-Programmable System Chip (FPSC)
Embedded Master/Target PCI Interface
Introduction
Four internal FIFOs individually buffer both directions of both the Master and Target interfaces:
— Both Master FIFOs are 64 bits wide by 32 bits
deep.
— Both Target FIFOs are 64 bits wide by 16 bits
deep.
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
■
Lattice has developed a solution for designers who
need the many advantages of an FPGA-based
design implementation, coupled with the high bandwidth of an industry-standard PCI interface. The
ORCA OR3LP26B (a member of the Series 3+ FPSC
family) provides a full-featured 33/50/66 MHz, 32-/64bit PCI interface, fully designed and tested, in hardware, plus FPGA logic for user-programmable functions.
PCI Bus Core Highlights
■
Implemented in an ORCA Series 3 OR3L125B
base array, displacing the bottom ten rows of 28
columns.
■
Core is a well-tested ASIC model.
■
Fully compliant to Revision 2.2 of PCI Local Bus
specification.
■
Operates at PCI bus speeds up to 66 MHz on a
32-/64-bit wide bus.
■
Comprises two independent controllers for Master
and Target.
■
Meets/exceeds all requirements for PICMG* Hot
Swap friendly silicon, full Hot Swap model, per the
CompactPCI* Hot Swap specification, PICMG 2.1
R1.0.
■
PCI SIG Hot Plug (R1.0) compliant.
■
Capable of no-wait-state, full-burst PCI transfers in
either direction, on either the Master or Target
interface. The dual 64-bit data paths extend into
the FPGA logic, permitting full-bandwidth, simultaneous bidirectional data transfers of up to
528 Mbytes/s to be sustained indefinitely.
■
Can be configured to provide either two 64-bit
buses (one in each direction) to be multiplexed
between Master and Target, or four independent
32-bit buses.
■
Provides many hardware options in the PCI core
that are set during FPGA logic configuration.
■
Operates within the requirements of the PCI 5 V
and 3.3 V signaling environments and 3.3 V commercial environmental conditions, allowing the
same device to be used in 5 V or 3.3 V PCI systems.
■
FPGA is reconfigurable via the PCI interface's configuration space (as well as conventionally), allowing the FPGA to be field-updated to meet latebreaking requirements of emerging protocols.
* PICMG and CompactPCI are registered trademarks of the PCI
Industrial Computer Manufacturers Group.
Table 1. ORCA OR3LP26B PCI FPSC Solution—Available FPGA Logic
Device
Usable Gates†
OR3LP26B
60K—120K
Number of Number of Max User Max User
LUTs
Registers
RAM
I/Os
4032
5304
64K
259
Array
Size
Number of
PFUs
18 x 28
504
† The embedded core and interface comprise approximately 85K standard-cell ASIC gates in addition to these usable gates. The usable
gate counts range from a logic-only gate count to a gate count assuming 30% of the PFUs/SLICs being used as RAMs. The logic-only
gate count includes each PFU/SLIC (counted as 108 gates per PFU/SLIC), including 12 gates per LUT/FF pair (eight per PFU), and 12
gates per SLIC/FF pair (one per PFU). Each of the four PIOs per PIC is counted as 16 gates (two FFs, fast-capture latch, output logic,
CLK drivers, and I/O buffers). PFUs used as RAM are counted at four gates per bit, with each PFU capable of implementing a 32 x 4
RAM (or 512 gates) per PFU.
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
Table of Contents
Contents
Page
Page
Readback via PCI interface ..................................... 125
Interaction Among Configuration Modes ................. 125
Clocking Options at FPGA/Core Boundary ..................... 126
PCI Clock as System Clock ...................................... 126
Local Clock as System Clock ................................... 126
FPGA Configuration Data Format .................................... 128
Using ORCA Foundry to Generate
Configuration RAM Data ....................................... 128
FPGA Configuration Data Frame .............................. 128
Bit Stream Error Checking ............................................... 130
FPGA Configuration Modes ............................................. 130
Powerup Sequencing for Series OR3LP26B Device ....... 131
Absolute Maximum Ratings ............................................. 131
Recommended Operating Conditions ............................ 132
Electrical Characteristics ................................................. 133
Timing Characteristics ..................................................... 134
Description ............................................................... 134
Clock Timing ............................................................ 135
Input/Output Buffer Measurement Conditions ................. 146
Output Buffer Characteristics .......................................... 147
Estimating Power Dissipation .......................................... 148
Pin Information ................................................................. 149
Package Compatibility ............................................. 152
Package Thermal Characteristics Summary ................... 176
ΘJA .................................................................. 176
ψJC .......................................................................... 176
ΘJC ................................................................. 176
ΘJB .................................................................. 176
FPGA Maximum Junction Temperature ................... 176
Package Coplanarity ....................................................... 177
Package Parasitics .......................................................... 178
Package Outline Diagrams ............................................. 179
Terms and Definitions .............................................. 179
352-Pin PBGA .......................................................... 180
680-Pin PBGA .......................................................... 181
Ordering Information ....................................................... 182
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Introduction .......................................................................... 1
PCI Bus Core Highlights ...................................................... 1
FPSC Highlights ................................................................... 3
Software Support ................................................................. 4
Description ........................................................................... 5
What Is an FPSC? ......................................................... 5
FPSC Overview ............................................................. 5
FPSC Gate Counting .................................................... 5
FPGA/Embedded Core Interface ................................. 5
ORCA Foundry Development System ..................... 5
FPSC Design Kit ........................................................... 6
FPGA Logic Overview .................................................. 6
PLC Logic ..................................................................... 6
PIC Logic ...................................................................... 7
System Features ........................................................... 7
Routing ......................................................................... 7
Configuration ................................................................ 7
Boundary Scan ............................................................. 7
More Series 3 Information ............................................. 7
OR3LP26B Overview ........................................................... 8
Device Layout ............................................................... 8
PCI Local Bus ............................................................... 8
OR3LP26B PCI Bus Core Overview ........................... 10
PCI Bus Interface ........................................................ 10
Embedded Core Options/FPGA Configuration .......... 11
PCI Bus Core Detailed Description ................................... 12
PCI Bus Commands ................................................... 12
PCI Protocol Fundamentals ........................................ 14
FIFO Memories and Control ....................................... 15
PCI Bus Pin Information .............................................. 16
PCI Bus Core Detailed Description Dual Port .................... 19
Embedded Core/FPGA Interface Signal Descriptions 19
Embedded Core/FPGA Interface Signal Locations ..... 25
Embedded Core Bit Stream Configurable Options ..... 30
Understanding FIFO Packing/Unpacking .................. 31
Embedded Core/FPGA Interface Operation .............. 32
Embedded Core/FPGA Interface Operation Summary33
Master (FPGA Initiated) Write ..................................... 34
Master (FPGA Initiated) Read ..................................... 40
Target (PCI Bus Initiated) Write .................................. 47
Target (PCI Bus Initiated) Read .................................. 56
PCI Bus Core Detailed Description Quad Port .................. 68
Embedded Core/FPGA Interface Signal Descriptions 68
Embedded Core/FPGA Interface Signal Locations .... 74
Embedded Core Bit Stream Configurable Options .... 81
Understanding FIFO Packing/Unpacking .................. 82
Embedded Core/FPGA Interface Operation .............. 84
Embedded Core/FPGA Interface Operation Summary85
Master (FPGA Initiated) Write ..................................... 86
Master (FPGA Initiated) Read ..................................... 92
Target (PCI Bus Initiated) Write .................................. 99
Target (PCI Bus Initiated) Read ................................ 108
Configuration Space of the PCI Core .............................. 121
PCI Bus Configuration Space Organization ............. 121
FPSC Configuration ......................................................... 124
Configuration via PCI Bus ......................................... 124
Contents
2
Lattice Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
PCI Bus Core Highlights (continued)
Master:
— Generates all defined command codes except
interrupt acknowledge and special cycle.
— Capable of accessing its own local Target.
— Capable of acting as the system's configuration
agent by booting up with the Master logic
enabled.
— Supports multiple options for Master bus
requests, to increase PCI bus bandwidth.
— Supports single-cycle I/O space accesses.
— Provides option to delay PCI access until FIFO is
full on Master writes to increase PCI bandwidth.
— Supports programmable latency timer control.
Device Clock = > Out
Device Setup Time
Board Prop. Delay
Board Clock Skew
Total Budget
Load Capacitance
■
33 MHz
50 MHz
66 MHz
11.0 ns
7.0 ns
10.0 ns
2.0 ns
30.0 ns
50 pF
7.5 ns
4.5 ns
6.5 ns
1.5 ns
20.0 ns
50 pF
6.0 ns
3.0 ns
5.0 ns
1.0 ns
15.0 ns
10 pF
Configuration options:
— Class code, revision ID.
— Latency timer.
— Cache line size.
— Subsystem ID.
— Subsystem vendor ID.
— Maximum latency, minimum grant.
— Interrupt line.
— Hot Plug/Hot Swap capability.
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
■
Parameter
■
Target:
— Responds legally to all command codes: interrupt
acknowledge, special cycle, and reserved commands ignored; memory read multiple and line
handled as memory read; memory write and
invalidate handled as memory write.
— Implements Target abort, disconnect, retry, and
wait cycles.
— Handles delayed transactions.
— Handles fast back-to-back transactions.
— Method of handling retries is programmable at
FPGA configuration to allow tailoring to different
Target data access latencies.
— Decodes at medium speed.
— Provides option to delay PCI access until FIFO is
full on Target reads to increase PCI bandwidth.
■
Supports dual-address cycles (both as Master and
Target).
■
Supports all six base address registers (BARs), as
either memory (32-bit or 64-bit) or I/O. Any legal
page size can be independently specified for each
BAR during FPGA configuration.
■
Independent Master and Target clocks can be supplied to the PCI FIFO interface from the FPGA-based
logic.
■
Provides versatile clocking capabilities with FPGA
clocks sourced from PCI bus clock or elsewhere.
FIFO interface buffers asynchronous clock domains
between the PCI interface and FPGA-based logic.
■
PCI interface timing: meets or exceeds 33 MHz,
50 MHz, and 66 MHz PCI requirements.
Lucent Technologies Inc.
Lattice Semiconductor
■
Generates interrupts on intan as directed by the
FPGA.
■
PCI I/O output drivers can be programmed for fast or
slew-limited operation.
■
Automatically detects 5 V or 3.3 V PCI bus signaling
environment and provides appropriate I/O signaling,
under 3.3 V commercial conditions.
■
Ideally suited for such applications as:
— PCI-based graphics/video/multimedia.
— Bridges to ISA/EISA/MCA, LAN, SCSI, Ethernet,
ATM, or other bus architectures.
— High-bandwidth data transfer in proprietary systems.
FPSC Highlights
■
Implemented as an embedded core into the
advanced Series 3+ ORCA FPSC architecture.
■
Allows the user to integrate the core with up to 120K
gates of programmable logic, all in one device, and
provides up to 259 user I/O pins in addition to the
PCI interface pins.
■
FPGA portion retains all of the features of the ORCA
3 FPGA architecture:
— High-performance, cost-effective, 0.25 µm
5-level metal technology.
— Twin-quad programmable function unit (PFU)
architecture with eight 16-bit look-up tables
(LUTs) per PFU, organized in two nibbles for use
in nibble- or byte-wide functions. Allows for mixed
arithmetic and logic functions in a single PFU.
3
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
FPSC Highlights (continued)
■
High-speed on-chip interface provided between
FPGA logic and embedded core to reduce bottlenecks typically found when interfacing off-chip.
■
Supported in two packages: 352-pin PBGA and
680-pin PBGAM.
*
Note: This document will conform to the nomenclature
of the PCI Local Bus Specification, as follows:
Term
Meaning
byte
word
DWORD
Quadword
8 bits
16 bits
32 bits
64 bits
Software Support
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
— Softwired LUTs (SWL) allow fast cascading of up
to three levels of LUT logic in a single PFU.
— Supplemental logic and interconnect cell (SLIC)
provides 3-statable buffers, up to 10-bit decoder,
and PAL*-like AND-OR-INVERT (AOI) in each
programmable logic cell (PLC).
— Up to three ExpressCLK inputs allow extremely
fast clocking of signals on- and off-chip plus
access to internal general clock routing.
— Dual-use microprocessor interface (MPI) can be
used for configuration, readback, device control,
and device status, as well as for a general-purpose interface to the FPGA. Glueless interface to
i960 † and PowerPC ‡ processors with user-configurable address space provided.
— Programmable clock manager (PCM) adjusts
clock phase and duty cycle for input clock rates
from 5 MHz to 120 MHz. The PCM may be combined with FPGA logic to create complex functions, such as digital phase-locked loops (DPLL),
frequency counters, and frequency synthesizers
or clock doublers. Two PCMs are provided per
device.
— True internal 3-state, bidirectional buses with simple control provided by the SLIC.
— 32 x 4 RAM per PFU, configurable as single or
dual port. Create large, fast RAM/ROM blocks
(128 x 8 in only eight PFUs) using the SLIC
decoders as bank drivers.
— Built-in boundary scan (IEEE §1149.1 JTAG) and
TS_ALL testability function to 3-state all I/O pins.
Data Sheet
April 2002
■
Supported by ORCA Foundry software and thirdparty CAE tools for implementing ORCA Series 3+
devices and simulation/timing analysis with embedded PCI bus core.
■
PCI core configuration options and simulation netlists
generated by FPSC Configuration Manager utility in
ORCA Foundry software.
■
Preference files provided for timing interface
between PCI bus core and FPGA logic.
PAL is a trademark of Advanced Micro Devices, Inc.
† i960 is a registered trademark of Intel Corporation.
‡ PowerPC is a registered trademark of International Business
Machines Corporation.
§ IEEE is a registered trademark of The Institute of Electrical and
Electronics Engineers, Inc.
4
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Description
FPGA/Embedded Core Interface
What Is an FPSC?
The interface between the FPGA logic and the embedded core is designed to look like FPGA I/Os from the
FPGA side, simplifying interface signal routing and providing a unified approach with general FPGA design.
Effectively, the FPGA is designed as if signals were
going off of the device to the embedded core, but the
on-chip interface is much faster than going off-chip and
requires less power. All of the delays for the interface
are precharacterized and accounted for in the ORCA
Foundry Development System.
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
FPSCs, or field-programmable system chips, are
devices that combine field-programmable logic with
ASIC or mask-programmed logic on a single device.
FPSCs provide the time to market and flexibility of
FPGAs, the design effort savings of using soft intellectual property (IP) cores, and the speed, design density,
and economy of ASICs.
FPSC Overview
Lattice’s Series 3+ FPSCs are created from Series 3
ORCA FPGAs. To create a Series 3+ FPSC, several
rows of programmable logic cells (see FPGA Logic
Overview section for FPGA logic details) are removed
from a Series 3 ORCA FPGA, and the area is replaced
with an embedded logic core. Other than replacing
some FPGA gates with ASIC gates, at greater than
10:1 efficiency, none of the FPGA functionality is
changed—all of the Series 3 FPGA capability is
retained: MPI, PCMs, boundary scan, etc. The rows of
programmable logic are replaced at the bottom of the
device, allowing pins on the bottom and sides of the
replaced rows to be used as I/O pins for the embedded
core. The remainder of the device pins retain their
FPGA functionality as do special function FPGA pins
within the embedded core area.
FPSC Gate Counting
The total gate count for an FPSC is the sum of its
embedded core (standard-cell/ASIC gates) and its
FPGA gates. Because FPGA gates are generally
expressed as a usable range with a nominal value, the
total FPSC gate count is sometimes expressed in the
same manner. Standard-cell/ASIC gates are, however,
10 to 25 times more silicon area efficient than FPGA
gates. Therefore, an FPSC with an embedded function
is gate equivalent to an FPGA with a much larger gate
count.
Lucent Technologies Inc.
Lattice Semiconductor
Clock spines also can pass across the FPGA/embedded core boundary. This allows for fast, low-skew clocking between the FPGA and the embedded core. Many
of the special signals from the FPGA, such as DONE
and global set/reset, are also available to the embedded core, making it possible to fully integrate the
embedded core with the FPGA as a system.
For even greater system flexibility, FPGA configuration
RAMs are available for use by the embedded core. This
allows for user-programmable options in the embedded
core, in turn allowing for greater flexibility. Multiple
embedded core configurations may be designed into a
single device with user-programmable control over
which configurations are implemented, as well as the
capability to change core functionality simply by reconfiguring the device.
ORCA Foundry Development System
The ORCA Foundry Development System is used to
process a design from a netlist to a configured FPSC.
This system is used to map a design onto the ORCA
architecture and then place and route it using ORCA
Foundry’s timing-driven tools. The development system
also includes interfaces to, and libraries for, other popular CAE tools for design entry, synthesis, simulation,
and timing analysis.
The ORCA Foundry Development System interfaces to
front-end design entry tools and provides the tools to
produce a configured FPSC. In the design flow, the
user defines the functionality of the FPGA portion of
the FPSC and embedded core settings at two points in
the design flow: at design entry and at the bit stream
generation stage.
5
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Description (continued)
ble input/output cells (PICs), and system-level features.
An array of PLCs is surrounded by PICs. Each PLC
contains a programmable function unit (PFU), a supplemental logic and interconnect cell (SLIC), local routing resources, and configuration RAM. Most of the
FPGA logic is performed in the PFU, but decoders,
PAL-like functions, and 3-state buffering can be performed in the SLIC. The PICs provide device inputs and
outputs and can be used to register signals and to perform input demultiplexing, output multiplexing, and
other functions on two output signals. Some of the
system-level functions include the new microprocessor
interface (MPI) and the programmable clock manager
(PCM).
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Following design entry, the development system’s map,
place, and route tools translate the netlist into a routed
FPSC. A static timing analysis tool is provided to determine device speed and a back-annotated netlist can be
created to allow simulation. Timing and simulation output files from ORCA Foundry are also compatible with
many third-party analysis tools. Its bit stream generator
is then used to generate the configuration data which is
loaded into the FPSC’s internal configuration RAM.
When using the bit stream generator, the user selects
options that affect the functionality of the FPSC. Combined with the front-end tools, ORCA Foundry produces configuration data that implements the various
logic and routing options discussed in this data sheet.
Data Sheet
April 2002
FPSC Design Kit
Development is facilitated by an FPSC Design Kit
which, together with ORCA Foundry and third-party
synthesis and simulation engines, provides all software
and documentation required to design and verify an
FPSC implementation. Included in the kit are the FPSC
Configuration Manager, Verilog * and VHDL* gate-level
structural netlists, all necessary synthesis libraries, and
complete online documentation. The kit's software couples with ORCA Foundry under the control of the
ORCA Foundry Control Center (OFCC), providing a
seamless FPSC design environment. More information
can be obtained by visiting the ORCA website or contacting a local sales office, both listed on the last page
of this document.
FPGA Logic Overview
ORCA Series 3 FPGA logic is a new generation of
SRAM-based FPGA logic built on the successful
Series 2 FPGA line, with enhancements and innovations geared toward today’s high-speed designs and
tomorrow’s systems on a single chip. Designed from
the start to be synthesis friendly and to reduce place
and route times while maintaining the complete
routability of the ORCA Series 2 devices, the Series 3
more than doubles the logic available in each logic
block and incorporates system-level features that can
further reduce logic requirements and increase system
speed. ORCA Series 3 devices contain many new patented enhancements and are offered in a variety of
packages, speed grades, and temperature ranges.
PLC Logic
Each PFU within a PLC contains eight 4-input (16-bit)
look-up tables (LUTs), eight latches/flip-flops (FFs),
and one additional flip-flop that may be used independently or with arithmetic functions.
The PFU is organized in a twin-quad fashion: two sets
of four LUTs and FFs that can be controlled independently. LUTs may also be combined for use in arithmetic functions using fast-carry chain logic in either
4-bit or 8-bit modes. The carry-out of either mode may
be registered in the ninth FF for pipelining. Each PFU
may also be configured as a synchronous 32 x 4
single- or dual-port RAM or ROM. The FFs (or latches)
may obtain input from LUT outputs or directly from
invertible PFU inputs, or they can be tied high or tied
low. The FFs also have programmable clock polarity,
clock enables, and local set/reset.
The SLIC is connected to PLC routing resources and to
the outputs of the PFU. It contains 3-state, bidirectional
buffers and logic to perform up to a 10-bit AND function
for decoding, or an AND-OR with optional INVERT
(AOI) to perform PAL-like functions. The 3-state drivers
in the SLIC and their direct connections to the PFU outputs make fast, true 3-state buses possible within the
FPGA logic, reducing required routing and allowing for
real-world system performance.
* Verilog and VHDL are registered trademarks of Cadance Design
Systems, Inc.
ORCA Series 3 FPGA logic consists of three basic elements: programmable logic cells (PLCs), programma6
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
Description (continued)
PIC Logic
ExpressCLKs may be glitchlessly and independently
enabled and disabled with a programmable control signal using the new StopCLK feature. The improved PIC
routing resources are now similar to the patented intraPLC routing resources and provide great flexibility in
moving signals to and from the PIOs. This flexibility
translates into an improved capability to route designs
at the required speeds when the I/O signals have been
locked to specific pins.
Configuration
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
The Series 3 PIC addresses the demand for everincreasing system clock speeds. Each PIC contains
four programmable inputs/outputs (PIOs) and routing
resources. On the input side, each PIO contains a fastcapture latch that is clocked by an ExpressCLK. This
latch is followed by a latch/FF that is clocked by a system clock from the internal general clock routing. The
combination provides for very low setup requirements
and zero hold times for signals coming on-chip. It may
also be used to demultiplex an input signal, such as a
multiplexed address/data signal, and register the signals without explicitly building a demultiplexer. Two
input signals are available to the PLC array from each
PIO, and the ORCA Series 2 capability to use any input
pin as a clock or other global input is maintained.
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
On the output side of each PIO, two outputs from the
PLC array can be routed to each output flip-flop, and
logic can be associated with each I/O pad. The output
logic associated with each pad allows for multiplexing
of output signals and other functions of two output signals.
The output FF, in combination with output signal multiplexing, is particularly useful for registering address
signals to be multiplexed with data, allowing a full clock
cycle for the data to propagate to the output. The I/O
buffer associated with each pad is the same as the
ORCA Series 3 buffer.
System Features
The Series 3 also provides system-level functionality by
means of its dual-use microprocessor interface (MPI)
and its innovative programmable clock manager
(PCM). These functional blocks allow for easy glueless
system interfacing and the capability to adjust to varying conditions in today’s high-speed systems. Since
these and all other Series 3 features are available in
every Series 3+ FPSC, they can also interface to the
embedded core providing for easier system integration.
The FPGA logic’s functionality is determined by internal
configuration RAM. The FPGA logic’s internal initialization/configuration circuitry loads the configuration data
at powerup or under system control. The RAM is
loaded by using one of several configuration modes,
including serial EEPROM, the microprocessor interface, or the embedded function core.
Boundary Scan
Boundary scan is implemented in the OR3LP26B
device as with any of the OR3LXXB family of parts. The
PCI core side of the device contains the same boundary-scan registers. After performing a boundary-scan
test, it is highly recommended that the device be reset
through the PCI rstn pin. This reset will clear out any
PCI core internal registers that may have been set during the boundary-scan tests.
More Series 3 Information
For more information on Series 3 FPGAs, please refer
to the Series 3 FPGA data sheet, available on the Lattice website .
Routing
The abundant routing resources of ORCA Series 3
FPGA logic are organized to route signals individually
or as buses with related control signals. Clocks are
routed on a low-skew, high-speed distribution network
and may be sourced from PLC logic, externally from
any I/O pad, or from the very fast ExpressCLK pins.
Lucent Technologies Inc.
Lattice Semiconductor
7
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
OR3LP26B Overview
Device Layout
Table 2. PCI Local Bus Data Rates
Clock
Frequency
(MHz)
33
33
66
66
Data Path Width Peak Data Rate
(bits)
(Mbytes)
32
64
32
64
132
264
264
528
The PCI bus is electrically specified so that no glue
logic is required to interface to the bus—PCI devices
interface directly to the PCI bus. Other features include
registers for device and subsystem identification and
autoconfiguration, support for 64-bit addressing, and
multi-Master capability that allows any PCI bus Master
access to any PCI bus Target.
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
The OR3LP26B FPSC provides a PCI local bus core
(with FIFOs) combined with FPGA logic. The device is
based on a 2.5 V OR3L125B FPGA. The OR3L125B
has a 28 x 28 array of programmable logic cells
(PLCs). For the OR3LP26B, the bottom ten rows of
PLCs in the array were replaced with the embedded
PCI bus core. Table 3 shows a schematic view of the
OR3LP26B. The upper portion of the device is an 18 x
28 array of PLCs surrounded on the left, top, and right
by programmable input/output cells (PICs). At the bottom of the PLC array are the core interface cells (CICs)
connecting to the embedded core region. The embedded core region contains the PCI bus functionality of
the device. It is surrounded on the left, bottom, and
right by PCI bus dedicated I/Os as well as power and
special function FPGA pins. Also shown are the interquad routing blocks (hIQ, vIQ) present in the Series 3
FPGA devices. System-level functions (located in the
corners of the PLC array), routing resources, and configuration RAM are not shown in Figure 1.
Data Sheet
April 2002
PCI Local Bus
PCI local bus, or simply, PCI bus, has become an
industry-standard interface protocol for use in applications ranging from desktop PC busing to high-bandwidth backplanes in networking and communications
equipment. The PCI bus specification* provides for
both 5 V and 3.3 V signaling environments. The interface clock speed is specified in the range from dc to
66 MHz with detailed specifications at 33 MHz and
66 MHz as well as recommendations for 50 MHz operation. Data paths are defined as either 32-bit or 64-bit.
These data path and frequency combinations allow for
the peak data transfer rates described in Table 2.
* PCI Local Bus Specification Rev. 2.2, PCI SIG, December 18,
1998.
8
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
OR3LP26B Overview (continued)
Table 3. OR3LP26B Array
PT4
PT5
PT6
PT7
PT8
PT9
PT10
PT11
PT12
PT13
PT14
PT15
PT16
PT17
PT18
PT19
PT20
PT21
PT22
PT23
PT24
PT25
PT26
PT27
PT28
PL1
R1
C1
R1
C2
R1
C3
R1
C4
R1
C5
R1
C6
R1
C7
R1
C8
R1
C9
R1
C10
R1
C11
R1
C12
R1
C13
R1
C14
R1
C15
R1
C16
R1
C17
R1
C18
R1
C19
R1
C20
R1
C21
R1
C22
R1
C23
R1
C24
R1
C25
R1
C26
R1
C27
R1
C28
PL2
R2
C1
R2
C2
R2
C3
R2
C4
R2
C5
R2
C6
R2
C7
R2
C8
R2
C9
R2
C10
R2
C11
R2
C12
R2
C13
R2
C14
R2
C15
R2
C16
R2
C17
R2
C18
R2
C19
R2
C20
R2
C21
R2
C22
R2
C23
R2
C24
R2
C25
R2
C26
R2
C27
R2
C28
PR2
PL3
R3
C1
R3
C2
R3
C3
R3
C4
R3
C5
R3
C6
R3
C7
R3
C8
R3
C9
R3
C10
R3
C11
R3
C12
R3
C13
R3
C14
R3
C15
R3
C16
R3
C17
R3
C18
R3
C19
R3
C20
R3
C21
R3
C22
R3
C23
R3
C24
R3
C25
R3
C26
R3
C27
R3
C28
PR3
PL4
R4
C1
R4
C2
R4
C3
R4
C4
R4
C5
R4
C6
R4
C7
R4
C8
R4
C9
R4
C10
R4
C11
R4
C12
R4
C13
R4
C14
R4
C15
R4
C16
R4
C17
R4
C18
R4
C19
R4
C20
R4
C21
R4
C22
R4
C23
R4
C24
R4
C25
R4
C26
R4
C27
R4
C28
PR4
R5
C1
R5
C2
R5
C3
R5
C4
R5
C5
R5
C6
R5
C7
R5
C8
R5
C9
R5
C10
R5
C11
R5
C12
R5
C13
R5
C14
R5
C15
R5
C16
R5
C17
R5
C18
R5
C19
R5
C20
R5
C21
R5
C22
R5
C23
R5
C24
R5
C25
R5
C26
R5
C27
R5
C28
PR5
PL6
R6
C4
R6
C5
R6
C6
R6
C7
R6
C8
R6
C9
R6
C10
R6
C11
R6
C12
R6
C13
R6
C14
R6
C15
R6
C16
R6
C17
R6
C18
R6
C19
R6
C20
R6
C21
R6
C22
R6
C23
R6
C24
R6
C25
R6
C26
R6
C27
R6
C28
PL7
R7
C3
R7
C4
R7
C5
R7
C6
R7
C7
R7
C8
R7
C9
R7
C10
R7
C11
R7
C12
R7
C13
R7
C14
R7
C15
R7
C16
R7
C17
R7
C18
R7
C19
R7
C20
R7
C21
R7
C22
R7
C23
R7
C24
R7
C25
R7
C26
R7
C27
R7
C28
PL8
R8
C1
R8
C2
R8
C3
R8
C4
R8
C5
R8
C6
R8
C7
R8
C8
R8
C9
R8
C10
R8
C11
R8
C12
R8
C13
R8
C14
R8
C15
R8
C16
R8
C17
R8
C18
R8
C19
R8
C20
R8
C21
R8
C22
R8
C23
R8
C24
R8
C25
R8
C26
R8
C27
R8
C28
PR8
PL9
R9
C1
R9
C2
R9
C3
R9
C4
R9
C5
R9
C6
R9
C7
R9
C8
R9
C9
R9
C10
R9
C11
R9
C12
R9
C13
R9
C14
R9
C15
R9
C16
R9
C17
R9
C18
R9
C19
R9
C20
R9
C21
R9
C22
R9
C23
R9
C24
R9
C25
R9
C26
R9
C27
R9
C28
PR9
R10
C1
R10
C2
R10
C3
R10
C4
R10
C5
R10
C6
R10
C7
R10
C8
R10
C9
R10
C10
R10
C11
R10
C12
R10
C13
R10
C14
R10
C15
R10
C16
R10
C17
R10
C18
R10
C19
R10
C20
R10
C21
R10
C22
R10
C23
R10
C24
R10
C25
R10
C26
R10
C27
R10
C28
PR10
R11
C1
R11
C2
R11
C3
R11
C4
R11
C5
R11
C6
R11
C7
R11
C8
R11
C9
R11
C10
R11
C11
R11
C12
R11
C13
R11
C14
R11
C15
R11
C16
R11
C17
R11
C18
R11
C19
R11
C20
R11
C21
R11
C22
R11
C23
R11
C24
R11
C25
R11
C26
R11
C27
R11
C28
PR11
R12
C1
R12
C2
R12
C3
R12
C4
R12
C5
R12
C6
R12
C7
R12
C8
R12
C9
R12
C10
R12
C11
R12
C12
R12
C13
R12
C14
R12
C15
R12
C16
R12
C17
R12
C18
R12
C19
R12
C20
R12
C21
R12
C22
R12
C23
R12
C24
R12
C25
R12
C26
R12
C27
R12
C28
PR12
R13
C1
R13
C2
R13
C3
R13
C4
R13
C5
R13
C6
R13
C7
R13
C8
R13
C9
R13
C10
R13
C11
R13
C12
R13
C13
R13
C14
R13
C15
R13
C16
R13
C17
R13
C18
R13
C19
R13
C20
R13
C21
R13
C22
R13
C23
R13
C24
R13
C25
R13
C26
R13
C27
R13
C28
PR13
R14
C1
R14
C2
R14
C3
R14
C4
R14
C5
R14
C6
R14
C7
R14
C8
R14
C9
R14
C10
R14
C11
R14
C12
R14
C13
R14
C14
R14
C15
R14
C16
R14
C17
R14
C18
R14
C19
R14
C20
R14
C21
R14
C22
R14
C23
R14
C24
R14
C25
R14
C26
R14
C27
R14
C28
PR14
R15
C1
R15
C2
R15
C3
R15
C4
R15
C5
R15
C6
R15
C7
R15
C8
R15
C9
R15
C10
R15
C11
R15
C12
R15
C13
R15
C14
R15
C15
R15
C16
R15
C17
R15
C18
R15
C19
R15
C20
R15
C21
R15
C22
R15
C23
R15
C24
R15
C25
R15
C26
R15
C27
R15
C28
PR15
R16
C1
R16
C2
R16
C3
R16
C4
R16
C5
R16
C6
R16
C7
R16
C8
R16
C9
R16
C10
R16
C11
R16
C12
R16
C13
R16
C14
R16
C15
R16
C16
R16
C17
R16
C18
R16
C19
R16
C20
R16
C21
R16
C22
R16
C23
R16
C24
R16
C25
R16
C26
R16
C27
R16
C28
PR16
R17
C1
R17
C2
R17
C3
R17
C4
R17
C5
R17
C6
R17
C7
R17
C8
R17
C9
R17
C10
R17
C11
R17
C12
R17
C13
R17
C14
R17
C15
R17
C16
R17
C17
R17
C18
R17
C19
R17
C20
R17
C21
R17
C22
R17
C23
R17
C24
R17
C25
R17
C26
R17
C27
R17
C28
PR17
PR18
PL18
PL17
PL16
PL15
PL14
PL13
PL12
PL11
PL10
R6
C3
R7
C2
PR7
IIII IIII IIII IIII IIII IIII IIII IIII IIII IIII IIII IIII IIII IIII
R6
C2
R7
C1
R18
C1
R18
C2
R18
C3
R18
C4
R18
C5
R18
C6
R18
C7
R18
C8
R18
C9
R18
C10
R18
C11
R18
C12
R18
C13
R18
C14
R18
C15
R18
C16
R18
C17
R18
C18
R18
C19
R18
C20
R18
C21
R18
C22
R18
C23
R18
C24
R18
C25
R18
C26
R18
C27
R18
C28
ASB1
ASB2
ASB3
ASB4
ASB5
ASB6
ASB7
ASB8
ASB9
ASB10
ASB11
ASB12
ASB13
ASB14
ASB15
ASB16
ASB17
ASB18
ASB19
ASB20
ASB21
ASB22
ASB23
ASB24
ASB25
ASB26
ASB27
ASB28
EMBEDDED CORE AREA
IIII IIII IIII IIII IIII IIII IIII IIII IIII IIII IIII IIII IIII IIII
Lucent Technologies Inc.
Lattice Semiconductor
IIII IIII IIII IIII IIII IIII IIII IIII IIII
III
IIII IIII IIII IIII IIII IIII IIII IIII IIII IIII IIII IIII IIII IIII
R6
C1
PR6
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
PT3
IIII IIII IIII IIII IIII IIII IIII IIII IIII IIII IIII IIII IIII IIII
PT2
PL5
IIII IIII IIII IIII IIII IIII IIII IIII IIII IIII IIII IIII IIII IIII
PT1
PR1
IIII IIII IIII IIII IIII IIII IIII IIII IIII IIII IIII IIII IIII IIII
IIII IIII IIII IIII IIII IIII IIII IIII IIII IIII IIII IIII IIII IIII
IIII IIII IIII IIII
9
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
OR3LP26B Overview (continued)
PCI Bus Interface
OR3LP26B PCI Bus Core Overview
The OR3LP26B PCI bus interface is compliant to Revision 2.2 of the PCI Local Bus specification. It is capable
of no-wait-state, full-burst operation at all of the
rate/data width combinations described in Table 2 as
well as at a 50 MHz specification that provides a speed
increase over the 33 MHz specification and a larger
bus loading capability than the 66 MHz specification.
The OR3LP26B operates in either the 3.3 V or 5 V PCI
signaling environment and is automatically configured
for the appropriate environment by a PCI bus vio pin.
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
The OR3LP26B embedded core comprises a PCI bus
interface with independent Master and Target controllers, FIFO memories and control logic for data buffering, a dual-/quad-port interface to the FPGA logic
which performs data packing and multiplexing, and
logic to support embedded core and FPGA configuration. Each of these areas is briefly described in the following paragraphs. A detailed description of all of the
features and functionality of the OR3LP26B embedded
core is provided in the next section.
10
Independent Master and Target controllers are provided for use in systems requiring Master/Target or Target only operation. Six 32-bit base address registers
(BARs) are provided for choosing the address space of
the PCI device, and these six registers can be combined in pairs to produce 64-bit BARs. Dual address
cycles are supported in both 32-bit and 64-bit addressing modes. The BARs work in either the I/O or the
memory space of the device, and can be configured as
prefetchable or nonprefetchable.
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
OR3LP26B Overview (continued)
Independent data paths exist for the Master and Target controllers. This allows for separate operation of Master
and Target functions, and the capability for a Master to talk to a Target on the same device.
In dual-port mode, the Master and Target controllers share two 64-bit data paths, one in each direction, between
the FIFOs and the FPGA logic. This provides for full-rate transfers in both 32- and 64-bit PCI bus operation.
Quad-port mode provides two 32-bit data paths for each controller: one in each direction. This mode allows for
simultaneous reads and writes on either the Master or Target controller.
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Diagrams for dual-port and quad-port operation are shown in Figure 1.
113 USER I/O PADS
113 USER I/O PADS
73
USER
I/O PADS
73
USER
I/O PADS
OR3T SERIES FPGA
18 ROWS x 28 COLUMNS
32
32
32
73
USER
I/O PADS
32
TARGET
64-bit x
16 DEEP
FIFO
MASTER
64-bit x
32 DEEP
FIFO
64
64
DATA CONTROL
AND
MULTIPLEXING
DATA CONTROL
AND
MULTIPLEXING
TARGET
64-bit x
16 DEEP
FIFO
73
USER
I/O PADS
OR3T SERIES FPGA
18 ROWS x 28 COLUMNS
MASTER
64-bit x
32 DEEP
FIFO
TARGET
64-bit x
16 DEEP
FIFO
TARGET
64-bit x
16 DEEP
FIFO
MASTER
64-bit x
32 DEEP
FIFO
PCI
MASTER/TARGET
INTERFACE
PCI
MASTER/TARGET
INTERFACE
PCI
BUS
PCI
BUS
MASTER
64-bit x
32 DEEP
FIFO
5-6368(F).e
Note: User I/O pin count includes three ExpressCLK pins.
Figure 1. ORCA OR3LP26B PCI FPSC Block Diagram
Embedded Core Options/FPGA Configuration
In addition to the Series 3 FPGA configuration modes (less Master parallel), the OR3LP26B can also be configured via the PCI bus. Configuration as discussed here has two meanings. There is configuration of the FPGA logic,
and there is configuration of the options available in the embedded core. Both are accomplished through the FPGA
configuration process (some PCI configuration options may also be set via registers within the PCI bus core).
Readback of FPGA and PCI core options is also possible using the PCI bus or Series 3 FPGA readback modes.
The PCI bus core will be functional in the default PCI bus configuration space, as defined in the PCI bus 2.2 specification, prior to an initial configuration of the FPGA logic or the embedded core options.
Lucent Technologies Inc.
Lattice Semiconductor
11
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
PCI Bus Core Detailed Description
The following sections describe the operation of the embedded core PCI bus interface.
PCI Bus Commands
The PCI core supports all commands required by the PCI specification. The following table describes each command. Subsequent sections will describe the protocols in which the commands are used.
Table 4. PCI Bus Command Descriptions
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Command
Command
Code
(Binary)
Master
Generates
Target
Accepts
—
—
—
—
0010
Interrupt
Acknowledge
Special
Cycle
I/O Read
√
√
0011
I/O Write
√
√
0100
0101
0110
(reserved)
(reserved)
Memory
Read
—
—
—
—
√
√
0000
0001
12
Description
Only implemented as Master by agents that interface to the system CPU and as Target by agents that incorporate the system
interrupt controller.
Target ignores, per PCI Specification section 3.6.2.
Fully implemented.
Target: Bursting is prevented by disconnecting with data on the
first data phase. If signal deltrn is asserted low, I/O (and memory)
reads are handled as delayed transactions; no wait-states are
generated. If signal deltrn is deasserted high, the unit waits for the
data from the FPGA application, inserting wait-states (up to the
maximum allowed, after which a retry is issued).
Master: Bursting is allowed, and no wait-states are generated.
Fully implemented.
Target: Bursting is prevented by disconnecting with data on the
first data phase. If signal deltrn is asserted low, I/O writes are
handled as delayed transactions; no wait-states are generated.
Master: Bursting is allowed, and no wait-states are generated.
Target ignores, per PCI Specification section 3.1.1.
Target ignores, per PCI Specification section 3.1.1.
Fully implemented.
Target: Bursting is allowed. If signal deltrn is asserted low, memory (and I/O) reads are handled as delayed transactions. If signal
deltrn is deasserted high, the unit waits for the data from the
FPGA application, inserting wait-states (up to the maximum
allowed, after which a retry is issued). If signal trburstpendn is
asserted low and the Target Read FIFO is empty, wait-states are
inserted (up to the maximum allowed, after which a retry is
issued).
Master: Bursting is allowed, and no wait-states are generated.
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
PCI Bus Core Detailed Description (continued)
Table 4. PCI Bus Command Descriptions (continued)
Command
Command
Code
(Binary)
Memory
Write
Target
Accepts
√
√
Description
Fully implemented.
Target: Writes are posted, bursting is allowed, and no wait-states
are generated.
Master: Bursting is allowed, and no wait-states are generated.
Target ignores, per PCI Specification section 3.1.1.
Target ignores, per PCI Specification section 3.1.1.
Fully implemented.
Target: Bursting is disallowed, and no wait-states are generated.
Target disconnects with data on first data word. The FPGA portion
of the device is not involved in Target configuration transactions.
Master: Bursting is allowed, and no wait-states are generated.
Fully implemented.
Target: Bursting is disallowed, and no wait-states are generated.
Target disconnects with data on first data word. The FPGA portion
of the device is not involved in Target configuration transactions.
Master: Bursting is allowed, and no wait-states are generated.
Fully implemented. Both the Master and the Target treat this
instruction the same as a memory read (0110); the user’s FPGA
logic is responsible for ensuring that the Master operation meets
the special requirement that the read request ends on a cacheline
boundary.
Fully implemented. Per PCI Specification section 3.9, the PCI core
will automatically convert a 64-bit address to a 32-bit address if
the upper 32 bits are all zeros.
Fully implemented. Both the Master and the Target treat this
instruction the same as a memory read (0110); the user’s FPGA
logic is responsible for ensuring that the Master operation meets
the special requirement that the read request continues to the next
cacheline boundary.
Fully implemented. Both the Master and the Target treat this
instruction the same as a memory write (0111); the user’s FPGA
logic is responsible for ensuring that the Master operation meets
the special requirement that writes of complete cachelines, with all
byte enables, are performed.
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
0111
Master
Generates
1000
1001
1010
(reserved)
(reserved)
Configuration Read
—
—
—
—
√
√
1011
Configuration Write
√
√
1100
Memory
Read
Multiple
√
√
1101
Dual
Access
Cycle
Memory
Read Line
√
√
√
√
Memory
Write and
Invalidate
√
√
1110
1111
Lucent Technologies Inc.
Lattice Semiconductor
13
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
PCI Bus Core Detailed Description
Device Selection (devseln)
(continued)
The target is responsible for responding to a master’s
request by asserting the PCI bus signal devseln.
devseln may be asserted one, two, or three clocks
after the address phrase of a transaction, corresponding to fast, medium, or slow decode, respectively. The
PCI core’s target is capable of preforming a mediumspeed decode response. The decode response speed
has a significant impact on the overall latency and
bandwidth of nonburst PCI transactions, but its impact
decreases greatly for burst transactions, particularly for
burst lengths of the size of the PCI core’s FIFOs.
PCI Protocol Fundamentals
Basic Transfer Control
The following paragraphs describe various aspects of
the PCI protocol and the way they are handled by the
PCI core.
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Addressing. The PCI Specification defines three types
of address spaces. The first, configuration address
space, is a physical address of space and is intended
as a means for powerup software to identify agents and
configure them before other address spaces have allocated. The second, I/O address space, is intended for
mapping control functions. Control function page sizes
in configuration space should be no more than
256 bytes. The third, memory address space, is
intended for bulk data transfer. It has features to facilitate this, such as special commands for cache implementation, large page sizes, and mechanisms for
prefetching. The PCI core handles all three address
space types as both a Master and a Target.
Byte Alignment. On all write operations (configuration,
I/O, and memory space, and including the memory
write and invalidate instruction), for both the PCI core’s
Master and Target functions, byte enables are fully
implemented from/to the FPGA interface. Note, however, that even though the PCI core implements the
ability to control byte enables for the memory write and
invalidate instruction, the PCI Specification requires
that this instruction assert all byte enables, and this is
the FPGA application’s responsibility. On read operations, the utility of byte enables is more dubious since
the data must be enroute from the PCI bus from Target
to Master, at the time that the corresponding byte
enables are enroute on the PCI bus Master to Target
(unless wait-states are inserted). The PCI core, therefore, does not implement byte enable control for Master
or Target reads. Byte enables on master read operations are always asserted, and target ignores the byte
enables that are sent, in accordance with PCI Specification requirements.
14
Address/Data Stepping
Stepping is an optional feature added to the PCI Specification to accommodate agents whose bus drive capability is insufficient to handle large groups of signals
changing state in one clock cycle. Continuous stepping
allows weak drivers multiple cycles for signal transition.
Discrete stepping partitions the bus into two or more
groups of bits that transition on successive clock
cycles. However, stepping exacts a heavy toll on performance, cutting maximum bandwidth by at least 50%
and increasing latency. The PCI core is designed for
maximum throughput with high-performance buffers, so
stepping is unnecessary and not implemented. The
wait cycle control, bit 7 of the command register, is
therefore hardwired to a zero.
Reset Operation
The PCI bus contains a signal, rstn, that performs a
PCI reset function. When the reset occurs, all state
machines in the ASIC are placed in their idle state, the
configuration space BARs are reset to their mask values, and the command registers are reset. The reset
does not reset the FPGA logic. The PCI reset signal is
fed from the ASIC to the FPGA logic to be used by the
designer.
Interrupt Acknowledge
The interrupt acknowledge command is a read by the
system CPU implicitly addressed to the system interrupt controller. Other agents, including the PCI core,
are not required to implement this instruction; the PCI
core’s Master does not generate it and its Target
ignores it.
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
PCI Bus Core Detailed Description
(continued)
Arbitration Parking
value. In this case, the total budget increases from
15 ns (66 MHz) to 20 ns (50 MHz).
Table 5. Timing Budgets
Timing Element 33 MHz 50 MHz 66 MHz
Cycle Time
Valid Output
Delay
Propagation
Time
Input Setup Time
Clock Skew
Parity
The PCI core implements all required and optional features, including the following:
■
Master generates parity on all addresses placed on
the bus.
■
Sending agent generates parity on all data placed on
the bus.
■
Target calculates parity on all addresses received
from the bus.
■
Receiving agent calculates parity on all data
received from the bus.
■
The detected parity error bit in the status register is
set whenever an agent calculates corrupted parity.
■
The signal perrn is generated whenever an agent
calculates corrupted parity and the parity error
response bit is set in the command register.
Unit
30.0
11.0
20.0
7.5
15.0
6.0
ns
ns
10.0
6.5
5.0
ns
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
The PCI Specification requires that all master agents
properly handle bus parking, which means that when
that agent receives an asserted gntn without the agent
having asserted reqn, the agent still must drive signal
par and buses AD and c_ben. The PCI core meets this
requirement.
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
7.0
2.0
4.5
1.5
3.0
1.0
ns
ns
64-Bit Addressing
The PCI core fully supports 64-bit addressing, whether
or not the PCI core is configured to utilize the 64-bit
data extension. When the PCI core is a 64-bit target
being addressed by 64-bit master, the PCI core will
decode the address one cycle faster so that dualaddress operation will have no performance impact;
see PCI Specification section 3.9 for details.
Section 3.9 of the PCI Specification also states that a
Master that supports 64-bit addressing must nevertheless generate requests utilizing a single address
instead of a dual address when the upper 32 bits are all
zeros. This shortens the request time by one cycle
when communicating with 32-bit Targets. It is the FPGA
application’s responsibility to ensure that this requirement is met.
66 MHz Operation
The PCI core is fully compliant to PCI Specification
requirements at all clock rates up to 66 MHz. All
33 MHz requirements are also met.
Timing Budget
The PCI core’s timing budget is summarized in Table 5.
Note that the 66 MHz timing requirements only allow
5 ns for signal propagation (TPROP), as compared to
10 ns at 33 MHz. The effect of the reduction is to also
reduce the number of agents that the bus can support,
although the actual number is not specified in the PCI
Specification and is dependent on the design of the
hardware components. The four components of the
timing budget are TVAL (valid output delay), TPROP
(propagation time), TSU (input setup time), and TSKEW
(clock skew); of these, only TVAL and TSU are controlled
by the PCI component, and TPROP and TSKEW are system parameters. Table 5 includes a third column (also
shown in the PCI Specification). This column indicates
the performance attainable if all 66 MHz requirements
are met except TPROP = 10 ns, which is the 33 MHz
Lucent Technologies Inc.
Lattice Semiconductor
FIFO Memories and Control
The OR3LP26B embedded core contains four FIFO
memories and supporting control logic. Two FIFOs are
for the master interface data and two for the target
interface data. These FIFOs are always configured to
operate in 64-bit mode and also carry byte enable bits
on a per-byte basis (e.g., the 64-bit FIFO actually carries 64 bits of data and 8 byte enable bits for a total of
72 bits). During 32-bit transactions, the FPSC will pack
the data to fully utilize the memories. All FIFOs have
four flags: Full, Almost Full (Full-4), Empty, and Almost
Empty (Empty+4). (See Table 6.) The FPGA application is provided with the Full/Empty signal and Almost
Full/Empty signal associated with the FPGA side of the
FIFO. In addition, the FPGA application is provided
with the PCI side's Full/Empty signal (but not the
Almost Full/Empty signal), to enable checking for operation completion. Clocking for the FPGA side of all
FIFOs is flexible, with options for different clocks for the
Master and Target FIFOs, sourced by the FPGA logic,
or by the PCI bus clock.
15
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
PCI Bus Core Detailed Description (continued)
Table 6. FIFO Flags Provided to FPGA Application
Write Operation
Master Operation
FPGA Side
PCI Side
FPGA Side
PCI Side
mw_fulln
mw_afulln
tw_emptyn
tw_aemptyn
mw_emptyn
mr_emptyn
mr_aemptyn
tr_fulln
tr_afulln
mr_fulln
tw_fulln
tr_emptyn
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Target Operation
Read Operation
PCI Bus Pin Information
This section describes signals on the PCI bus interface and at the embedded core/FPGA interface. Some signal
definitions change name and location based on the mode of operation. Modes of operation are described following
the signal descriptions. PCI bus signal package pin locations can be found in Table 70.
Table 7. PCI Bus Pin Descriptions
Symbol
System Pins
clk
rstn
I/O
Description
I
Clock. Provides timing for all transactions on the PCI bus and is an input to the
OR3LP26B device. All PCI signals, except rstn and intan, are sampled on the rising edge of clk, and all other PCI bus timing parameters are defined with respect to
this edge. The signal clk operates up to 66 MHz, and the minimum frequency is dc.
Reset. An active-low signal used to reset the entire PCI bus. rstn is asynchronous
to clk. During rstn, all PCI output signals are 3-stated.
I
Address and Data Pins
ad[31:0]
I/O
Address and Data. Multiplexed on the same PCI pins. A PCI bus transaction consists of an address phase followed by one or more data phases.
During data phases, ad[7:0] contain the least significant byte and ad[31:24] contain the most significant byte. During memory commands, the ad[31:2] lines specify the address and ad[1:0] specify the type of bursting sequence to use. The table
below outlines the bursting sequence based on the values of ad[1:0].
16
c_ben[3:0]
I/O
par
I/O
ad[1:0] Bursting sequence.
00 Linear incrementing.
01 Disconnect after first transfer.
10 Disconnect after first transfer.
11 Disconnect after first transfer.
Bus Command and Byte Enables. Active-low signals multiplexed on the same
PCI pins. During the address phase of a transaction, c_ben[3:0] define the bus
command. During the data phase, c_ben[3:0] are used as byte enables. The byte
enables are valid for the entire data phase and determine which byte lanes carry
meaningful data.
Parity. Specifies even parity across ad[31:0] and c_ben[3:0]. par is stable and
valid one clock after the address phase. For data phases, par is stable and valid
one clock after irdyn is asserted on a write transaction or trdyn is asserted on a
read transaction. Once par is valid, it remains valid until one clock after the completion of the current data phase. The Master drives par for address and write data
phases; the Target drives par for read data phases.
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
PCI Bus Core Detailed Description (continued)
Table 7. PCI Bus Pin Descriptions (continued)
Symbol
I/O
Description
Interface Control Pins
framen
I/O
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Cycle Frame. An active-low signal driven by the current Master to indicate the
beginning and duration of an access. The signal framen is asserted to indicate a
bus transaction is beginning. While framen is asserted, data transfers continue.
When framen is deasserted, the transaction is in the final phase or has completed.
irdyn
I/O
Initiator Ready. An active-low signal indicating the bus Master’s ability to complete
the current data phase of the transaction. The signal irdyn is used in conjunction
with trdyn. A data phase is completed on any clock cycle during which both irdyn
and trdyn are asserted. During a write, irdyn indicates that valid data is present on
ad[31:0]. During a read, it indicates the Master is prepared to accept data. Wait
cycles are inserted until both irdyn and trdyn are asserted together.
I/O
Target Ready. An active-low signal asserted to indicate the readiness of the Tartrdyn
get’s agent to complete the current data phase of the transaction. The signal trdyn
is used in conjunction with irdyn. A data phase is completed on any clock where
both trdyn and irdyn are sampled active. During reads, trdyn indicates that valid
data is present on ad[31:0] lines. During write cycles, trdyn indicates that the Target is prepared to accept data.
I/O
STOPn. Indicates that the current Target is requesting the Master to stop the curstopn
rent transaction.
idsel
I
Initialization Device Select. Used as a chip select during PCI configuration read
and write transactions. Generally, the user ties idsel to one of the upper 24 address
lines, ad[31:8].
devseln
I/O
Device Select. An active-low input indicating that a device on the bus has been
selected. As an output, it indicates that the driving device has decoded its address
as the Target of the current access.
Arbitration Pins (for Bus Master Only)
reqn
O
Request. An active-low signal that indicates to the arbiter that the asserting agent
desires use of the bus. In the OR3LP26B, this signal is asserted when the
OR3LP26B Master controller needs access to the PCI bus.
gntn
I
Grant. An active-low signal that indicates to the OR3LP26B that access to the PCI
bus has been granted.
Error Reporting Pins
perrn
I/O
Parity Error. An active-low signal for the reporting of data parity errors during all
PCI transactions except a special cycle. The perrn pin is a sustained 3-state signal
and must be driven active by the agent receiving data two clocks following the data
when a data parity error is detected. The minimum duration of perrn is one clock for
each data phase that a data parity error is detected. If sequential data phases each
have a data parity error, the perrn signal will be asserted for more than a single
clock. perrn is driven high for one clock before being 3-stated. The signal perrn is
not asserted until it has claimed the access by asserting devseln and completed a
data phase.
Lucent Technologies Inc.
Lattice Semiconductor
17
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
PCI Bus Core Detailed Description (continued)
Table 7. PCI Bus Pin Descriptions (continued)
Symbol
I/O
Description
serrn
O
System Error. An active-low open drain signal pulsed by agents to report errors
other than parity. serrn is sampled every clk edge, so any agent asserting serrn
must ensure it is valid for at least one clock period. The OR3LP26B asserts serrn if
a Master abort sequence is asserted when the Master controller is accessing the
PCI bus.
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Interrupt Pins
intan
O
PCI Interrupt. The OR3LP26B asserts this active-low open drain signal when it
requests an interrupt from the PCI compliant interrupt controller.
64-Bit Bus Extension Pins
ad[63:32]
I/O
64-Bit Address and Data. These signals provide the upper 32 bits of address and
data when in PCI 64-bit operation. During an address phase (when using the DAC
command and when req64n is asserted), these address bits are transferred. During a data phase, the data is valid when req64n and ack64n are both asserted.
Otherwise, these bits are 3-stated.
c_ben[7:4]
I/O
Byte Enables. These are the upper four, active-low, bus command and byte
enables when in PCI 64-bit operation. During an address phase (when using the
DAC command and when req64n is asserted), the bus command is transferred.
During a data phase, these bits are the active-low byte enables for data bits 64:32.
Otherwise, these bits are 3-stated.
req64n
I/O
Request 64-Bit Transfer. This active-low signal is asserted by the current bus Master to indicate that it desires to transfer data using 64 bits. The signal req64n has
the same meaning as framen for 32-bit transfers.
ack64n
I/O
Acknowledge 64-Bit Transfer. The Target drives this signal low to indicate that it
has decoded its own address as the Target of the current access and that it can do
64-bit transfers. The signal ack64n has the same timing as devseln in 32-bit transfers.
par64
I/O
Upper Double-Word Parity. The even parity bit that covers ad[63:32] and
c_ben[7:4]. PAR64 is valid one clock after the initial address phase when req64n is
asserted and the DAC command is indicated on c_ben[7:4]. It is also valid the
clock cycle after the second address phase of a DAC command when req64n is
asserted.
Hot Swap Function Pins
enumn
O
Active-low open drain signal that notifies the system host that the card has been
freshly inserted or is about to be extracted. The system host can then either install
(for insertion) or quiesce (for extraction) the card’s driver to adjust for the change in
system configuration.
ledn
O
Active-low open-drain signal that drives a blue LED, indicating that removal of the
card is permitted. This signal is asserted low whenever the LED ON/OFF (LOO) bit
in the hot swap control and status register (HSSCR) is asserted high.
ejectsw
I
Active-high signal that indicates that the card’s ejector handle is unseated. This signals that the operator has freshly inserted the card, or will extract the card when the
blue LED illuminates. If not used, tie high or low.
vio
I
PCI Bus Signaling Environment Voltage. This input indicates to the PCI core the
signaling environment being employed on the PCI bus. The input is tied to the
appropriate voltage supply (either 5.0 V or 3.3 V).
18
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
PCI Bus Core Detailed Description Dual Port
Pages 19—67 will refer to the dual-port mode of the OR3LP26B device. For quad-port mode, please refer to pages
68—120.
Embedded Core/FPGA Interface Signal Descriptions
In Table 8, an input refers to a signal flowing into the FPGA logic (out of the embedded core) and an output refers
to a signal flowing out of the FPGA logic (into the embedded core).
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Table 8. Embedded Core/FPGA Interface Signals
Symbol
Data FIFO Signals
datafmfpga[63:0]
datafmfpgax[7:0]
datatofpga[63:0]
datatofpgax[7:0]
I/O
Description
O
Main data bus into the master write FIFO and target read FIFO. Refer to Table 10 on
page 28 for bus usage and bit descriptions.
These signals must be synchronous to fclk.
Main data bus out of the master read FIFO and target write FIFO. Refer to Table 10
on page 28 for bus usage and bit descriptions.
These signals are synchronous to fclk.
I
Master General Signals
fpga_mbusyn
O
Symbol
I/O
Description
maenn
O
ma_fulln
I
mstatecntr[2:0]
I
mfifoclrn
O
Master Command/Address/Burst Length Enable. This is an active-low signal and
is used to enable registering commands, burst length, and start address into the Master address register of the PCI core. On each rising edge of the clock that this signal
is sampled low, command, burst length, and address will be registered.
This signal must be synchronous to fclk.
Master Address Register Full Flag. This active-low signal indicates that the Master
address register is full and no more addresses can be registered.
This signal is synchronous to fclk.
Internal State Counter. Used for Master reads and writes. Details of the Master state
machine operation can be found in tables at the end of each operation section.
This signal is synchronous to fclk.
Master FIFO Clear. This active-low signal is asserted by the FPGA Master to clear all
Master FIFOs.
This signal must be synchronous to fclk.
FPGA Master Is Busy. This signal is used in modes currently not implemented in the
core. Tie off this signal to a 1.
fpga_msyserror
FPGA Master Cycle Aborted by PCI Target. The PCI Master controller in the PCI
I
core asserts this active-high as an indication that the current cycle to the PCI bus has
been aborted. This signal is synchronous to fclk.
mcfgshiftenn
O mcfgshiftenn is an active-low signal that determines the data that is output by the PCI
pci_mcfg_stat
I
core onto signal pci_mcfg_stat:
mcfgshiftenn = 1: pci_mcfg_stat = wired-OR of all bits below, after being
masked by FPGA configuration RAM bits;
mcfgshiftenn = 0: pci_mcfg_stat = each bit below, one at a time on successive pciclk rising edges (unmasked), reset when
mcfgshiftenn = 1;
Status bits:
Data parity error detected, Target abort received, and
Master abort received.
Both signals are synchronous to fclk.
Master FIFO Address and Command Register Control Signals
Lucent Technologies Inc.
Lattice Semiconductor
19
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
PCI Bus Core Detailed Description Dual Port (continued)
Table 8. Embedded Core/FPGA Interface Signals (continued)
Symbol
I/O
m_ready
I
Description
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Master Logic Ready. This active-high signal indicates that the Master logic
interfacing to the FPGA logic is ready. This signal will be inactive during PCI bus
reset or Master FIFO clears.
This signal is synchronous to fclk.
mcmd[3:0]
Master Command Code. Command code for the current Master read/write
O operation. Refer to Table 10 on page 28.
This signal must be synchronous to fclk.
Master Write Data FIFO Signals
mwdataenn
O Master Write FIFO Data Enable. This active-low signal enables the registering
of bus datafmfpga during Master write operations into the PCI core Master
write data FIFOs on the rising edge of the Master FIFO clock signal. The signal
mwdataenn should not be asserted when the Master write data FIFOs are full,
or data may be lost.
This signal must be synchronous to fclk.
mwpcihold
O Master Write PCI Bus Hold. During burst transfers on the PCI bus, this signal
delays the start of the transfer on the PCI bus, allowing the FPGA application to
fill the FIFO. The transaction will begin when mwpcihold is deasserted or the
FIFO becomes full. When asserted, mwpcihold must be held low for a minimum of two pciclk periods.
This signal must be synchronous to pcilk.
mw_fulln
Master Write Data FIFO Full Flag. This active-low signal indicates that the
I
Master write data FIFOs are full.
This signal is synchronous to fclk.
mw_afulln
Master Write Data FIFO Almost Full Flag. This active-low signal indicates that
I
only four more empty locations remain in the Master write data FIFOs.
This signal is synchronous to fclk.
mw_emptyn
Master
Write Data FIFO Empty Flag. This active-low signal indicates that the
I
Master write data FIFO is empty. Refer to Master write description on signal
usage.
This signal is synchronous to pciclk.
mwlastcycn
O Master Write Last Data Cycle. This active-low signal has two functions:
a. It is asserted low to indicate that the accompanying 32/64 bits of Master read
or write address information is the final portion being sent. It can also be
asserted prior to any address portion being sent, indicating that the previous
address is to be used.
b. It is asserted low to indicate that the accompanying master write data is the
final data for this operation. When more than one cycle is required to transfer
a complete data word, this signal is only valid on the last cycle.
This signal must be synchronous to fclk.
Master Read Data FIFO Signals
mrdataenn
O Master Read FIFO Data Output Enable. This active-low signal enables the
data from the PCI core Master read data FIFOs onto bus datatofpga during
Master read operations on the rising edge of the Master FIFO clock signal. Valid
data will be read from the FIFO whenever it is not empty.
This signal must be synchronous to fclk.
mr_emptyn
I Master Read Data FIFO Empty. This active-low signal indicates that the Master read data FIFOs of the PCI core are empty.
This signal is synchronous to fclk.
20
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
PCI Bus Core Detailed Description Dual Port (continued)
Table 8. Embedded Core/FPGA Interface Signals (continued)
I/O
Description
mr_aemptyn
I
mr_fulln
I
Master Read Data FIFO Almost Empty. This active-low signal indicates that
only four more data locations are available to be read from the Master read data
FIFOs of the PCI core.
This signal is synchronous to fclk.
Master Read Data FIFO Full Flag. This active-low signal indicates that the
Master read data FIFO is full. Refer to Master read description on signal usage.
This signal is synchronous to pciclk.
Stop Burst Reads. This active-low signal is used by the FPGA Master to terminate burst reads before completion. When asserted, it must stay asserted for a
minimum of two pciclk periods. When asserted, fpga_mstopburstn must stay
asserted until ma_fulln goes inactive (high).
This signal must be synchronous to pciclk.
Master Read Last Data Cycle. This active-low signal is asserted to indicate
that the accompanying Master read data is the final data for this operation.
When more than one cycle is required to transfer a complete data word, this
signal is only valid on the last cycle (1 fclk period).
This signal is synchronous to fclk.
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Symbol
fpga_mstopburstn
O
mrlastcycn
I
Target General Signals
disctimerexpn
I
fpga_tabort
O
fpga_tretryn
O
deltrn
O
tcfgshiftenn
pci_tcfg_stat
O
I
Lucent Technologies Inc.
Lattice Semiconductor
Discard Timer Expired. This active-low signal, when asserted, indicates that
the discard timer has expired and the core will now treat the retried delayed
transaction as a new transaction. The discard timer is a 15-bit counter which
starts its count when a delayed transaction is started.
This signal is synchronous to fclk.
Target Abort. This active-high signal is asserted by the FPGA Target application to abort all future PCI cycles. Once asserted, this signal needs to remain
asserted for a minimum of two pciclk cycles.
This signal must be synchronous to pciclk.
Assert Retry. This active-low signal is asserted by an FPGA Target to the PCI
core to send a retry to the PCI bus. Once asserted, this signal needs to remain
asserted for a minimum of two pciclk cycles.
This signal must be synchronous to pciclk.
Target Delayed Transaction. Used for Target I/O write (page 48) and Target
read operations (page 57). Target memory writes are always posted. Once
asserted, this signal needs to remain asserted for a minimum of two pciclk
cycles.
This signal must be synchronous to pciclk.
tcfgshiftenn is an active-low signal that determines the data that is output by
the PCI core onto signal pci_tcfg_stat:
tcfgshiftenn = 1: pci_tcfg_stat = wired-OR of all bits below, after being
masked by FPGA configuration RAM bits;
tcfgshiftenn = 0: pci_tcfg_stat = each bit below, one at a time on successive pciclk rising edges (unmasked), reset when
tcfgshiftenn = 1;
Status bits:
Target abort signaled, system error signaled,
and parity error detected.
Both signals are synchronous to fclk.
21
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
PCI Bus Core Detailed Description Dual Port (continued)
Table 8. Embedded Core/FPGA Interface Signals (continued)
Symbol
I/O
Description
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Target FIFO Address and Command Register Control Signals
tfifoclrn
O Target FIFO Clear. This active-low signal is asserted by the FPGA Target to
clear all Target FIFOs.
This signal must be synchronous to fclk.
treqn
I Target Request from PCI. This active-low signal is synchronous to the Target
FIFO clock signal. The PCI core asserts treqn as an indication to the Target
that a transfer request (either read or write) is pending to the target. As long as
there are valid target addresses present in the address FIFO, the treqn signal
will continue to be active.
This signal is synchronous to fclk.
t_ready
I Target Logic Ready. This active-high signal indicates that the Target logic interfacing to the FPGA logic is ready. This signal will be inactive during PCI bus
reset or Target FIFO clears.
This signal is synchronous to fclk.
taenn
O Target Address and Command Register Output Enable. This active-low signal enables PCI addresses to be read from the Target address register of the
PCI core, and PCI commands to be read from the Target command register.
The PCI core will only execute enough address cycles to transfer the address
within the matched page (higher-order bits are not stripped).
This signal must be synchronous to fclk.
tcmd[3:0]
I Target Command Code. This bus provides the command code for a new Target operation, and is valid when the FPGA senses treqn active-low.
Because it is synchronous to pciclk, it must be qualified with treqn.
bar[2:0]
I Base Address Register Number. This bus indicates which of the six BARs
matched the address for the current Target operation, and is valid when the
FPGA senses treqn active-low. The three 64-bit BARs are designated as numbers 0, 2, and 4.
Because it is synchronous to pciclk, it must be qualified with treqn.
tstatecntr[2:0]
I Internal State Counter. Used for target reads and writes. Details of the target
state machine operation can be found in tables at the end of each operation
section.
This signal is synchronous to fclk.
Target Write Data FIFO Signals
twdataenn
O Target Write FIFO Data Enable. This active-low signal enables data from the
PCI core Target write data FIFOs onto bus datatofpga during Target write operations on the rising edge of the Target FIFO clock signal. Valid data will be read
from the FIFO whenever it is not empty.
This signal must be synchronous to fclk.
tw_emptyn
I Target Write FIFO Empty. This signal active indicates that the Target write
FIFO is empty.
This signal is synchronous to fclk.
tw_aemptyn
I Target Write FIFO Almost Empty. This active-low signal indicates that only
four more empty locations are available in the Target write FIFOs.
This signal is synchronous to fclk.
tw_fulln
I Target Write Data FIFO Full Flag. This active-low signal indicates that the target write data FIFO is full. Refer to target write description on signal usage.
This signal is synchronous to pciclk.
22
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
PCI Bus Core Detailed Description Dual Port (continued)
Table 8. Embedded Core/FPGA Interface Signals (continued)
Symbol
I/O
twlastcycn
I
Description
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Target Write Last Data Cycle. This active-low signal has two functions:
a. It is asserted low to indicate that the accompanying 32/64 bits of Target read or
write address information is the final portion being sent. It can also be asserted
prior to any address portion being sent, indicating that the previous address is
to be used.
b. It is asserted low to indicate that the accompanying Target write data is the final
data for this operation. When more than one cycle is required to transfer a complete data word, this signal is only valid on the last cycle.
This signal is synchronous to fclk.
Target Read Data FIFO Signals
twburstpendn
O Target Write Burst Data Availability Pending Flag. This active-low signal
directs the PCI core not to immediately disconnect when the Target write FIFO
becomes full, but rather to insert PCI bus wait-states (up to the maximum allowed,
and then disconnect). Once asserted, this signal needs to remain asserted for a
minimum of two pciclk periods.
This signal must be synchronous to pciclk.
trdataenn
O Target Read FIFO Data Enable. This active-low signal enables the registering of
bus datafmfpga during Target read operations into the PCI core Target read data
FIFOs on the rising edge of the Target FIFO clock signal. The signal trdataenn
should not be asserted when the Target read data FIFOs are full, or data may be
lost.
This signal must be synchronous to fclk.
tr_fulln
I Target Read FIFO Full. This signal is active-low and synchronous to the rising
edge of the Target FIFO clock signal. The PCI core asserts this signal to indicate
that the Target read FIFOs are full and that no more data can be clocked in.
This signal is synchronous to fclk.
tr_afulln
I Target Read FIFO Almost Full. This active-low signal indicates that the Target
read FIFO has only four more empty locations available in the FIFOs.
This signal is synchronous to fclk.
tr_emptyn
I Target Read Data FIFO Empty Flag. This active-low signal indicates that the target read data FIFO is empty. Refer to target read description on signal usage.
This signal is synchronous to pciclk.
trpcihold
O Target Read PCI Bus Hold. During burst transfers on the PCI bus, this signal
delays the start of the transfer on the PCI bus, allowing the FPGA application to fill
the FIFO. The transaction will begin when trpcihold is deasserted or the FIFO
becomes full. Once asserted, this signal needs to remain asserted for a minimum
of two pciclk periods.
This signal must be synchronous to pciclk.
trlastcycn
I Target Read Last Data Cycle. This active-low signal is asserted to indicate that
the accompanying Target read data is the final data for this operation. When more
than one cycle is required to transfer a complete data word, this signal is only
valid on the last cycle. During a read burst, trlastcycn may remain inactive for
longer than it is required to complete the data transfer. If this occurs, the FPGA
Target should continue to write data into the Target read FIFOs unless the incremented address crosses the address decode space of the FPGA Target. The
address should be incremented by a double word as long as trlastcycn is inactive.
This signal is synchronous to fclk.
Lucent Technologies Inc.
Lattice Semiconductor
23
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
PCI Bus Core Detailed Description Dual Port (continued)
Table 8. Embedded Core/FPGA Interface Signals (continued)
I/O
trburstpendn
O
Description
Target Read Burst Data Availability Pending Flag. This active-low signal
directs the PCI core not to immediately disconnect when the Target read FIFO
becomes empty, but rather to insert PCI bus wait-states (up to the maximum
allowed, and then disconnect). Once asserted, this signal needs to remain
asserted for a minimum of two pciclk periods.
This signal must be synchronous to pciclk.
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Symbol
Miscellaneous Signals
pci_intan
O
fclk1
fclk2
O
O
pciclk
I
pci_rstn
I
fpga_syserror
O
pci_64bit
I
fifo_sel
O
24
PCI Interrupt Request. This active-low signal is used to generate a PCI bus interrupt and is forwarded by the PCI core as intan onto the PCI bus. Once asserted,
this signal needs to remain asserted for a minimum of two pciclk cycles.
This signal must be synchronous to pciclk.
FPGA Clock 1 and 2. Clocks for use by the PCI core for Master and Target
FIFOs. When the PCI clock domain extends into the FPGA, the FPGA may
reroute the PCI clock back into fclk1 or fclk2. External or user-defined clocks
may also be used. The signals fclk1 and fclk2 must be the same clock in dualport mode.
PCI Clock. The signal pciclk is synchronous to clk and may be used by the
FPGA logic.
PCI Reset for Use by the FPGA Logic. This active-low signal indicates that a
PCI bus reset was received from the PCI bus (rstn).
System Error. This active-high signal is used by the FPGA to generate a system
error on the PCI bus. This is passed to the PCI bus as serrn.
This signal must be synchronous to pciclk.
PCI Bus in 64-Bit Mode. This active-high signal indicates that the PCI core
detected that it is connected as a 64-bit agent to the PCI bus. This is the result of
detecting PCI signal req64n as active (low) on the inactive-going (rising) edge of
PCI signal rstn. Note that this does not imply that any particular transaction is
64-bit, since each transaction is individually negotiated using PCI signals req64n
and ack64n.
This signal is synchronous to pciclk.
FIFO Select. An active-high signal that is valid in the dual-port modes to select
either Master read data (fifo_sel = 0) or Target write data (fifo_sel = 1).
This signal must be synchronous to fclk.
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
PCI Bus Core Detailed Description Dual Port (continued)
Embedded Core/FPGA Interface Signal Locations
Table 9 lists the physical locations of all signals on the PCI core/FPGA interface. Separate names are provided for
dual-port and quad-port bus signals, since their functionality is port mode dependent.
Table 9. OR3LP26B FPGA/PCI Core Interface Signal Locations
FPGA Input Signal Name
FPGA Output Signal Name
ASB1A
ASB1B
ASB1C
ASB1D
ASB2A
ASB2B
ASB2C
ASB2D
ASB3A
ASB3B
ASB3C
ASB3D
ASB4A
ASB4B
ASB4C
ASB4D
ASB5A
ASB5B
ASB5C
ASB5D
ASB6A
ASB6B
ASB6C
ASB6D
ASB7A
ASB7B
ASB7C
ASB7D
ASB8A
ASB8B
ASB8C
ASB8D
ASB9A
ASB9B
ASB9C
ASB9D
CKTOASB9
pci_rstn
pci_64bit
(unused)
(unused)
datatofpga31
datatofpga30
datatofpga29
datatofpga28
datatofpga27
datatofpga26
datatofpga25
datatofpga24
datatofpga23
datatofpga22
datatofpga21
datatofpga20
datatofpga19
datatofpga18
datatofpga17
datatofpga16
datatofpgax3
datatofpgax2
datatofpgax1
datatofpgax0
datatofpga15
datatofpga14
datatofpga13
datatofpga12
datatofpga11
datatofpga10
datatofpga9
datatofpga8
datatofpga7
datatofpga6
datatofpga5
datatofpga4
(unused)
pci_intan
(unused)
fpga_syserror
fpga_mbusyn
datafmfpga31
datafmfpga30
datafmfpga29
datafmfpga28
datafmfpga27
datafmfpga26
datafmfpga25
datafmfpga24
datafmfpga23
datafmfpga22
datafmfpga21
datafmfpga20
datafmfpga19
datafmfpga18
datafmfpga17
datafmfpga16
datafmfpgax3
datafmfpgax2
datafmfpgax1
datafmfpgax0
datafmfpga15
datafmfpga14
datafmfpga13
datafmfpga12
datafmfpga11
datafmfpga10
datafmfpga9
datafmfpga8
datafmfpga7
datafmfpga6
datafmfpga5
datafmfpga4
fclk1
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
PCI Core/FPGA Interface Site
Lucent Technologies Inc.
Lattice Semiconductor
25
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
PCI Bus Core Detailed Description Dual Port (continued)
Table 9. OR3LP26B FPGA/PCI Core Interface Signal Locations (continued)
FPGA Input Signal Name
FPGA Output Signal Name
ASB10A
ASB10B
ASB10C
ASB10D
ASB11A
ASB11B
ASB11C
ASB11D
ASB12A
ASB12B
ASB12C
ASB12D
ASB13A
ASB13B
ASB13C
ASB13D
ASB14A
ASB14B
ASB14C
ASB14D
CKFMASB14
ASB15A
ASB15B
ASB15C
ASB15D
ASB16A
ASB16B
ASB16C
ASB16D
ASB17A
ASB17B
ASB17C
ASB17D
ASB18A
ASB18B
ASB18C
ASB18D
ASB19A
ASB19B
ASB19C
ASB19D
CKTOASB19
ASB20A
datatofpga3
datatofpga2
datatofpga1
datatofpga0
tstatecntr0
tstatecntr1
tstatecntr2
pci_tcfg_stat
tcmd0
tcmd1
tcmd2
tcmd3
bar0
bar1
bar2
disctimerexpn
treqn
twlastcycn
tw_emptyn
tw_aemptyn
pciclk
t_ready
trlastcycn
tr_fulln
tr_afulln
tw_fulln
tr_emptyn
mw_emptyn
mr_fulln
ma_fulln
mw_fulln
mw_afulln
m_ready
mrlastcycn
mr_emptyn
mr_aemptyn
fpga_msyserror
datatofpga32
datatofpga33
datatofpga34
datatofpga35
(unused)
datatofpga36
datafmfpga3
datafmfpga2
datafmfpga1
datafmfpga0
(unused)
(unused)
(unused)
tcfgshiftenn
(unused)
(unused)
(unused)
twburstpendn
trburstpendn
fpga_tabort
fpga_tretryn
deltrn
taenn
twdataenn
fifo_sel
(unused)
(unused)
tfifoclrN
trdataenn
(unused)
(unused)
trpcihold
mwpcihold
fpga_mstopburstn
(unused)
maenn
mwdataenn
mwlastcycn
mrdataenn
mcmd0
mcmd1
mcmd2
mcmd3
datafmfpga32
datafmfpga33
datafmfpga34
datafmfpga35
fclk2
datafmfpga36
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
PCI Core/FPGA Interface Site
26
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
PCI Bus Core Detailed Description Dual Port (continued)
Table 9. OR3LP26B FPGA/PCI Core Interface Signal Locations (continued)
FPGA Input Signal Name
FPGA Output Signal Name
ASB20B
ASB20C
ASB20D
ASB21A
ASB21B
ASB21C
ASB21D
ASB22A
ASB22B
ASB22C
ASB22D
ASB23A
ASB23B
ASB23C
ASB23D
ASB24A
ASB24B
ASB24C
ASB24D
ASB25A
ASB25B
ASB25C
ASB25D
ASB26A
ASB26B
ASB26C
ASB26D
ASB27A
ASB27B
ASB27C
ASB27D
ASB28A
ASB28B
ASB28C
ASB28D
datatofpga37
datatofpga38
datatofpga39
datatofpga40
datatofpga41
datatofpga42
datatofpga43
datatofpga44
datatofpga45
datatofpga46
datatofpga47
datatofpgax4
datatofpgax5
datatofpgax6
datatofpgax7
datatofpga48
datatofpga49
datatofpga50
datatofpga51
datatofpga52
datatofpga53
datatofpga54
datatofpga55
datatofpga56
datatofpga57
datatofpga58
datatofpga59
datatofpga60
datatofpga61
datatofpga62
datatofpga63
mstatecntr0
mstatecntr1
mstatecntr2
pci_mcfg_stat
datafmfpga37
datafmfpga38
datafmfpga39
datafmfpga40
datafmfpga41
datafmfpga42
datafmfpga43
datafmfpga44
datafmfpga45
datafmfpga46
datafmfpga47
datafmfpgax4
datafmfpgax5
datafmfpgax6
datafmfpgax7
datafmfpga48
datafmfpga49
datafmfpga50
datafmfpga51
datafmfpga52
datafmfpga53
datafmfpga54
datafmfpga55
datafmfpga56
datafmfpga57
datafmfpga58
datafmfpga59
datafmfpga60
datafmfpga61
datafmfpga62
datafmfpga63
mfifoclrn
(unused)
(unused)
mcfgshiftenn
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
PCI Core/FPGA Interface Site
Lucent Technologies Inc.
Lattice Semiconductor
27
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
PCI Bus Core Detailed Description Dual Port (continued)
Table 10. Bit Definitions on FPGA/PCI Core Interface
Bits
Name
A. Dual-Port Master Write, Command and Address
—
DA
—
A3 & A2
mstatecntr = 0
Unused
Dual address indicator (active-high)
Unused
Address words 3 and 2 (if DA = 1; else must set
all bits to 0s)
Address words 1 and 0
Master command opcode*
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
datafmfpgax[7:3]
datafmfpgax[2]
datafmfpgax[1:0]
datafmfpga[63:32]
Description
datafmfpga[31:0]
mcmd[3:0]
A1 & A0
mcmd
B. Dual-Port Master Write, Data
datafmfpgax[7:0]
datafmfpga[63:0]
mstatecntr = 4
BE7—BE0
D7—D0
C. Dual-Port Master Read (Burst Length Cycle)
datafmfpgax[7:3]
datafmfpgax[2]
datafmfpgax[1:0]
datafmfpga[63:56]
datafmfpga[55:50]
datafmfpga[49:32]
datafmfpga[31:0]
—
DA
—
mrd_benn
—
BL
A1 & A0
mcmd[3:0]
mcmd
D. Dual-Port Master Read (64-Bit Address Cycle)
datafmfpgax[7:0]
datafmfpga[63:32]
datafmfpga[31:0]
mcmd[3:0]
—
A3 & A2
A1 & A0
—
E. Dual-Port Master Read, Data
datatofpgax[7:0]
datatofpga[63:0]
Byte enables (active-low)
Data bytes 7 to 0
mstatecntr = 0
Unused
Dual address indicator (active-high)
Unused
Byte enables (active-low)
Unused
Burst length (in Quadwords)
Address words 1 and 0 (set to all 0s if 64-bit
address required—A1 & A0 supplied in next
cycle)
Master command opcode*
mstatecntr = 1
Unused
Address words 3 and 2
Address words 1 and 0
Unused
mstatecntr = 4
—
D7—D0
Unused
Data bytes 7 to 0
* Command Codes (codes correspond to PCI bus command codes):
0000 Not Used (interrupt acknowledge not implemented)
0001 Not Used (special cycle not implemented)
0010 I/O Read
0011 I/O Write
0100 Reserved (per PCI specification)
0101 Reserved (per PCI specification)
0110 Memory Read
0111 Memory Write
1000 Reserved (per PCI specification)
1001 Reserved (per PCI specification)
1010 Configuration Read
1011 Configuration Write
1100 Memory Read Multiple
1101 Not Used (dual address operation is indicated via separate signal)
1110 Memory Read Line
1111 Memory Write and Invalidate
28
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
PCI Bus Core Detailed Description Dual Port (continued)
Table 10. Bit Definitions on FPGA/PCI Core Interface (continued)
Bits
Name
Description
F. Dual-Port Target Write & Read, Command and Address
—
Burst_I
DA
—
A3 & A2
A1 & A0
tcmd
Unused
Burst indication (active-high)
Dual address indicator (active-high)
Unused
Address words 3 and 2
Address words 1 and 0
Target command opcode*
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
datatofpgax[7:4]
datatofpgax[3]
datatofpgax[2]
datatofpgax[1:0]
datatofpga[63:32]
datatofpga[31:0]
tcmd[3:0]
tstatecntr = 0
G. Dual-Port Target Write, Data
tstatecntr = 4
datatofpgax[7:0]
datatofpga[63:0]
BE7—BE0
D7—D0
Byte enables (active-low)
Data bytes 7 to 0
H. Dual-Port Target Read, Data
tstatecntr = 4
datafmfpgax[7:0]
datafmfpga[63:0]
—
D7—D0
Unused
Data bytes 7 to 0
* Command Codes (codes correspond to PCI bus command codes):
0000 Not Used (interrupt acknowledge not implemented)
0001 Not Used (special cycle not implemented)
0010 I/O Read
0011 I/O Write
0100 Reserved (per PCI specification)
0101 Reserved (per PCI specification)
0110 Memory Read
0111 Memory Write
1000 Reserved (per PCI specification)
1001 Reserved (per PCI specification)
1010 Configuration Read
1011 Configuration Write
1100 Memory Read Multiple
1101 Not Used (dual address operation is indicated via separate signal)
1110 Memory Read Line
1111 Memory Write and Invalidate
Table 11. Address Cycle Sequences for Various Operations
Operation
Master Write
Master Read
Target Write
Target Read
Address
Mode
Supplied
Address
New Burst
Length
Address Cycle
Sequence
(Once Only)
Data Cycle
Sequence
(Repeats)
SA
DA
SA
DA
SA
DA
SA
DA
31:0
63:0
31:0
63:0
31:0
63:0
31:0
63:0
NA
NA
C
C
NA
NA
NA
NA
A
A
NA
D
F
F
F
F
B
B
E
E
G
G
H
H
Lucent Technologies Inc.
Lattice Semiconductor
29
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
PCI Bus Core Detailed Description Dual Port (continued)
Embedded Core Bit Stream Configurable Options
Table 12 lists all optional functionality in the PCI core that can be defined via bits in the FPGA configuration RAM.
The table also lists the settings available for each feature. Each of these options is configured using the FPSC
Design Kit software.
Table 12. PCI Core Options Settable via FPGA Configuration RAM Bits
Address in
Configuration Space
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Optional Settings
Revision ID
Class Code
Bus Master Support
Report: Data Parity Error Detected
Report: Target Abort Signaled
Report: Target Abort Received
Report: Master Abort Received
Report: System Error Signaled
Report: Parity Error Detected
(nonmaskable)
Latency Timer Initial Value
Base Address Register (BAR) Area 1
Base Address Register (BAR) Area 2
Base Address Register (BAR) Area 3
Subsystem Vendor ID
Subsystem ID
Minimum Grant (Min_Gnt)
Maximum Latency (Max_Lat)
Port Mode
08
Any 8-bit value.
09—0B
Any 24-bit value.
Command register bit 2 Four options.
■ Initially disabled, read-only.
■ Initially disabled, read/write.
■ Initially enabled, read-only.
Status register bit 8
Include or exclude in decode for pci_mcfg_stat.
Status register bit 11
Include or exclude in decode for pci_tcfg_stat.
Status register bit 12
Include or exclude in decode for pci_mcfg_stat.
Status register bit 13
Include or exclude in decode for pci_mcfg_stat.
Status register bit 14
Include or exclude in decode for pci_tcfg_stat.
Status register bit 15
Include or exclude in decode for pci_tcfg_stat.
OD
10—17
18—1F
20—27
2C—2D
2E—2F
3E
3F
Target Address Comparator
—
—
—
—
—
Target Maximum Intial Latency
—
I/O Mode
Master FIFO Interface Clock
Target FIFO Interface Clock
30
Any 8-bit value divisible by 8.
■ One or two 32-bit BARs or one 64-bit BAR, or none
(i.e., unprogrammed).
■ If 64-bit BAR, must be memory; page size can be from
24 to 264 bytes.
■ 32-bit BARs can be memory or I/O.
2
32 bytes.
■ If 32-bit I/O BAR, page size can be from 2 to 2
20 or 232
■ If 32-bit memory BAR, address space can be 2
bytes, page size can be 24 to the maximum (220 or 232)
bytes.
■ If memory, can be prefetchable or nonprefetchable.
Same as for BAR area 1.
Same as for BAR area 1.
Any 16-bit value.
Any 16-bit value.
Any 8-bit value.
Any 8-bit value.
Dual port or quad port.
Fast or slew-limited PCI output buffers.
fclk1 or fclk2.
fclk1 or fclk2.
Enabled or disabled; when enabled, PCI core will not
transfer most significant byte(s) of Target address if they
match previous Target operation's address and require
additional bus cycle(s).
Normal (16) or extended (32); note that only normal
latency complies with PCI Specification. Extended latency
may be specified in proprietary systems where bandwidth
requirements override fairness considerations.
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
PCI Bus Core Detailed Description Dual Port (continued)
Understanding FIFO Packing/Unpacking
In dual-port mode, the interface from the core to the FPGA is always 64 bits wide. However, data packing through
the FIFOs will differ depending on whether the transfers on the PCI bus are 32 bits or 64 bits. The following discussions pertain to target write or master read operations where data will be read from the FIFOs.
64-bit Transfers: Since the FIFOs are always in 64-bit mode, the data will flow through without any repacking.
Keep in mind that 64-bit transfers must start on a Quadword aligned address (AD2 = 0).
■
32-bit Transfers: The FIFOs are always in 64-bit mode, so depending upon what address the transfer begins,
the data coming out of the FIFOs will be packed differently. The following two cases provide examples with different starting addresses and word counts. Case 1 is also true for Master read operations.
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
■
Case 1: Target write burst, 32-bit. Even 32-bit starting address, and even number of 32-bit words transferred on the
PCI bus.
Table 13. Dual-Port FIFO Packing/Unpacking, Case 1, PCI Side
PCI Address
PCI Data
PCI Byte Enables
(Active-Low)
00001000
(00001004)
(00001008)
(0000100C)
(00001010)
(00001014)
32-bit Word1
32-bit Word2
32-bit Word3
32-bit Word4
32-bit Word5
32-bit Word6
0000
0000
0000
0000
0000
0000
Table 14. Dual-Port FIFO Packing/Unpacking, Case 1, FPGA Side
Master Write FIFO Slot
FIFO Data Bits 63:32
FIFO Data Bits 31:0
datatofpga[63:0]
1
2
3
32-bit Word2
32-bit Word4
32-bit Word6
32-bit Word1
32-bit Word3
32-bit Word5
FIFO Byte Enables
(Active-Low)
datatofpgax[7:0]
00000000
00000000
00000000
Note: PCI addresses in parentheses are not actually sent across the PCI bus during a burst. They are used for illustrative purposes only.
Dummy words are unknown data words in the FIFOs with their byte enables disabled.
Case 2: Target write burst, 32-bit. Even 32-bit starting address, odd number of 32-bit words transferred on the PCI
bus.
Table 15. Dual-Port FIFO Packing/Unpacking, Case 2, PCI Side
PCI Address
PCI Data
PCI Byte Enables
(Active-Low)
00001000
(00001004)
(00001008)
(0000100C)
(00001010)
32-bit Word1
32-bit Word2
32-bit Word3
32-bit Word4
32-bit Word5
0000
0000
0000
0000
0000
Lucent Technologies Inc.
Lattice Semiconductor
31
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
PCI Bus Core Detailed Description Dual Port (continued)
Table 16. Dual-Port FIFO Packing/Unpacking, Case 2, FPGA Side
Master Write FIFO Slot
FIFO Data Bits 63:32
FIFO Data Bits 31:0
datatofpga[63:0]
32-bit Word2
32-bit Word4
Dummy Word
32-bit Word1
32-bit Word3
32-bit Word5
datatofpgax[7:0]
00000000
00000000
FFFF0000
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
1
2
3
FIFO Byte Enables
(Active-Low)
Note: PCI addresses in parentheses are not actually sent across the PCI bus during a burst. They are used for illustrative purposes only.
Dummy words are unknown data words in the FIFOs with their byte enables disabled.
Embedded Core/FPGA Interface Operation
Target Address Holding Register and BAR Number Indicator
The PCI core provides two features that reduce overhead on setup of Target transfers.
First, the PCI core’s Target control logic detects the page size of the base address register (BAR) that matched the
current PCI address, and only transfers the address bytes necessary to send the page address, and not the virtual
address of the page, to the FPGA application. The bar bus is synchronous to pciclk, so it must be qualified with
treqn.
Second, the PCI core utilizes an optional address holding register so that only the least significant portion of the
address that is different from the previous address is sent to the FPGA application. Utilization of this feature usually
reduces the amount of address that must be transferred, but may require that the FPGA application build a copy of
the holding register in order to reconstruct the address. For this reason, this feature is optional and can be disabled
via a bit in the FPGA configuration manager.
Interrupt Request and System Error Generation
Two additional signals are available on the user side interface to request an interrupt on intan (pci_intan) and
force a system error on the PCI serrn pin (fpga_syserror). The pci_intan signal may be asserted low at any time.
It is not directly tied to any bus cycle. The fpga_syserror, as well, may be asserted high at any time. The serrn signal will be subsequently asserted low during the next PCI transaction to this device. In generating pci_intan and
fpga_syserror, keep in mind that both signals need to be synchronous to pciclk.
Working in 32-bit and 64-bit Modes
The OR3LP26B works equally well in 32-bit and 64-bit PCI systems. In a 64-bit system, it is required that, during
reset, the host assert req64n low indicating that the bus width is 64 bits. The core will evaluate this signal at reset,
and automatically configure itself in either 32-bit or 64-bit mode. When configured in 32-bit mode, the core will
3-state all upper PCI bus pins and apply a weak pull-up.
32-Bit Transfers in a 64-bit System
Although designed as a 64-bit interface, the OR3LP26B also works efficiently in 32-bit mode. For single 32-bit
transfers, the core will perform a 32-bit PCI transfer. For burst transactions, the core will attempt 64-bit transfers,
and then back down to 32-bit mode if ack64n was not received. In general, the core will perform the PCI bus transaction that is most efficient on the bus.
32
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
PCI Bus Core Detailed Description Dual Port (continued)
Embedded Core/FPGA Interface Operation Summary
The following sections describe the FIFO bus operation, which is the interface between the embedded core and
the FPGA logic. Several configurations are possible for the FIFO bus, and the signal definitions can change for different modes. Tables are provided to define the modes, the signal definitions, and the states of each operation for
each mode.
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Table 17 is an index to the state tables and timing figures provided for each of the operational modes of the FPGA
interface to the PCI core. Each of these operations is detailed on the pages shown in the table.
Table 17. Index to State Sequence Tables
Master/
Target
PCI Bus
Mode
Transaction Type
Master
Write
Config, Memory, I/O
Read
Config, Memory, I/O
Write
Config
I/O
Memory, I/O
Memory
Config
I/O
Target
Read
Memory
Single/Burst and
Delayed/Not Delayed
PCI Bus Timing
Figure Number
Nonburst
Burst
Nonburst
Burst
Nonburst
Delayed
Nonburst, Not Delayed
Burst
Nonburst
Delayed
Not Delayed
Nonburst
Nonburst Delayed
Burst
Burst Delayed
Figure 3
Figure 5
Figure 7
Figure 9
Figure 10
Figure 11
Figure 12
Figure 14
Figure 16
Figure 17
Figure 18
Figure 21
Figure 19
Figure 24
Figure 22
State Table
Table 18
Table 19*
Table 20†
Table 21
FPGA Bus
Timing Figure
Number
Figure 2
Figure 4
Figure 6
Figure 8
‡
Figure 13
Figure 15
Table 22
‡
Figure 20
Figure 23
* 64-bit address supplied.
† 32-bit address supplied.
‡ The FPGA interface does not participate in Target configuration operations.
Lucent Technologies Inc.
Lattice Semiconductor
33
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
PCI Bus Core Detailed Description Dual
Port (continued)
Master (FPGA Initiated) Write
Operation Setup
The FPGA application begins supplying the write data
by deasserting maenn and asserting mwdataenn. On
every cycle that mwdataenn is asserted, the PCI core
clocks data and its associated byte enables into the
Master write FIFO (64 deep by 36 bits wide in 32-bit
PCI mode; 32 deep by 72 bits wide in 64-bit PCI mode)
via bus datafmfpga.
FIFO Full/Almost Full
When the Master write FIFO contains four or fewer
empty locations, the PCI core asserts mw_afulln, the
almost full indicator. This allows some latency to exist
in the FPGA’s response without risking overfilling the
FIFO. When all locations in the Master write FIFO are
full, the PCI core asserts mw_fulln, the FIFO full indicator. Since data can be simultaneously written to and
read from the Master write FIFO, both mw_afulln and
mw_fulln can change states in either direction multiple
times in the course of a burst transfer.
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
In order to initiate a PCI Master write operation, the
FPGA application must supply the required information
in the specific order prescribed in Table 18. A master
command word and address must be accompanied by
assertion of the enable maenn. The definition of the
Master command word is shown in Table 10. The
FPGA application can use the value returned on bus
mstatecntr, the Master write counter’s present value,
to determine the counter’s next state, using the state
diagram for the particular operation being executed.
The counter’s next state must be determined because
the FPGA application must supply the data to the PCI
core that corresponds to the counter value being sent
from the core to the FPGA.
Data Sheet
April 2002
FIFO Empty
Master State Counter
The PCI core provides a state counter,
mstatecntr[2:0], that informs the FPGA of the current
state of the PCI core's Master state counter. This state
counter determines what data is currently being provided by the PCI core or expected from the FPGA
application. This state counter transitions from one
state to another in a predictable fashion, and thus, it is
not strictly necessary to transmit its value to the FPGA.
Nonetheless, the value on bus mstatecntr can be used
to minimize FPGA logic or verify proper operation.
The data provided by the PCI core to the FPGA application on bus datatofpga is accompanied by a value
on bus mstatecntr. This value can be directly used by
the FPGA application to determine the proper use of
that data. This eliminates the need for logic in the
FPGA to duplicate this state counters in this case.
The data required from the FPGA application by the
PCI core on bus datafmfpga is also defined by the
value on bus mstatecntr. However, the state counter
value is being sent to the FPGA in the same cycle that
the data must be sent from the FPGA. Therefore, the
FPGA application must build its own copy of the state
counter value in this case. The value provided by the
PCI core can be used as the previous value, or it can
be used to verify the proper operation of the FPGA
application's logic.
In addition to the full and almost full signals that report
when the Master write FIFO is currently unable to
receive data from the FPGA application, the PCI core
also provides the FIFO's empty signal. During a master
write burst transaction, the master write FIFO may go
empty, especially if the user side application is slow at
filling the FIFO. When this condition occurs, the master
will insert wait-states continuously until another word
(or the last word) is written into the FIFO and will not
terminate the transaction. On the target side, if the target is ready to accept more data, it will have trdyn
asserted which will disable it from terminating the
transaction as well. This can create a deadlock condition on the PCI bus. If the user application cannot supply any more data, and wishes to terminate the burst,
additional FPGA logic must be incorporated to detect
and accomplish the termination. The way to terminate
the transaction is to provide one last piece of data
(either real data or a dummy data word with all byte
enables disabled) along with mwlastcycn asserted.
Table 10 lists the values of the state counter mstatecntr and the appropriate accompanying data.
Data Transfer
34
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
PCI Bus Core Detailed Description Dual
Port (continued)
Designing a Deadlock Timer
Termination
Once initiated, Master write operations will repeat on
the PCI bus until either one of the following occurs:
1. All data is sent.
2. An abort occurs (either Master or Target).
3. The PCI bus’s reset signal (rstn) is asserted.
If a PCI transaction is terminated with a retry or disconnect before all data has been written, the PCI core will
initiate another Master write operation, continuing from
that point.
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
This design example is a method by which the user
application can detect the deadlock condition and terminate the burst transaction. Since the mw_emptyn
signal is on the pciclk clock domain, it must be resynchronized to the fclk domain. To accomplish this, double register mw_emptyn with fclk driven registers. The
mw_emptyn signal is fed as a clock enable and a synchronous clear to a counter, driven by fclk. The
counter's length may be designed to guarantee a certain time-out latency on the PCI bus. When the FIFO is
not empty (mw_emptyn = 1), the counter will stay
cleared. When the FIFO has been empty for an
extended period of time, the counter will count and
eventually overflow. This overflow indication can be
used to write one dummy word into the FIFO with the
byte enables disabled along with the mwlastcycn bit
asserted. The transaction will complete, and the core
will go back into an idle state.
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Bursting
Instead of using a burst length, the Master write operation relies on mwlastcycn to inform the PCI core on a
cycle-by-cycle basis when additional burst data is to
follow. This allows the FPGA application to maintain
control over the length of the Master write burst for as
long as possible, but may require the FPGA application
to implement a burst length counter if needed. When
executing a burst Master write, a deasserted mwlastcycn must accompany every data element except the
last element on bus datafmfpga. The signal mwlastcycn must remain asserted throughout a nonburst
Master write, since the last data phase is the only data
phase. The maximum burst length is limited only by the
latency timer. To initiate a burst, the starting address
must be aligned to a 64-byte boundary. If ad[2] is a 1, a
single transfer will be executed.
Lucent Technologies Inc.
Lattice Semiconductor
Reset
The FPGA application can apply the PCI core’s reset
signal mfifoclrn to place the core’s master logic in a
known state. Normally, the clear signal will not be used
unless a severe problem has occurred in the data flow.
The mfifoclrn signal is synchronous with fclk and must
be asserted for a minimum of three clock periods. During reset, the m_ready signal will go low. After the
reset signal is deasserted high, m_ready will continue
to be low for 8—10 clock periods. The FPGA application should not continue normal operation until
m_ready is asserted high.
Understanding and Using the pci_mcfg_stat Status
Signals
On the Master interface, there are two signals that control and provide status to the FPGA application. The
signal pci_mcfg_stat provides the status, and mcfgshiftenn controls what information the status line provides. The pci_mcfg_stat signal is always active and
duplicates the status contained in configuration status
register at location offset 0x04, bits 24, 28, and 29. To
use this status output, the FPGA application must keep
mcfgshiftenn = 1. When high, pci_mcfg_stat provides the wired-OR of the three status lines. If
pci_mcfg_stat gets set to a 1, indicating an error, then
the FPGA application may set mcfgshiftenn = 0 to
determine individual status. Once low, the
pci_mcfg_stat signal will output data parity error
detected on the first clock, target abort received on the
second clock, and master abort received on the third
clock.
35
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
PCI Bus Core Detailed Description Dual Port (continued)
Master Write, Nonburst Transaction
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Figure 2 (FPGA bus) and Figure 3 (PCI bus) show the timing of a Master write, nonburst transaction. In Figure 2,
the transaction is initiated by the FPGA application asserting Master address enable (maenn), while providing the
command word and the address on bus datafmfpga. On the next clock, maenn is deasserted and the one Quadword of data is provided on bus datafmfpga along with assertion of the Master write data enable (mwdataenn).
Since the protocol for providing start-up data is fixed for a specific operation, the FPGA application can be preprogrammed with the sequence, or can use the value of the Master state counter (mstatecntr) to assist in determination of the next required data word of information. The PCI core knows that this is a nonburst operation because the
FPGA application asserts the Master write burst signal (mwlastcycn). This completes the setup for this operation.
Execution begins on the PCI bus, as shown in Figure 3.
T0
T1
T2
T3
T4
fclk
ma_fulln
X
0
mstatecntr
4
mcmd
X
CMD
datafmfpga
X
ADRS
0
X
D0
X
maenn
mwdataenn
mwlastcycn
mw_fulln
mw_afulln
mwpcihold
5-88831(F).a
Figure 2. Master Write Single (FPGA Bus, Dual-Port)
36
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
PCI Bus Core Detailed Description Dual Port (continued)
T0
T1
T2
T3
T4
clk
framen
ADRS
DATA
c_ben
CMD
BEs
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
ad
irdyn
devseln
trdyn
stopn
5-8847(F).a
Figure 3. Master Write Single (PCI Bus, 64-Bit)
Lucent Technologies Inc.
Lattice Semiconductor
37
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
PCI Bus Core Detailed Description Dual Port (continued)
Master Write, Burst Transaction
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Figure 4 (FPGA bus) and Figure 5 (PCI bus) show the timing of a four Quadword Master write burst transaction.
Operation is similar to that in the previous Master write, nonburst transaction, but extra data is supplied by the
FPGA application. In Figure 4, the transaction is initiated by the FPGA application asserting Master address enable
(maenn), while providing the command word and address on bus datafmfpga. On the second through fifth clocks,
maenn is deasserted, the Master write data enable (mwdataenn) is asserted, and four Quadwords of data are
provided on bus datafmfpga. Since the protocol for providing start-up data is fixed for a specific operation, the
FPGA application can be preprogrammed with the sequence, or can use the value of the Master state counter
(mstatecntr) to assist in determination of the next required Quadword of information. The PCI core knows that this
is a burst operation because the FPGA application deasserts the Master write burst signal (mwlastcycn) during all
but the final data transfer cycle. Execution begins on the PCI bus, as shown in Figure 5. If the Master write PCI bus
hold signal (mwpcihold) is inactive, PCI bus activity will begin when the Master write FIFO goes nonempty; otherwise, the PCI bus activity will wait until all data is loaded, as in this case, or the FIFO goes full. Execution begins on
the PCI bus, as shown in Figure 5.
T0
T1
T2
T3
T4
T5
T6
T7
fclk
ma_fulln
X
mstatecntr
0
4
mcmd
X
CMD
datafmfpga
X
ADRS
0
X
D0
D1
D2
D3
X
maenn
mwdataenn
mwlastcycn
mw_fulln
mw_afulln
mwpcihold
5-8832(F).a
Figure 4. Master Write 32-Byte Burst (FPGA Bus, Dual-Port)
38
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
PCI Bus Core Detailed Description Dual Port (continued)
T0
T1
T2
T3
T4
T5
T6
T7
clk
framen
ADRS
D0
D1
c_ben
CMD
BE0
BE1
D2
D3
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
ad
BE2
BE3
irdyn
devseln
trdyn
stopn
5-8848(F).a
Figure 5. Master Write 32-Byte Burst (PCI Bus, 64-Bit)
Table 18. Dual-Port Master Write
mstatecntr
Next State of
mstatecntr
Description
Bus
mwlastcycn
maenn
mwdataenn
0
0
0
4
Idle
Address[63:0]
1
0
1
0
1
1
4
4 or 0
Data[63:0], be[7:0]
—
datafmfpgax[7:0]
datafmfpga[63:0]
datafmfpgax[7:0]
datafmfpga[63:0]
0*
1
0
* mwlastcycn is only 0 during the last data Quadword sent.
Lucent Technologies Inc.
Lattice Semiconductor
39
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
PCI Bus Core Detailed Description Dual
Port (continued)
Master (FPGA Initiated) Read
Operation Setup
master will insert wait-states continuously until another
word is read from the FIFO, or the word count is
exhausted. On the target side, if the target is ready to
send more data, it will have trdyn asserted which will
disable it from terminating the transaction as well. This
can create a deadlock condition on the PCI bus. If the
user application cannot unload any more data, and
wishes to terminate the burst, additional FPGA logic
must be incorporated to detect and accomplish the termination. Two operations must occur to terminate the
current transaction. First, the fpga_mstopburstn signal must be asserted indicating to the core the master
request to terminate. Second, one additional word of
data must be read from the FIFO (only if the FIFO is
full). The signal fpga_mstopburstn needs to stay
asserted low until the ma_fulln flag is asserted low
indicating that the transaction has been terminated and
cleared.
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
In order to initiate a PCI Master read operation, the
FPGA application must supply the required information
in the specific order prescribed in Table 19 through
Table 20. The command word, burst length, and
address must be accompanied by assertion of the
enable maenn. The definition of the Master command
word was previously described in Table 10. The FPGA
application can use the value returned on bus mstatecntr, the Master state counter’s present value, to determine the counter’s next state, using the state diagram
for the particular operation being executed. The
counter’s next state must be determined because the
FPGA application must supply the data to the PCI core
that corresponds to the counter value being sent from
the core to the FPGA.
Data Sheet
April 2002
Data Transfer
The FPGA application begins receiving the read data
by deasserting maenn and asserting mrdataenn. On
every cycle that mrdataenn is asserted, the PCI core
clocks data from the Master read FIFO (64 deep by
36 bits wide in 32-bit PCI mode; 32 deep by 72 bits
wide in 64-bit PCI mode) to the FPGA application via
bus datatofpga.
FIFO Empty/Almost Empty
When the Master read FIFO contains four or fewer data
elements, the PCI core asserts mr_aemptyn, the
almost empty indicator. This allows some latency to
exist in the FPGA’s response without risking overreading the FIFO. When all locations in the Master write
FIFO are empty, the PCI core asserts mr_empty, the
FIFO empty indicator. Since data can be simultaneously written to and read from the Master read FIFO,
both mr_aemptyn and mr_emptyn can change states
in either direction multiple times in the course of a burst
data transfer.
FIFO Full
In addition to the empty and almost empty signals that
report when the Master read FIFO is currently unable
to supply data to the FPGA application, the PCI core
also provides the FIFO's full signal. During a master
read burst transaction, the master read FIFO may go
full, especially if the user side application is slow at
unloading the FIFO. When this condition occurs, the
40
Designing a Deadlock Timer
This design example is a method by which the user
application can detect this condition and terminate the
burst transaction. Since the mr_fulln and
fpga_mstopburstn signals are on the pciclk clock
domain, the deadlock counter will run on the pciclk
clock. The mr_fulln signal is fed as a clock enable and
a synchronous clear to a counter, driven by pciclk. The
counter's length may be designed to guarantee a certain time-out latency on the PCI bus. When the FIFO is
not full (mr_fulln = 1), the counter will stay cleared.
When the FIFO has been full for an extended period of
time, the counter will count and eventually overflow.
This overflow indication can be used to set the
fpga_mstopburstn signal indicating a request to stop
the burst. The overflow signal is then detected and synchronized onto the fclk domain to be used to read one
additional word from the FIFO. The transaction will
complete, and the core will go back into an idle state.
Bursting
The PCI core uses the burst count supplied during
operation setup to determine the Master read operation’s burst length (unlike the Master write, which uses
signal mwlastcycn). The burst length of 18 bits allows
bursts of up to 218–1 quad words to be specified. To initiate a burst, the starting address must be aligned to a
64-byte boundary, and all of the byte enables must be
enabled. If ad[2] is a 1, a single transfer will executed.
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
PCI Bus Core Detailed Description Dual
Port (continued)
Master Read Byte Enables
Understanding and Using the pci_mcfg_stat Status
Signals
On the Master interface, there are two signals that control and provide status to the FPGA application. The
signal pci_mcfg_stat provides the status, and mcfgshiftenn controls what information the status line provides. The pci_mcfg_stat signal is always active and
duplicates the status contained in configuration status
register at location offset 0x04, bits 24, 28, and 29. To
use this status output, the FPGA application must keep
mcfgshiftenn = 1. When high, pci_mcfg_stat provides the wired-OR of the three status lines. If
pci_mcfg_stat gets set to a 1, indicating an error, then
the FPGA application may set mcfgshiftenn = 0 to
determine individual status. Once low, the
pci_mcfg_stat signal will output data parity error
detected on the first clock, target abort received on the
second clock, and master abort received on the third
clock.
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
During master reads, byte enables are always supplied
by the Master to the Target, even though on reads the
data is flowing in the opposite direction. Thus, the byte
enables cannot be buffered in a FIFO alongside the
corresponding data. Also, the byte enables must be
presented on the bus by the Master at the same time
that the data is being presented on the bus by the Target (unless the Target uses trdyn to insert wait-states),
and so the data provided by the Target cannot depend
on the byte enables (once again, without wait-states).
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Termination
Once initiated, Master read operations will repeat on
the PCI bus until either one of the following occurs:
1. All data is received.
2. An abort occurs (either Master or Target).
3. The fpga_mstopburstn signal is asserted.
4. The PCI bus’ reset signal (rstn) is asserted.
If a PCI transaction is terminated with a retry or disconnect before all data has been received, the PCI core
will initiate another Master read operation, continuing
from that point.
Reset
The FPGA application can apply the PCI core’s reset
signal mfifoclrn to place the core’s master logic in a
known state. Normally, the clear signal will not be used
unless a severe problem has occurred in the data flow.
The mfifoclrn signal is synchronous with fclk and must
be asserted for a minimum of three clock periods. During reset, the m_ready signal will go low. After the
reset signal is deasserted high, m_ready will continue
to be low for 8—10 clock periods. The FPGA application should not continue normal operation until
m_ready is asserted high.
Lucent Technologies Inc.
Lattice Semiconductor
41
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
PCI Bus Core Detailed Description Dual Port (continued)
Master Read, Nonburst Transaction
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Figure 6 (FPGA bus) and Figure 7 (PCI bus) show the timing of a single Quadword Master read. In Figure 6, the
transaction is initiated by the FPGA application asserting Master address enable (maenn), while providing the
command, burst length, and lower DWORD address on bus datafmfpga. On the next clock, the FPGA application
provides the upper DWORD address and asserts mwlastcycn. On the third cycle, both maenn and mwlastcycn
are deasserted. PCI bus activity now begins as shown in Figure 7. Once data is transferred on the PCI bus and
mr_emptyn is deasserted high, the FPGA application asserts mrdataenn and one Quadword of data is transferred on bus datatofpga.
T0
T1
T2
T3
T4
TN
TN+1
TN+2
TN+3
fclk
ma_fulln
X
0
mstatecntr
1
mcmd
X
CMD
datafmfpga
X
BRST
datatofpga
X
4
4
X
ADRS
0
X
X
X
X
DATA
maenn
mrdataenn
mwlastcycn
mrlastcycn
mr_emptyn
mr_aemptyn
5-8833(F).a
Figure 6. Master Read Single (FPGA Bus, Dual-Port, Specified Burst Length, 64-Bit Address)
42
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
PCI Bus Core Detailed Description Dual Port (continued)
T0
T1
T2
T3
T4
T5
clk
framen
ADRS
DATA
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
ad
c_ben
CMD
BEs
irdyn
devseln
trdyn
stopn
5-8849(F).a
Figure 7. Master Read Single (PCI Bus, 64-Bit)
Lucent Technologies Inc.
Lattice Semiconductor
43
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
PCI Bus Core Detailed Description Dual Port (continued)
Master Read, Burst Transaction
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Figure 8 (FPGA bus dual port) and Figure 9 (PCI bus) show the timing of a four Quadword Master read burst.
Operation is similar to that in the Master read, nonburst transaction, but extra data words are supplied by the FPGA
application. In Figure 8, the transaction is initiated by the FPGA application asserting Master address enable
(maenn), while providing the command, burst length, and lower DWORD address on bus datafmfpga. On the next
clock, the FPGA application provides the upper DWORD address and asserts mwlastcycn. On the third cycle,
both maenn and mwlastcycn are deasserted. PCI bus activity now begins as shown in Figure 9. Once data is
transferred on the PCI bus and mr_emptyn is deasserted high, the FPGA application asserts mrdataenn and four
Quadwords of data are transferred on bus datatofpga.
T0
T1
T2
T3
T4
TN
TN+1
TN+2
TN+3
TN+4
TN+5
TN+6
fclk
ma_fulln
X
0
mstatecntr
1
mcmd
X
CMD
datafmfpga
X
BRST
datatofpga
X
4
4
X
ADRS
0
X
X
X
X
D0
D1
D2
D3
X
maenn
mrdataenn
mwlastcycn
mrlastcycn
mr_emptyn
mr_aemptyn
5-8834(F).a
Figure 8. Master Read 32-Byte Burst (FPGA Bus, Dual-Port, Burst Length, and 64-Bit Address)
44
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
PCI Bus Core Detailed Description Dual Port (continued)
T0
T1
T2
T3
T4
T5
T6
T7
T8
clk
framen
ADRS
c_ben
CMD
D0
D1
D2
D3
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
ad
BE0
BE1
BE2
BE3
irdyn
trdyn
stopn
5-8850(F).a
Figure 9. Master Read 32-Byte Burst (PCI Bus, 64-Bit)
Lucent Technologies Inc.
Lattice Semiconductor
45
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
PCI Bus Core Detailed Description Dual Port (continued)
Table 19. Dual-Port Master Read, 64-Bit Address Supplied
Next State
of
mstatecntr
0
0
0
1
1
4
4
4 or 0
Description
Bus
maenn
mwlastcycn
mrlastcycn
mrdataenn
Idle
BE[7:0], Burst
Length
Address[63:0]
Data[63:0]
—
datafmfpgax[7:0]
datafmfpga[63:0]
datafmfpga[63:0]
datatofpga[63:0]
1
0
1
1
1
1
1
1
0
1
0
1
1
0*
1
0
maenn
mwlastcycn
mrlastcycn
mrdataenn
1
0
1
0
1
1
1
1
1
1
0*
0
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
mstatecntr
* mrlastcycn is 0 during the last Quadword transferred.
Table 20. Dual-Port Master Read, 32-Bit Address Supplied
mstatecntr
Next State
of
mstatecntr
0
0
0
4
4
4 or 0
Description
Bus
Idle
—
BE[7:0], Burst datafmfpgax[7:0]
datafmfpga[63:0]
Length,
Address[31:0]
Data[63:0]
datatofpga[63:0]
* mrlastcycn is 0 during the last Quadword transferred.
46
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
PCI Bus Core Detailed Description Dual
Port (continued)
Target (PCI Bus Initiated) Write
Operation Setup
Data Transfer
For a Target write data transfer, the FPGA application
begins receiving the supplied data by deasserting
taenn and asserting twdataenn. On every cycle that
twdataenn is asserted, the FPGA application clocks
data out of the PCI core’s Target write FIFO (32 deep
by 36 bits wide in 32-bit PCI mode; 16 deep by 72 bits
wide in 64-bit PCI mode) via bus datatofpga.
FIFO Empty/Almost Empty
Data to be written is buffered in the Target write FIFO
(32 deep by 36 bits wide in 32-bit PCI mode; 16 deep
by 72 bits wide in 64-bit PCI mode). When this FIFO
contains four or fewer data elements, the PCI core
asserts tw_aempty, the FIFO almost empty indicator.
This allows some latency to exist in the FPGA’s
response without risking overreading the FIFO. When
the PCI core has read all data out of the Target write
FIFO, the PCI core asserts tw_emptyn, the FIFO
empty indicator. Since data can be simultaneously written to and read from the Target write FIFO, both
tw_aemptyn and tw_emptyn can change states in
either direction multiple times in the course of a burst
data transfer.
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
The FPGA application waits for Target request, treqn,
from the PCI core to become active, indicating a Target
operation, either read or write. It then asserts Target
address enable, taenn, to clock out the command and
its address. Table 21 describes the specific order of
operation for a Target write transaction.
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Bursts can be of any length, but will disconnect when
any of the following conditions occur:
■
tw_fulln is asserted low, and twburstpendn is deasserted high.
■
The maximum number of wait-states has been
inserted.
■
The BAR boundary has been crossed.
Target State Counter
The PCI core provides a state counter, tstatecntr[2:0],
that informs the FPGA of the current state of the PCI
core's Target state counter. This state counter determines what data is currently being provided by the PCI
core or expected from the FPGA application. This state
counter transitions from one state to another in a predictable fashion, and thus, it is not strictly necessary to
transmit its value to the FPGA. Nonetheless, the value
on bus tstatecntr can be used to minimize FPGA logic
or verify proper operation.
The data provided by the PCI core to the FPGA application on bus datatofpga is accompanied by a value
on bus tstatecntr. This value can be directly used by
the FPGA application to determine the proper use of
that data. This eliminates the need for logic in the
FPGA to duplicate these state counters in this case.
The data required from the FPGA application by the
PCI core on bus datafmfpga is also defined by the
value on bus tstatecntr. However, the state counter
value is being sent to the FPGA in the same cycle that
the data must be sent from the FPGA. Therefore, the
FPGA application must build its own copy of the state
counter value in this case. The value provided by the
PCI core can be used as the previous value, or it can
be used to verify the proper operation of the FPGA
application's logic.
FIFO Full
In addition to the empty and almost empty signals that
report when the Target write FIFO is currently unable to
supply data to the FPGA application, the PCI core also
provides the FIFO's full signal. If the FIFO does go full,
the core will do one of two things. If twburstpendn is
deasserted high, the target will disconnect. If twburstpendn is asserted low, the target will assert up to eight
wait-states and then disconnect if still full. The FIFO full
flag is not generally used in user designs. If it is, however, keep in mind that it is synchronous to pciclk.
Bursting
Signal twlastcycn tells the FPGA application whether
the current write is a burst. The FPGA application continues to unload data from the FIFO as long as twlastcycn is inactive. The bursting will continue until either
twlastcycn is received, the FIFO becomes full, or the
BAR boundary is crossed. There is no fixed maximum
transfer word count.
Table 10 lists the values of the state counter tstatecntr
and the appropriate accompanying data.
Lucent Technologies Inc.
Lattice Semiconductor
47
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
PCI Bus Core Detailed Description Dual
Port (continued)
Nondelayed Transactions
write that matches the stored command, address, data,
and byte enables will be accepted with a disconnect
with data, completing the transaction and clearing the
Target address and Target write FIFOs. Internal to the
ASIC, there is also a 15-bit time-out timer (known as
the discard timer). During a delayed I/O write transaction, this counter will begin counting. If the same master does not come back within 215 – 1 pciclk's to
complete the write, this timer will expire, resetting the
target state machines and setting a user side signal
(disctimerexp = 1). From this point forward, any master performing a write (including the original master
coming back to complete the transfer) will be treated as
a new transaction. If monitoring this signal, keep in
mind that disctimerexp is synchronous to pciclk and
asserts high for one clock period.
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Target memory and I/O write operations may work in a
nondelayed transaction mode. Once the PCI core Target determines that it is the intended recipient, it
asserts devseln and trdyn and begins loading data
into the Target write FIFO. After the core accepts the
data element that fills the FIFO, the next data element
will cause a disconnect without data. The operation is
then complete on the PCI bus; even if the FPGA partially empties the Target write FIFO, no Target write
transaction, even a continuation of the previous burst,
will be accepted until the FIFO is emptied. The next
Target write operation will be considered a new transaction.
Data Sheet
April 2002
Delayed Transactions
Target I/O write operations may also be handled as
delayed transactions by asserting deltrn. The signal
deltrn was designed to be a static signal. This signal
should be tied off high or low depending upon whether
the FPGA application wishes to run delayed transactions. When asserting deltrn low, the PCI core will execute delayed transactions for I/O writes as well as all
target reads. In delayed transaction mode, the operation is not accepted on the first request. Instead, on the
first request, the PCI core records the command,
address, and first data word (32 or 64 bits) along with
its byte enables (4 or 8 bits). The first command and
address are put in the Target address FIFO, and the
data word and byte enables are put in the Target write
FIFO. The request is terminated in a retry, and the
FPGA application is informed as usual that a Target
request is pending via the assertion of treqn. Masters
are required to repeat requests terminated in retry until
data is moved (see PCI Specification section
3.3.3.2.2). The transaction status at this time is DWR
(delayed write request—see PCI Specification section
3.3.3.3.6), and subsequent requests will be terminated
in retry. When the FPGA application reads the FIFO
and empties it, the transaction status changes to DWC
(delayed write completion), and the next Target I/O
48
Termination
Nondelayed write transaction completion occurs when
the last item remaining in the Target write FIFO has
been read by the FPGA application (although the
actual PCI bus transaction may have completed much
earlier). Delayed write transaction completion occurs
when the I/O write results in a disconnect with data.
The PCI core signals end of transaction to the FPGA
application by deasserting treqn.
Reset
The FPGA application can apply the PCI core’s reset
signal tfifoclrn to place the core’s target logic in a
known state. Normally, the clear signal will not be used
unless a severe problem has occurred in the data flow.
The tfifoclrn signal is synchronous with fclk and must
be asserted for a minimum of three clock periods. During reset, the t_ready signal will go low. After the reset
signal is deasserted high, t_ready will continue to be
low for 8—10 clock periods. The FPGA application
should not continue normal operation until t_ready is
asserted high.
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
PCI Bus Core Detailed Description Dual
Port (continued)
Understanding and Using the pci_tcfg_stat Status
Signals
Initiating PCI Target Retries
In contrast to target abort, many applications may
require to assert PCI target retries. In general, this may
be asserted for times when the FPGA application is
temporarily busy and unavailable to service PCI
requests. The interface signal, fpga_tretryn, is used
for this purpose. From the PCI core's point of view, it
needs to know whether to perform a target retry at the
very beginning of a transaction, so it is not possible to
have a transaction started and then assert the
fpga_tretryn signal. The signal fpga_tretryn needs to
be asserted before the transaction begins, and it was
not designed to be toggled on and off from transaction
to transaction. Once an FPGA application determines
that it wants to apply a target retry to any master that
accesses it, it would assert the fpga_tretryn signal
low. All future target accesses will be terminated in a
retry (disconnect without data). On the FPGA application side, no activity will occur. In generating this signal,
keep in mind that this signal needs to be synchronous
to pciclk.
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
On the Target interface, there are two signals that control and provide status to the FPGA application. The
signal pci_tcfg_stat provides the status and tcfgshiftenn controls what information the status line provides. The pci_tcfg_stat signal is always active and
duplicates the status contained in configuration status
register at location offset 0x04, bits 24, 28, and 29. To
use this status output, the FPGA application must keep
tcfgshiftenn = 1. When high, pci_tcfg_stat provides
the wired-OR of the three status lines. If pci_tcfg_stat
gets set to a 1, indicating an error, then the FPGA
application may set tcfgshiftenn = 0 to determine individual status. Once low, the pci_tcfg_stat signal will
output target abort signaled on the first clock, system
error signaled on the second clock, and parity error
detected on the third clock.
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Initiating Target Aborts
There may be a need in an application to initiate a target abort condition on the PCI bus. In general, this is
asserted for only the most severe cases. The interface
signal, fpga_tabort, is used for this purpose. From the
PCI core's point of view, it needs to know whether to
perform a target abort at the very beginning of a transaction, so it is not possible to have a transaction
started, and then assert the fpga_tabort signal. The
signal fpga_tabort needs to be asserted before the
transaction begins, and it was not designed to be toggled on and off from transaction to transaction. Once
an FPGA application determines that it wants to apply
a target abort to any master that accesses it, it would
assert the fpga_tabort signal high. All future target
accesses will be terminated in an abort. In generating
this signal, keep in mind that this signal needs to be
synchronous to pciclk.
Lucent Technologies Inc.
Lattice Semiconductor
49
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
PCI Bus Core Detailed Description Dual Port (continued)
Target Write to Configuration Space Transaction
Figure 10 shows the timing on the PCI interface for a Target write to configuration space. Accesses of configuration
space occur without any involvement of the FPGA interface. All configuration space accesses are disconnected
with data on the first data word and are thus restricted from bursting. Address decode speed is medium, and the
PCI core signals that it is ready to receive the data by asserting trdyn one cycle after devseln is asserted.
T1
T2
T3
T4
T5
T6
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
T0
clk
framen
ad
X
ADDRESS
DATA
X
c_ben
X
CMD
BYTE ENABLES
X
idsel
X
X
irdyn
devseln
trdyn
stopn
5-8851(F).a
Figure 10. Target Configuration Write (PCI Bus, 64-Bit)
50
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
PCI Bus Core Detailed Description Dual Port (continued)
Target Write I/O, Delayed Transaction
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Figure 11 (PCI bus) and Figure 13 (FPGA bus) show the timing for a Target I/O write operation that is handled as a
delayed transaction; that is, the operation completes on the local (FPGA) bus before completing on the PCI bus.
The FPGA application indicates its desire to do this by asserting signal deltrn. In Figure 11, three transactions are
shown: the first is the initial write that latches the command, address, data, and byte enables in the PCI core. The
core's Target logic then issues a retry, obligating the remote Master to continue to issue that identical request until
data is moved. Meanwhile, the information is relayed to the FPGA interface via the address and data FIFOs, triggering the FPGA interface exchange discussed below and shown in Figure 13. All subsequent read or write
requests to memory, I/O, or configuration space will result in retries, as shown in the second transaction of Figure
11. The third transaction is the final transaction that completes the transfer of data. Although the data was actually
latched and forwarded to the FPGA from the first transaction, it is not until the FPGA acknowledges that it has
received the data, by emptying the Target write FIFO, that the PCI core acknowledges to the remote Master that it
has received the data by performing a disconnect with data. The timing on this third transaction is identical to the
timing of the first except that trdyn accompanies stopn to indicate the disconnect with data.
The timing on the FPGA interface (Figure 13) shows that the first indication to the FPGA application that a new
operation has begun is the assertion of target request (treqn), together with the new command on bus
datatofpga. The FPGA application responds by asserting target address enable (taenn) and accepting the command and subsequent address on bus datatofpga. This is followed by deassertion of taenn, assertion of Target
write data enable (twdataenn), and the receiving of the data on bus datatofpga. Although only 32 bits of data are
being transferred, the FPGA application must accept 64 bits of data (two clock cycles) because the FIFOs are
operating in 64-bit mode.
Ta0 Ta1 Ta2 Ta3 Ta4 Ta5 Ta6 Tb0 Tb1 Tb2 Tb3 Tb4 Tb5 Tb6 Tc0 Tc1 Tc2 Tc3 Tc4 Tc5 Tc6
clk
framen
ad[31:0]
X
ADRS
DATA
X
X
ADRS
DATA
X
X
ADRS
DATA
X
c/be[3:0]n
X
CMD
BEs
X
X
CMD
BEs
X
X
CMD
BEs
X
irdyn
devseln
trdyn
stopn
TRANSACTION #1: ADDRESS, BYTE ENABLES,
COMMAND, AND WRITE DATA LATCHED AS A
TRANSACTION #2: DISCONNECTED W/O DATA
BECAUSE WRITE COMPLETION NOT RECEIVED.
TRANSACTION #3: DISCONNECTED WITH DATA
BECAUSE WRITE COMPLETION RECEIVED.
DELAYED WRITE REQUEST.
5-7372(F).a
Figure 11. Target I/O Write, Delayed (PCI Bus, 64-Bit)
Lucent Technologies Inc.
Lattice Semiconductor
51
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
PCI Bus Core Detailed Description Dual Port (continued)
Target Write Nonburst Transaction
Figure 12 (PCI bus) and Figure 13 (FPGA bus) show the timing on the PCI and FPGA interfaces, respectively, for a
Target memory nonburst write transaction. The timing on the PCI interface (Figure 12) is similar to that of an I/O
write except that, since bursts to memory space are allowed, the signal stopn is not asserted. The FPGA interface
timing is as shown in Figure 13, and is the same as the timing for memory and I/O write transactions.
T1
T2
T3
T4
T5
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
T0
clk
framen
ad
X
ADDRESS
DATA
X
c_ben
X
CMD
BYTE ENABLES
X
irdyn
devseln
trdyn
stopn
5-8854(F).a
Figure 12. Target Write Memory Single (PCI Bus, 64-Bit)
52
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
PCI Bus Core Detailed Description Dual Port (continued)
T0
T1
T2
T3
T4
T5
fclk
t_ready
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
treqn
tstatecntr
0
4
tcmd
X
CMD
datatofpga
X
ADRS
0
X
DATA
X
taenn
twdataenn
twlastcycn
tw_emptyn
tw_aemptyn
5-8835(F).a
Figure 13. Target Write Single (FPGA Bus, Dual-Port)
Lucent Technologies Inc.
Lattice Semiconductor
53
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
PCI Bus Core Detailed Description Dual Port (continued)
Target Write Memory Burst Transaction
Figure 14 (PCI bus) and Figure 15 (FPGA bus) show the timing for a Target memory write burst of four Quadwords.
The timing on the PCI interface (Figure 14) is typical for a medium-speed decode Target. Note that trdyn is
asserted at the earliest possible time, which is concurrent with assertion of devseln. In the example of a four
Quadword burst, the FIFO is not filled, so execution continues to completion. This would also be the case for a
burst of any length when the FPGA application is capable of unloading the FIFO as fast as the PCI interface is
loading it. If the Target write FIFO becomes full, the PCI core Target will disconnect without data on the first data
word it cannot accept.
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
The timing on the FPGA interface (Figure 15) shows that the first indication to the FPGA application that a new
operation has begun is the assertion of target request (treqn), together with the new command on bus
tcmd. The FPGA application responds by asserting target address enable (taenn) and accepting the address on
bus datatofpga. This is followed by deassertion of taenn, assertion of Target write data enable (twdataenn), and
the receiving of the data on bus datatofpga. The FPGA application is informed that the last 64-bit data is being
presented when Target write burst (twlastcycn) is asserted.
T0
T1
T2
T3
T4
T5
T6
T7
T8
clk
framen
ad
X
ADDRESS
D0
D1
D2
D3
c_ben
X
CMD
BE0
BE1
BE2
BE3
irdyn
devseln
trdyn
stopn
5-8855(F).a
Figure 14. Target Memory Write 32-Byte Burst (PCI Bus, 64-Bit)
54
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
PCI Bus Core Detailed Description Dual Port (continued)
T0
T1
T2
T3
T4
T5
T6
T7
T8
fclk
t_ready
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
treqn
tstatecntr
0
4
tcmd
X
CMD
datatofpga
X
ADRS
0
X
D0
D1
D2
D3
X
taenn
twdataenn
twlastcycn
tw_emptyn
tw_aemptyn
5-8836(F).a
Figure 15. Target Write Memory 32-Byte Burst (FPGA Bus, Dual-Port)
Table 21. Dual-Port Target Write
tstatecntr
Next State
of
tstatecntr
Description
Bus
treqn
twlastcycn
taenn
0
0
0
4
Idle
Address[63:0]
1
0
1
0
1
0
4
4 or 0
Data[63:0], BE[7:0]
—
datatofpgax[7:0]
datatofpga[63:0]
datatofpgax[7:0]
datatofpga[63:0]
1*
0†
1
* treqn is deasserted high on the last data Quadword.
† twlastcycn is asserted low on the last data Quadword.
Lucent Technologies Inc.
Lattice Semiconductor
55
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
PCI Bus Core Detailed Description Dual
Port (continued)
Target (PCI Bus Initiated) Read
FIFO Full/Almost Full
When the Target read FIFO contains four or fewer
empty locations, the PCI core asserts tr_afulln, the
almost full indicator. This allows some latency to exist
in the FPGA’s response without risking overfilling the
FIFO. When all locations in the Target read FIFO are
full, the PCI core asserts tr_fulln, the full indicator.
Since the data can be simultaneously written to and
read from the Target read FIFO, both tr_afulln and
tr_fulln can change states in either direction multiple
times in the course of a burst data transfer.
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
The Target read operation presents unique demands
on the PCI core because only in the Target read operation does the PCI core request data that is needed to
complete the transaction after the PCI transaction has
already begun on the PCI bus. Target latency rules
require that the data be acquired quickly or that the Target terminate the transaction with a retry/disconnect.
Also, once the transfer process is underway, the Target
does not know how much more data will be requested,
yet the Target must prefetch data so that it will be available if needed. Special signals and protocols are
described below to efficiently deal with these unique
demands.
Data Sheet
April 2002
Operation Setup
The FPGA application waits for Target request, treqn,
from the PCI core to be active, indicating a Target operation, either read or write. It then asserts address
enable, taenn, to clock out the command and its
address. Table 22 describes the specific order of operation for a Target read transaction.
Data Transfer
For a target read data transaction, the FPGA application begins supplying the requested data by deasserting taenn and asserting trdataenn. On every cycle that
trdataenn is asserted, the FPGA application clocks
data into the PCI core’s Target read FIFO (32 deep by
36 bits wide in 32-bit PCI mode; 16 deep by 72 bits
wide in 64-bit PCI mode) via bus datafmfpga. Since
the Target read FIFO will always be empty at the start
of a transaction, the first Target read request to a specific address will result in a retry, initiating a delayed
transaction (if signal trburstpendn is deasserted high)
or PCI bus wait-states (if signal trburstpendn is
asserted low).
FIFO Empty
In addition to the full and almost full signals that report
when the Target read FIFO is currently unable to
receive data from the FPGA application, the PCI core
also provides the FIFO's empty signal. If the FIFO does
go empty, the core will do one of two things. If twburstpendn is deasserted high, the target will disconnect. If
twburstpendn is asserted low, the target will assert up
to eight wait-states and then disconnect if still empty.
The FIFO empty flag is not generally used in user
designs. If it is, however, keep in mind that it is synchronous to pciclk.
Bursting
Signal trlastcycn tells the FPGA application whether
the current read is a burst. One data element must be
supplied regardless of this signal’s state. The FPGA
application continues to supply data elements (contingent on the full bits) as long as trlastcycn is inactive.
Note that this may result in the discarding of unused
data elements supplied in excess of the PCI transaction’s needs. Burst transfers are done either as continuous data phases if read data continues to be available
in the read data FIFO, or as a series of transfers terminated as disconnects without data. Bursts will continue
until either trlastcycn is received, the BAR boundary is
crossed, or a 218 physical page address is crossed.
The signal trpcihold can be asserted to hold off activation of the nonempty condition. While trpcihold is
active, the Target read FIFO empty flag will not change
to the nonempty state until it is full, but then will remain
in the nonempty state until that FIFO truly becomes
empty. Use of this signal can result in more efficient utilization of PCI bus bandwidth by causing a full buffer
contents to be burst, without wait-states, whenever the
PCI bus is claimed. This is explained in the Delayed
Transactions section.
56
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
PCI Bus Core Detailed Description Dual
Port (continued)
Delayed Transactions
When deltrn is low, a master read request is terminated in a target retry. On the user interface side, the
address is stored in the target address FIFO, and treqn
is asserted low. All future master requests are terminated in a retry until the address is read out of the
FIFO, data is loaded into the FIFO, and the same
request comes back to complete the transaction. In
generating this signal, keep in mind that this signal
needs to be synchronous to pciclk.
Another option the designer has using delayed transactions is to use the signal trpcihold. The signal trpcihold should be used when the user side interface is
slow loading requested data, and the designer wishes
to utilize the PCI in the most efficient manner. Without
this signal, an external master will request data and
hold onto the PCI bus until either it has received it or it
gets terminated by latency timers, etc. A more efficient
method to utilize the PCI bus is to assert trpcihold,
load the FIFOs, and then deassert it. While the trpcihold signal is asserted, the core thinks that the FIFOs
stay empty even though they are slowly filling with data.
Requests from an external master are terminated in
retries. When the trpcihold signal is deasserted (or the
FIFO becomes full), the core will allow an external
master to come in, the data will be burst across the PCI
bus as fast as the master will allow, and the transaction
will end. In generating trpcihold, keep in mind that this
signal needs to be synchronous to pciclk.
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Delayed transactions can be executed by assesting
deltrn low. When deltrn is asserted low, the PCI core
Target read logic will issue a retry whenever no Target
read operation is already pending. When this signal is
inactive-high, it will instead generate wait-states, and
continue to do so until either the FIFO becomes not
empty, when it will transmit the data, or until the maximum initial latency value (16 or 32 clock cycles) has
been reached. This signal should be inactive when
minimum latency is desired on the initial data word, at
the expense of overall PCI bus efficiency. Whereas disable delayed transactions affects the transaction’s
behavior on the initial data word, signal trburstpendn
affects behavior when the Target read FIFO empties.
When trburstpendn is inactive, a disconnect without
data results from an attempt to read from an empty
FIFO. With trburstpendn active, the PCI core will wait
for data from the FIFO by inserting wait-states (up to
the maximum subsequent latency value of 8, at which
time a disconnect without data will be generated).
Asserting trburstpendn will minimize latency for this
transaction’s data at the expense of overall PCI bus
efficiency. trburstpendn must remain static throughout
a Target read transaction.
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Delayed transactions are very similar to a target retry
except that the address is actually stored in the core.
Delayed transactions are usually implemented in systems where the user side interface cannot supply the
first piece of data in 16 clock cycles. An example of this
may be that the user interface is connected to another
bus system. On a PCI target read, the user interface
must arbitrate for the user bus and get the necessary
data. Delayed transaction mode is used when the deltrn bit is asserted low. This bit is not a dynamic bit. It
must be set ahead of a transaction occurring. It is not
recommended to switch between delayed and nondelayed transactions dynamically.
Lucent Technologies Inc.
Lattice Semiconductor
Termination
Normal transaction completion occurs immediately
upon completion of the PCI bus transfer, even if extra
data remains in the Target read FIFO. When the PCI
transaction ends either normally, or as retry, disconnect, or Target abort, the PCI core signals end of transaction to the FPGA application by deasserting treqn.
When treqn deasserts, the FPGA application must
immediately deassert trdataenn.
57
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
PCI Bus Core Detailed Description Dual
Port (continued)
Reset
Initiating Target Aborts
There may be a need in an application to initiate a target abort condition on the PCI bus. In general, this is
asserted for only the most severe cases. The interface
signal, fpga_tabort, is used for this purpose. From the
PCI core's point of view, it needs to know whether to
perform a target abort at the very beginning of a transaction, so it is not possible to have a transaction
started, and then assert the fpga_tabort signal. The
signal fpga_tabort needs to be asserted before the
transaction begins, and it was designed to be toggled
on and off from transaction to transaction. Once an
FPGA application determines that it wants to apply a
target abort to any master that accesses it, it would
assert the fpga_tabort signal high. All future target
accesses will be terminated in an abort. In generating
this signal, keep in mind that this signal needs to be
synchronous to pciclk.
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
The FPGA application can apply the PCI core’s reset
signal tfifoclrn to place the core’s target logic in a
known state. Normally, the clear signal will not be used
unless a severe problem has occurred in the data flow.
The tfifoclrn signal is synchronous with fclk and must
be asserted for a minimum of three clock periods. During reset, the t_ready signal will go low. After the reset
signal is deasserted high, t_ready will continue to be
low for 8—10 clock periods. The FPGA application
should not continue normal operation until t_ready is
asserted high.
Data Sheet
April 2002
Understanding and Using the pci_tcfg_stat Status
Signals
On the Target interface, there are two signals that control and provide status to the FPGA application. The
signal pci_tcfg_stat provides the status, and tcfgshiftenn controls what information the status line provides. The pci_tcfg_stat signal is always active and
duplicates the status contained in configuration status
register at location offset 0x04, bits 24, 28, and 29. To
use this status output, the FPGA application must keep
tcfgshiftenn = 1. When high, pci_tcfg_stat provides
the wired-OR of the three status lines. If pci_tcfg_stat
gets set to a 1, indicating an error, then the FPGA
application may set tcfgshiftenn = 0 to determine individual status. Once low, the pci_tcfg_stat signal will
output target abort signaled on the first clock, system
error signaled on the second clock, and parity error
detected on the third clock.
58
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
PCI Bus Core Detailed Description Dual Port (continued)
Target Read from Configuration Space
Figure 16 shows the timing on the PCI interface for a Target read from configuration space. Accesses of configuration space occur without any involvement of the FPGA interface. All configuration space accesses are disconnected with data on the first data word, and are thus restricted from bursting. Address decode speed is medium,
and the PCI core signals that it is supplying the word of data by asserting trdyn one cycle after devseln is
asserted.
T1
T2
T3
T4
T5
T6
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
T0
clk
framen
ad
X
ADDRESS
c_ben
X
CMD
idsel
X
X
DATA
BYTE ENABLES
X
X
X
irdyn
devseln
trdyn
stopn
5-8856(F).a
Figure 16. Target Configuration Read (PCI Bus, 64-Bit)
Lucent Technologies Inc.
Lattice Semiconductor
59
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
PCI Bus Core Detailed Description Dual Port (continued)
Target Read I/O, Delayed Transaction
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Figure 17 (PCI bus) and Figure 20 (FPGA bus) show the timing for a Target I/O read that is handled as a delayed
transaction. In other words, the operation completes on the local (FPGA) bus before completing on the PCI bus.
The FPGA application indicates its desire to do this by driving the delayed transaction signal deltrn active-low. In
Figure 17, three transactions are shown: the first is the initial read that latches the command, address, and byte
enables. The PCI core’s Target logic then issues a retry, obligating the remote Master to continue to issue that identical request until data is moved. Meanwhile, the latched information is relayed to the FPGA interface via the
address FIFO, triggering the FPGA interface exchange discussed below and in Figure 20. All subsequent read or
write requests to memory or I/O space will result in retries, as shown in the second transaction of Figure 17. The
third transaction is the final transaction that completes the transfer of data. The timing on this third transaction is
identical to the timing of the first except that trdyn accompanies stopn to indicate the disconnect with data.
The timing on the FPGA interface (Figure 20) shows that the first indication to the FPGA application that a new
operation has begun is the assertion of Target request (treqn), together with the new command on bus datatofpga. The FPGA application responds by asserting Target address enable (taenn) and accepting the command and
subsequent address on bus datatofpga, after which taenn is deasserted. The FPGA application then accesses
the requested data, asserts Target read data enable (trdataenn), and transmits the data on bus datafmfpga. This
is a nonburst transaction; therefore, Target read burst (trlastcycn) is kept asserted.
Ta0 Ta1 Ta2 Ta3 Ta4 Ta5 Ta6 Tb0 Tb1 Tb2 Tb3 Tb4 Tb5 Tb6 Tc0 Tc1 Tc2 Tc3 Tc4 Tc5 Tc6
clk
framen
ad
X
ADRS
X
c_ben
X
CMD
BEs
X
X
ADRS
X
X
CMD
BEs
X
X
ADRS
X
CMD
X
DATA
BEs
X
irdyn
evseln
trdyn
stopn
TRANSACTION #1: ADDRESS, BYTE ENABLES,
AND COMMAND LATCHED AS A
DELAYED READ REQUEST.
TRANSACTION #2: DISCONNECTED W/O DATA
BECAUSE READ OPERATION NOT COMPLETED.
TRANSACTION #3: DISCONNECTED WITH DATA
BECAUSE READ OPERATION COMPLETED.
5-8858(F).a
Figure 17. Target I/O Read, Delayed (PCI Bus, 64-Bit)
60
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
PCI Bus Core Detailed Description Dual Port (continued)
Target Read I/O, No Delayed Transaction
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Figure 18 (PCI bus) and Figure 20 (FPGA bus) show the timing for a Target I/O read that is handled as an immediate execution; that is, the operation completes on the PCI bus immediately and then is presented to the FPGA via
the FPGA interface. The FPGA application indicates its desire to do this by deasserting signal deltrn. The PCI core
Target terminates the I/O read request by disconnecting with data on the first data word, thus disallowing bursting.
The PCI interface timing shown in Figure 18 is identical to the timing of the third (final) transaction of Target I/O
read, delayed transaction (Figure 17), which shows a Target I/O read with delayed transaction. Also, the FPGA
interface timing is as shown in Figure 20, regardless of whether delayed transactions are enabled.
T0
T1
T2
T3
Tn0
Tn1
Tn2
Tn3
clk
framen
ad
X
ADDRESS
c_ben
X
CMD
X
BYTE ENABLES
X
DATA
BYTE ENABLES
X
X
irdyn
devseln
trdyn
stopn
5-8857(F).a
Figure 18. Target I/O Read, Not Delayed (PCI Bus, 64-Bit)
Lucent Technologies Inc.
Lattice Semiconductor
61
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
PCI Bus Core Detailed Description Dual Port (continued)
Target Read Memory, Nonburst, Delayed Transaction
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Figure 19 (PCI bus) and Figure 20 (FPGA bus) show the timing for a Target memory nonburst read handled as a
delayed transaction. The FPGA application indicates its desire to do this by asserting signal deltrn. The timing on
the PCI interface (Figure 19) is similar to that of an I/O read (Figure 17) except that stop is not asserted here to
cause disconnect with data, but rather the operation is free to continue since it is allowed to complete on the source
(PCI) bus before it completes on the destination (FPGA) bus. The FPGA interface timing is as shown in Figure 20
and is the same as the timing in the I/O accesses of Target I/O read, delayed transaction and Target I/O read, no
delayed transaction.
Ta0 Ta1 Ta2 Ta3 Ta4 Ta5 Ta6 Tb0 Tb1 Tb2 Tb3 Tb4 Tb5 Tb6 Tc0 Tc1 Tc2 Tc3 Tc4 Tc5 Tc6
clk
framen
ad
X
ADRS
X
c_ben
X
CMD
BEs
X
X
ADRS
X
X
CMD
BEs
X
X
ADRS
X
CMD
X
DATA
BEs
X
irdyn
devseln
trdyn
stopn
TRANSACTION #1: ADDRESS, BYTE ENABLES,
AND COMMAND LATCHED AS A
TRANSACTION #2: DISCONNECTED W/O DATA
BECAUSE READ OPERATION NOT COMPLETED.
TRANSACTION #3: NORMAL COMPLETION
BECAUSE READ OPERATION COMPLETED.
DELAYED READ REQUEST.
5-8860(F).a
Figure 19. Target Memory Single Read, Delayed (PCI Bus, 64-Bit)
62
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
PCI Bus Core Detailed Description Dual Port (continued)
T0
T1
T2
T3
T4
fclk
t_ready
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
treqn
tstatecntr
0
4
0
tcmd
X
CMD
X
datatofpga
X
ADRS
X
datafmfpga
X
DATA
X
taenn
trdataenn
twlastcycn
trlastcycn
tr_fulln
tr_afulln
5-8837(F).a
Figure 20. Target Read Single (FPGA Bus, Dual-Port)
Lucent Technologies Inc.
Lattice Semiconductor
63
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
PCI Bus Core Detailed Description Dual Port (continued)
Target Read Memory, Nonburst, No Delayed Transaction
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Figure 21 (PCI bus) and Figure 20 (FPGA bus) show the timing for a Target memory nonburst read handled as an
immediate (nondelayed) transaction. The FPGA application indicates its desire to do this by deasserting signal deltrn. The timing on the PCI interface is shown in Figure 21. Here the PCI core accepts the transaction without issuing a retry but does not immediately assert trdyn. Wait-states are inserted until the requested data is placed in the
Target read FIFO, at which time trdyn is asserted and the data is returned. If the FPGA application cannot fetch the
data within the initial/subsequent latency time, the PCI core issues a retry or disconnect without data. The FPGA
interface timing is as shown in Figure 20, and is the same as the timing in the accesses of Target I/O read, delayed
transaction, Target I/O read, no delayed transaction, and Target read memory nonburst, delayed transaction.
T0
T1
T2
T3
Tn0
Tn1
Tn2
Tn3
clk
framen
ad
X
ADDRESS
c_ben
X
CMD: MEM RD
X
BYTE ENABLES
X
DATA
X
BYTE ENABLES
X
irdyn
devseln
trdyn
stopn
5-8859(F).a
Figure 21. Target Memory Read Single, Not Delayed (PCI Bus, 64-Bit)
64
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
PCI Bus Core Detailed Description Dual Port (continued)
Target Read Memory Burst, Delayed Transaction
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Figure 22 (PCI bus) and Figure 23 (FPGA bus) show the timing for a Target memory burst read of four Quadwords
handled as a delayed transaction. The FPGA application indicates its desire to do this by asserting signal deltrn.
On the PCI interface (Figure 22), three transactions are shown. In the first, the PCI core responds to the request
after determining that the address matches one of its BARs by asserting devseln. However, since delayed transaction has been specified by the FPGA application by asserting signal deltrn, the PCI core issues a retry. The PCI
core now waits for the FPGA application to load the Target read FIFO; until this occurs, all memory and I/O
accesses result in retries as exemplified by the second transaction in Figure 22. After the required data is loaded
(either the first data word or a complete FIFO contents, depending on whether the Target read PCI bus hold signal
trpcihold is deasserted or asserted, respectively), the actual data transfer will occur as shown in the third transaction in Figure 22. The FPGA interface timing is as shown in Figure 23. This is similar to the timing for a Target nonburst read as shown in Figure 20 except that multiple data cycles are required as long as trlastcycn is inactivehigh.
Ta0 Ta1 Ta2 Ta3 Ta4 Ta5 Ta6 Ta7 Tb1 Tb2 Tb3 Tb4 Tb5 Tb6 Tb7 Tc1 Tc2 Tc3 Tc4 Tc5 Tc6 Tc7 Tc8 Tc9
clk
framen
ad
X
ADRS
X
c_ben
X
CMD
BE0
X
X
ADRS
X CMD
X
BE0
X
X
ADRS
X
CMD
X
D0
BE0
D1 D2
D3
BE1 BE2 BE3
X
irdyn
devseln
trdyn
stopn
TRANSACTION #1: ADDRESS, BYTE ENABLES,
AND COMMAND LATCHED AS A
DELAYED READ REQUEST.
TRANSACTION #2: DISCONNECTED W/O DATA
BECAUSE READ OPERATION NOT COMPLETED.
TRANSACTION #3: NORMAL COMPLETION
BECAUSE READ OPERATION COMPLETED.
5-8862fF).a
Figure 22. Target Memory Read 32-Byte Burst, Delayed (PCI Bus, 64-Bit)
Lucent Technologies Inc.
Lattice Semiconductor
65
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
PCI Bus Core Detailed Description Dual Port (continued)
T0
T1
T2
T3
T4
T5
T6
T7
fclk
t_ready
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
treqn
0
tstatecntr
4
0
tcmd
X
CMD
X
datatofpga
X
ADRS
X
datafmfpga
X
D0
D1
D2
D3
X
taenn
trdataenn
twlastcycn
trlastcycn
tr_fulln
tr_afulln
5-8838(F).a
Figure 23. Target Read Memory 32-Byte Burst (FPGA, Dual-Port)
66
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
PCI Bus Core Detailed Description Dual Port (continued)
Target Read Memory Burst, No Delayed Transaction
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Figure 24 (PCI bus) and Figure 23 (FPGA bus) show the timing for a Target memory burst read of four Quadwords
handled as a nondelayed transaction. Figure 24 shows the timing on the PCI interface is similar to that of an I/O
read (Figure 18) except that stop is not asserted here to cause disconnect with data, but rather the operation is
free to continue since it is allowed to complete on the source (PCI) bus before it completes on the destination
(FPGA) bus.
T0
T1
T2
T3
Tn0
Tn1
Tn2
Tn3
Tn4
Tn5
Tn6
clk
framen
ad
X
ADRS
c_ben
X
CMD
X
X
BE0
D0
D1
BE0
D2
BE1
D3
BE2
X
BE3
irdyn
devseln
trdyn
stopn
5-8861(F).a
Figure 24. Target Read Memory Burst, No Delayed (PCI Bus, 32-Bit)
Table 22. Dual-Port Target Read
tstatecntr
Next State
of
Description
tstatecntr
0
0
0
4
4
4 or 0
Idle
Address[63:
0]
Data[63:0]
Bus
treqn
trdataenn
twlastcyc
n
taenn
trlastcycn
—
datatofpgax[7:0]
datatofpga[63:0]
datafmfpga[63:0]
1
0
1
1
1
1
1
0
1
0
1*
0
0†
1
1
* treqn is deasserted high on the last data Quadword.
† twlastcycn is asserted low on the last data Quadword.
Lucent Technologies Inc.
Lattice Semiconductor
67
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
PCI Bus Core Detailed Description Quad Port
Pages 68—120 will refer to the quad-port mode of the OR3LP26B device. For dual-port mode, please refer to
pages 19—67.
Embedded Core/FPGA Interface Signal Descriptions
In Table 23, an input refers to a signal flowing into the FPGA logic (out of the embedded core) and an output refers
to a signal flowing out of the FPGA logic (into the embedded core).
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Table 23. Embedded Core/FPGA Interface Signals
Symbol
I/O
Master Data FIFO Signals
mwdata[35:0]
O
Description
Main data bus into the master write FIFO. Refer to Table 25 on page 77 for bus
usage and bit descriptions.
These signals must be synchronous to fclk.
Main data bus out of the master read FIFO. Refer to Table 25 on page 77 for bus
usage and bit descriptions.
These signals are synchronous to fclk.
mrdata[35:0]
I
Master General Signals
fpga_mbusyn
O
Symbol
I/O
Description
maenn
O
ma_fulln
I
mstatecntr[2:0]
I
mfifoclrn
O
Master Command/Address/Burst Length Enable. This is an active-low signal
and is used to enable registering commands, burst length, and start address into
the Master address register of the PCI core. On each rising edge of the clock that
this signal is sampled low, command, burst length, and address will be registered.
This signal must be synchronous to fclk.
Master Address Register Full Flag. This active-low signal indicates that the Master address register is full and no more addresses can be registered.
This signal is synchronous to fclk.
Internal State Counter. Used for Master reads and writes. Details of the Master
state machine operation can be found in tables at the end of each operation section.
This signal is synchronous to fclk.
Master FIFO Clear. This active-low signal is asserted by the FPGA Master to clear
all Master FIFOs.
This signal must be synchronous to fclk.
FPGA Master Is Busy. This signal is used in modes currently not implemented in
the core. Tie off this signal to a 1.
fpga_msyserror
FPGA Master Cycle Aborted by PCI Target. The PCI Master controller in the PCI
I
core asserts this active-high as an indication that the current cycle to the PCI bus
has been aborted. This signal is synchronous to fclk.
mcfgshiftenn
O mcfgshiftenn is an active-low signal that determines the data that is output by the
pci_mcfg_stat
I
PCI core onto signal pci_mcfg_stat:
mcfgshiftenn = 1: pci_mcfg_stat = wired-OR of all bits below, after being
masked by FPGA configuration RAM bits;
mcfgshiftenn = 0: pci_mcfg_stat = each bit below, one at a time on successive pciclk rising edges (unmasked), reset when
mcfgshiftenn = 1;
Status bits:
Data parity error detected, Target abort received, and
Master abort received.
Both signals are synchronous to fclk.
Master FIFO Address and Command Register Control Signals
68
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
PCI Bus Core Detailed Description Quad Port (continued)
Table 23. Embedded Core/FPGA Interface Signals (continued)
Symbol
I/O
m_ready
I
Description
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Master Logic Ready. This active-high signal indicates that the Master logic
interfacing to the FPGA logic is ready. This signal will be inactive during PCI bus
reset or Master FIFO clears.
This signal is synchronous to fclk.
mcmd[3:0]
Master Command Code. Command code for the current Master read/write
O operation. Refer to Table 25 on page 77.
This signal must be synchronous to fclk.
Master Write Data FIFO Signals
mwdataenn
O Master Write FIFO Data Enable. This active-low signal enables the registering
of bus datafmfpga during Master write operations into the PCI core Master
write data FIFOs on the rising edge of the Master FIFO clock signal. The signal
mwdataenn should not be asserted when the Master write data FIFOs are full,
or data may be lost.
This signal must be synchronous to fclk.
mwpcihold
O Master Write PCI Bus Hold. During burst transfers on the PCI bus, this signal
delays the start of the transfer on the PCI bus, allowing the FPGA application to
fill the FIFO. The transaction will begin when mwpcihold is deasserted or the
FIFO becomes full. When asserted, mwpcihold must be held low for a minimum of two pciclk periods.
This signal must be synchronous to pciclk.
mw_fulln
Master Write Data FIFO Full Flag. This active-low signal indicates that the
I
Master write data FIFOs are full.
This signal is synchronous to fclk.
mw_afulln
Master Write Data FIFO Almost Full Flag. This active-low signal indicates that
I
only four more empty locations remain in the Master write data FIFOs.
This signal is synchronous to fclk.
mw_emptyn
Master Write Data FIFO Empty Flag. This active-low signal indicates that the
I
Master write data FIFO is empty. Refer to Master write description on signal
usage.
This signal is synchronous to pciclk.
mwlastcycn
O Master Write Last Data Cycle. This active-low signal has two functions:
a. It is asserted low to indicate that the accompanying 32/64 bits of Master read
or write address information is the final portion being sent. It can also be
asserted prior to any address portion being sent, indicating that the previous
address is to be used.
b. It is asserted low to indicate that the accompanying master write data is the
final data for this operation. When more than one cycle is required to transfer
a complete data word, this signal is only valid on the last cycle.
This signal must be synchronous to fclk.
Master Read Data FIFO Signals
mrdataenn
O Master Read FIFO Data Output Enable. This active-low signal enables the
data from the PCI core Master read data FIFOs onto bus datatofpga during
Master read operations on the rising edge of the Master FIFO clock signal. Valid
data will be read from the FIFO whenever it is not empty.
This signal must be synchronous to fclk.
mr_emptyn
I Master Read Data FIFO Empty. This active-low signal indicates that the Master read data FIFOs of the PCI core are empty.
This signal is synchronous to fclk.
Lucent Technologies Inc.
Lattice Semiconductor
69
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
PCI Bus Core Detailed Description Quad Port (continued)
Table 23. Embedded Core/FPGA Interface Signals (continued)
I/O
Description
mr_aemptyn
I
mr_fulln
I
Master Read Data FIFO Almost Empty. This active-low signal indicates that
only four more data locations are available to be read from the Master read data
FIFOs of the PCI core.
This signal is synchronous to fclk.
Master Read Data FIFO Full Flag. This active-low signal indicates that the
Master read data FIFO is full. Refer to Master read description on signal usage.
This signal is synchronous to pciclk.
Stop Burst Reads. This active-low signal is used by the FPGA Master to terminate burst reads before completion. When asserted, it must stay asserted for a
minimum of two pciclk periods. When asserted, fpga_mstopburstn must stay
asserted until ma_fulln goes inactive (high).
This signal must be synchronous to pciclk.
Master Read Last Data Cycle. This active-low signal is asserted to indicate
that the accompanying Master read data is the final data for this operation.
When more than one cycle is required to transfer a complete data word, this
signal is only valid on the last cycle (1 fclk period).
This signal is synchronous to fclk.
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Symbol
fpga_mstopburstn
O
mrlastcycn
I
Target General Signals
disctimerexpn
70
I
fpga_tabort
O
fpga_tretryn
O
deltrn
O
tcfgshiftenn
pci_tcfg_stat
O
I
Discard Timer Expired. This active-low signal, when asserted, indicates that
the discard timer has expired and the core will now treat the retried delayed
transaction as a new transaction. The discard timer is a 15-bit counter which
starts its count when a delayed transaction is started.
This signal is synchronous to fclk.
Target Abort. This active-high signal is asserted by the FPGA Target application to abort all future PCI cycles. Once asserted, this signal needs to remain
asserted for a minimum of two pciclk cycles.
This signal must be synchronous to pciclk.
Assert Retry. This active-low signal is asserted by an FPGA Target to the PCI
core to send a retry to the PCI bus. Once asserted, this signal needs to remain
asserted for a minimum of two pciclk cycles.
This signal must be synchronous to pciclk.
Target Delayed Transaction. Used for Target I/O write (page 100) and Target
read operations (page 109). Target memory writes are always posted. Once
asserted, this signal needs to remain asserted for a minimum of two pciclk
cycles.
This signal must be synchronous to pciclk.
tcfgshiftenn is an active-low signal that determines the data that is output by
the PCI core onto signal pci_tcfg_stat:
tcfgshiftenn = 1: pci_tcfg_stat = wired-OR of all bits below, after being
masked by FPGA configuration RAM bits;
tcfgshiftenn = 0: pci_tcfg_stat = each bit below, one at a time on successive pciclk rising edges (unmasked), reset when
tcfgshiftenn = 1;
Status bits:
Target abort signaled, system error signaled,
and parity error detected.
Both signals are synchronous to fclk.
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
PCI Bus Core Detailed Description Quad Port (continued)
Table 23. Embedded Core/FPGA Interface Signals (continued)
Symbol
I/O
Target Data FIFO Signals
twdata[35:0]
I
Description
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Target side data bus into the FPGA from the target write FIFOs.
These signals are synchronous to fclk.
trdata[35:0]
O Target side data bus out of the FPGA into the target read FIFOs.
These signals must be synchronous to fclk.
Target FIFO Address and Command Register Control Signals
tfifoclrn
O Target FIFO Clear. This active-low signal is asserted by the FPGA Target to
clear all Target FIFOs.
This signal must be synchronous to fclk.
treqn
I Target Request from PCI. This active-low signal is synchronous to the Target
FIFO clock signal. The PCI core asserts treqn as an indication to the Target
that a transfer request (either read or write) is pending to the target. As long as
there are valid target addresses present in the address FIFO, the treqn signal
will continue to be active.
This signal is synchronous to fclk.
t_ready
I Target Logic Ready. This active-high signal indicates that the Target logic interfacing to the FPGA logic is ready. This signal will be inactive during PCI bus
reset or Target FIFO clears.
This signal is synchronous to fclk.
taenn
O Target Address and Command Register Output Enable. This active-low signal enables PCI addresses to be read from the Target address register of the
PCI core, and PCI commands to be read from the Target command register.
The PCI core will only execute enough address cycles to transfer the address
within the matched page (higher-order bits are not stripped).
This signal must be synchronous to fclk.
tcmd[3:0]
I Target Command Code. This bus provides the command code for a new Target operation, and is valid when the FPGA senses treqn active-low.
Because it is synchronous to pciclk, it must be qualified with treqn.
bar[2:0]
I Base Address Register Number. This bus indicates which of the six BARs
matched the address for the current Target operation, and is valid when the
FPGA senses treqn active-low. The three 64-bit BARs are designated as numbers 0, 2, and 4.
Because it is synchronous to pciclk, it must be qualified with treqn.
tstatecntr[2:0]
I Internal State Counter. Used for target reads and writes. Details of the target
state machine operation can be found in tables at the end of each operation
section.
This signal is synchronous to fclk.
Target Write Data FIFO Signals
twdataenn
O Target Write FIFO Data Enable. This active-low signal enables data from the
PCI core Target write data FIFOs onto bus datatofpga during Target write operations on the rising edge of the Target FIFO clock signal. Valid data will be read
from the FIFO whenever it is not empty.
This signal must be synchronous to fclk.
tw_emptyn
I Target Write FIFO Empty. This signal active indicates that the Target write
FIFO is empty.
This signal is synchronous to fclk.
Lucent Technologies Inc.
Lattice Semiconductor
71
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
PCI Bus Core Detailed Description Quad Port (continued)
Table 23. Embedded Core/FPGA Interface Signals (continued)
Symbol
I/O
tw_aemptyn
I
Description
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Target Write FIFO Almost Empty. This active-low signal indicates that only four
more empty locations are available in the Target write FIFOs.
This signal is synchronous to fclk.
tw_fulln
I Target Write Data FIFO Full Flag. This active-low signal indicates that the target
write data FIFO is full. Refer to target write description on signal usage.
This signal is synchronous to pciclk.
twlastcycn
I Target Write Last Data Cycle. This active-low signal has two functions:
a. It is asserted low to indicate that the accompanying 32/64 bits of Target read or
write address information is the final portion being sent. It can also be asserted
prior to any address portion being sent, indicating that the previous address is
to be used.
b. It is asserted low to indicate that the accompanying Target write data is the final
data for this operation. When more than one cycle is required to transfer a complete data word, this signal is only valid on the last cycle.
This signal is synchronous to fclk.
twburstpendn
O Target Write Burst Data Availability Pending Flag. This active-low signal
directs the PCI core not to immediately disconnect when the Target write FIFO
becomes full, but rather to insert PCI bus wait-states (up to the maximum allowed,
and then disconnect). Once asserted, this signal needs to remain asserted for a
minimum or two pciclk periods.
This signal must be synchronous to pciclk.
Target Read Data FIFO Signals
trdataenn
O Target Read FIFO Data Enable. This active-low signal enables the registering of
bus datafmfpga during Target read operations into the PCI core Target read data
FIFOs on the rising edge of the Target FIFO clock signal. The signal trdataenn
should not be asserted when the Target read data FIFOs are full, or data may be
lost.
This signal must be synchronous to fclk.
tr_fulln
I Target Read FIFO Full. This signal is active-low and synchronous to the rising
edge of the Target FIFO clock signal. The PCI core asserts this signal to indicate
that the Target read FIFOs are full and that no more data can be clocked in.
This signal is synchronous to fclk.
tr_afulln
I Target Read FIFO Almost Full. This active-low signal indicates that the Target
read FIFO has only four more empty locations available in the FIFOs.
This signal is synchronous to fclk.
tr_emptyn
I Target Read Data FIFO Empty Flag. This active-low signal indicates that the target read data FIFO is empty. Refer to target read description on signal usage.
This signal is synchronous to pciclk.
trpcihold
O Target Read PCI Bus Hold. During burst transfers on the PCI bus, this signal
delays the start of the transfer on the PCI bus, allowing the FPGA application to fill
the FIFO. The transaction will begin when trpcihold is deasserted or the FIFO
becomes full. Once asserted, this signal needs to remain asserted for a minimum
or two pciclk periods.
This signal must be synchronous to pciclk.
72
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
PCI Bus Core Detailed Description Quad Port (continued)
Table 23. Embedded Core/FPGA Interface Signals (continued)
I/O
Description
trlastcycn
I
Target Read Last Data Cycle. This active-low signal is asserted to indicate that
the accompanying Target read data is the final data for this operation. When more
than one cycle is required to transfer a complete data word, this signal is only
valid on the last cycle. During a read burst, trlastcycn may remain inactive for
longer than it is required to complete the data transfer. If this occurs, the FPGA
Target should continue to write data into the Target read FIFOs unless the incremented address crosses the address decode space of the FPGA Target. The
address should be incremented by a double word as long as trlastcycn is inactive.
This signal is synchronous to fclk.
Target Read Burst Data Availability Pending Flag. This active-low signal
directs the PCI core not to immediately disconnect when the Target read FIFO
becomes empty, but rather to insert PCI bus wait-states (up to the maximum
allowed, and then disconnect). Once asserted, this signal needs to remain
asserted for a minimum or two pciclk periods.
This signal must be synchronous to pciclk.
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Symbol
trburstpendn
O
Miscellaneous Signals
pci_intan
O
fclk1
fclk2
O
O
pciclk
I
pci_rstn
I
fpga_syserror
O
pci_64bit
I
fifo_sel
O
Lucent Technologies Inc.
Lattice Semiconductor
PCI Interrupt Request. This active-low signal is used to generate a PCI bus interrupt and is forwarded by the PCI core as intan onto the PCI bus. Once asserted,
this signal needs to remain asserted for a minimum of two pciclk cycles.
This signal must be synchronous to pciclk.
FPGA Clock 1 and 2. Clocks for use by the PCI core for Master and Target
FIFOs. When the PCI clock domain extends into the FPGA, the FPGA may
reroute the PCI clock back into fclk1 or fclk2. External or user-defined clocks
may also be used. The signals fclk1 and fclk2 must be the same clock in dualport mode.
PCI Clock. The signal pciclk is synchronous to clk and may be used by the
FPGA logic.
PCI Reset for Use by the FPGA Logic. This active-low signal indicates that a
PCI bus reset was received from the PCI bus (rstn).
System Error. This active-high signal is used by the FPGA to generate a system
error on the PCI bus. This is passed to the PCI bus as serrn.
This signal must be synchronous to pciclk.
PCI Bus in 64-Bit Mode. This active-high signal indicates that the PCI core
detected that it is connected as a 64-bit agent to the PCI bus. This is the result of
detecting PCI signal req64n as active (low) on the inactive-going (rising) edge of
PCI signal rstn. Note that this does not imply that any particular transaction is
64-bit, since each transaction is individually negotiated using PCI signals req64n
and ack64n.
This signal is synchronous to pciclk.
FIFO Select. An active-high signal that is valid in the dual-port modes to select
either Master read data (fifo_sel = 0) or Target write data (fifo_sel = 1).
This signal must be synchronous to fclk.
73
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
PCI Bus Core Detailed Description Quad Port (continued)
Embedded Core/FPGA Interface Signal Locations
Table 24 lists the physical locations of all signals on the PCI core/FPGA interface. Separate names are provided for
dual-port and quad-port bus signals, since their functionality is port mode dependent.
Table 24. OR3LP26B FPGA/PCI Core Interface Signal Locations
FPGA Input Signal Name
FPGA Output Signal Name
ASB1A
ASB1B
ASB1C
ASB1D
ASB2A
ASB2B
ASB2C
ASB2D
ASB3A
ASB3B
ASB3C
ASB3D
ASB4A
ASB4B
ASB4C
ASB4D
ASB5A
ASB5B
ASB5C
ASB5D
ASB6A
ASB6B
ASB6C
ASB6D
ASB7A
ASB7B
ASB7C
ASB7D
ASB8A
ASB8B
ASB8C
ASB8D
ASB9A
ASB9B
ASB9C
ASB9D
CKTOASB9
ASB10A
pci_rstn
pci_64bit
(unused)
(unused)
twdata31
twdata30
twdata29
twdata28
twdata27
twdata26
twdata25
twdata24
twdata23
twdata22
twdata21
twdata20
twdata19
twdata18
twdata17
twdata16
twdata35
twdata34
twdata33
twdata32
twdata15
twdata14
twdata13
twdata12
twdata11
twdata10
twdata9
twdata8
twdata7
twdata6
twdata5
twdata4
(unused)
twdata3
pci_intan
(unused)
fpga_syserror
fpga_mbusyn
trdata31
trdata30
trdata29
trdata28
trdata27
trdata26
trdata25
trdata24
trdata23
trdata22
trdata21
trdata20
trdata19
trdata18
trdata17
trdata16
trdata35
trdata34
trdata33
trdata32
trdata15
trdata14
trdata13
trdata12
trdata11
trdata10
trdata9
trdata8
trdata7
trdata6
trdata5
trdata4
fclk1
trdata3
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
PCI Core/FPGA Interface Site
74
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
PCI Bus Core Detailed Description Quad Port (continued)
Table 24. OR3LP26B FPGA/PCI Core Interface Signal Locations (continued)
FPGA Input Signal Name
FPGA Output Signal Name
ASB10B
ASB10C
ASB10D
ASB11A
twdata2
twdata1
twdata0
tstatecntr0
trdata2
trdata1
trdata0
(unused)
ASB11B
tstatecntr1
(unused)
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
PCI Core/FPGA Interface Site
ASB11C
tstatecntr2
ASB11D
ASB12A
pci_tcfg_stat
tcmd0
ASB12B
tcmd1
(unused)
ASB12C
tcmd2
(unused)
ASB12D
twburstpendn
ASB13A
tcmd3
bar0
ASB13B
ASB13C
ASB13D
bar1
bar2
disctimerexpn
ASB14A
treqn
deltrn
taenn
ASB14B
twlastcycn
twdataenn
ASB14C
tw_emptyn
fifo_sel
ASB14D
CKFMASB14
ASB15A
tw_aemptyn
pciclk
t_ready
(unused)
(unused)
ASB15B
trlastcycn
tfifoclrn
trdataenn
ASB15C
tr_fulln
(unused)
ASB15D
(unused)
ASB16A
tr_afulln
tw_fulln
ASB16B
ASB16C
ASB16D
ASB17A
ASB17B
ASB17C
ASB17D
ASB18A
ASB18B
ASB18C
ASB18D
ASB19A
ASB19B
tr_emptyn
mw_emptyn
mr_fulln
ma_fulln
mw_fulln
mw_afulln
m_ready
mrlastcycn
mr_emptyn
mr_aemptyn
fpga_msyserror
mrdata0
mrdata1
Lucent Technologies Inc.
Lattice Semiconductor
(unused)
tcfgshiftenn
(unused)
trburstpendn
fpga_tabort
fpga_tretryn
trpcihold
mwpcihold
fpga_mstopburstn
(unused)
maenn
mwdataenn
mwlastcycn
mrdataenn
mcmd0
mcmd1
mcmd2
mcmd3
mwdata0
mwdata1
75
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
PCI Bus Core Detailed Description Quad Port (continued)
Table 24. OR3LP26B FPGA/PCI Core Interface Signal Locations (continued)
FPGA Input Signal Name
FPGA Output Signal Name
ASB19C
ASB19D
CKTOASB19
ASB20A
ASB20B
ASB20C
ASB20D
ASB21A
ASB21B
ASB21C
ASB21D
ASB22A
ASB22B
ASB22C
ASB22D
ASB23A
ASB23B
ASB23C
ASB23D
ASB24A
ASB24B
ASB24C
ASB24D
ASB25A
ASB25B
ASB25C
ASB25D
ASB26A
ASB26B
ASB26C
ASB26D
ASB27A
ASB27B
ASB27C
ASB27D
ASB28A
ASB28B
ASB28C
ASB28D
mrdata2
mrdata3
(unused)
mrdata4
mrdata5
mrdata6
mrdata7
mrdata8
mrdata9
mrdata10
mrdata11
mrdata12
mrdata13
mrdata14
mrdata15
mrdata32
mrdata33
mrdata34
mrdata35
mrdata16
mrdata17
mrdata18
mrdata19
mrdata20
mrdata21
mrdata22
mrdata23
mrdata24
mrdata25
mrdata26
mrdata27
mrdata28
mrdata29
mrdata30
mrdata31
mstatecntr0
mstatecntr1
mstatecntr2
pci_mcfg_stat
mwdata2
mwdata3
fclk2
mwdata4
mwdata5
mwdata6
mwdata7
mwdata8
mwdata9
mwdata10
mwdata11
mwdata12
mwdata13
mwdata14
mwdata15
mwdata32
mwdata33
mwdata34
mwdata35
mwdata16
mwdata17
mwdata18
mwdata19
mwdata20
mwdata21
mwdata22
mwdata23
mwdata24
mwdata25
mwdata26
mwdata27
mwdata28
mwdata29
mwdata30
mwdata31
mfifoclrn
(unused)
(unused)
mcfgshiftenn
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
PCI Core/FPGA Interface Site
76
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
PCI Bus Core Detailed Description Quad Port (continued)
Table 25. Bit Definitions on FPGA/PCI Core Interface
Bits
Name
A. Quad-Port Master Write (Lower Address Cycle)
HR
mwdata[34]
mwdata[33:32]
mwdata[31:0]
mcmd[3:0]
DA
—
A1 & A0
mcmd
mstatecntr = 0
Holding address register selector:
0 = select HR0
1 = select HR1
Dual address indicator (active-high)
Unused
Address words 1 and 0
Master command opcode*
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
mwdata[35]
Description
B. Quad-Port Master Write (Upper Address Cycle)
mwdata[35:32]
mwdata[31:0]
mcmd[3:0]
—
A3 & A2
—
C. Quad-Port Master Write, Lower Data DWORD
mwdata[35:32]
mwdata[31:0]
BE3—BE0
D3—D0
D. Quad-Port Master Write, Upper Data DWORD
mwdata[35:32]
mwdata[31:0]
BE7—BE4
D7—D4
E. Quad-Port Master Read (16-Bit Address Cycle)
mwdata[35]
HR
mwdata[34]
mwdata[33]
DA
SPL = 1
mwdata[32]
mwdata[31:24]
mwdata[23:16]
—
MRd_BenN
—
mstatecntr = 1
Unused
Address words 3 and 2
Unused
mstatecntr = 4
Byte enables (active-low)
Data bytes 3 to 0
mstatecntr = 5
Byte enables (active-low)
Data bytes 7 to 4
mstatecntr = 0
Holding address register selector:
0 = select HR0
1 = select HR1
Dual address indicator (active-high)
Burst length source
0 = use new burst length
1 = use burst length of previous operation, and
only 16-bit address is supplied
Unused
Byte enables (active-low)
Unused
* Command Codes (codes correspond to PCI bus command codes):
0000 Not Used (interrupt acknowledge not implemented)
0001 Not Used (special cycle not implemented)
0010 I/O Read
0011 I/O Write
0100 Reserved (per PCI specification)
0101 Reserved (per PCI specification)
0110 Memory Read
0111 Memory Write
1000 Reserved (per PCI specification)
1001 Reserved (per PCI specification)
1010 Configuration Read
1011 Configuration Write
1100 Memory Read Multiple
1101 Not Used (dual address operation is indicated via separate signal)
1110 Memory Read Line
1111 Memory Write and Invalidate
Lucent Technologies Inc.
Lattice Semiconductor
77
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
PCI Bus Core Detailed Description Quad Port (continued)
Table 25. Bit Definitions on FPGA/PCI Core Interface (continued)
Bits
Name
Description
mwdata[15:0]
mcmd[3:0]
A0
mcmd
Address word 0
Master command opcode*
F. Quad-Port Master Read (Burst Length Cycle)
HR
Holding address register selector:
0 = select HR0
1 = select HR1
Dual address indicator (active-high)
Burst length source
0 = use new burst length
1 = use burst length of previous operation
Unused
Byte enables (active-low)
Unused
Burst length (In Quadwords)
Master command opcode*
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
mwdata[35]
mstatecntr = 0
mwdata[34]
mwdata[33]
DA
SPL = 0
mwdata[32]
mwdata[31:24]
mwdata[23:18]
mwdata[17:0]
mcmd[3:0]
—
MRd_BenN
—
BL
mcmd
G. Quad-Port Master Read (Lower Address Cycle)
mwdata[35:32]
mwdata[31:0]
mcmd[3:0]
—
A1 & A0
—
H. Quad-Port Master Read (Upper Address Cycle)
mwdata[35:32]
mwdata[31:0]
mcmd[3:0]
—
A3 & A2
—
I. Quad-Port Master Read, Lower Data DWORD
mrdata[35:32]
mrdata[31:0]
—
D3—D0
J. Quad-Port Master Read, Upper Data DWORD
mrdata[35:32]
mrdata[31:0]
—
D7—D4
mstatecntr = 1
Unused
Address words 1 and 0
Unused
mstatecntr = 2
Unused
Address words 3 and 2
Unused
mstatecntr = 4
Unused
Data bytes 3 to 0
mstatecntr = 5
Unused
Data bytes 7 to 4
* Command Codes (codes correspond to PCI bus command codes):
0000 Not Used (interrupt acknowledge not implemented)
0001 Not Used (special cycle not implemented)
0010 I/O Read
0011 I/O Write
0100 Reserved (per PCI specification)
0101 Reserved (per PCI specification)
0110 Memory Read
0111 Memory Write
1000 Reserved (per PCI specification)
1001 Reserved (per PCI specification)
1010 Configuration Read
1011 Configuration Write
1100 Memory Read Multiple
1101 Not Used (dual address operation is indicated via separate signal)
1110 Memory Read Line
1111 Memory Write and Invalidate
78
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
PCI Bus Core Detailed Description Quad Port (continued)
Table 25. Bit Definitions on FPGA/PCI Core Interface (continued)
Bits
Name
Description
K. Quad-Port Target Write & Read (Lower Address Cycle)
Burst_I
DA
—
A1 & A0
tcmd
Burst indication (active-high)
Dual address indicator (active-high)
Unused
Address words 1 and 0
Target command opcode*
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
twdata[35]
twdata[34]
twdata[33:32]
twdata[31:0]
tcmd[3:0]
tstatecntr = 0
L. Quad-Port Target Write & Read (Upper Address Cycle)
twdata[35:32]
twdata[31:0]
tcmd[3:0]
—
A3 & A2
—
tstatecntr = 1
Unused
Address words 3 and 2
Unused
M. Quad-Port Target Write, Lower Data DWORD
twdata[35:32]
twdata[31:0]
BE3—BE0
D3—D0
tstatecntr = 4
Byte enables (active-low)
Data bytes 3 to 0
N. Quad-Port Target Write, Upper Data DWORD
twdata[35:32]
twdata[31:0]
BE7—BE4
D7—D4
tstatecntr = 5
Byte enables (active-low)
Data bytes 7 to 4
O. Quad-Port Target Read, Lower Data DWORD
trdata[35:32]
trdata[31:0]
—
D3—D0
tstatecntr = 4
Unused
Data bytes 3 to 0
P. Quad-Port Target Read, Upper Data DWORD
trdata[35:32]
trdata[31:0]
—
D7—D4
tstatecntr = 5
Unused
Data bytes 7 to 4
* Command Codes (codes correspond to PCI bus command codes):
0000 Not Used (interrupt acknowledge not implemented)
0001 Not Used (special cycle not implemented)
0010 I/O Read
0011 I/O Write
0100 Reserved (per PCI specification)
0101 Reserved (per PCI specification)
0110 Memory Read
0111 Memory Write
1000 Reserved (per PCI specification)
1001 Reserved (per PCI specification)
1010 Configuration Read
1011 Configuration Write
1100 Memory Read Multiple
1101 Not Used (dual address operation is indicated via separate signal)
1110 Memory Read Line
1111 Memory Write and Invalidate
Lucent Technologies Inc.
Lattice Semiconductor
79
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
PCI Bus Core Detailed Description Quad Port (continued)
Table 26. Address Cycle Sequences for Various Operations
Operation
Master Write
Supplied
Address
New Burst
Length
Address Cycle
Sequence
(Once Only)
Data Cycle
Sequence
(Repeats)
SA/DA
DA
SA/DA
SA/DA
SA/DA
DA
SA/DA
DA
SA/DA
DA
31:0
63:0
15:0
(none)
31:0
63:0
31:0
63:0
31:0
63:0
NA
NA
No
Yes
Yes
Yes
NA
NA
NA
NA
A
A, B
E
F
F, G
F, G, H
K
K, L
K
K, L
CD
CD
I, J
I, J
I, J
I, J
M, N
M, N
O, P
O, P
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Master Read
Address
Mode
Target Write
Target Read
80
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
PCI Bus Core Detailed Description Quad Port (continued)
Embedded Core Bit Stream Configurable Options
Table 27 lists all optional functionality in the PCI core that can be defined via bits in the FPGA configuration RAM.
The table also lists the settings available for each feature. Each of these options is configured using the FPSC
Design Kit software.
Table 27. PCI Core Options Settable via FPGA Configuration RAM Bits
Address in
Configuration Space
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Optional Settings
Revision ID
Class Code
Bus Master Support
Report: Data Parity Error Detected
Report: Target Abort Signaled
Report: Target Abort Received
Report: Master Abort Received
Report: System Error Signaled
Report: Parity Error Detected
(nonmaskable)
Latency Timer Initial Value
Base Address Register (BAR) Area 1
Base Address Register (BAR) Area 2
Base Address Register (BAR) Area 3
Subsystem Vendor ID
Subsystem ID
Minimum Grant (Min_Gnt)
Maximum Latency (Max_Lat)
Port Mode
08
Any 8-bit value.
09—0B
Any 24-bit value.
Command register bit 2 Four options.
■ Initially disabled, read-only.
■ Initially disabled, read/write.
■ Initially enabled, read-only.
Status register bit 8
Include or exclude in decode for pci_mcfg_stat.
Status register bit 11
Include or exclude in decode for pci_tcfg_stat.
Status register bit 12
Include or exclude in decode for pci_mcfg_stat.
Status register bit 13
Include or exclude in decode for pci_mcfg_stat.
Status register bit 14
Include or exclude in decode for pci_tcfg_stat.
Status register bit 15
Include or exclude in decode for pci_tcfg_stat.
OD
10—17
18—1F
20—27
2C—2D
2E—2F
3E
3F
Target Address Comparator
—
—
—
—
—
Target Maximum Intial Latency
—
I/O Mode
Master FIFO Interface Clock
Target FIFO Interface Clock
Lucent Technologies Inc.
Lattice Semiconductor
Any 8-bit value divisible by 8.
■ One or two 32-bit BARs or one 64-bit BAR, or none
(i.e., unprogrammed).
■ If 64-bit BAR, must be memory; page size can be from
24 to 264 bytes.
■ 32-bit BARs can be memory or I/O.
2
32 bytes.
■ If 32-bit I/O BAR, page size can be from 2 to 2
20 or 232
■ If 32-bit memory BAR, address space can be 2
bytes, page size can be 24 to the maximum (220 or 232)
bytes.
■ If memory, can be prefetchable or nonprefetchable.
Same as for BAR area 1.
Same as for BAR area 1.
Any 16-bit value.
Any 16-bit value.
Any 8-bit value.
Any 8-bit value.
Dual port or quad port.
Fast or slew-limited PCI output buffers.
fclk1 or fclk2.
fclk1 or fclk2.
Enabled or disabled; when enabled, PCI core will not
transfer most significant byte(s) of Target address if they
match previous Target operation's address and require
additional bus cycle(s).
Normal (16) or extended (32); note that only normal
latency complies with PCI Specification. Extended latency
may be specified in proprietary systems where bandwidth
requirements override fairness considerations.
81
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
PCI Bus Core Detailed Description Quad Port (continued)
Understanding FIFO Packing/Unpacking
In quad-port mode, the interface from the core to the FPGA is always 32 bits wide. However, data packing through
the FIFOs will differ depending on whether the transfers on the PCI bus are 32 bits or 64 bits. The following discussions pertain to target write or master read operations where data will be read from the FIFOs.
■
64-bit transfers: Since the FIFOs are always in 64-bit mode, the data will flow through without any repacking.
Keep in mind that 64-bit transfers must start on a Quadword aligned address (AD2 = 0). Case 1 provides an
example of how the data is read out of the read side of the FIFO.
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Case 1: Master read burst, 64-bit. Quadword aligned starting address, even number of 64-bit words transferred on
the PCI bus.
Table 28. Quad-Port FIFO Packing/Unpacking, Case 1, PCI Side
PCI Address
PCI Data
PCI Byte Enables
(Active-Low)
00001000
(00001008)
(00001010)
(00001018)
(00001020)
(00001028)
64-bit Word1
64-bit Word2
64-bit Word3
64-bit Word4
64-bit Word5
64-bit Word6
00000000
00000000
00000000
00000000
00000000
00000000
Table 29. Dual-Port FIFO Packing/Unpacking, Case 1, FPGA Side
Master Write FIFO Slot
1
1
2
2
3
3
4
4
5
5
6
6
FIFO Data Bits [31:0]
FIFO Byte Enables
(Active-Low)
twdata[31:0]
64-bit Word1 [31:0]
64-bit Word1 [63:32]
64-bit Word2 [31:0]
64-bit Word2 [63:32]
64-bit Word3 [31:0]
64-bit Word3 [63:32]
64-bit Word4 [31:0]
64-bit Word4 [63:32]
64-bit Word5 [31:0]
64-bit Word5 [63:32]
64-bit Word6 [31:0]
64-bit Word6 [63:32]
twdata[35:32]
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
Note: PCI addresses in parentheses are not actually sent across the PCI bus during a burst. They are used for illustrative purposes only.
Dummy words are unknown data words in the FIFOs with their byte enables disabled.
■
32-bit transfers: The FIFOs are always in 64-bit mode, so depending upon what address the transfer begins, the
data coming out of the FIFOs will be packed differently. The following two cases provide examples with different
starting addresses and word counts. Case 1 is also true for Master read operations.
Case 1: Target write burst, 32-bit. Quadword aligned starting address, even number of 32-bit words transferred on
the PCI bus.
82
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
PCI Bus Core Detailed Description Quad Port (continued)
Table 30. Quad-Port FIFO Packing/Unpacking, Case 1, PCI Side
PCI Data
PCI Byte Enables
(Active-Low)
00001000
(00001004)
(00001008)
(00001010)
(00001014)
(00001018)
32-bit Word1
32-bit Word2
32-bit Word3
32-bit Word4
32-bit Word5
32-bit Word6
0000
0000
0000
0000
0000
0000
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
PCI Address
Table 31. Quad-Port FIFO Packing/Unpacking, Case 1, FPGA Side
Master Write FIFO Slot
1
1
2
2
3
3
FIFO Data Bits [31:0]
FIFO Byte Enables
(Active-Low)
twdata[31:0]
32-bit Word1
32-bit Word2
32-bit Word3
32-bit Word4
32-bit Word5
32-bit Word6
twdata[35:32]
0000
0000
0000
0000
0000
0000
Note: PCI addresses in parentheses are not actually sent across the PCI bus during a burst. They are used for illustrative purposes only.
Dummy words are unknown data words in the FIFOs with their byte enables disabled.
Case 2: Target write burst, 32-bit. Quadword aligned starting address, odd number of 32-bit words transferred on
the PCI bus.
Table 32. Quad-Port FIFO Packing/Unpacking, Case 2, PCI Side
PCI Address
PCI Data
PCI Byte Enables
(Active-Low)
00001000
(00001004)
(00001008)
(00001010)
(00001014)
32-bit Word1
32-bit Word2
32-bit Word3
32-bit Word4
32-bit Word5
0000
0000
0000
0000
0000
Table 33. Quad-Port FIFO Packing/Unpacking, Case 1, FPGA Side
Master Write FIFO Slot
1
1
2
2
3
3
FIFO Data Bits [31:0]
FIFO Byte Enables
(Active-Low)
twdata[31:0]
32-bit Word1
32-bit Word2
32-bit Word3
32-bit Word4
32-bit Word5
Dummy Word
twdata[35:32]
0000
0000
0000
0000
0000
FFFF
Note: PCI addresses in parentheses are not actually sent across the PCI bus during a burst. They are used for illustrative purposes only.
Dummy words are unknown data words in the FIFOs with their byte enables disabled.
Lucent Technologies Inc.
Lattice Semiconductor
83
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
PCI Bus Core Detailed Description Quad Port (continued)
Embedded Core/FPGA Interface Operation
Dual Master Address Holding Registers
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
The PCI core utilizes a pair of address holding registers to reduce latency when setting up repeated Master transfers to or from the same address. Every Master operation has associated with it one of the two holding registers, as
specified by the holding register selector signal (as described in Table 25). Each address holding register records
the full previous address, allowing some, all, or none of that recorded address to be used to build the next address
associated with that holding register. This can save up to two cycles for quad-port mode. The holding register
optionally supplies the most significant portion, or all, or none, of the address. The amount supplied by the holding
register is determined by the timing of the signal mwlastcycn, which accompanies the last portion of data, or
accompanies the command word when the holding register supplies the entire address. Table 34 below gives
examples in quad-port, 64-bit addressing mode, of typical operation using the holding registers, illustrating the
above rules.
The two holding registers can be assigned one to read and one to write, thus providing two unrelated areas for the
two functions. Another useful application is to dedicate one register to a fixed address such as the beginning of a
buffer, the data port of a FIFO or a mailbox register. This especially increases effective bandwidth on shorter bursts.
Table 34. Holding Registers, Examples of Typical Operation
Address on Bus
mwdata
AU
AL
Last
Cycle
Valid
With
1111-1111
—
4444-4444
—
—
—
—
8888-8888
2222-2222
3333-3333
5555-5555
—
6666-6666
—
7777-7777
9999-9999
AU
AL
AU
Cmd
AL
Cmd
AL
AU
Holding
Register
Select
0
0
1
0
0
1
1
0
Holding Register 0
Initial Value
Holding Register 1
Initial Value
Master Read/Write
Address
AU
AL
AU
AL
AU
AL
xxxx-xxxx
1111-1111
1111-1111
1111-1111
1111-1111
1111-1111
1111-1111
1111-1111
xxxx-xxxx
2222-2222
3333-3333
3333-3333
3333-3333
6666-6666
6666-6666
6666-6666
xxxx-xxxx
xxxx-xxxx
xxxx-xxxx
4444-4444
4444-4444
4444-4444
4444-4444
4444-4444
xxxx-xxxx
xxxx-xxxx
xxxx-xxxx
5555-5555
5555-5555
5555-5555
5555-5555
7777-7777
1111-1111
1111-1111
4444-4444
1111-1111
1111-1111
4444-4444
4444-4444
8888-8888
2222-2222
3333-3333
5555-5555
3333-3333
6666-6666
5555-5555
7777-7777
9999-9999
Target Address Holding Register and BAR Number Indicator
The PCI core provides two features that reduce overhead on setup of Target transfers in quad-port 64-bit addressing mode.
First, the PCI core’s Target control logic detects the page size of the base address register (BAR) that matched the
current PCI address, and only transfers the address bytes necessary to send the page address, and not the virtual
address of the page, to the FPGA application. The bar bus is synchronous to the pciclk, so it must be qualified with
treq which is on the fclk clock domain.
Second, the PCI core utilizes an optional address holding register so that only the least significant portion of the
address that is different from the previous address is sent to the FPGA application. Utilization of this feature usually
reduces the amount of address that must be transferred, but may require that the FPGA application build a copy of
the holding register in order to reconstruct the address. For this reason, this feature is optional and can be disabled
via a bit in the FPGA configuration manager.
84
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
PCI Bus Core Detailed Description Quad Port (continued)
Interrupt Request and System Error Generation
Two additional signals are available on the user side interface to request an interrupt on intan (pci_intan) and
force a system error on the PCI serrn pin (fpga_syserror). The pci_intan signal may be asserted low at any time.
It is not directly tied to any bus cycle. The fpga_syserror, as well, may be asserted high at any time. The serrn will
be subsequently asserted low during the next PCI transaction to this device. In generating pci_intan and
fpga_syserror, keep in mind that both signals need to be synchronous to pciclk.
Working in 32- and 64-bit Modes
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
The OR3LP26B works equally well in 32-bit and 64-bit PCI systems. In a 64-bit system, it is required that, during
reset, the host assert req64n low indicating that the bus width is 64 bits. The core will evaluate this signal at reset,
and automatically configure itself in either 32-bit or 64-bit mode. When configured in 32-bit mode, the core will 3state all upper PCI bus pins and apply a weak pull-up.
32-bit Transfers in a 64-bit System
Although designed as a 64-bit interface, the OR3LP26B also works efficiently in 32-bit mode. For single 32-bit
transfers, the core will perform a 32-bit PCI transfer. For burst transactions, the core will attempt 64-bit transfers,
and then back down to 32-bit mode if ack64n was not received. In general, the core will perform the PCI bus transaction that is most efficient on the bus.
Embedded Core/FPGA Interface Operation Summary
The following sections describe the FIFO bus operation, which is the interface between the embedded core and
the FPGA logic. Several configurations are possible for the FIFO bus, and the signal definitions can change for different modes. Tables are provided to define the modes, the signal definitions, and the states of each operation for
each mode.
Table 35 is an index to the state tables and timing figures provided for each of the operational modes of the FPGA
interface to the PCI core. Each of these operations is detailed on the pages shown in the table.
Table 35. Index to State Sequence Tables
Master/
Target
Master
Target
PCI Bus
Transaction Type
Mode
Write
Config,
Memory, I/O
Read
Config,
Memory, I/O
Write
Config
I/O
Memory, I/O
Memory
Config
I/O
Read
Memory
Single/Burst and Delayed/
Not Delayed
PCI Bus Timing
Figure Number
Nonburst
Burst
Nonburst
Burst
Nonburst
Delayed
Nonburst, Not Delayed
Burst
Nonburst
Delayed
Not Delayed
Nonburst
Nonburst Delayed
Burst
Burst Delayed
Figure 25
Figure 26
Figure 29
Figure 31
Figure 33
Figure 34
Figure 35
Figure 37
Figure 39
Figure 40
Figure 41
Figure 44
Figure 42
Figure 47
Figure 45
State Table
Table 36
Table 37*†
Table 38‡
Table 39
FPGA Bus Timing
Figure Number
Figure 27
Figure 28
Figure 30
Figure 32
§
Figure 36
Figure 38
Table 40
§
Figure 43
Figure 46
* Duplicate burst length and 16-bit address.
† 64-bit address supplied.
‡ 32-bit address supplied.
§ The FPGA interface does not participate in Target configuration operations.
Lucent Technologies Inc.
Lattice Semiconductor
85
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
PCI Bus Core Detailed Description
Quad Port (continued)
Master (FPGA Initiated) Write
Operation Setup
Data Transfer
The FPGA application begins supplying the write data
by deasserting maenn and asserting mwdataenn. On
every cycle that mwdataenn is asserted, the PCI core
clocks data and its associated byte enables into the
Master write FIFO (64 deep by 36 bits wide in 32-bit
PCI mode; 32 deep by 72 bits wide in 64-bit PCI mode)
via bus mwdata.
FIFO Full/Almost Full
When the Master write FIFO contains four or fewer
empty locations, the PCI core asserts mw_afulln, the
almost full indicator. This allows some latency to exist
in the FPGA’s response without risking overfilling the
FIFO. When all locations in the Master write FIFO are
full, the PCI core asserts mw_fulln, the FIFO full indicator. Since data can be simultaneously written to and
read from the Master write FIFO, both mw_afulln and
mw_fulln can change states in either direction multiple
times in the course of a burst transfer.
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
In order to initiate a PCI Master write operation, the
FPGA application must supply the required information
in the specific order prescribed in Table 36. A master
command word and address must be accompanied by
assertion of the enable maenn. The definition of the
Master command word is shown in Table 25. The
FPGA application can use the value returned on bus
mstatecntr, the Master write counter’s present value,
to determine the counter’s next state, using the state
diagram for the particular operation being executed.
The counter’s next state must be determined because
the FPGA application must supply the data to the PCI
core that corresponds to the counter value being sent
from the core to the FPGA.
Data Sheet
April 2002
Master State Counter
FIFO Empty
The PCI core provides a state counter,
mstatecntr[2:0], that informs the FPGA of the current
state of the PCI core's Master state counter. This state
counter determines what data is currently being provided by the PCI core or expected from the FPGA
application. This state counter transitions from one
state to another in a predictable fashion, and thus, it is
not strictly necessary to transmit its value to the FPGA.
Nonetheless, the value on bus mstatecntr can be used
to minimize FPGA logic or verify proper operation.
In addition to the full and almost full signals that report
when the Master write FIFO is currently unable to
receive data from the FPGA application, the PCI core
also provides the FIFO's empty signal. During a master
write burst transaction, the master write FIFO may go
empty, especially if the user side application is slow at
filling the FIFO. When this condition occurs, the master
will insert wait-states continuously until another word
(or the last word) is written into the FIFO and will not
terminate the transaction. On the target side, if the target is ready to accept more data, it will have trdyn
asserted which will disable it from terminating the
transaction as well. This can create a deadlock condition on the PCI bus. If the user application cannot supply any more data, and wishes to terminate the burst,
additional FPGA logic must be incorporated to detect
and accomplish the termination. The way to terminate
the transaction is to provide one last piece of data
(either real data or a dummy data word with all byte
enables disabled) along with mwlastcycn asserted.
The data provided by the PCI core to the FPGA application on bus mrdata is accompanied by a value on
bus mstatecntr. This value can be directly used by the
FPGA application to determine the proper use of that
data. This eliminates the need for logic in the FPGA to
duplicate this state counters in this case.
The data required from the FPGA application by the
PCI core on bus mwdata is also defined by the value
on bus mstatecntr. However, the state counter value is
being sent to the FPGA in the same cycle that the data
must be sent from the FPGA. Therefore, the FPGA
application must build its own copy of the state counter
value in this case. The value provided by the PCI core
can be used as the previous value, or it can be used to
verify the proper operation of the FPGA application's
logic.
Table 25 lists the values of the state counter mstatecntr and the appropriate accompanying data.
86
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
PCI Bus Core Detailed Description
Quad Port (continued)
Designing a Deadlock Timer
Reset
The FPGA application can apply the PCI core’s reset
signal mfifoclrn to place the core’s master logic in a
known state. Normally, the clear signal will not be used
unless a severe problem has occurred in the data flow.
The mfifoclrn signal is synchronous with fclk and must
be asserted for a minimum of three clock periods. During reset, the m_ready signal will go low. After the
reset signal is deasserted high, m_ready will continue
to be low for 8—10 clock periods. The FPGA application should not continue normal operation until
m_ready is asserted high.
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
This design example is a method by which the user
application can detect the deadlock condition and terminate the burst transaction. Since the mw_emptyn
signal is on the pciclk clock domain, it must be resynchronized to the fclk domain. To accomplish this, double register mw_emptyn with fclk driven registers. The
mw_emptyn signal is fed as a clock enable and a synchronous clear to a counter, driven by fclk. The
counter's length may be designed to guarantee a certain time-out latency on the PCI bus. When the FIFO is
not empty (mw_emptyn = 1), the counter will stay
cleared. When the FIFO has been empty for an
extended period of time, the counter will count and
eventually overflow. This overflow indication can be
used to write one dummy word into the FIFO with the
byte enables disabled along with the mwlastcycn bit
asserted. The transaction will complete, and the core
will go back into an idle state.
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Bursting
Instead of using a burst length, the Master write operation relies on mwlastcycn to inform the PCI core on a
cycle-by-cycle basis when additional burst data is to
follow. This allows the FPGA application to maintain
control over the length of the Master write burst for as
long as possible, but may require the FPGA application
to implement a burst length counter if needed. When
executing a burst Master write, a deasserted mwlastcycn must accompany every data element except the
last element on bus mwdata. The signal mwlastcycn
must remain asserted throughout a nonburst Master
write, since the last data phase is the only data phase.
The maximum burst length is limited only by the latency
timer. To initiate a burst, the starting address must be
aligned to a 64-byte boundary. If ad[2] is a 1, a single
transfer will be executed.
Understanding and Using the pci_mcfg_stat Status
Signals
On the Master interface, there are two signals that control and provide status to the FPGA application. The
signal pci_mcfg_stat provides the status, and mcfgshiftenn controls what information the status line provides. The pci_mcfg_stat signal is always active and
duplicates the status contained in configuration status
register at location offset 0x04, bits 24, 28, and 29. To
use this status output, the FPGA application must keep
mcfgshiftenn = 1. When high, pci_mcfg_stat provides the wired-OR of the three status lines. If
pci_mcfg_stat gets set to a 1, indicating an error, then
the FPGA application may set mcfgshiftenn = 0 to
determine individual status. Once low, the
pci_mcfg_stat signal will output data parity error
detected on the first clock, target abort on received the
second clock, and master abort received on the third
clock.
Termination
Once initiated, Master write operations will repeat on
the PCI bus until one of the following occurs:
1. All data is sent.
2. An abort occurs (either Master or Target).
3. The PCI bus’s reset signal (rstn) is asserted.
If a PCI transaction is terminated with a retry or disconnect before all data has been written, the PCI core will
initiate another Master write operation, continuing from
that point.
Lucent Technologies Inc.
Lattice Semiconductor
87
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
PCI Bus Core Detailed Description Quad Port (continued)
Master Write, Nonburst Transaction
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Figure 27 (FPGA bus) and Figure 25 (PCI bus) show the timing of a Master write, nonburst transaction. In Figure
27, the transaction is initiated by the FPGA application asserting Master address enable (maenn), while providing
the command word and the lower DWORD address on bus mwdata. On the next clock, for 64-bit address mode,
the upper DWORD address is provided on bus mwdata while asserting wmlastcycn. On the next clock, maenn is
deasserted and the one DWORD of data is provided on bus mwdata along with assertion of the Master write data
enable (mwdataenn). The forth clock provided the second DWORD of data an assertion of mwlastcycn. Since the
protocol for providing start-up data is fixed for a specific operation, the FPGA application can be preprogrammed
with the sequence, or can use the value of the Master state counter (mstatecntr) to assist in determination of the
next required data word of information. This completes the setup for this operation. Execution begins on the PCI
bus, as shown in Figure 25.
T0
T1
T2
T3
T4
clk
framen
ad
ADRS
DATA
c_ben
CMD
BEs
irdyn
devseln
trdyn
stopn
5-8847F).a
Figure 25. Master Write Single (PCI Bus, 64-Bit)
88
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
PCI Bus Core Detailed Description Quad Port (continued)
Master Write, Burst Transaction
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Figure 28 (FPGA bus) and Figure 26 (PCI bus) show the timing of a 4-Quadword Master write burst transaction.
Operation is similar to that in the previous Master write, nonburst transaction, but extra data is supplied by the
FPGA application. In Figure 28, the transaction is initiated by the FPGA application asserting Master address
enable (maenn), while providing the command word and the lower DWORD address on bus mwdata. On the second clock, for 64-bit addressing, the upper DWORD address is supplied along with mwlastcycn. On the third
through tenth clocks, maenn is deasserted, the Master write data enable (mwdataenn) is asserted, and eight
DWORDs of data are provided on bus mwdata. On the tenth clock, mwlastcycn is asserted along with the last
DWORD of data. Since the protocol for providing start-up data is fixed for a specific operation, the FPGA application can be preprogrammed with the sequence, or can use the value of the Master state counter (mstatecntr) to
assist in determination of the next required DWORD of information. The PCI core knows that this is a burst operation because the FPGA application deasserts the Master write burst signal (mwlastcycn) during all but the final
data transfer cycle. Execution begins on the PCI bus, as shown in Figure 26. If the Master write PCI bus hold signal
(mwpcihold) is inactive, PCI bus activity will begin when the Master write FIFO goes nonempty; otherwise, the
PCI bus activity will wait until all data is loaded, as in this case, or the FIFO goes full. Execution begins on the PCI
bus, as shown in Figure 26.
T0
T1
T2
T3
T4
T5
T6
T7
clk
framen
ad
ADRS
D0
D1
c_ben
CMD
BE0
BE1
D2
BE2
D3
BE3
irdyn
devseln
trdyn
stopn
5-8848(F).a
Figure 26. Master Write 32-Byte Burst (PCI Bus, 64-Bit)
Lucent Technologies Inc.
Lattice Semiconductor
89
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
PCI Bus Core Detailed Description Quad Port (continued)
T0
T1
T2
T3
T4
T5
T6
fclk
m_ready
X
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
ma_fulln
mstatecntr
0
1
mcmd
X
CMD
mwdata
X
ADRS-L
4
5
0
X
ADRS-U
D0
D1
X
maenn
mwdataenn
mwlastcycn
mw_fulln
mw_afulln
mwpcihold
5-8839(F).a
Figure 27. Master Write Single Quadword (FPGA Bus, Quad-Port, 64-Bit Address)
90
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
PCI Bus Core Detailed Description Quad Port (continued)
T0
T1
T2
T3
T4
T5
T6
T7
T8
T9
T10
T11
T12
fclk
m_ready
X
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
ma_fulln
mstatecntr
0
1
mcmd
X
CMD
mwdata
X
ADRS-L ADRS-U
4
5
4
5
4
5
4
5
0
X
D0
D1
D2
D3
D4
D5
D6
D7
X
maenn
mwdataenn
mwlastcycn
mw_fulln
mw_afulln
mwpcihold
5-8840(F).a
Figure 28. Master Write 32-Byte Burst (FPGA Bus, Quad-Port, 64-Bit Address)
Table 36. Quad-Port Master Write
mstatecntr
Next State of
mstatecntr
0
0
1
4
0
1
4
5 or 0
5
4 or 0
Description
Bus
maenn
mwdataenn
mwlastcycn
Idle
Address[31:0]
Address[63:32]
Data[31:0],
BE[3:0]
Data[63:32],
BE[7:4]
—
mwdata[35:0]
mwdata[35:0]
mwdata[35:0]
1
0
0
1
1
1
1
0
1
1
0
1
mwdata[35:0]
1
0
0*
* mwlastcycn is only 0 during the last data DWORD sent.
Notes:
For 32-bit addressing, state 1 is absent.
For 32-bit data, state 5 is absent.
Lucent Technologies Inc.
Lattice Semiconductor
91
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
PCI Bus Core Detailed Description
Quad Port (continued)
Master (FPGA Initiated) Read
Operation Setup
FIFO Full
In addition to the empty and almost empty signals that
report when the Master read FIFO is currently unable
to supply data to the FPGA application, the PCI core
also provides the FIFO's full signal. During a master
read burst transaction, the master read FIFO may go
full, especially if the user side application is slow at
unloading the FIFO. When this condition occurs, the
master will insert wait-states continuously until another
word is read from the FIFO, or the word count is
exhausted. On the target side, if the target is ready to
send more data, it will have trdyn asserted which will
disable it from terminating the transaction as well. This
can create a deadlock condition on the PCI bus. If the
user application cannot unload any more data, and
wishes to terminate the burst, additional FPGA logic
must be incorporated to detect and accomplish the termination. Two operations must occur to terminate the
current transaction. First, the fpga_mstopburstn signal must be asserted indicating to the core the master
request to terminate. Second, one additional word of
data must be read from the FIFO (only if the FIFO is
full). The signal fpga_mstopburstn needs to stay
asserted low until the ma_fulln flag is asserted low
indicating that the transaction has been terminated and
cleared.
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
In order to initiate a PCI Master read operation, the
FPGA application must supply the required information
in the specific order prescribed in Table 38. The command word, burst length (if supplied), and address
must be accompanied by assertion of the enable
maenn. The definition of the Master command word
was previously described in Table 25. The FPGA application can use the value returned on bus mstatecntr,
the Master state counter’s present value, to determine
the counter’s next state, using the state diagram for the
particular operation being executed. The counter’s next
state must be determined because the FPGA application must supply the data to the PCI core that corresponds to the counter value being sent from the core to
the FPGA.
Data Sheet
April 2002
Data Transfer
The FPGA application begins receiving the read data
by deasserting maenn and asserting mrdataenn. On
every cycle that mrdataenn is asserted, the PCI core
clocks data from the Master read FIFO (64 deep by
36 bits wide in 32-bit PCI mode; 32 deep by 72 bits
wide in 64-bit PCI mode) to the FPGA application via
bus mrdata.
FIFO Empty/Almost Empty
When the Master read FIFO contains four or fewer data
elements, the PCI core asserts mr_aemptyn, the
almost empty indicator. This allows some latency to
exist in the FPGA’s response without risking overreading the FIFO. When all locations in the Master write
FIFO are empty, the PCI core asserts mr_empty, the
FIFO empty indicator. Since data can be simultaneously written to and read from the Master read FIFO,
both mr_aemptyn and mr_emptyn can change states
in either direction multiple times in the course of a burst
data transfer.
92
Designing a Deadlock Timer
This design example is a method by which the user
application can detect this condition and terminate the
burst transaction. Since the mr_fulln and
fpga_mstopburstn signals are on the pciclk clock
domain, the deadlock counter will run on the pciclk
clock. The mr_fulln signal is fed as a clock enable and
a synchronous clear to a counter, driven by pciclk. The
counter's length may be designed to guarantee a certain time-out latency on the PCI bus. When the FIFO is
not full (mr_fulln = 1), the counter will stay cleared.
When the FIFO has been full for an extended period of
time, the counter will count and eventually overflow.
This overflow indication can be used to set the
fpga_mstopburstn signal indicating a request to stop
the burst. The overflow signal is then detected and synchronized onto the fclk domain to be used to read one
additional word from the FIFO. The transaction will
complete, and the core will go back into an idle state.
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
PCI Bus Core Detailed Description
Quad Port (continued)
Bursting
Reset
The FPGA application can apply the PCI core’s reset
signal mfifoclrn to place the core’s master logic in a
known state. Normally, the clear signal will not be used
unless a severe problem has occurred in the data flow.
The mfifoclrn signal is synchronous with fclk and must
be asserted for a minimum of three clock periods. During reset, the m_ready signal will go low. After the
reset signal is deasserted high, m_ready will continue
to be low for 8—10 clock periods. The FPGA application should not continue normal operation until
m_ready is asserted high.
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
The PCI core uses the burst count supplied during
operation setup to determine the Master read operation’s burst length (unlike the Master write, which uses
signal mwlastcycn). The burst length of 18 bits allows
bursts of up to 218 – 1 quad words to be specified. To
initiate a burst, the starting address must be aligned to
a 64-byte boundary. If ad[2] is a 1, a single transfer will
be executed.
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Master Read Byte Enables
During master reads, byte enables are always supplied
by the Master to the Target, even though on reads the
data is flowing in the opposite direction. Thus, the byte
enables cannot be buffered in a FIFO alongside the
corresponding data. Also, the byte enables must be
presented on the bus by the Master at the same time
that the data is being presented on the bus by the Target (unless the Target uses trdyn to insert wait-states),
and so the data provided by the Target cannot depend
on the byte enables (once again, without wait-states).
Termination
Once initiated, Master read operations will repeat on
the PCI bus until the following occurs:
1. All data is received.
2. An abort occurs (either Master or Target).
3. The fpga_mstopburstn signal is asserted.
4. The PCI bus’ reset signal (resetn) is asserted.
If a PCI transaction is terminated with a retry or disconnect before all data has been received, the PCI core
will initiate another Master read operation, continuing
from that point.
Lucent Technologies Inc.
Lattice Semiconductor
Understanding and Using the pci_mcfg_stat Status
Signals
On the Master interface, there are two signals that control and provide status to the FPGA application.
pci_mcfg_stat provides the status, and mcfgshiftenn
controls what information the status line provides. The
pci_mcfg_stat signal is always active and duplicates
the status contained in configuration status register at
location offset 0x04, bits 24, 28, and 29. To use this
status output, the FPGA application must keep mcfgshiftenn = 1. When high, pci_mcfg_stat provides the
wired-OR of the three status lines. If pci_mcfg_stat
gets set to a 1, indicating an error, then the FPGA
application may set mcfgshiftenn = 0 to determine
individual status. Once low, the pci_mcfg_stat signal
will output data parity error detected on the first clock,
target abort received on the second clock, and master
abort received on the third clock.
93
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
PCI Bus Core Detailed Description Quad Port (continued)
Master Read, Nonburst Transaction
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Figure 30 (FPGA bus) and Figure 29 (PCI bus) show the timing of a single Quadword Master read. In Figure 30,
the transaction is initiated by the FPGA application asserting Master address enable (maenn), while providing the
command and burst length on bus mwdata. On the next clock, the FPGA application provides the DWORD
address and asserts mwlastcycn. On the third cycle, both maenn and mwlastcycn are deasserted. PCI bus
activity now begins as shown in Figure 29. Once data is transferred on the PCI bus and mr_emptyn is deasserted
high, the FPGA application asserts mrdataenn and two DWORDs of data are transferred on bus mrdata.
T0
T1
T2
T3
T4
T5
clk
framen
ad
c_ben
ADRS
CMD
DATA
BEs
irdyn
devseln
trdyn
stopn
5-8849(F).a
Figure 29. Master Read Single (PCI Bus, 64-Bit)
94
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
PCI Bus Core Detailed Description Quad Port (continued)
T0
T1
T2
T3
T4
TN
TN+1
TN+2
TN+3
TN+4
fclk
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
m_ready
ma_fulln
X
mstatecntr
0
1
mcmd
0
CMD
mwdata
X
BRST
mrdata
X
4
4
0
ADRS
5
0
D1
X
0
X
X
X
D0
maenn
mrdataenn
mwlastcycn
mrlastcycn
mr_emptyn
mr_aemptyn
5-8841(F).a
Figure 30. Master Read Single Quadword (FPGA Bus, Quad-Port, Specified Burst Length, 32-Bit Address)
Lucent Technologies Inc.
Lattice Semiconductor
95
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
PCI Bus Core Detailed Description Quad Port (continued)
Master Read, Burst Transaction
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Figure 32 (FPGA bus) and Figure 31 (PCI bus) show the timing of a four Quadword Master read burst. Operation is
similar to that in the Master read, nonburst transaction, but extra data words are supplied by the FPGA application.
In Figure 32, the transaction is initiated by the FPGA application asserting Master address enable (maenn), while
providing the command and burst length on bus mwdata. On the next clock, the FPGA application provides the
DWORD address and asserts mwlastcycn. On the third cycle, both maenn and mwlastcycn are deasserted. PCI
bus activity now begins as shown in Figure 31. Once data is transferred on the PCI bus and mr_emptyn is deasserted high, the FPGA application asserts mrdataenn and eight DWORDs of data are transferred on bus mrdata.
T0
T1
T2
T3
T4
T5
T6
T7
T8
clk
framen
ad
ADRS
c_ben
CMD
D0
BE0
D1
BE1
D2
BE2
D3
BE3
irdyn
trdyn
stopn
5-8850(F).a
Figure 31. Master Read 32-Byte Burst (PCI Bus, 64-Bit)
96
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
PCI Bus Core Detailed Description Quad Port (continued)
T0
T1
T2
T3
T4
TN
TN+1 TN+2 TN+3 TN+4 TN+5 TN+6 TN+7 TN+8 TN+9 TN+10
fclk
m_ready
X
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
ma_fulln
mstatecntr
0
1
mcmd
X
CMD
mwdata
X
BRST ADRS
mrdata
X
4
4
5
4
X
5
4
5
4
5
0
D3
D4
D5
D6
D7
X
X
X
X
D0
D1
D2
maenn
mrdataenn
mwlastcycn
mrlastcycn
mr_emptyn
mr_aemptyn
5-8842(F).a
Figure 32. Master Read 32-Byte Burst (FPGA Bus, Quad-Port, Specified Burst Length, 32-Bit Address)
Lucent Technologies Inc.
Lattice Semiconductor
97
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
PCI Bus Core Detailed Description Quad Port (continued)
Table 37. Quad-Port Master Read, Duplicate Burst Length and 16-Bit Address
Next State
of
mstatecntr
0
0
0
4
4
5
5 or 0
4 or 0
Description
Bus
Idle
—
BE[7:0],
mwdata[35:0]
Address[15:0]
Data[31:0]
mrdata[31:0]
Data[63:32]
mrdata[31:0]
maenn
mwlastcycn mrlastcycn mrdataenn
1
0
1
0
1
1
1
1
1
1
1
1
1
0*
0
0
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
mstatecntr
* mrlastcycn is 0 on the last data DWORD transfer.
Table 38. Quad-Port Master Read, Specified Burst Length and 64-Bit Address
mstatecntr
Next State
of
mstatecntr
0
0
0
1 or 4
1
2
4
5
2 or 4
4
5 or 0
4 or 0
Description
Bus
maenn
mwlastcycn mrlastcycn mrdataenn
Idle
BE[7:0], Burst
Length
Address[31:0]
Address[63:32]
Data[31:0]
Data[63:32]
—
mwdata[35:0]
1
0
1
1
1
1
1
1
mwdata[31:0]
mwdata[31:0]
mrdata[31:0]
mrdata[31:0]
0
0
1
1
1
0
1
1
1
1
1
0*
1
1
0
0
* mrlastcycn is 0 on the last data DWORD transfer.
98
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
PCI Bus Core Detailed Description
Quad Port (continued)
Target (PCI Bus Initiated) Write
Operation Setup
Data Transfer
For a Target write data transfer, the FPGA application
begins receiving the supplied data by deasserting
taenn and asserting twdataenn. On every cycle that
twdataenn is asserted, the FPGA application clocks
data out of the PCI core’s Target write FIFO (32 deep
by 36 bits wide in 32-bit PCI mode; 16 deep by 72 bits
wide in 64-bit PCI mode) via bus twdata.
FIFO Empty/Almost Empty
Data to be written is buffered in the Target write FIFO
(32 deep by 36 bits wide in 32-bit PCI mode; 16 deep
by 72 bits wide in 64-bit PCI mode). When this FIFO
contains four or fewer data elements, the PCI core
asserts tw_aempty, the FIFO almost empty indicator.
This allows some latency to exist in the FPGA’s
response without risking overreading the FIFO. When
the PCI core has read all data out of the Target write
FIFO, the PCI core asserts tw_emptyn, the FIFO
empty indicator. Since data can be simultaneously written to and read from the Target write FIFO, both
tw_aemptyn and tw_emptyn can change states in
either direction multiple times in the course of a burst
data transfer.
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
The FPGA application waits for Target request, treqn,
from the PCI core to become active, indicating a Target
operation, either read or write. It then asserts Target
address enable, taenn, to clock out the command and
its address. Table 39 describes the specific order of
operation for a Target write transaction.
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Bursts can be of any length, but will disconnect when
any of the following conditions occur:
■
tw_fulln is asserted low, and twburstpendn is deasserted high.
■
The maximum number of wait-states has been
inserted.
■
The BAR boundary has been crossed.
Target State Counter
The PCI core provides a state counter, tstatecntr[2:0],
that informs the FPGA of the current state of the PCI
core's Target state counter. This state counter determines what data is currently being provided by the PCI
core or expected from the FPGA application. This state
counter transitions from one state to another in a predictable fashion, and thus, it is not strictly necessary to
transmit its value to the FPGA. Nonetheless, the value
on bus tstatecntr can be used to minimize FPGA logic
or verify proper operation.
The data provided by the PCI core to the FPGA application on bus twdata is accompanied by a value on
bus tstatecntr. This value can be directly used by the
FPGA application to determine the proper use of that
data. This eliminates the need for logic in the FPGA to
duplicate these state counters in this case.
The data required from the FPGA application by the
PCI core on bus trdata is also defined by the value on
bus tstatecntr. However, the state counter value is
being sent to the FPGA in the same cycle that the data
must be sent from the FPGA. Therefore, the FPGA
application must build its own copy of the state counter
value in this case. The value provided by the PCI core
can be used as the previous value, or it can be used to
verify the proper operation of the FPGA application's
logic.
FIFO Full
In addition to the empty and almost empty signals that
report when the Target write FIFO is currently unable to
supply data to the FPGA application, the PCI core also
provides the FIFO's full signal. If the FIFO does go full,
the core will do one of two things. If twburstpendn is
deasserted high, the target will disconnect. If twburstpendn is asserted low, the target will assert up to eight
wait-states and then disconnect if still full. The FIFO full
flag is not generally used in user designs. If it is, however, keep in mind that it is synchronous to pciclk.
Bursting
Signal twlastcycn tells the FPGA application whether
the current write is a burst. The FPGA application continues to unload data from the FIFO as long as twlastcycn is inactive. The bursting will continue until either
twlastcycn is received, the FIFO becomes full, or the
BAR boundary is crossed. There is no fixed maximum
transfer word count.
Table 25 lists the values of the state counter tstatecntr
and the appropriate accompanying data.
Lucent Technologies Inc.
Lattice Semiconductor
99
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
PCI Bus Core Detailed Description
Quad Port (continued)
Nondelayed Transactions
(disctimerexp = 1). From this point forward, any master performing a write (including the original master
coming back to complete the transfer) will be treated as
a new transaction. If monitoring this signal, keep in
mind that disctimerexp is synchronous to pciclk and
asserts high for one clock period.
Termination
Nondelayed write transaction completion occurs when
the last item remaining in the Target write FIFO has
been read by the FPGA application (although the
actual PCI bus transaction may have completed much
earlier). Delayed write transaction completion occurs
when the I/O write results in a disconnect with data.
The PCI core signals end of transaction to the FPGA
application by deasserting treqn.
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Target memory and I/O write operations may work in a
nondelayed transaction mode. Once the PCI core Target determines that it is the intended recipient, it
asserts devseln and trdyn and begins loading data
into the Target write FIFO. After the core accepts the
data element that fills the FIFO, the next data element
will cause a disconnect without data. The operation is
then complete on the PCI bus; even if the FPGA partially empties the Target write FIFO, no Target write
transaction, even a continuation of the previous burst,
will be accepted until the FIFO is emptied. The next
Target write operation will be considered a new transaction.
Data Sheet
April 2002
Delayed Transactions
Target I/O write operations may also be handled as
delayed transactions by asserting deltrn. The signal
deltrn was designed to be a static signal. This signal
should be tied off high or low depending upon whether
the FPGA application wishes to run delayed transactions. When asserting deltrn low, the PCI core will execute delayed transactions for I/O writes as well as all
target reads. In delayed transaction mode, the operation is not accepted on the first request. Instead, on the
first request, the PCI core records the command,
address, and first data word (32 or 64 bits) along with
its byte enables (4 or 8 bits). The first command and
address are put in the Target address FIFO, and the
data word and byte enables are put in the Target write
FIFO. The request is terminated in a retry, and the
FPGA application is informed as usual that a Target
request is pending via the assertion of treqn. Masters
are required to repeat requests terminated in retry until
data is moved (see PCI Specification section
3.3.3.2.2). The transaction status at this time is DWR
(delayed write request—see PCI Specification section
3.3.3.3.6), and subsequent requests will be terminated
in retry. When the FPGA application reads the FIFO
and empties it, the transaction status changes to DWC
(delayed write completion), and the next Target I/O
write that matches the stored command, address, data,
and byte enables will be accepted with a disconnect
with data, completing the transaction and clearing the
Target address and Target write FIFOs. Internal to the
ASIC, there is also a 15-bit time-out timer (known as
the discard timer). During a delayed I/O write transaction, this counter will begin counting. If the same master does not come back within 215 – 1 pciclk's to
complete the write, this timer will expire, resetting the
target state machines and setting a user side signal
100
Reset
The FPGA application can apply the PCI core’s reset
signal tfifoclrn to place the core’s target logic in a
known state. Normally, the clear signal will not be used
unless a severe problem has occurred in the data flow.
The tfifoclrn signal is synchronous with fclk and must
be asserted for a minimum of three clock periods. During reset, the t_ready signal will go low. After the reset
signal is deasserted high, t_ready will continue to be
low for 8—10 clock periods. The FPGA application
should not continue normal operation until t_ready is
asserted high.
Understanding and Using the pci_tcfg_stat Status
Signals
On the Target interface, there are two signals that control and provide status to the FPGA application. The
signal pci_tcfg_stat provides the status and tcfgshiftenn controls what information the status line provides. The pci_tcfg_stat signal is always active and
duplicates the status contained in configuration status
register at location offset 0x04, bits 24, 28, and 29. To
use this status output, the FPGA application must keep
tcfgshiftenn = 1. When high, pci_tcfg_stat provides
the wired-OR of the three status lines. If pci_tcfg_stat
gets set to a 1, indicating an error, then the FPGA
application may set tcfgshiftenn = 0 to determine individual status. Once low, the pci_tcfg_stat signal will
output target abort signaled on the first clock, system
error signaled on the second clock, and parity error
detected on the third clock.
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
PCI Bus Core Detailed Description
Quad Port (continued)
Initiating Target Aborts
Initiating PCI Target Retries
In contrast to target abort, many applications may
require to assert PCI target retries. In general, this may
be asserted for times when the FPGA application is
temporarily busy and unavailable to service PCI
requests. The interface signal, fpga_tretryn, is used
for this purpose. From the PCI core's point of view, it
needs to know whether to perform a target retry at the
very beginning of a transaction, so it is not possible to
have a transaction started and then assert the
fpga_tretryn signal. The signal fpga_tretryn needs to
be asserted before the transaction begins, and it was
not designed to be toggled on and off from transaction
to transaction. Once an FPGA application determines
that it wants to apply a target retry to any master that
accesses it, it would assert the fpga_tretryn signal
low. All future target accesses will be terminated in a
retry (disconnect without data). On the FPGA application side, no activity will occur. In generating this signal,
keep in mind that this signal needs to be synchronous
to pciclk.
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
There may be a need in an application to initiate a target abort condition on the PCI bus. In general, this is
asserted for only the most severe cases. The interface
signal, fpga_tabort, is used for this purpose. From the
PCI core's point of view, it needs to know whether to
perform a target abort at the very beginning of a transaction, so it is not possible to have a transaction
started, and then assert the fpga_tabort signal. The
signal fpga_tabort needs to be asserted before the
transaction begins, and it was not designed to be toggled on and off from transaction to transaction. Once
an FPGA application determines that it wants to apply
a target abort to any master that accesses it, it would
assert the fpga_tabort signal high. All future target
accesses will be terminated in an abort. In generating
this signal, keep in mind that this signal needs to be
synchronous to pciclk.
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Lucent Technologies Inc.
Lattice Semiconductor
101
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
PCI Bus Core Detailed Description Quad Port (continued)
Target Write to Configuration Space Transaction
Figure 33 shows the timing on the PCI interface for a Target write to configuration space. Accesses of configuration
space occur without any involvement of the FPGA interface. All configuration space accesses are disconnected
with data on the first data word and are thus restricted from bursting. Address decode speed is medium, and the
PCI core signals that it is ready to receive the data by asserting trdyn one cycle after devseln is asserted.
T1
T2
T3
T4
T5
T6
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
T0
clk
framen
ad
X
ADDRESS
DATA
X
c_ben
X
CMD
BYTE ENABLES
X
idsel
X
X
irdyn
devseln
trdyn
stopn
5-8851(F).a
Figure 33. Target Configuration Write (PCI Bus, 64-Bit)
102
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
PCI Bus Core Detailed Description Quad Port (continued)
Target Write I/O, Delayed Transaction
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Figure 34 (PCI bus) and Figure 36 (FPGA bus) show the timing for a Target I/O write operation that is handled as a
delayed transaction; that is, the operation completes on the local (FPGA) bus before completing on the PCI bus.
The FPGA application indicates its desire to do this by asserting signal deltrn. In Figure 34, three transactions are
shown: the first is the initial write that latches the command, address, data, and byte enables in the PCI core. The
core's Target logic then issues a retry, obligating the remote Master to continue to issue that identical request until
data is moved. Meanwhile, the information is relayed to the FPGA interface via the address and data FIFOs, triggering the FPGA interface exchange discussed below and shown in Figure 36. All subsequent read or write
requests to memory, I/O, or configuration space will result in retries, as shown in the second transaction of Figure
34. The third transaction is the final transaction that completes the transfer of data. Although the data was actually
latched and forwarded to the FPGA from the first transaction, it is not until the FPGA acknowledges that it has
received the data, by emptying the Target write FIFO, that the PCI core acknowledges to the remote Master that it
has received the data by performing a disconnect with data. The timing on this third transaction is identical to the
timing of the first except that trdyn accompanies stopn to indicate the disconnect with data.
The timing on the FPGA interface (Figure 36) shows that the first indication to the FPGA application that a new
operation has begun is the assertion of target request (treqn), together with the new command on bus twdata. The
FPGA application responds by asserting target address enable (taenn) and accepting the command and subsequent lower DWORD address on bus twdata. On the next clock, the upper DWORD address is received along with
twlastcycn. This is followed by deassertion of taenn, assertion of Target write data enable (twdataenn), and the
receiving of the data on bus twdata.
Ta0 Ta1 Ta2 Ta3 Ta4 Ta5 Ta6 Tb0 Tb1 Tb2 Tb3 Tb4 Tb5 Tb6 Tc0 Tc1 Tc2 Tc3 Tc4 Tc5 Tc6
clk
framen
ad[31:0]
X
ADRS
DATA
X
X
ADRS
DATA
X
X
ADRS
DATA
X
c/be[3:0]n
X
CMD
BEs
X
X
CMD
BEs
X
X
CMD
BEs
X
irdyn
devseln
trdyn
stopn
TRANSACTION #1: ADDRESS, BYTE ENABLES,
COMMAND, AND WRITE DATA LATCHED AS A
TRANSACTION #2: DISCONNECTED W/O DATA
BECAUSE WRITE COMPLETION NOT RECEIVED.
TRANSACTION #3: DISCONNECTED WITH DATA
BECAUSE WRITE COMPLETION RECEIVED.
DELAYED WRITE REQUEST.
5-7372(F).a
Figure 34. Target I/O Write, Delayed (PCI Bus, 64-Bit)
Lucent Technologies Inc.
Lattice Semiconductor
103
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
PCI Bus Core Detailed Description Quad Port (continued)
Target Write Nonburst Transaction
Figure 35 (PCI bus) and Figure 36 (FPGA bus) show the timing on the PCI and FPGA interfaces, respectively, for a
Target memory nonburst write transaction. The timing on the PCI interface (Figure 35) is similar to that of an I/O
write except that, since bursts to memory space are allowed, the signal stopn is not asserted. The FPGA interface
timing is as shown in Figure 36, and is the same as the timing for memory and I/O write transactions.
T1
T2
T3
T4
T5
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
T0
clk
framen
ad
X
ADDRESS
DATA
X
c_ben
X
CMD
BYTE ENABLES
X
irdyn
devseln
trdyn
stopn
5-8854(F).a
Figure 35. Target Write Memory Single (PCI Bus, 64-Bit)
104
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
PCI Bus Core Detailed Description Quad Port (continued)
T0
T1
T2
T3
T4
T5
T6
fclk
t_ready
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
treqn
tstatecntr
0
tcmd
X
CMD
twdata
X
ADRS-L
4
5
0
D1
X
X
ADRS-U
D0
taenn
twdataenn
twlastcycn
tw_emptyn
tw_aemptyn
5-8843(F).a
Figure 36. Target Write Single Quadword (FPGA Bus, Quad-Port, 64-Bit Address)
Lucent Technologies Inc.
Lattice Semiconductor
105
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
PCI Bus Core Detailed Description Quad Port (continued)
Target Write Memory Burst Transaction
Figure 37 (PCI bus) and Figure 38 (FPGA bus) show the timing for a Target memory write burst of four Quadwords.
The timing on the PCI interface (Figure 37) is typical for a medium-speed decode Target. Note that trdyn is
asserted at the earliest possible time, which is concurrent with assertion of devseln. In the example of a four
Quadword burst, the FIFO is not filled, so execution continues to completion. This would also be the case for a
burst of any length when the FPGA application is capable of unloading the FIFO as fast as the PCI interface is
loading it. If the Target write FIFO becomes full, the PCI core Target will disconnect without data on the first data
word it cannot accept.
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
The timing on the FPGA interface (Figure 37) shows that the first indication to the FPGA application that a new
operation has begun is the assertion of target request (treqn), together with the new command on bus tcmd. The
FPGA application responds by asserting target address enable (taenn) and accepting the address on bus twdata.
This is followed by deassertion of taenn, assertion of Target write data enable (twdataenn), and the receiving of
the data on bus twdata. The FPGA application is informed that the last 32 bits of data is being presented when Target write burst (twlastcycn) is asserted.
T0
T1
T2
T3
T4
T5
T6
T7
T8
clk
framen
ad
X
ADDRESS
D0
D1
D2
D3
c_ben
X
CMD
BE0
BE1
BE2
BE3
irdyn
devseln
trdyn
stopn
5-8855(F)
Figure 37. Target Memory Write 32-Byte Burst (PCI Bus, 64-Bit)
106
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
PCI Bus Core Detailed Description Quad Port (continued)
T0
T1
T2
T3
T4
T5
T6
T7
T8
T9
T10
T11
T12
fclk
t_ready
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
treqn
tstatecntr
0
4
tcmd
X
CMD
twdata
X
ADRS
5
4
5
4
5
4
5
0
D5
D6
D7
X
X
D0
D1
D2
D3
D4
taenn
twdataenn
twlastcycn
tw_emptyn
tw_aemptyn
5-8844(F).a
Figure 38. Target Write Memory 32-Byte Burst (FPGA Bus, Quad-Port, 32-Bit Address)
Table 39. Quad-Port Target Write
tstatecntr
Next State of
tstatecntr
0
0
1
4
0
1 or 4
4
5 or 0
5
4 or 0
Description
Bus
treqn
twlastcycn
taenn
Idle
Address[31:0]
Address[63:32]
Data[31:0],
BE[3:0]
Data[63:32],
BE[7:4]
—
twdata[35:0]
twdata[32:0]
twdata[35:0]
1
0
0
0
1
1
0
1
1
0
0
1
twdata[35:0]
1†
0*
1
* treqn is deasserted high on the last data DWORD.
† twlastcycn is asserted low on the last data DWORD.
Lucent Technologies Inc.
Lattice Semiconductor
107
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
PCI Bus Core Detailed Description
Quad Port (continued)
Target (PCI Bus Initiated) Read
lization of PCI bus bandwidth by causing a full buffer
contents to be burst, without wait-states, whenever the
PCI bus is claimed. This is explained in the Delayed
Transactions section.
FIFO Full/Almost Full
When the Target read FIFO contains four or fewer
empty locations, the PCI core asserts tr_afulln, the
almost full indicator. This allows some latency to exist
in the FPGA’s response without risking overfilling the
FIFO. When all locations in the Target read FIFO are
full, the PCI core asserts tr_fulln, the full indicator.
Since the data can be simultaneously written to and
read from the Target read FIFO, both tr_afulln and
tr_fulln can change states in either direction multiple
times in the course of a burst data transfer.
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
The Target read operation presents unique demands
on the PCI core because only in the Target read operation does the PCI core request data that is needed to
complete the transaction after the PCI transaction has
already begun on the PCI bus. Target latency rules
require that the data be acquired quickly or that the Target terminate the transaction with a retry/disconnect.
Also, once the transfer process is underway, the Target
does not know how much more data will be requested,
yet the Target must prefetch data so that it will be available if needed. Special signals and protocols are
described below to efficiently deal with these unique
demands.
Data Sheet
April 2002
Operation Setup
The FPGA application waits for Target request, treqn,
from the PCI core to be active, indicating a Target operation, either read or write. It then asserts address
enable, taenn, to clock out the command and its
address. Table 40 describes the specific order of operation for a Target read transaction.
Bursts can be of any length, but will disconnect when
either of the following conditions occur:
■
tr_emptyn is asserted low.
■
The BAR boundary has been crossed.
Data Transfer
For a target read data transaction, the FPGA application begins supplying the requested data by deasserting taenn and asserting trdataenn. On every cycle that
trdataenn is asserted, the FPGA application clocks
data into the PCI core’s Target read FIFO (32 deep by
36 bits wide in 32-bit PCI mode; 16 deep by
72 bits wide in 64-bit PCI mode) via bus trdata. Since
the Target read FIFO will always be empty at the start
of a transaction, the first Target read request to a specific address will result in a retry, initiating a delayed
transaction (if signal trburstpendn is
deasserted high) or PCI bus wait-states (if signal
trburstpendn is asserted low).
FIFO Empty
In addition to the full and almost full signals that report
when the Target read FIFO is currently unable to
receive data from the FPGA application, the PCI core
also provides the FIFO's empty signal. If the FIFO does
go empty, the core will do one of two things. If twburstpendn is deasserted high, the target will disconnect. If
twburstpendn is asserted low, the target will assert up
to eight wait-states and then disconnect if still empty.
The FIFO empty flag is not generally used in user
designs. If it is, however, keep in mind that it is synchronous to pciclk.
Bursting
Signal trlastcycn tells the FPGA application whether
the current read is a burst. One data element must be
supplied regardless of this signal’s state. The FPGA
application continues to supply data elements (contingent on the full bits) as long as trlastcycn is inactive.
Note that this may result in the discarding of unused
data elements supplied in excess of the PCI transaction’s needs. Burst transfers are done either as continuous data phases if read data continues to be available
in the read data FIFO, or as a series of transfers terminated as disconnects without data. Bursts will continue
until either trlastcycn is received, the BAR boundary is
crossed, or a 218 physical page address is crossed.
The signal trpcihold can be asserted to hold off activation of the nonempty condition. While trpcihold is
active, the Target read FIFO empty flag will not change
to the nonempty state until it is full, but then will remain
in the nonempty state until that FIFO truly becomes
empty. Use of this signal can result in more efficient uti108
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
PCI Bus Core Detailed Description
Quad Port (continued)
Delayed Transactions
slow loading requested data, and the designer wishes
to utilize the PCI in the most efficient manner. Without
this signal, an external master will request data and
hold onto the PCI bus until either it has received it or it
gets terminated by latency timers, etc. A more efficient
method to utilize the PCI bus is to assert trpcihold,
load the FIFOs, and then deassert it. While the trpcihold signal is asserted, the core thinks that the FIFOs
stay empty even though they are slowly filling with data.
Requests from an external master are terminated in
retries. When the trpcihold signal is deasserted (or the
FIFO becomes full), the core will allow an external
master to come in, the data will be burst across the PCI
bus as fast as the master will allow, and the transaction
will end. In generating trpcihold, keep in mind that this
signal needs to be synchronous to pciclk.
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Delayed transactions can be executed by asserting
deltrn low. When deltrn is asserted low, the PCI core
Target read logic will issue a retry whenever no Target
read operation is already pending. When this signal is
inactive-high, it will instead generate wait-states, and
continue to do so until either the FIFO becomes not
empty, when it will transmit the data, or until the maximum initial latency value (16 or 32 clock cycles) has
been reached. This signal should be inactive when
minimum latency is desired on the initial data word, at
the expense of overall PCI bus efficiency. Whereas disable delayed transactions affects the transaction’s
behavior on the initial data word, signal trburstpendn
affects behavior when the Target read FIFO empties.
When trburstpendn is inactive, a disconnect without
data results from an attempt to read from an empty
FIFO. With trburstpendn active, the PCI core will wait
for data from the FIFO by inserting wait-states (up to
the maximum subsequent latency value of 8, at which
time a disconnect without data will be generated).
Asserting trburstpendn will minimize latency for this
transaction’s data at the expense of overall PCI bus
efficiency. trburstpendn must remain static throughout
a Target read transaction.
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Delayed transactions are very similar to a target retry
except that the address is actually stored in the core.
Delayed transactions are usually implemented in systems where the user side interface cannot supply the
first piece of data in 16 clock cycles. An example of this
may be that the user interface is connected to another
bus system. On a PCI target read, the user interface
must arbitrate for the user bus and get the necessary
data. Delayed transaction mode is used when the deltrn bit is asserted low. This bit is not a dynamic bit. It
must be set ahead of a transaction occurring. It is not
recommended to switch between delayed and nondelayed transactions dynamically.
Termination
Normal transaction completion occurs immediately
upon completion of the PCI bus transfer, even if extra
data remains in the Target read FIFO. When the PCI
transaction ends either normally, or as retry, disconnect, or Target abort, the PCI core signals end of transaction to the FPGA application by deasserting treqn.
When treqn deasserts, the FPGA application must
immediately deassert trdataenn.
Reset
The FPGA application can apply the PCI core’s reset
signal tfifoclrn to place the core’s target logic in a
known state. Normally, the clear signal will not be used
unless a severe problem has occurred in the data flow.
The tfifoclrn signal is synchronous with fclk and must
be asserted for a minimum of three clock periods. During reset, the t_ready signal will go low. After the reset
signal is deasserted high, t_ready will continue to be
low for 8—10 clock periods. The FPGA application
should not continue normal operation until t_ready is
asserted high.
When deltrn is low, a master read request is terminated in a target retry. On the user interface side, the
address is stored in the target address FIFO, and treqn
is asserted low. All future master requests are terminated in a retry until the address is read out of the
FIFO, data is loaded into the FIFO, and the same
request comes back to complete the transaction. In
generating this signal, keep in mind that this signal
needs to be synchronous to pciclk.
Another option the designer has using delayed transactions is to use the signal trpcihold. The signal trpcihold should be used when the user side interface is
Lucent Technologies Inc.
Lattice Semiconductor
109
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
PCI Bus Core Detailed Description
Quad Port (continued)
Understanding and Using the pci_tcfg_stat Status
Signals
Initiating Target Aborts
There may be a need in an application to initiate a target abort condition on the PCI bus. In general, this is
asserted for only the most severe cases. The interface
signal, fpga_tabort, is used for this purpose. From the
PCI core's point of view, it needs to know whether to
perform a target abort at the very beginning of a transaction, so it is not possible to have a transaction
started, and then assert the fpga_tabort signal. The
signal fpga_tabort needs to be asserted before the
transaction begins, and it was designed to be toggled
on and off from transaction to transaction. Once an
FPGA application determines that it wants to apply a
target abort to any master that accesses it, it would
assert the fpga_tabort signal high. All future target
accesses will be terminated in an abort. In generating
this signal, keep in mind that this signal needs to be
synchronous to pciclk.
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
On the Target interface, there are two signals that control and provide status to the FPGA application. The
signal pci_tcfg_stat provides the status, and tcfgshiftenn controls what information the status line provides. The pci_tcfg_stat signal is always active and
duplicates the status contained in configuration status
register at location offset 0x04, bits 24, 28, and 29. To
use this status output, the FPGA application must keep
tcfgshiftenn = 1. When high, pci_tcfg_stat provides
the wired-OR of the three status lines. If pci_tcfg_stat
gets set to a 1, indicating an error, then the FPGA
application may set tcfgshiftenn = 0 to determine individual status. Once low, the pci_tcfg_stat signal will
output target abort signaled on the first clock, system
error signaled on the second clock, and parity error
detected on the third clock.
Data Sheet
April 2002
110
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
PCI Bus Core Detailed Description Quad Port (continued)
Target Read from Configuration Space
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Figure 39 shows the timing on the PCI interface for a Target read from configuration space. Accesses of configuration space occur without any involvement of the FPGA interface. All configuration space accesses are disconnected with data on the first data word, and are thus restricted from bursting. Address decode speed is medium,
and the PCI core signals that it is supplying the word of data by asserting trdyn one cycle after devseln is
asserted.
T0
T1
T2
T3
T4
T5
T6
clk
framen
ad
X
ADDRESS
c_ben
X
CMD
idsel
X
X
DATA
BYTE ENABLES
X
X
X
irdyn
devseln
trdyn
stopn
5-8856(F).a
Figure 39. Target Configuration Read (PCI Bus, 64-Bit)
Lucent Technologies Inc.
Lattice Semiconductor
111
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
PCI Bus Core Detailed Description Quad Port (continued)
Target Read I/O, Delayed Transaction
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Figure 40 (PCI bus) and Figure 43 (FPGA bus) show the timing for a Target I/O read that is handled as a delayed
transaction. In other words, the operation completes on the local (FPGA) bus before completing on the PCI bus.
The FPGA application indicates its desire to do this by driving the delayed transaction signal deltrn active-low. In
Figure 40, three transactions are shown: the first is the initial read that latches the command, address, and byte
enables. The PCI core’s Target logic then issues a retry, obligating the remote Master to continue to issue that identical request until data is moved. Meanwhile, the latched information is relayed to the FPGA interface via the
address FIFO, triggering the FPGA interface exchange discussed below and in Figure 43. All subsequent read or
write requests to memory or I/O space will result in retries, as shown in the second transaction of Figure 40. The
third transaction is the final transaction that completes the transfer of data. The timing on this third transaction is
identical to the timing of the first except that trdyn accompanies stopn to indicate the disconnect with data.
The timing on the FPGA interface (Figure 40) shows that the first indication to the FPGA application that a new
operation has begun is the assertion of Target request (treqn), together with the new command on bus twdata.
The FPGA application responds by asserting Target address enable (taenn) and accepting the command and
lower DWORD address on bus twdata, after which taenn is deasserted. On the next clock, the upper DWORD
address is transferred. The FPGA application then accesses the requested data, asserts Target read data enable
(trdataenn), and transmits the data on bus trdata.
Ta0 Ta1 Ta2 Ta3 Ta4 Ta5 Ta6 Tb0 Tb1 Tb2 Tb3 Tb4 Tb5 Tb6 Tc0 Tc1 Tc2 Tc3 Tc4 Tc5 Tc6
clk
framen
ad
X
ADRS
X
c_ben
X
CMD
BEs
X
X
ADRS
X
X
CMD
BEs
X
X
ADRS
X
CMD
X
DATA
BEs
X
irdyn
evseln
trdyn
stopn
TRANSACTION #1: ADDRESS, BYTE ENABLES,
AND COMMAND LATCHED AS A
DELAYED READ REQUEST.
TRANSACTION #2: DISCONNECTED W/O DATA
BECAUSE READ OPERATION NOT COMPLETED.
TRANSACTION #3: DISCONNECTED WITH DATA
BECAUSE READ OPERATION COMPLETED.
5-8858(F).a
Figure 40. Target I/O Read, Delayed (PCI Bus, 64-Bit)
112
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
PCI Bus Core Detailed Description Quad Port (continued)
Target Read I/O, No Delayed Transaction
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Figure 41 (PCI bus) and Figure 43 (FPGA bus) show the timing for a Target I/O read that is handled as an immediate execution; that is, the operation completes on the PCI bus immediately and then is presented to the FPGA via
the FPGA interface. The FPGA application indicates its desire to do this by deasserting signal deltrn. The PCI core
Target terminates the I/O read request by disconnecting with data on the first data word, thus disallowing bursting.
The PCI interface timing shown in Figure 41 is identical to the timing of the third (final) transaction of Target I/O
read, delayed transaction (Figure 40), which shows a Target I/O read with delayed transaction. Also, the FPGA
interface timing is as shown in Figure 43, regardless of whether delayed transactions are enabled.
T0
T1
T2
T3
Tn0
Tn1
Tn2
Tn3
clk
framen
ad
X
ADDRESS
c_ben
X
CMD
X
BYTE ENABLES
X
DATA
BYTE ENABLES
X
X
irdyn
devseln
trdyn
stopn
5-8857(F).a
Figure 41. Target I/O Read, Not Delayed (PCI Bus, 64-Bit)
Lucent Technologies Inc.
Lattice Semiconductor
113
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
PCI Bus Core Detailed Description Quad Port (continued)
Target Read Memory, Nonburst, Delayed Transaction
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Figure 42 (PCI bus) and Figure 43 (FPGA bus) show the timing for a Target memory nonburst read handled as a
delayed transaction. The FPGA application indicates its desire to do this by asserting signal deltrn. The timing on
the PCI interface (Figure 42) is similar to that of an I/O read (Figure 40) except that stop is not asserted here to
cause disconnect with data, but rather the operation is free to continue since it is allowed to complete on the source
(PCI) bus before it completes on the destination (FPGA) bus. The FPGA interface timing is as shown in Figure 43
and is the same as the timing in the I/O accesses of Target I/O read, delayed transaction and Target I/O read, no
delayed transaction.
Ta0 Ta1 Ta2 Ta3 Ta4 Ta5 Ta6 Tb0 Tb1 Tb2 Tb3 Tb4 Tb5 Tb6 Tc0 Tc1 Tc2 Tc3 Tc4 Tc5 Tc6
clk
framen
ad
X
ADRS
X
c_ben
X
CMD
BEs
X
X
ADRS
X
X
CMD
BEs
X
X
ADRS
X
CMD
X
DATA
BEs
X
irdyn
devseln
trdyn
stopn
TRANSACTION #1: ADDRESS, BYTE ENABLES,
AND COMMAND LATCHED AS A
TRANSACTION #2: DISCONNECTED W/O DATA
BECAUSE READ OPERATION NOT COMPLETED.
TRANSACTION #3: NORMAL COMPLETION
BECAUSE READ OPERATION COMPLETED.
DELAYED READ REQUEST.
5-8860(F).a
Figure 42. Target Memory Single Read, Delayed (PCI Bus, 64-Bit)
114
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
PCI Bus Core Detailed Description Quad Port (continued)
T0
T1
T2
T3
T4
T5
T6
fclk
t_ready
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
treqn
tstatecntr
0
tcmd
X
CMD
twdata
X
ADRS-L
trdata
X
4
5
0
X
ADRS-U
X
D0
D1
X
taenn
trdataenn
twlastcycn
trlastcycn
tr_fulln
tr_afulln
5-8845(F).a
Figure 43. Target Read Single (FPGA Bus, Quad-Port, 64-Bit Address)
Lucent Technologies Inc.
Lattice Semiconductor
115
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
PCI Bus Core Detailed Description Quad Port (continued)
Target Read Memory, Nonburst, No Delayed Transaction
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Figure 44 (PCI bus) and Figure 43 (FPGA bus) show the timing for a Target memory nonburst read handled as an
immediate (nondelayed) transaction. The FPGA application indicates its desire to do this by deasserting signal deltrn. The timing on the PCI interface is shown in Figure 44. Here the PCI core accepts the transaction without issuing a retry but does not immediately assert trdyn. Wait-states are inserted until the requested data is placed in the
Target read FIFO, at which time trdyn is asserted and the data is returned. If the FPGA application cannot fetch the
data within the initial/subsequent latency time, the PCI core issues a retry or disconnect without data. The FPGA
interface timing is as shown in Figure 43, and is the same as the timing in the accesses of Target I/O read, delayed
transaction, Target I/O read, no delayed transaction, and Target read memory nonburst, delayed transaction.
T0
T1
T2
T3
Tn0
Tn1
Tn2
Tn3
clk
framen
ad
X
ADDRESS
c_ben
X
CMD: MEM RD
X
BYTE ENABLES
X
DATA
X
BYTE ENABLES
X
irdyn
devseln
trdyn
stopn
5-8859(F).a
Figure 44. Target Memory Read Single, Not Delayed (PCI Bus, 64-Bit)
116
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
PCI Bus Core Detailed Description Quad Port (continued)
Target Read Memory Burst, Delayed Transaction
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Figure 45 (PCI bus) and Figure 46 (FPGA bus) show the timing for a Target memory burst read of four Quadwords
handled as a delayed transaction. The FPGA application indicates its desire to do this by asserting signal deltrn.
On the PCI interface (Figure 45), three transactions are shown. In the first, the PCI core responds to the request
after determining that the address matches one of its BARs by asserting devseln. However, since delayed transaction has been specified by the FPGA application by asserting signal deltrn, the PCI core issues a retry. The PCI
core now waits for the FPGA application to load the Target read FIFO; until this occurs, all memory and I/O
accesses result in retries as exemplified by the second transaction in Figure 45. After the required data is loaded
(either the first data word or a complete FIFO contents, depending on whether the Target read PCI bus hold signal
trpcihold is deasserted or asserted, respectively), the actual data transfer will occur as shown in the third transaction in Figure 45. The FPGA interface timing is as shown in Figure 46. This is similar to the timing for a Target nonburst read as shown in Figure 43 except that multiple data cycles are required as long as trlastcycn is inactivehigh.
Ta0 Ta1 Ta2 Ta3 Ta4 Ta5 Ta6 Ta7 Tb1 Tb2 Tb3 Tb4 Tb5 Tb6 Tb7 Tc1 Tc2 Tc3 Tc4 Tc5 Tc6 Tc7 Tc8 Tc9
clk
framen
ad
X
ADRS
X
c_ben
X
CMD
BE0
X
X
ADRS
X CMD
X
BE0
X
X
ADRS
X
CMD
X
D0
BE0
D1 D2
D3
BE1 BE2 BE3
X
irdyn
devseln
trdyn
stopn
TRANSACTION #1: ADDRESS, BYTE ENABLES,
AND COMMAND LATCHED AS A
DELAYED READ REQUEST.
TRANSACTION #2: DISCONNECTED W/O DATA
BECAUSE READ OPERATION NOT COMPLETED.
TRANSACTION #3: NORMAL COMPLETION
BECAUSE READ OPERATION COMPLETED.
5-8862(F).a
Figure 45. Target Memory Read 32-Byte Burst, Delayed (PCI Bus, 64-Bit)
Lucent Technologies Inc.
Lattice Semiconductor
117
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
PCI Bus Core Detailed Description Quad Port (continued)
T0
T1
T2
T3
T4
T5
T6
T7
T8
T9
T10
T11
fclk
t_ready
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
treqn
0
tstatecntr
4
5
4
5
4
tcmd
X
CMD
X
twdata
X
ADRS
X
trdata
X
D0
D1
D2
D3
D4
5
D5
4
D6
5
D7
0
X
taenn
trdataenn
twlastcycn
trlastcycn
tr_fulln
tr_afulln
5-8846(F).a
Figure 46. Target Read Memory 32-Byte Burst (FPGA Bus, Quad-Port, 32-Bit Address)
118
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
PCI Bus Core Detailed Description Quad Port (continued)
Target Read Memory Burst, No Delayed Transaction
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Figure 47 (PCI bus) and Figure 46 (FPGA bus) show the timing for a Target memory burst read of four Quadwords
handled as a nondelayed transaction. Figure 47 shows the timing on the PCI interface is similar to that of an I/O
read (Figure 40) except that stop is not asserted here to cause disconnect with data, but rather the operation is
free to continue since it is allowed to complete on the source (PCI) bus before it completes on the destination
(FPGA) bus.
T0
T1
T2
T3
Tn0
Tn1
Tn2
Tn3
Tn4
Tn5
Tn6
clk
framen
ad
X
ADRS
c_ben
X
CMD
X
BE0
X
D0
BE0
D1
D2
BE1
D3
BE2
X
BE3
irdyn
devseln
trdyn
stopn
5-8861(F).a
Figure 47. Target Read Memory Burst, No Delayed (PCI Bus, 32-Bit)
Lucent Technologies Inc.
Lattice Semiconductor
119
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
PCI Bus Core Detailed Description Quad Port (continued)
Table 40. Quad-Port Target Read
tstatecntr
Next
State of
tstatecntr
Description
0
0
0
1 or 4
Idle
Address[31:0]
1
4
5
4
5 or 0
4 or 0
Bus
1
0
1
0
1
1
1
1
1
1
0
0
1*
0
1
1
1
0
0
1
1
0†
0
1
1
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
—
datatofpgax[7:0]
datatofpga[63:0]
Address[63:32] datatofpga[63:0]
Data[31:0]
datafmfpga[31:0]
Data[63:32]
datafmfpga[31:0]
treqn taenn trdataenn twlastcycn trlastcycn
* treqn is deasserted high on the last data DWORD.
† twlastcycn is asserted low on the last data DWORD.
120
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Configuration Space of the PCI Core
The following section describes the configuration space of the PCI core. This includes the layout and organization
as called out in the PCI Specification as well as details specific to the PCI core’s implementation. Note that the
term configuration has two meanings: in the FPGA context, it refers to the programming of the FPGA’s SRAM to
define its functionality, and in the PCI context, it refers to the process of initializing the personality of the PCI agent
residing at a specific location or card slot via a data space that is physically addressed. The PCI’s configuration
space is being discussed here.
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
PCI Bus Configuration Space Organization
Table 41 shows the layout of the PCI core’s configuration space. The header type is 00 hex (non-PCI-to-PCI
bridge). All required and many optional features are implemented. Note that the defined space extends beyond 3F
hex, and includes provisions for hot swap and FPGA configuration via the PCI bus. Table 42 further details the content and function of each register in the PCI configuration space.
Table 41. Configuration Space Layout
31
16 15
Device ID
Status
0
Vendor ID
Command
Class Code
Header Type
Latency Timer
Base Address Registers
BIST
Revision ID
Cache Line Size
Cardbus CIS Pointer
Subsystem ID
Max_Lat
Reserved
Subsystem Vendor ID
Expansion ROM Base Address
Reserved
Cap_Ptr
Min_Gnt
Interrupt Pin
Interrupt Line
Reserved
FPGA Configuration Command-Status Register
FPGA Configuration Data Register
Scratch Register
Reserved
HS_CSR
Next Item
Capability ID
Reserved
Lucent Technologies Inc.
Lattice Semiconductor
00h
04h
08h
0Ch
10h
14h
18h
1Ch
20h
24h
28h
2Ch
30h
34h
3Ch
40h
44h
48c
40c
48h
54h
thru
FFh
121
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
Configuration Space of the PCI Core (continued)
Table 42. Configuration Space Assignment
Bytes
Width
Bit
00—01
02—03
04—05
16
16
16
—
—
Vendor ID
Device ID
Command:
Enable I/O Space
Enable Memory Space
Enable Bus Master
Enable Special Cycle
Enable Mem Wr & Inv
Enable VGA Palette Snoop
Enable Par Err Response
Enable Stepping
Enable SERRn
Enable Fast Back-to-Back
Reserved
Status:
Reserved
66 MHz Capable
UDF Supported
Fast Back-to-Back
Data PERRn Detected
devseln Timing
Target Abort Signaled
Target Abort Received
Master Abort Received
System Error Signaled
Parity Error Detected
Revision ID
Class Code
Cache Line Size
Latency Timer:
Programmable Portion
Granularity = 8 clks
Header Type
BIST
BAR
Cardbus CIS Pointer
Subsystem Vendor ID
Subsystem ID
Expansion ROM Base Address
(Capabilities Pointer)
(Reserved)
(Reserved)
Read/Write
Initial Value
Read Only
Read Only
11C1h (Lattice)
5401h (OR3LP26B)
Read/Write
Read/Write
Read/Write
Read Only
Read/Write
Read Only
Read/Write
Read Only
Read/Write
Read/Write
Read Only
0
0
*
0
0
0
0
0
0
0
zeros
Read Only
Read Only
Read Only
Read Only
zeros
1
0
1
0
01b (medium)
0
0
0
0
0
*
*
zeros
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
0
1
2
3
4
5
6
7
8
9
15—10
Description
06—07
08
09—0B
0C
0D
0E
0F
10—27
28—2B
2C—2D
2E—2F
30—33
34
35—37
38—3B
16
8
24
8
8
8
8
192
32
16
16
32
8
24
32
4—0
5
6
7
8
10—9
11
12
13
14
15
—
—
—
7—3
2—0
—
—
—
—
—
—
—
—
—
—
†
Read Only
†
†
†
†
†‡
Read Only
Read Only
Read Only
Read/Write
Read Only
Read Only
Read Only
§
Read Only
Read Only
Read Only
Read Only
—
Read Only
Read Only
zeros
zeros
00h
zeros
*
zeros
zeros
*
zeros
50h
zeros
zeros
* These values are intended to be custom assigned, per the intended application, by assigning constants via the FPGA configuration bit stream.
† These exhibit special behavior per the PCI Specification:
— Reads behave normally.
— Writing a 1 clears the bit to zero.
— Writing a 0 has no effect on the bit.
‡ This bit is set when the device detects any type of parity error from its own master or target.
§ Bytes 10—27 hex contain the base address registers (BARs).
— Any legal combination of memory and I/O BARs is permitted, as long as 64-bit BARs are naturally aligned, that is, they occupy bytes
10—17, 18—1F, or 20—27 hex.
— Memory BARs may be marked as prefetchable/nonprefetchable by setting/resetting bit 3; however, the PCI core’s behavior is not affected
by this setting. In particular, the Target read operation may discard unused FIFO read-ahead data even though the data space is marked
as nonprefetchable (this is not a violation, since the nonprefetchable bit only says that data can’t be discarded once it has been sent over
the PCI bus; nevertheless, caution must be exercised when this bit is reset).
122
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Configuration Space of the PCI Core (continued)
Table 42. Configuration Space Assignment (continued)
Bytes
Width
Bit
3C
3D
3E
3F
40—41
9
8
8
8
16
—
—
—
—
Interrupt Line
Interrupt Pin
Min_Gnt
Max_Lat
FPGA Config. Command-Status Register:
Gsr
PCI Core Global Set/Reset
ConfigFPGA Enable FPGA Config.
RdCfgN
Enable Readback
PrgmN
Reset FPGA Config. Logic
FastSlowN
Fast/Slow Config. Clock
BitErr_1
Error Signal from FPGA
BitErr_0
Error Signal from FPGA
CfgBusy
Cfg Not In Idle State
RdBkNext
Readback Handshake
PciRegVld
Configuration Handshake
SRFull
Shift Reg Full
SREmpty
Shift Reg Empty
HndShkErr
Handshake Error
InitN
FPGA’s INITN
Done
FPGA’s DONE
Mode
PCI Core Mode
(Reserved)
FPGA Config. Data Register
Scratch Register
Reserved for Manufacturing Testing
Capability ID
Next Item
Hot Swap Control Status Register:
INS
ENUMn Status - Insertion
EXT
ENUMn Status - Extraction
Reserved
Reserved
LOO
Reserved
EIM
ENUMn Signal Mark
Reserved
Read/Write
Initial Value
Read/Write
Read Only
Read Only
Read Only
zeros
01h (INTAn)
*
*
Read/Write
Read/Write
Read/Write
Read/Write
Read/Write
Read Only
Read Only
Read Only
Read Only
Read Only
Read Only
Read Only
Read/Write
Read Only
Read Only
Read Only
Read Only
Read/Write
Read/Write
0
0
1
1
0
0
0
0
0
0
0
0
0
**
**
0
zeros
zeros
zeros
Footnote 7
06h (Hot Plug)
00h (Last item)
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
Description
42—43
44—47
48-4B
4C
50
51
52
16
32
32
32
8
8
7
6
5
4
3
2
1
0
††
Read Only
Read Only
‡‡
‡‡
Read Only
Read Only
Read/Write
Read Only
Read/Write
Read Only
1
0
0
0
0
0
0
0
* These values are intended to be custom assigned, per the intended application, by assigning constants via the FPGA configuration bit
stream.
† These exhibit special behavior per the PCI Specification:
— Reads behave normally.
— Writing a 1 clears the bit to zero.
— Writing a 0 has no effect on the bit.
‡ This bit is set when the device detects any type of parity error from its own master or target.
§ Bytes 10—27 hex contain the base address registers (BARs).
— Any legal combination of memory and I/O BARs is permitted, as long as 64-bit BARs are naturally aligned, that is, they occupy bytes
10—17, 18—1F, or 20—27 hex.
— Memory BARs may be marked as prefetchable/nonprefetchable by setting/resetting bit 3; however, the PCI core’s behavior is not affected
by this setting. In particular, the Target read operation may discard unused FIFO read-ahead data even though the data space is marked
as nonprefetchable (this is not a violation, since the nonprefetchable bit only says that data can’t be discarded once it has been sent over
the PCI bus; nevertheless, caution must be exercised when this bit is reset).
** These signals are tied to the FPGA signal of the same name and are not initialized.
†† This 32-bit register is used during manufacturing test. Writes are not allowed; reads are allowed and cause no side effects, but the value
returned is undefined.
‡‡ These exhibit special behavior per the CompactPCI Hot Swap Specification:
— Reads behave normally.
— Writing a 1 clears the bit to zero.
— Writing a 0 has no effect on the bit.
Lucent Technologies Inc.
Lattice Semiconductor
123
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
FPSC Configuration
Configuration via PCI Bus
The OR3LP26B FPSC provides the designer many
configuration options. In addition to all the configuration
options provided in the standard Series 3 architecture
(except Master parallel mode) including configuration
via the microprocessor and boundary-scan (JTAG)
interfaces, the OR3LP26B PCI FPSC also allows configuration via the PCI interface. With this capability,
many configuration schemes can be implemented. For
example, a generic FPSC configuration can be loaded
via a serial configuration PROM and updated via the
PCI bus or the microprocessor interface. The FPSC
can also be reprogrammed in the field, or the configuration can be dynamically modified to perform different
tasks.
The OR3LP26B is configured using locations 40 hex
through 47 hex. These registers are dedicated to the
FPSC configuration and readback functions, as
detailed in Tables 36 and 37. The FPGA configuration
control-status register (FCCSR) is a 16-bit register at
address 40 hex—41 hex, and the FPGA configuration
data register (FCDR) is a 32-bit register at address
44 hex—47 hex.
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
The following is an example sequence which configures the FPSC via the PCI interface:
When the FPSC is configured via the PCI interface,
there is a priority issue that must be resolved. The Subsystem vendor ID and subsystem ID that reside at
2Ch—2Fh in the PCI configuration space can be
assigned during FPGA configuration, but these same
pieces of information may be needed by system software to determine which FPSC configuration bit stream
to use for each FPSC when two or more FPSCs reside
on one PCI bus. For this reason, the OR3LP26B FPSC
is designed to allow for two different configuration
schemes.
The first option is more flexible; in this scheme, the
FPSC is first configured without employing the PCI
interface (e.g., via serial PROM). The access to the
FPSC's configuration registers via the PCI interface
occurs after this first configuration completes, so that
when the subsystem vendor ID and subsystem ID are
finally read, they properly and uniquely identify the card
on which the FPSC resides. This initial configuration bit
stream is only required to provide correct subsystem
vendor ID and subsystem ID values for system software use, but it may in addition be the first version of
the FPSC's application code. The PCI system software
is then able to invoke the proper procedures that will
reconfigure the FPSC using the desired version of the
configuration bit stream.
The disadvantage of the first option is that it requires
that the FPSC be preconfigured prior to receiving the
working bit stream via the PCI interface. In a proprietary system, however, a second option may be
employed if the configuring software may already know
which bit stream to use to configure the FPSC. The
system software can simply locate the OR3LP26B by
reading the vendor ID and device ID, and then proceed
directly to FPSC configuration via the PCI bus. This
feature takes advantage of the fact that the PCI interface is functional even before the FPSC has been configured.
124
1. Read the vendor ID and device ID registers. If the
vendor ID is 11C1 hex, the vendor, or chip manufacturer, is Lattice. If, in addition, the device ID is
5401 hex, the device is a Lattice OR3LP26B PCI
FPSC; go to step 2.
2. At this point, the configuration software may do one
of two things. If this is a proprietary system and the
configuration software already knows how to configure any Lattice OR3LP26B, the software may skip
the next two steps, and the FPSC does not need to
be preconfigured. If this is a standard system, the
configuration software must perform the next two
steps to uniquely identify the application that is utilizing the OR3LP26B.
3. Read the FCCSR [1] until Done goes active-high,
signaling that the FPSC preconfiguration operation
has completed, typically via a serial configuration
PROM.
4. Read the class code, revision ID, subsystem vendor
ID, and subsystem ID registers. This information is
programmed into the FPSC by the preconfiguration
step. This information is used by the configuration
software to locate the correct FPSC configuration
bit stream and driver for the FPSC's application,
and is provided by the manufacturer of the adapter
card containing the FPSC.
5. Read the FCCSR until bit 0 goes high. If communication with the FPSC is underway via the boundaryscan hardware, this signal will remain inactive-low
until it completes.
6. Write to the FCCSR three times, first with PrgmN
high, then low, then high.
7. Write to the FCCSR with ConfigFPGA high. This will
initiate an FPSC configuration session via the PCI
interface.
8. Wait for the RAM initialization to complete by monitoring FCCSR [2]. Wait for 1.5 ms, and then send
one word of all ones. If InitN is high, continue with
real data; otherwise, repeat or declare the problem.
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
FPSC Configuration (continued)
3. Read the FCCSR until sregfull goes active-high,
indicating that a DWORD of data is available in register FCDR.
4. Read the data from the FCDR.
5. Repeat steps 3 and 4 until all readback data has
been accessed.
6. Write RdCfgN high.
7. Write ConfigFPGA high (no pulse on prgmn)
8. Write all 1s to FCDR
9. Loop on FCCSR until srempty goes high and pciregvld goes low.
10.Write CongfigFPGA low.
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
9. Write a DWORD of FPSC configuration data to
FCDR. This will set pciregvld in the FCCSR to
active-high, indicating that it holds a valid DWORD
of data. The user should always continue to monitor initn and Done.
10. Read the FCCSR until pciregvld goes inactivelow, and srempty goes high indicating that the
DWORD it contained has been transferred to the
shift register that feeds the serial configuration data
to the FPSC. The user should always continue to
monitor initn and Done.
11. Repeat steps 9 and 10 until all the configuration
data has been written. The user should always
continue to monitor initn and Done.
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
12. Read the FCCSR and verify that Done went activehigh, indicating that the configuration was successful.
13. Write configFPGA low.
Readback via PCI interface
The procedure for performing a readback via the PCI
interface is similar to the above procedure for configuring, and also similar to the standard readback procedure. The steps are outlined below:
1. Read the FCCSR until bit 0 goes high. If communication with the FPSC is underway via the boundaryscan hardware, this signal will remain inactive-low
until it completes.
2. Write to the FCCSR with rdcfgn active-low. This
enables the readback mode.
Lucent Technologies Inc.
Lattice Semiconductor
Interaction Among Configuration Modes
The basic configuration options, including configuration
via the microprocessor and boundary-scan interfaces,
are performed in a manner identical to that of ORCA
Series 3 FPGAs. FPSC configuration via the PCI interface is available at any time, either prior to or after the
FPSC has been configured and regardless of the value
to which the FPGA configuration mode pins (M2, M1,
and M0) have been strapped. In addition, a PCIdirected configuration will override any strapped configuration operation already underway, an FPGA configuration via the boundary-scan interface will override one
via the PCI interface, and the PRGM pin overrides
both.
125
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Clocking Options at FPGA/Core
Boundary
The OR3LP26B supports a wide variety of integrated
FPGA/core clocking schemes which, in conjunction
with the FIFO interfaces between the PCI bus and the
FPGA, gives the designer many flexible options.
that both the Master and Target logic and FIFOs can be
independently set to use the PCI clock or another
clock. Clocks can be fed from any I/O pad, from
express clock inputs, or from internal logic, and can be
fed via the programmable clock manager (PCM).
Internally Generated Clocks
■
There are no limitations for using 1 or 2 internally
generated clocks to connect to the fclk1 and/or fclk2
clock input pins.
External System Clocks
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
The Master and Target FIFOs are independently
clocked on the FPGA side by either fclk1 or fclk2. The
clocks used for the Master FIFO and Target FIFO interfaces to the FPGA logic are independent when the
interface is configured in quad-port mode, but they
must be tied to the same clock signal for dual-port
mode.
Data Sheet
April 2002
Figure 48 illustrates the special clock paths provided to
service the clocking needs of PCI functions. The various clocking options shown in Figure 48 are discussed
below.
Although there are many clocking options, minimum
clock skew is obtained by following the following recommendations. This section is divided into internally generated clocks, external system clocks, external express
clocks, and external corner clocks that utilize the PLLs.
Refer to the Series 3L data sheet and application notes
for a full description of all of the clocking options available for the Series 3L parts.
PCI Clock as System Clock
The clock received from the PCI interface can be
brought across the PCI core into the FPGA logic section and used as the clock for the entire FPSC, or even
as the clock for the entire board on which the FPSC
resides. It is important that this signal be available via
the PCI core since PCI rules allow for only one load per
agent on the PCI bus clock. The FPSC incorporates
special clock lines for the purpose of distributing the
PCI clock; these lines are hard-connected to the PCI
core's circuitry but can also be passed up onto the
FPGA portion's clock grid. From there, in addition to
feeding clocks to all PFUs and PIOs, this clock can also
drive the clock inputs to the FPGA side of the Master
and/or Target FIFOs, and can be made available offchip.
External system clocks are clock inputs that do not use
the three dedicated eclk input clock pins of the device.
■
Keep the clocks toward the center of a side instead
of in the corners for minimal skew across the FPGA.
■
The best skew across the FPGA/ASIC boundary is
obtained by selecting pins on the left or right side of
the die. Avoid using general I/O as clock inputs on
the top of the device.
■
Refer to the Series 3 clocking application note for
general FPGA clocking rules.
External Express Clocks
External express clocks are externally generated
clocks that enter on one of the three eclk pins of the
device.
■
The best skew across the FPGA/ASIC boundary is
obtained by selecting the eclk pin on the right side of
the device (eclkr). Avoid using the top or left side
eclk inputs.
Externally Generated Clocks Entering Through
PCM Input Pins
External PCM clocks are clocks entering and going
through the programmable clock managers.
■
When using a programmable clock manager, either
the upper right or lower left clock managers may be
used.
Clock Sourced from pciclk
■
There are no limitations for using the pciclk clock
output to connect to the fclk1 and/or fclk2 clock
input pins.
Local Clock as System Clock
The FIFO-buffered interface between the PCI logic and
the FPGA allows other clocks to be utilized in the
FPGA as well. The Master and Target interfaces each
have independent clock nets and can be connected to
the same or separate clocks. Essentially, this means
126
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Clocking Options at FPGA/Core Boundary (continued)
FPGA
PFU
PFU
PFU
PFU
PFU
PFU
PFU
PFU
PFU
PFU
PFU
PFU
PFU
PFU
PFU
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
PFU
PFU
PFU
PFU
PFU
PFU
PFU
PFU
PFU
PFU
PFU
PFU
PFU
PFU
PFU
PFU
PFU
PFU
PFU
PFU
PFU
PFU
PFU
PFU
PFU
PFU
PFU
PFU
PFU
PFU
PFU
PFU
PFU
PFU
PFU
PFU
PFU
PFU
PFU
PFU
PFU
PFU
PFU
PFU
PFU
PFU
PFU
PFU
PFU
FCLK1
PCICLK
FCLK2
PCI CORE
BUS MUX
NETWORK
BUS MUX
NETWORK
TARGET
READ
FIFO
TARGET
WRITE
FIFO
MASTER
WRITE
FIFO
MASTER
READ
FIFO
PCI BUS
INTERFACE
LOGIC
PCI CLOCK
5-7553(F)
Figure 48. FPSC Block Diagram and Clock Network
Lucent Technologies Inc.
Lattice Semiconductor
127
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
FPGA Configuration Data Format
FPGA Configuration Data Frame
The ORCA Foundry development system interfaces
with front-end design entry tools and provides tools to
produce a fully configured FPSC. This section discusses using the ORCA Foundry development system
to generate configuration RAM data and then provides
the details of the configuration frame format.
Configuration data can be presented to the FPSC in
two frame formats: autoincrement and explicit. A
detailed description of the frame formats is shown in
Figure 49, Figure 50, and Table 43. The two modes are
similar except that autoincrement mode uses assumed
address incrementation to reduce the bit stream size,
and explicit mode requires an address for each data
frame. In both cases, the header frame begins with a
series of 1s and a preamble of 0010, followed by a
24-bit length count field representing the total number
of configuration clocks needed to complete the loading
of the FPSC.
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Using ORCA Foundry to Generate
Configuration RAM Data
The configuration data bit stream defines the PCI
embedded core configuration, the FPGA logic functionality, and the I/O configuration and interconnection. The
data bit stream is generated by the ORCA Foundry
development tools. The bit stream created by the bit
stream generation tool is a series of 1s and 0s used to
write the FPSC configuration RAM. It can be loaded
into the FPSC using one of the configuration modes
discussed elsewhere in this data sheet.
For FPSCs, the bit stream is prepared in two separate
steps in the design flow. The configuration options of
the embedded core are specified using ORCA
OR3LP26B Design Kit Software at the beginning of the
design process. This offers the designer a specific configuration to simulate and design the FPGA logic to.
Upon completion of the design, the bit stream generator combines the embedded core options and the
FPGA configuration into a single bit stream for download into the FPSC.
The mandatory ID frame contains data used to determine if the bit stream is being loaded to the correct type
of ORCA device (i.e., a bit stream generated for an
OR3LP26B is being sent to an OR3LP26B). Error
checking is always enabled for Series 3+ devices,
through the use of an 8-bit checksum. One bit in the ID
frame also selects between the autoincrement and
explicit address modes for this load of the configuration
data.
A configuration data frame follows the ID frame. A data
frame starts with a one-start bit pair and ends with
enough one-stop bits to reach a byte boundary. If using
autoincrement configuration mode, subsequent data
frames can follow. If using explicit mode, one or more
address frames must follow each data frame, telling the
FPSC at what addresses the preceding data frame is
to be stored (each data frame can be sent to multiple
addresses).
Following all data and address frames is the postamble. The format of the postamble is the same as an
address frame with the highest possible address value
with the checksum set to all ones.
128
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
FPGA Configuration Data Format (continued)
CONFIGURATION DATA
CONFIGURATION DATA
0 0 1 0
0 1
PREAMBLE LENGTH
COUNT
ID FRAME
0 0
0 1
CONFIGURATION
DATA FRAME 1
CONFIGURATION
DATA FRAME 2
POSTAMBLE
5-5759(F)
CONFIGURATION HEADER
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Figure 49. Serial Configuration Data Format—Autoincrement Mode
CONFIGURATION DATA
0 0 1 0
PREAMBLE LENGTH
COUNT
0 1
ID FRAME
CONFIGURATION DATA
0 0
CONFIGURATION
DATA FRAME 1
0 1
ADDRESS
FRAME 1
0 0
CONFIGURATION
DATA FRAME 2
ADDRESS
FRAME 2
0 0
POSTAMBLE
5-5760(F)
CONFIGURATION HEADER
Figure 50. Serial Configuration Data Format—Explicit Mode
Table 43. Configuration Frame Format and Contents
Header
ID Frame
Configuration
Data
Frame
(repeated for each
data frame)
Configuration
Address
Frame
Postamble
11110010
24-bit Length Count
11111111
0101 1111 1111 1111
Configuration Mode
Reserved [41:0]
ID
Checksum
11111111
01
Data Bits
Alignment Bits = 0
Checksum
11111111
00
14 Address Bits
Checksum
11111111
00
11111111 111111
1111111111111111
Preamble.
Configuration frame length.
Trailing header—8 bits.
ID frame header.
00 = autoincrement, 01 = explicit.
Reserved bits set to 0.
20-bit part ID.
8-bit checksum.
Eight stop bits (high) to separate frames.
Data frame header.
Number of data bits depends upon device.
String of 0 bits added to bit stream to make frame header, plus
data bits reach a byte boundary.
8-bit checksum.
Eight stop bits (high) to separate frames.
Address frame header.
14-bit address of location to start data storage.
8-bit checksum.
Eight stop bits (high) to separate frames.
Postamble header.
Dummy address.
16 stop bits.
Note: For slave parallel mode, the byte containing the preamble must be 11110010. The number of leading header dummy bits must
be (n * 8) + 4, where n is any nonnegative integer and the number of trailing dummy bits must be (n * 8), where n is any positive
integer. The number of stop bits/frame for slave parallel mode must be (x * 8), where x is a positive integer. Note also that the bit
stream generator tool supplies a bit stream that is compatible with all configuration modes, including slave parallel mode.
Lucent Technologies Inc.
Lattice Semiconductor
129
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
FPGA Configuration Data Format
(continued)
The length and number of data frames and information
on the PROM size for the OR3LP26B is given in Table
44.
Data Sheet
April 2002
If using either of the MPI modes or the PCI embedded
core to configure the FPSC, the specific type of bit
stream error is written to one of the MPI registers or a
PCI register, respectively, by the FPGA configuration
logic. The PGRM bit of the MPI control register or the
PCI embedded core can also be used to reset out of
the error condition and restart configuration.
Table 44. Configuration Frame Size
Devices
OR3LP26B
1880
Data Bits/Frame
292
There are eight methods for configuring the FPSC. Six
of the configuration modes are selected on the M0, M1,
and M2 input and are shown in Table 45. The seventh
mode is PCI bus configuration as previously discussed
and the eighth configuration mode is accessed through
the boundary-scan interface. A fourth input, M3, is
used to select the frequency of the internal oscillator,
which is the source for CCLK in some configuration
modes. The nominal frequencies of the internal oscillator are 1.25 MHz and 10 MHz. The 1.25 MHz frequency
is selected when the M3 input is unconnected or driven
to a high state.
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
n of Frames
FPGA Configuration Modes
Configuration Data (# of frames • # of
data bits/frame)
Maximum Total # Bits/Frame (align
bits, 01 frame start, 8-bit checksum,
eight stop bits)
548,960
312
Maximum Configuration Data
(# bits/frame • # of frames)
586,560
Maximum PROM Size (bits)
(add configuration header and postamble)
586,728
Bit Stream Error Checking
There are three different types of bit stream error
checking performed in the ORCA Series 3+ FPSCs:
ID frame, frame alignment, and CRC checking.
The ID data frame is sent to a dedicated location in the
FPSC. This ID frame contains a unique code for the
device for which it was generated. This device code is
compared to the internal code of the FPSC. Any differences are flagged as an ID error. This frame is automatically created by the bit stream generation program
in ORCA Foundry.
Each data and address frame in the FPSC begins with
a frame start pair of bits and ends with eight stop bits
set to 1. If any of the previous stop bits were a 0 when a
frame start pair is encountered, it is flagged as a frame
alignment error.
Error checking is also done on the FPSC for each
frame by means of a checksum byte. If an error is
found on evaluation of the checksum byte, then a
checksum/parity error is flagged.
Note that the Master parallel mode of configuration that
is available in the ORCA Series 3 FPGAs is not available in the OR3LP26B. This is due to the use of Master
parallel configuration pins for the PCI bus interface.
More information on the general FPGA modes of configuration can be found in the ORCA Series 3 data
sheet.
Table 45. Configuration Modes
M2 M1 M0
CCLK
0
0
0
0
0
1
0
1
0
Output
Input
Output
0
1
1
Output
1
1
1
1
0
0
1
1
0
1
0
1
Output
Input
Configuration
Mode
Master Serial
Slave Parallel
Microprocessor:
Motorola* PowerPC
Microprocessor:
Intel † i960
Reserved
Async Peripheral
Reserved
Slave Serial
Data
Serial
Parallel
Parallel
Parallel
Parallel
Serial
* Motorola is a registered trademark of Motorola, Inc.
† Intel is a registered trademark of Intel Corporation.
When any of the three possible errors occur, the FPSC
is forced into an idle state, forcing INIT low. The FPSC
will remain in this state until either the RESET or PRGM
pins are asserted.
130
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Powerup Sequencing for Series OR3LP26B Device
ORCA Series OR3LP26B device use two power supplies: one to power the device I/Os and the ASIC core (VDD)
which is set to 3.3 V for 3.3 V operation and 5 V tolerance, and another supply for the internal FPGA logic (VDD2)
which is set to 2.5 V. It is understood that many users will derive the 2.5 V core logic supply from a 3.3 V power supply, so the following recommendations are made as to the powerup sequence of the supplies and allowable delays
between power supplies reaching stable voltages.
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
In general, both the 3.3 V and the 2.5 V supplies should ramp-up and become stable as close together in time as
possible. There is no delay requirement if the VDD2 (2.5 V) supply becomes stable prior to the VDD (3.3 V) supply.
There is a delay requirement imposed if the VDD supply becomes stable prior to the VDD2 supply.
The requirement is that the VDD2 (2.5 V) supply transition from 0 V to 2.3 V within 15.7 ms if the VDD (3.3 V) supply
is already stable at a minimum of 3.0 V. If the VDD supply has not yet reached 3.0 V when the VDD2 supply has
reached 2.3 V, then the requirement is that the VDD2 supply reach a minimum of 2.3 V within 15.7 ms of when the
VDD supply reaches 3.0 V.
If the chosen power supplies cannot meet this delay requirement, it is always possible to hold-off configuration of
the FPGA by asserting INIT or PRGM until the VDD2 supply has reached 2.3 V. This process eliminates any power
supply sequencing issues.
Absolute Maximum Ratings
Stresses in excess of the absolute maximum ratings can cause permanent damage to the device. These are absolute stress ratings only. Functional operation of the device is not implied at these or any other conditions in excess
of those given in the operations sections of this data sheet. Exposure to absolute maximum ratings for extended
periods can adversely affect device reliability.
The ORCA Series 3+ FPSCs include circuitry designed to protect the chips from damaging substrate injection currents and to prevent accumulations of static charge. Nevertheless, conventional precautions should be observed
during storage, handling, and use to avoid exposure to excessive electrical stress.
Table 46. Absolute Maximum Ratings
Parameter
Symbol
Min
Max
Unit
Storage Temperature
Tstg
–65
150
°C
I/O and ASIC Supply Voltage with Respect to
Ground
VDD
—
≤4.2
V
Internal FPGA Supply Voltage with Respect
to Ground
VDD2
—
≤3.2
V
Input Signal with Respect to Ground
CMOS Inputs
5 V Tolerant Inputs
—
—
–0.5
–0.5
VDD + 0.3
5.8
V
V
Signal Applied to High-impedance Output
—
–0.5
VDD + 0.3
V
Note: For PCI bus signals used for 5 V signaling and FPGA inputs used as 5 V tolerant, the maximum value is 5.8 V.
Lucent Technologies Inc.
Lattice Semiconductor
131
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
Recommended Operating Conditions
Table 47. Recommended Operating Conditions
OR3LP26B
Mode
Commercial
Temperature Range
(Ambient)
I/O
Supply Voltage
(VDD)
Internal Supply Voltage
(VDD2)
0 °C to 70 °C
3.0 V to 3.6 V
2.38 V to 2.63 V
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Note: The maximum recommended junction temperature (TJ) during operation is 125 °C.
132
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Electrical Characteristics
Table 48. Electrical Characteristics
OR3LP26B Commercial: VDD = 3.0 V to 3.6 V, VDD2 = 2.38 V to 2.63 V, 0 °C < TA < 70 °C.
Parameter
VIH
VIL
Test Conditions
Input configured as CMOS
(clamped to VDD)
OR3LP26B
Min
Max
50% VDD
GND – 0.5
VDD + 0.3
30% VDD
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Input Voltage:
High
Low
Symbol
Input Voltage:
High
Low
VIH
VIL
Output Voltage:
High
Low
VOH
VOL
Input configured as TTL
(5 V tolerant)
Unit
V
V
50% VDD
GND – 0.5
5.8 V
30% VDD
V
V
VDD = min, IOH = 6 mA or 3 mA
VDD = min, IOL = 12 mA or 6 mA
2.4
—
—
0.4
V
V
IL
VDD = max, VIN = VSS or VDD
–10
10
µA
Standby Current
IDDSB
(TA = 25 °C, VDD = 3.3 V, VDD2 = 2.5 V)
internal oscillator running, no output loads,
inputs at VDD or GND
(after configuration)
—
TBD
mA
Standby Current
IDDSB
(TA = 25 °C, VDD = 3.3 V, VDD2 = 2.5 V)
internal oscillator stopped, no output loads,
inputs at VDD or GND
(after configuration)
—
TBD
mA
Data Retention Voltage
VDR
TA = 25 °C
TBD
—
V
Powerup Current
IPP
TBD
—
mA
Input Capacitance
CIN
TA = 25 °C,
VDD = 3.3 V, VDD2 = 2.5 V
Test frequency = 1 MHz
—
8
pF
COUT
TA = 25 °C,
VDD = 3.3 V, VDD2 = 2.5 V
Test frequency = 1 MHz
—
8
pF
DONE Pull-up Resistor*
RDONE
—
100
—
kΩ
M[3:0] Pull-up Resistors*
RM
—
100
—
kΩ
I/O Pad Static Pull-up
Current*
IPU
VDD = 3.6 V,
VIN = VSS, TA = 0 °C
14.4
50.9
µA
I/O Pad Static
Pull-down Current
IPD
VDD = 3.6 V,
VIN = VSS, TA = 0 °C
26
103
µA
I/O Pad Pull-up Resistor*
RPU
VDD = all, VIN = VSS, TA = 0 °C
100
—
kΩ
I/O Pad Pull-down
Resistor
RPD
VDD = all, VIN = VDD, TA = 0 °C
50
—
kΩ
Input Leakage Current
Output Capacitance
Power supply current at approximately
1 V, within a recommended power supply
ramp rate of 1 ms—200 ms
* On the Series 3 devices, the pull-up resistor will externally pull the pin to a level 1.0 V below VDD.
Lucent Technologies Inc.
Lattice Semiconductor
133
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
Timing Characteristics
Description
Power Supply Voltage
TJ
(°C)
3.0 V
3.3 V
3.6 V
–40
0
25
85
100
125
0.82
0.91
0.98
1.00
1.23
1.34
0.72
0.80
0.85
0.99
1.07
1.15
0.66
0.72
0.77
0.90
0.94
1.01
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
The most accurate timing characteristics are reported
by the timing analyzer in the ORCA Foundry Development System. A timing report provided by the development system after layout divides path delays into logic
and routing delays. The timing analyzer can also provide logic delays prior to layout. While this allows routing budget estimates, there is wide variance in routing
delays associated with different layouts.
Supply VDD)
The logic timing parameters noted in the Electrical
Characteristics section of this data sheet are the same
as those in the design tools. In the PFU timing, symbol
names are generally a concatenation of the PFU operating mode and the parameter type. The setup, hold,
and propagation delay parameters, defined below, are
designated in the symbol name by the SET, HLD, and
DEL characters, respectively.
The values given for the parameters are the same as
those used during production testing and speed binning of the devices. The junction temperature and supply voltage used to characterize the devices are listed
in the delay tables. Actual delays at nominal temperature and voltage for best-case processes can be much
better than the values given.
It should be noted that the junction temperature used in
the tables is generally 85 °C. The junction temperature
for the FPGA depends on the power dissipated by the
device, the package thermal characteristics (ΘJA), and
the ambient temperature, as calculated in the following
equation and as discussed further in the Package
Thermal Characteristics Summary section:
Table 50. Derating for Commercial Devices (I/O
Supply VDD2)
Power Supply Voltage
TJ
(°C)
2.38 V
2.5 V
2.63 V
–40
0
25
85
100
125
0.86
0.94
0.99
1.00
1.23
1.33
0.71
0.79
0.84
0.99
1.05
1.13
0.67
0.73
0.77
0.92
0.96
1.03
Note: The derating tables shown above are for a typical critical path
that contains 33% logic delay and 66% routing delay. Since the
routing delay derates at a higher rate than the logic delay,
paths with more than 66% routing delay will derate at a higher
rate than shown in the table. The approximate derating values
vs. temperature are 0.26% per °C for logic delay and 0.45%
per °C for routing delay. The approximate derating values vs.
voltage are 0.13% per mV for both logic and routing delays at
25 °C.
TJmax = TAmax + (P • ΘJA) °C
Note: The user must determine this junction temperature to see if the delays from ORCA Foundry
should be derated based on the following derating tables.
Table 49 and Table 50 provide approximate power supply and junction temperature derating for OR3LP26B
commercial devices. The delay values in this data
sheet and reported by ORCA Foundry are shown as
1.00 in the tables. The method for determining the maximum junction temperature is defined in the Package
Thermal Characteristics section. Taken cumulatively,
the range of parameter values for best-case vs. worstcase processing, supply voltage, and junction temperature can approach three to one.
Table 49. Derating for Commercial Devices (I/O
134
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Timing Characteristics (continued)
In addition to supply voltage, process variation, and operating temperature, circuit and process improvements of
the ORCA Series FPGAs over time will result in significant improvement of the actual performance over those
listed for a speed grade. Even though lower speed grades may still be available, the distribution of yield to timing
parameters may be several speed grades higher than that designated on a product brand. Design practices need
to consider best-case timing parameters (e.g., delays = 0), as well as worst-case timing.
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
The routing delays are a function of fan-out and the capacitance associated with the CIPs and metal interconnect
in the path. The number of logic elements that can be driven (fan-out) by PFUs is unlimited, although the delay to
reach a valid logic level can exceed timing requirements. It is difficult to make accurate routing delay estimates
prior to design compilation based on fan-out. This is because the CAE software may delete redundant logic
inserted by the designer to reduce fan-out, and/or it may also automatically reduce fan-out by net splitting.
The waveform test points are given in the Input/Output Buffer Measurement Conditions section of this data sheet.
The timing parameters given in the electrical characteristics tables in this data sheet follow industry practices, and
the values they reflect are described below.
Propagation Delay—The time between the specified reference points. The delays provided are the worst case of
the tphh and tpll delays for noninverting functions, tplh and tphl for inverting functions, and tphz and tplz for 3-state
enable.
Setup Time—The interval immediately preceding the transition of a clock or latch enable signal, during which the
data must be stable to ensure it is recognized as the intended value.
Hold Time—The interval immediately following the transition of a clock or latch enable signal, during which the
data must be held stable to ensure it is recognized as the intended value.
3-State Enable—The time from when a 3-state control signal becomes active and the output pad reaches the
high-impedance state.
Clock Timing
Table 51. ExpressCLK (ECLK) and Fast Clock (fclk) Timing Characteristics
OR3LP26B Commercial: VDD = 3.0 V to 3.6 V, 0 °C < TA < 70 °C; VDD2 = 2.38 V to 2.63 V, 0 °C < TA < 70 °C.
Device
(TJ = 85 °C, VDD = min)
ECLK Delay (middle pad)
ECLK Delay (corner pad)
fclk Delay (middle pad)
fclk Delay (corner pad)
Symbol
Min
Max
Unit
eclkm_del
eclkc_del
fclkm_del
fclkc_del
—
—
—
—
1.99
4.20
5.24
7.46
ns
ns
ns
ns
Notes:
The ECLK delays are to all of the PICs on one side of the device for middle pin input, or two sides of the device for corner pin input. The delay
includes both the input buffer delay and the clock routing to the PIC clock input.
The fclk delays are for a fully routed clock tree that uses the ExpressCLK input into the fast clock network. It includes both the input buffer delay
and the clock routing to the PFU CLK input. The delay will be reduced if any of the clock branches are not used.
Lucent Technologies Inc.
Lattice Semiconductor
135
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
Timing Characteristics (continued)
Table 52. General-Purpose Clock Timing Characteristics (Internally Generated Clock)
OR3LP26B Commercial: VDD = 3.0 V to 3.6 V, 0 °C < TA < 70 °C; VDD2 = 2.38 V to 2.63 V, 0 °C < TA < 70 °C.
Symbol
clk_del
Device (TJ = 85 °C, VDD = min)
OR3LP26B
Min
—
Max
3.95
Unit
ns
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Notes:
This table represents the delay for an internally generated clock from the clock tree input in one of the four middle PICs (using pSW routing) on
any side of the device which is then distributed to the PFU/PIO clock inputs. If the clock tree input used is located at any other PIC, see the
results reported by ORCA Foundry.
This clock delay is for a fully routed clock tree that uses the general clock network. The delay will be reduced if any of the clock branches are not
used. See pin-to-pin timing in Table 55 for clock delays of clocks input on general I/O pins.
Table 53. OR3LP26B ExpressCLK to Output Delay (Pin-to-Pin)
OR3LP26B Commercial: VDD = 3.0 V to 3.6 V, 0 °C < TA < 70 °C; VDD2 = 2.38 V to 2.63 V, 0 °C < TA < 70 °C.
Description
(TJ = 85 °C, VDD = min)
ECLK Middle Input Pin→OUTPUT Pin (Fast)
Min
Max
Unit
—
5.82
ns
ECLK Middle Input Pin→OUTPUT Pin (Slewlim)
—
6.61
ns
ECLK Middle Input Pin→OUTPUT Pin (Sinklim)
—
11.05
ns
Additional Delay if ECLK Corner Pin Used
—
2.2
ns
Notes:
Timing is without the use of the programmable clock manager (PCM).
This clock delay is for a fully routed clock tree that uses the ExpressCLK network. It includes both the input buffer delay, the clock routing to the
PIO CLK input, the clock→Q of the FF, and the delay through the output buffer. The given timing requires that the input clock pin be located at
one of the six ExpressCLK inputs of the device, and that a PIO FF be used.
PIO FF
D
Q
OUTPUT (50 pF LOAD)
CLKCNTRL
ECLK
ECLK
5-4846(F).a
Figure 51. ExpressCLK to Output Delay
136
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Timing Characteristics (continued)
Table 54. OR3LP26B Fast Clock (fclk) to Output Delay (Pin-to-Pin)
OR3LP26B Commercial: VDD = 3.0 V to 3.6 V, 0 °C < TA < 70 °C; VDD2 = 2.38 V to 2.63 V, 0 °C < TA < 70 °C.
Description
Min
Max
Unit
(TJ = 85 °C, VDD = min)
Output Not on Same Side of Device As Input Clock (Fast Clock Delays Using ExpressCLK Inputs)
—
9.06
ns
ECLK Middle Input Pin →OUTPUT Pin (Slewlim)
—
9.86
ns
ECLK Middle Input Pin →OUTPUT Pin (Sinklim)
—
14.3
ns
Additional Delay if ECLK Corner Pin Used
—
2.2
ns
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
ECLK Middle Input Pin →OUTPUT Pin (Fast)
Notes:
Timing is without the use of the programmable clock manager (PCM).
This clock delay is for a fully routed clock tree that uses the primary clock network. It includes both the input buffer delay, the clock routing to the
PIO CLK input, the clock→Q of the FF, and the delay through the output buffer. The delay will be reduced if any of the clock branches are not
used. The given timing requires that the input clock pin be located at one of the six ExpressCLK inputs of the device and that a PIO FF be used.
PIO FF
D
Q
OUTPUT (50 pF LOAD)
CLKCNTRL
ECLK
fclk
5-4846(F).b
Figure 52. Fast Clock to Output Delay
Lucent Technologies Inc.
Lattice Semiconductor
137
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
Timing Characteristics (continued)
Table 55. OR3LP26B General System Clock (SCLK) to Output Delay (Pin-to-Pin)
OR3LP26B Commercial: VDD = 3.0 V to 3.6 V, 0 °C < TA < 70 °C; VDD2 = 2.38 V to 2.63 V, 0 °C < TA < 70 °C.
Description
(TJ = 85 °C, VDD = min)
Min
Max
Unit
Output On Same Side of Device As Input Clock (System Clock Delays Using General User I/O Inputs)
—
9.86
ns
Clock Input Pin (mid-PIC) →OUTPUT Pin (Slewlim)
—
10.66
ns
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Clock Input Pin (mid-PIC) →OUTPUT Pin (Fast)
Clock Input Pin (mid-PIC) →OUTPUT Pin (Sinklim)
—
15.10
ns
Additional Delay if Non-mid-PIC Used as Clock Pin
—
0.83
ns
Output Not on Same Side of Device As Input Clock (System Clock Delays Using General User I/O Inputs)
Additional Delay if Output Not on Same Side as Input Clock Pin
—
0.83
ns
Note: This clock delay is for a fully routed clock tree that uses the primary clock network. It includes both the input buffer delay, the clock routing
to the PIO CLK input, the clock→Q of the FF, and the delay through the output buffer. The delay will be reduced if any of the clock
branches are not used. The given timing requires that the input clock pin be located at one of the four center PICs on any side of the
device and that a PIO FF be used. For clock pins located at any other PIO, see the results reported by ORCA Foundry.
PIO FF
D
Q
OUTPUT (50 pF LOAD)
SCLK
5-4846(F)
Figure 53. System Clock to Output Delay
138
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Timing Characteristics (continued)
Table 56. OR3LP26B Input to ExpressCLK (ECLK) Fast-Capture Setup/Hold Time (Pin-to-Pin)
OR3LP26B Commercial: VDD = 3.0 V to 3.6 V, 0 °C < TA < 70 °C; VDD2 = 2.38 V to 2.63 V, 0 °C < TA < 70 °C.
Description
(TJ = 85 °C, VDD = min)
Max
Unit
Input to ECLK Setup Time (middle ECLK pin)
0.97
—
ns
Input to ECLK Setup Time (middle ECLK pin, delayed data input)
9.98
—
ns
Input to ECLK Setup Time (corner ECLK pin)
0.0
—
ns
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Min
Input to ECLK Setup Time (corner ECLK pin, delayed data input)
8.11
—
ns
Input to ECLK Hold Time (middle ECLK pin)
0.0
—
ns
Input to ECLK Hold Time (middle ECLK pin, delayed data input)
0.0
—
ns
Input to ECLK Hold Time (corner ECLK pin)
0.0
—
ns
Input to ECLK Hold Time (corner ECLK pin, delayed data input)
0.0
—
ns
Notes:
The pin-to-pin timing parameters in this table should be used instead of results reported by ORCA Foundry.
The ECLK delays are to all of the PIOs on one side of the device for middle pin input, or two sides of the device for corner pin input. The delay
includes both the input buffer delay and the clock routing to the PIO clock input.
PIO ECLK LATCH
INPUT
D
Q
CLKCNTRL
CLK
ECLK
5-4847(F).b
Figure 54. Input to ExpressCLK Setup/Hold Time
Lucent Technologies Inc.
Lattice Semiconductor
139
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
Timing Characteristics (continued)
Table 57. OR3LP26B Input to Fast Clock Setup/Hold Time (Pin-to-Pin)
OR3LP26B Commercial: VDD = 3.0 V to 3.6 V, 0 °C < TA < 70 °C; VDD2 = 2.38 V to 2.63 V, 0 °C < TA < 70 °C.
Description
(TJ = 85 °C, VDD = min)
Min
Max
Unit
Output Not on Same Side of Device As Input Clock (Fast Clock Delays Using ExpressCLK Inputs)
ns
Input to fclk Setup Time (middle ECLK pin)
0.0
—
ns
Input to fclk Setup Time (middle ECLK pin, delayed data input)
5.58
—
0.0
—
ns
Input to fclk Setup Time (corner ECLK pin, delayed data input)
3.77
—
ns
Input to fclk Hold Time (middle ECLK pin)
4.62
—
ns
Input to fclk Hold Time (middle ECLK pin, delayed data input)
0.0
—
ns
Input to fclk Hold Time (corner ECLK pin)
6.54
—
ns
Input to fclk Hold Time (corner ECLK pin, delayed data input)
0.0
—
ns
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Input to fclk Setup Time (corner ECLK pin)
Notes:
The pin-to-pin timing parameters in this table should be used instead of results reported by ORCA Foundry.
The fclk delays are for a fully routed clock tree that uses the ExpressCLK input into the fast clock network. It includes both the input buffer delay
and the clock routing to the PFU CLK input. The delay will be reduced if any of the clock branches are not used.
PIO FF
INPUT
D
Q
CLKCNTRL
ECLK
fclk
5-4847(F).a
Figure 55. Input to Fast Clock Setup/Hold Time
140
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Timing Characteristics (continued)
Table 58. OR3LP26B Input to General System Clock (SCLK) Setup/Hold Time (Pin-to-Pin)
OR3LP26B Commercial: VDD = 3.0 V to 3.6 V, 0 °C < TA < 70 °C; VDD2 = 2.38 V to 2.63 V, 0 °C < TA < 70 °C.
Min
Max
0.0
—
Unit
ns
Input to SCLK Setup Time (delayed data input)
5.02
—
ns
Input to SCLK Hold Time
5.47
—
ns
Input to SCLK Hold Time (delayed data input)
Additional Hold Time if Non-mid-PIC Used as SCLK Pin (no
delay on data input)
0.0
—
ns
0.83
—
ns
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Description (TJ = 85 °C, VDD = min)
Input to SCLK Setup Time
Notes:
The pin-to-pin timing parameters in this table should be used instead of results reported by ORCA Foundry.
This clock delay is for a fully routed clock tree that uses the clock network. It includes both the input buffer delay and the clock routing to the PIO
FF CLK input. The delay will be reduced if any of the clock branches are not used. The given setup (delayed and no delay) and hold (delayed)
timing allows the input clock pin to be located in any PIO on any side of the device, but a PIO FF must be used. The hold (no delay) timing
assumes the clock pin is located at one of the four middle PICs on any side of the device and that a PIO FF is used. If the clock pin is located
elsewhere, then the last parameter in the table must be added to the hold (no delay) timing.
PIO FF
INPUT
D
Q
SCLK
5-4847(F)
Figure 56. Input to System Clock Setup/Hold Time
Table 59. OR3LP26B PCI and FPGA Interface Clock Operation Frequencies
OR3LP26B Commercial: VDD = 3.0 V to 3.6 V, 0 °C < TA < 70 °C; VDD2 = 2.38 V to 2.63 V, 0 °C < TA < 70 °C.
Speed
–8
Description (TI = 85 °C, VDD = min, VDD2 = min)
Signal
Clk (PCI clock)
Fclk1 (user interface clock)
Fclk2 (user interface clock)
Unit
Min
Typ
Max
0
0
0
66*
66†
66†
66*
100‡
100‡
MHz
MHz
MHz
* The PCI clock frequency is based on the internal register to register frequency and the 66 MHz PCI I/O specifications.
† The maximum user interface clock frequencies are values based on registering all signals at the FPGA/ASIC boundary. This number will be
lower depending on the design implementation and number of FPGA logic levels into and out of the ASIC.
‡ This is the typical operating frequency for a real design that does not register signals at the FPGA/ASIC boundary.
Lucent Technologies Inc.
Lattice Semiconductor
141
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
Timing Characteristics (continued)
Table 60. OR3LP26B FPGA to PCI, and PCI to FPGA, Combinatorial Path Delays
OR3LP26B Commercial: VDD = 3.0 V to 3.6 V, 0 °C < TA < 70 °C; VDD2 = 2.38 V to 2.63 V, 0 °C < TA < 70 °C.
Description (TI = 85 °C, VDD = min, VDD2 = min)
Destination
pci_intan (FPGA side)
clk (PCI side)
rstn (PCI side)
intan (PCI side)
pciclk (FPGA side)
pci_rstn (FPGA side)
Min
Max
Unit
—
—
—
4.094
3.226
1.622
ns
ns
ns
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Source
Notes:
The FPGA to PCI combinatorial path delays include the ASIC path delay and the output buffer delay under a 10 pF load. They do not include the
interbuf delay on the FPGA side.
The PCI to FPGA combinatorial path delays include the ASIC input buffer delay, and ASIC path delay entering the FPGA. They do not include
the interbuf delay on the FPGA side.
Table 61. OR3LP26B FPGA Side Interface Combinatorial Path Delay Signals
OR3LP26B Commercial: VDD = 3.0 V to 3.6 V, 0 °C < TA < 70 °C; VDD2 = 2.38 V to 2.63 V, 0 °C < TA < 70 °C.
Description (TI = 85 °C, VDD = min, VDD2 = min)
Source
Destination
fifo_sel
fifo_sel
twdataenn
twdataenn
datatofpga[63:0]
datatofpgax[7:0]
twlastcycn
datatofpga[63:0] (dualport mode)
datatofpgax[7:0] (dualport mode)
twdata[35:0] (quad-port
mode)
trlastcycn
mrlastcycn
twlastcycn
tstatecntr[2:0]
datatofpga[63:0] (dualport mode)
datatofpgax[7:0] (dualport mode)
twdata[35:0] (quad-port
mode)
treqn
mstatecntr[2:0]
mstatecntr[2:0]
pci_tdfg_stat
pci_mdfg_stat
twdataenn
twdataenn
trdataenn
mrdataenn
taenn
taenn
taenn
taenn
taenn
taenn
maenn
mcmd
tcfgshiftenn
mcfgshiftenn
Min
Max
Unit
—
—
—
—
3.253
2.652
5.220
6.114
ns
ns
ns
ns
—
5.847
ns
—
6.114
ns
—
—
—
—
—
5.558
5.237
5.406
4.767
5.944
ns
ns
ns
ns
ns
—
5.763
ns
—
5.944
ns
—
—
—
—
—
4.958
5.860
5.662
4.227
5.300
ns
ns
ns
ns
ns
Note: The combinatorial path parameters are measured from the input to the output (both on the FPGA side), excluding the interbufs, which
traverse the ASIC/FPGA boundary. The ORCA Foundry Static Analysis Tool, Trace, accounts for clock skew and interbuf delays on the
clock and data paths.
142
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Timing Characteristics (continued)
Table 62. OR3LP26B Interbuf Delays
OR3LP26B Commercial: VDD = 3.0 V to 3.6 V, 0 °C < TA < 70 °C; VDD2 = 2.38 V to 2.63 V, 0 °C < TA < 70 °C.
Description (TI = 85 °C, VDD = min, VDD2 = min)
Min
Max
Unit
—
—
0.592
0.429
ns
ns
Interbuf from FPGA to ASIC
Interbuf from ASIC to FPGA
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Note: The interbufs are buffers that interface between the FPGA and the ASIC.
Table 63. OR3LP26B FPGA Side Interface Clock to Output Delays, pciclk Synchronous Signals
OR3LP26B Commercial: VDD = 3.0 V to 3.6 V, 0 °C < TA < 70 °C; VDD2 = 2.38 V to 2.63 V, 0 °C < TA < 70 °C.
Description (TI = 85 °C, VDD = min, VDD2 = min)
mw_emptyn
mr_fulln
tr_emptyn
tw_fulln
tcmd[3:0]
bar[2:0]
Min
Max
Unit
—
—
—
—
—
—
4.985
4.458
4.686
4.703
4.345
4.139
ns
ns
ns
ns
ns
ns
Note: The clock to out parameters are measured from the pciclk clock output pin on the FPGA side, excluding the interbufs, which traverse the
ASIC/FPGA boundary. The ORCA Foundry Static Analysis Tool, Trace, accounts for clock skew and interbuf delays on the clock and data
paths.
Lucent Technologies Inc.
Lattice Semiconductor
143
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
Timing Characteristics (continued)
Table 64. OR3LP26B FPGA Side Interface Clock to Output Delays, fclk Synchronous Signals
OR3LP26B Commercial: VDD = 3.0 V to 3.6 V, 0 °C < TA < 70 °C; VDD2 = 2.38 V to 2.63 V, 0 °C < TA < 70 °C.
Description (TI = 85 °C, VDD = min, VDD2 = min)
Max
Unit
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
3.779
4.404
4.314
5.796
4.758
4.348
3.734
8.679
7.974
8.479
6.867
3.840
3.684
7.536
3.436
3.777
4.932
4.817
4.355
3.893
3.759
7.557
4.358
3.915
5.533
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
fpga_msyserror
pci_mcfg_stat
ma_fulln
mstatecntr[2:0]
m_ready
mw_fulln
mw_afulln
datatofpga[63:0] (dual-port mode)
datatofpgax[7:0] (dual-port mode)
mrdata[35:0] (quad-port mode)
twdata[35:0] (quad-port mode)
mr_emptyn
mr_aemptyn
mrlastcycn
disctimerexpn
pci_tcfg_stat
treqn
t_ready
tstatecntr[2:0]
tw_emptyn
tw_aemptyn
twlastcycn
tr_fulln
tr_afulln
trlastcycn
Min
Note: The clock to out parameters are measured from the FCLK1 and FCLK2 clock input pins on the FPGA side, excluding the interbufs, which
traverse the ASIC/FPGA boundary. The ORCA Foundry Static Analysis Tool, Trace, accounts for clock skew and interbuf delays on the
clock and data paths.
144
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Timing Characteristics (continued)
Table 65. OR3LP26B FPGA Side Interface Input Setup Delays, pciclk Synchronous Signals
OR3LP26B Commercial: VDD = 3.0 V to 3.6 V, 0 °C < TA < 70 °C; VDD2 = 2.38 V to 2.63 V, 0 °C < TA < 70 °C.
Description (TI = 85 °C, VDD = min, VDD2 = min)
Max
Unit
–0.514
–1.486
–1.190
–1.208
1.744
0.864
–1.561
–1.542
–1.557
–0.828
—
—
—
—
—
—
—
—
—
—
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
fpga_mbusyn
deltrn
mwpcihold
fpga_mstopburstn
fpga_tabort
fpga_tretryn
twburstpendn
trpcihold
trburstpendn
fpga_syserror
Min
Note: The input setup parameters are measured from the pciclk clock output pin on the FPGA side, excluding the interbufs, which traverse the
ASIC/FPGA boundary. The ORCA Foundry Static Analysis Tool, Trace, accounts for clock skew and interbuf delays on the clock and data
paths.
Table 66. OR3LP26B FPGA Side Interface Input Setup Delays, fclk Synchronous Signals
OR3LP26B Commercial: VDD = 3.0 V to 3.6 V, 0 °C < TA < 70 °C; VDD2 = 2.38 V to 2.63 V, 0 °C < TA < 70 °C.
Description (TI = 85 °C, VDD = min, VDD2 = min)
mcfgshiftenn
maenn
mfifoclrn
mcmd[3:0]
mwdataenn
datafmfpga[63:0] (dual-port mode)
datafmfpgax[7:0] (dual-port mode)
mwdata[35:0] (quad-port mode)
trdata[35:0] (quad-port mode)
mwlastcycn
mrdataenn
tcfgshiftenn
tfifoclrn
taenn
twdataenn
trdataenn
Min
Max
Unit
1.752
4.777
5.934
5.251
4.806
5.333
5.978
5.978
5.226
4.896
3.246
1.209
3.395
3.893
3.677
3.773
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
Note: The input setup parameters are measured from the FCLK1 and FCLK2 clock input pins on the FPGA side, excluding the interbufs, which
traverse the ASIC/FPGA boundary. The ORCA Foundry Static Analysis Tool, Trace, accounts for clock skew and interbuf delays on the
clock and data paths.
Lucent Technologies Inc.
Lattice Semiconductor
145
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
Input/Output Buffer Measurement Conditions
VCC
GND
1 kΩ
TO THE OUTPUT UNDER TEST
50 pF
TO THE OUTPUT UNDER TEST
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
50 pF
A. Load Used to Measure Propagation Delay
B. Load Used to Measure Rising/Falling Edges
5-3234(F)
Note: Switch to VDD for TPLZ/TPZL; switch to GND for TPHZ/TPZH.
Figure 57. ac Test Loads
ts[i]
PAD ac TEST LOADS (SHOWN ABOVE)
OUT
out[i]
VDD
out[i] VDD/2
VSS
PAD 1.5 V
OUT 0.0 V
TPLL
TPHH
5-3233.a(F)
Figure 58. Output Buffer Delays
PAD
IN
in[i]
3.0 V
PAD IN 1.5 V
0.0 V
VDD
in[i] VDD/2
VSS
TPLL
TPHH
5-3235(F)
Figure 59. Input Buffer Delays
146
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Output Buffer Characteristics
90
110
80
IOL
IOL
OUTPUT CURRENT, IO (mA)
90
80
70
60
IOH
50
40
30
70
60
50
40
IOH
30
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
OUTPUT CURRENT, IO (mA)
100
20
20
10
10
0
0
0.0
0.5
1.0
1.5
2.0
2.5
3.0
3.5
0.0
OUTPUT VOLTAGE, VO (V)
0.5
1.0
1.5
2.0
2.5
3.0
OUTPUT VOLTAGE, VO (V)
5-6865(F)
Figure 60. Sinklim (TJ = 25 °C, VDD = 3.3 V)
5-6866(F)
Figure 63. Sinklim (TJ = 125 °C, VDD = 3.0 V)
140
120
IOL
IOL
100
OUTPUT CURRENT, IO (mA)
OUTPUT CURRENT, IO (mA)
120
100
80
60
IOH
40
20
80
60
IOH
40
20
0
0.0
0.5
1.0
1.5
2.0
2.5
3.0
0
3.5
0.0
OUTPUT VOLTAGE, VO (V)
0.5
1.0
1.5
2.0
2.5
3.0
OUTPUT VOLTAGE, VO (V)
5-6867(F)
Figure 61. Slewlim (TJ = 25 °C, VDD = 3.3 V)
140
120
IOL
IOL
120
100
OUTPUT CURRENT, IO (mA)
OUTPUT CURRENT, IO (mA)
5-6868(F)
Figure 64. Slewlim (TJ = 125 °C, VDD = 3.0 V)
100
80
60
IOH
40
80
60
IOH
40
20
20
0
0
0.0
0.5
1.0
1.5
2.0
2.5
3.0
3.5
0.0
OUTPUT VOLTAGE, VO (V)
Lucent Technologies Inc.
Lattice Semiconductor
1.0
1.5
2.0
2.5
3.0
OUTPUT VOLTAGE, VO (V)
5-6867(F)
Figure 62. Fast (TJ = 25 °C, VDD = 3.3 V)
0.5
5-6868(F)
Figure 65. Fast (TJ = 125 °C, VDD = 3.0 V)
147
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
Estimating Power Dissipation
The total operating power dissipated is estimated by summing the FPGA standby (IDDSB), internal, and external
power dissipated, in addition to the PCI core internal and I/O power.
Table 67. PCI Core Internal Power Dissapation
Power Dissipated
Min
Max
33
66
—
—
292
584
Unit
mW
mW
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Operating Frequency
(MHz)
The following discussion relates to the FPGA portion of the device. The internal and external power is the power
consumed in the PLCs and PICs, respectively. In general, the standby power is small and may be neglected. The
total operating power is as follows:
PT = Σ PPLC + Σ PPIC
The internal operating power is made up of two parts: clock generation and PFU output power. The PFU output
power can be estimated based upon the number of PFU outputs switching when driving an average fan-out of two:
PPFU = 0.078 mW/MHz
For each PFU output that switches, 0.136 mW/MHz needs to be multiplied times the frequency (in MHz) that the
output switches. Generally, this can be estimated by using one-half the clock rate, multiplied by some activity factor;
for example, 20%.
The power dissipated by the clock generation circuitry is based upon four parts: the fixed clock power, the power/
clock branch row or column, the clock power dissipated in each PFU that uses this particular clock, and the power
from the subset of those PFUs that are configured as synchronous memory. Therefore, the clock power can be calculated for the four parts using the following equations:
OR3LP26B Clock Power
P = [0.22 mW/MHz
+ (0.39 mW/MHz/Branch) (# Branches)
+ (0.008 mW/MHz/PFU) (# PFUs)
+ (0.002 mW/MHz/PIO (# PIOs)]
For a quick estimate, the worst-case (typical circuit) OR3LP26BB clock power = 4.8 mW/MHz
The following discussions are relavant to FPGA I/Os and the PCI core I/Os. The power dissipated in a PIC is the
sum of the power dissipated in the four PIOs in the PIC. This consists of power dissipated by inputs and ac power
dissipated by outputs. The power dissipated in each PIO depends on whether it is configured as an input, output, or
input/output. If a PIO is operating as an output, then there is a power dissipation component for PIN, as well as
POUT. This is because the output feeds back to the input.
The power dissipated by an input buffer is (VIH = VDD – 0.3 V or higher) estimated as:
PIN = 0.09 mW/MHz
The ac power dissipation from an output or bidirectional is estimated by the following:
POUT = (CL + 8.8 pF) × VDD2 × F Watts
where the unit for CL is farads, and the unit for F is Hz.
148
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Pin Information
This section describes the pins and signals that perform FPGA-related functions. Any pins not described in Table 7
or here in Table 68 are user-programmable I/Os. During configuration, the user-programmable I/Os are 3-stated
and pulled-up with an internal resistor. If any FPGA function pin is not used (or not bonded to package pin), it is
also 3-stated and pulled-up after configuration.
Table 68. FPGA Common-Function Pin Descriptions
Symbol
I/O
Description
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Dedicated Pins
VDD
—
3.3 V power supply.
VDD2
—
2.5 V power supply.
Ground supply.
GND
—
RESET
I
During configuration, RESET forces the restart of configuration and a pull-up is
enabled. After configuration, RESET can be used as an FPGA logic direct input,
which causes all PLC latches/FFs to be asynchronously set/reset.
CCLK
I
In the Master and asynchronous peripheral modes, CCLK is an output which strobes
configuration data in. In the slave or synchronous peripheral mode, CCLK
is input synchronous with the data on DIN or D[7:0]. In microprocessor and PCI
modes, CCLK is used internally and output for daisy-chain operation.
DONE
I
As an input, a low level on DONE delays FPGA start-up after configuration.*
O
As an active-high, open-drain output, a high level on this signal indicates that configuration is complete. DONE is also used in the embedded PCI core start-up sequence.
DONE has an optional pull-up resistor.
PRGM
I
PRGM is an active-low input that forces the restart of configuration and resets the
boundary-scan circuitry. This pin always has an active pull-up.
RD_CFG
I
This pin must be held high during device initialization until the INIT pin goes high. This
pin always has an active pull-up.
During configuration, RD_CFG is an active-low input that activates the TS_ALL function and 3-states all of the I/O.
After configuration, RD_CFG can be selected (via a bit stream option) to activate the
TS_ALL function as described above, or, if readback is enabled via a bit stream
option, a high-to-low transition on RD_CFG will initiate readback of the configuration
data, including PFU output states, starting with frame address 0.
RD_DATA/TDO
O
RD_DATA/TDO is a dual-function pin. If used for readback, RD_DATA provides configuration data out. If used in boundary scan, TDO is test data out.
I
During powerup and initialization, M0—M2 are used to select the configuration mode
with their values latched on the rising edge of INIT; see Table 45 for the configuration
modes. During configuration, a pull-up is enabled.
Special-Purpose Pins
M0, M1, M2
I/O
M3
I
I/O
After configuration, M2 can be a user-programmable I/O.*
During powerup and initialization, M3 is used to select the speed of the internal oscillator during configuration with their values latched on the rising edge of INIT. When
M3 is low, the oscillator frequency is 10 MHz. When M3 is high, the oscillator is
1.25 MHz. During configuration, a pull-up is enabled.
After configuration, M3 can be a user-programmable I/O pin.*
* The ORCA Series 3 FPGA data sheet contains more information on how to control these signals during start-up. The timing of DONE release
is controlled by one set of bit stream options, and the timing of the simultaneous release of all other configuration pins (and the activation of all
user I/Os) is controlled by a second set of options.
Lucent Technologies Inc.
Lattice Semiconductor
149
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
Pin Information (continued)
Table 68. FPGA Common-Function Pin Descriptions (continued)
Symbol
I/O
Description
Special-Purpose Pins (continued)
I
If boundary scan is used, these pins are test data in, test clock, and test mode select
inputs. If boundary scan is not selected, all boundary-scan functions are inhibited
once configuration is complete. Even if boundary scan is not used, either TCK or
TMS must be held at logic 1 during configuration. Each pin has a pull-up enabled
during configuration.
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
TDI, TCK, TMS
I/O After configuration, these pins are user-programmable I/O.*
RDY/RCLK/
MPI_ALE
O
During configuration in peripheral mode, RDY/RCLK indicates another byte can be
written to the FPGA. If a read operation is done when the device is selected, the
same status is also available on D7 in asynchronous peripheral mode.
O
During the Master parallel configuration mode, RCLK is a read output signal to an
external memory. This output is not normally used.
I
In i960 microprocessor mode, this pin acts as the address latch enable (ALE) input.
I/O After configuration, if the MPI is not used, this pin is a user-programmable I/O pin.*
HDC
O
High During Configuration is output high until configuration is complete. It is used as
a control output indicating that configuration is not complete.
LDC
O
Low During Configuration is output low until configuration is complete. It is used as a
control output indicating that configuration is not complete.
INIT
CS0, CS1
I/O INIT is a bidirectional signal before and during configuration. During configuration, a
pull-up is enabled, but an external pull-up resistor is recommended. As an active-low
open-drain output, INIT is held low during power stabilization and internal clearing of
memory. As an active-low input, INIT holds the FPGA in the wait-state before the
start of configuration.
I
CS0 and CS1 are used in the asynchronous peripheral, slave parallel, and microprocessor configuration modes. The FPGA is selected when CS0 is low and CS1 is
high. During configuration, a pull-up is enabled.
I/O After configuration, these pins are user-programmable I/O pins.*
RD/MPI_STRB
I
RD is used in the asynchronous peripheral configuration mode. A low on RD
changes D7 into a status output. As a status indication, a high indicates ready, and a
low indicates busy. WR and RD should not be used simultaneously. If they are, the
write strobe overrides.
I
This pin is also used as the microprocessor interface (MPI) data transfer strobe. For
PowerPC, it is the transfer start (TS). For i960, it is the address/data strobe (ADS).
I/O After configuration, if the MPI is not used, this pin is a user-programmable I/O pin.*
WR
I
WR is used in the asynchronous peripheral configuration mode. When the FPGA is
selected, a low on the write strobe, WR, loads the data on D[7:0] inputs into an
internal data buffer. WR and RD should not be used simultaneously. If they are, the
write strobe overrides.
I/O After configuration, this pin is a user-programmable I/O pin.*
* The ORCA Series 3 FPGA data sheet contains more information on how to control these signals during start-up. The timing of DONE release
is controlled by one set of bit stream options, and the timing of the simultaneous release of all other configuration pins (and the activation of all
user I/Os) is controlled by a second set of options.
150
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Pin Information (continued)
Table 68. FPGA Common-Function Pin Descriptions (continued)
Symbol
I/O
Description
Special-Purpose Pins (continued)
MPI_IRQ
O
MPI active-low interrupt request output.
I/O If the MPI is not in use, this is a user-programmable I/O.
MPI_BI
O
PowerPC mode MPI burst inhibit output.
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
I/O If the MPI is not in use, this is a user-programmable I/O.
MPI_ACK
O
In PowerPC mode MPI operation, this is the active-high transfer acknowledge (TA)
output. For i960 MPI operation, it is the active-low ready/record (RDYRCV) output.
If the MPI is not in use, this is a user-programmable I/O.
MPI_RW
I
In PowerPC mode MPI operation, this is the active-low write/ active-high read control
signals. For i960 operation, it is the active-high write/active-low read control signal.
I/O If the MPI is not in use, this is a user-programmable I/O.
MPI_CLK
I
This is the clock used for the synchronous MPI interface. For PowerPC, it is the CLKOUT signal. For i960, it is the system clock that is chosen for the i960 external bus
interface.
I/O If the MPI is not in use, this is a user-programmable I/O.
A[4:0]
I
For PowerPC operation, these are the PowerPC address inputs. The address bit
mapping (in PowerPC/FPGA notation) is A[31]/A[0], A[30]/A[1], A[29]/A[2], A[28]/
A[3], A[27]/A[4]. Note that A[27]/A[4] is the MSB of the address. The A[4:2] inputs
are not used in i960 MPI mode.
I/O If the MPI is not in use, this is a user-programmable I/O.
A[1:0]/MPI_BE[1:0]
I
For i960 operation, MPI_BE[1:0] provide the i960 byte enable signals, BE[1:0], that are
used as address bits A[1:0] in i960 byte-wide operation.
D[7:0]
I
During Master parallel, peripheral, and slave parallel configuration modes, D[7:0]
receive configuration data, and each pin has a pull-up enabled. During serial configuration modes, D0 is the DIN input. D[7:0] are also the data pins for PowerPC microprocessor mode and the address/data pins for i960 microprocessor mode.
I/O After configuration, the pins are user-programmable I/O pins.*
DIN
I
During slave serial or Master serial configuration modes, DIN accepts serial configuration data synchronous with CCLK. During parallel configuration modes, DIN is the
D0 input. During configuration, a pull-up is enabled.
I/O After configuration, this pin is a user-programmable I/O pin.*
DOUT
O
During configuration, DOUT is the serial data output that can drive the DIN of daisychained slave LCA devices. Data out on DOUT changes on the falling edge of
CCLK.
I/O After configuration, DOUT is a user-programmable I/O pin.*
* The ORCA Series 3 FPGA data sheet contains more information on how to control these signals during start-up. The timing of DONE release
is controlled by one set of bit stream options, and the timing of the simultaneous release of all other configuration pins (and the activation of all
user I/Os) is controlled by a second set of options.
Lucent Technologies Inc.
Lattice Semiconductor
151
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
Pin Information (continued)
Package Compatibility
Table 69 lists the number of user I/Os available for the ORCA OR3LP26B FPSC for each available package. Each
package has six dedicated configuration pins and six dedicated special-purpose pins.
Table 70 provides the package pin and pin function for the ORCA OR3LP26B FPSC in each available package. The
bond pad name is identified in the PIC nomenclature used in the ORCA Foundry design editor.
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
When the number of FPGA bond pads exceeds the number of package pins, bond pads are unused. When the
number of package pins exceeds the number of bond pads, package pins are left unconnected (no connects).
When a package pin is to be left as a no connect for a specific die, it is indicated as a note in the device pad column
for the FPGA.
Table 69. ORCA OR3LP26B I/Os Summary
User I/Os*
VDD
VDD2
VSS
Configuration/Special-Purpose Pins†
PCI Interface Pins
Unused Pins
PCI Core Section
FPGA Section
352-Pin PBGA
680-Pin PBGAM
162
16
11
68
12
93
26
0
242
56
76
100
12
93
90
11
* User I/O count includes three ExpressCLK inputs.
† Configuration pins: CCLK, DONE, RESET, PRGM, RD_CFG;
Special-purpose pins: RD_DATA/TDO, HDC, LDC, INIT, M0, M1, M2.
152
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Pin Information (continued)
Table 70. Pinout Information
Function
PBGA 352
PBGAM 680
VSS
VDD
VSS
PL1D
PL1C
PL1B
PL1A
VDD
PL2D
PL2C
PL2B
PL2A
PL3D
PL3C
PL3B
PL3A
VSS
PL4D
VDD2
PL4C
PL4B
PL4A
PL5D
PL5C
PL5B
PL5A
VDD
PL6D
PL6C
PL6B
PL6A
PL7D
PL7C
PL7B
PL7A
VSS
PL8D
VSS
VDD
VSS
I/O
I/O
I/O
I/O
VDD
I/O-A0-MPI_BE0
I/O
I/O
I/O
I/O
I/O
I/O
I/O
VSS
I/O
VDD2
I/O
I/O
I/O
I/O
I/O
I/O
I/O
VDD
I/O
I/O
I/O
I/O
I/O-A1-MPI_BE1
I/O
I/O
I/O
VSS
I/O
VSS*
VDD*
VSS*
B1
C2
C1
D2
VDD*
D3
—
—
D1
E2
—
E4
E3
VSS*
—
E1
F2
G4
—
F3
—
—
—
VDD*
F1
G2
G1
—
G3
—
—
—
VSS*
H2
VSS*
VDD*
VSS*
D1
F4
F3
F2
VDD*
F1
G5
G4
G2
G1
H5
H4
H2
VSS*
—
VDD2
H1
J5
J4
J3
J2
J1
K5
VDD*
K4
K3
K2
K1
L5
L4
L2
L1
VSS*
M5
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
OR3LP26B Pad
* These pads are connected to a power plane in the package rather than to a particular pin. The entry's location in the table indicates the position of the power pad relative to nearby signal pads.
† Pins marked No Connect must be left unconnected.
‡ These pins are connected to a power plane in the package rather than to a particular pad.
Lucent Technologies Inc.
Lattice Semiconductor
153
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
Pin Information (continued)
Table 70. Pinout Information (continued)
Function
PBGA 352
PBGAM 680
PL8C
PL8B
PL8A
PL9D
PL9C
PL9B
PL9A
VDD
PL10D
VDD2
PL10C
PL10B
PL10A
PL11D
PL11C
PL11B
PL11A
VSS
PL12D
PL12C
PL12B
PL12A
VDD2
PL13D
PL13C
PL13B
PL13A
VSS
PECKL
PL14D
PL14C
PL14B
PL14A
VDD
PL15D
PL15C
VDD2
I/O
I/O
I/O-A2
I/O
I/O
I/O
I/O-A3
VDD
I/O
VDD2
I/O
I/O
I/O
I/O
I/O
I/O
I/O-A4
VSS
I/O
I/O
I/O
I/O
VDD2
I/O
I/O
I/O
I/O
VSS
I-ECKL
—
I/O
I/O
I/O-MPI_CLK
VDD
I/O
——
VDD2
J4
H1
H3
J2
J1
K2
J3
VDD*
K1
—
—
—
K4
L2
—
—
K3
VSS*
L1
—
—
M2
—
M1
—
—
L3
VSS*
N2
—
M4
N1
M3
VDD*
P2
—
P4
M4
M2
M1
N5
N4
N3
N2
VDD*
—
VDD2
N1
P5
P4
P3
P2
P1
R5
VSS*
R4
R2
R1
—
VDD2
T5
T4
T2
T1
VSS*
U5
—
U3
U2
U1
VDD*
V1
—
VDD2
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
OR3LP26B Pad
* These pads are connected to a power plane in the package rather than to a particular pin. The entry's location in the table indicates the position of the power pad relative to nearby signal pads.
† Pins marked No Connect must be left unconnected.
‡ These pins are connected to a power plane in the package rather than to a particular pad.
154
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Pin Information (continued)
Table 70. Pinout Information (continued)
Function
PBGA 352
PBGAM 680
PL15B
PL15A
VSS
PL16D
PL16C
PL16B
PL16A
PL17D
PL17C
PL17B
PL17A
VSS
PL18D
PL18C
PL18B
PL18A
PL19D
PL19C
PL19B
PL19A
VDD
PL20D
PL20C
PL20B
VDD2
PL20A
PL21D
PL21C
PL21B
PL21A
VSS
PL22D
PL22C
PL22B
PL22A
PL23D
PL23C
I/O
I/O-MPI_RW
VSS
I/O-MPI_ACK
I/O
I/O
I/O
I/O
I/O
I/O
I/O-MPI_BI
VSS
I/O
I/O
I/O
I/O-SECKLL
No Connect†
No Connect†
No Connect†
I/O-MPI_IRQ
VDD
No Connect†
No Connect†
No Connect†
VDD2
No Connect†
VDD
VSS
VSS
intan
VSS
rstn
gntn
No Connect†
No Connect†
reqn
No Connect†
P1
N3
VSS*
R2
—
—
P3
R1
—
—
T2
VSS*
R3
—
—
T1
R4
—
—
U2
VDD*
T3
U1
U4
—
V2
U3
V1
W2
W1
VSS*
V3
Y2
—
—
W4
—
V2
V3
VSS*
V4
V5
W1
W2
W4
W5
Y1
Y2
VSS*
Y4
Y5
AA1
AA2
AA3
AA4
AA5
AB1
VDD*
AB2
AB3
—
VDD2
AB4
AB5
AC1
AC2
AC4
VSS*
AC5
AD1
AD2
AD4
AD5
AE1
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
OR3LP26B Pad
* These pads are connected to a power plane in the package rather than to a particular pin. The entry's location in the table indicates the position of the power pad relative to nearby signal pads.
† Pins marked No Connect must be left unconnected.
‡ These pins are connected to a power plane in the package rather than to a particular pad.
Lucent Technologies Inc.
Lattice Semiconductor
155
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
Pin Information (continued)
Table 70. Pinout Information (continued)
OR3LP26B Pad
Connect†
No
No Connect†
VDD
ad31
No Connect†
No Connect†
ad30
No Connect†
ad29
ad28
ad27
VSS
—
VDD2
ad26
No Connect†
ad25
ad24
c_be3n
No Connect†
idsel
VDD
ad23
No Connect†
No Connect†
vio
VSS
CCLK
VDD
VSS
VDD
VSS
ad22
No Connect†
ad21
ad20
VDD
ad19
PBGA 352
PBGAM 680
—
—
VDD*
Y1
—
—
W3
—
AA2
Y4
AA1
VSS*
—
Y3
AB2
—
AB1
AA3
AC2
—
AB4
VDD*
AC1
AB3
AD2
AC3
VSS*
AD1
VDD*
VSS*
VDD*
VSS*
AF2
AE3
AF3
AE4
VDD*
AD4
AE2
AE3
VDD*
AE4
AE5
AF1
AF2
AF3
AF4
AF5
AG1
VSS*
—
VDD2
AG2
AG4
AG5
AH1
AH2
AH4
AH5
VDD*
AJ3
AJ4
AK1
AK2
VSS*
AL1
VDD*
VSS*
VDD*
VSS*
AP4
AN5
AM6
AN6
VDD*
AP6
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
PL23B
PL23A
VDD
PL24D
PL24C
PL24B
PL24A
PL25D
PL25C
PL25B
PL25A
VSS
PL26D
VDD2
PL26C
PL26B
PL26A
PL27D
PL27C
PL27B
PL27A
VDD
PL28D
PL28C
PL28B
PL28A
VSS
PCCLK
VDD
VSS
VDD
VSS
PB1A
PB1B
PB1C
PB1D
VDD
PB2A
Function
* These pads are connected to a power plane in the package rather than to a particular pin. The entry's location in the table indicates the position of the power pad relative to nearby signal pads.
† Pins marked No Connect must be left unconnected.
‡ These pins are connected to a power plane in the package rather than to a particular pad.
156
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Pin Information (continued)
Table 70. Pinout Information (continued)
OR3LP26B Pad
Connect†
No
No Connect†
—
VDD2
ad18
No Connect†
ad17
ad16
VSS
c_be2n
perrn
serrn
par
c_be1n
ad15
ad14
ad13
VSS
ad12
No Connect†
No Connect†
ad11
ad10
No Connect†
No Connect†
ad9
VSS
ad8
No Connect†
No Connect†
c_be0n
ad7
No Connect†
No Connect†
ad6
VDD
VDD2
No Connect†
PBGA 352
PBGAM 680
—
—
—
AF4
AE5
—
AC5
AD5
VSS*
AF5
AE6
AC7
AD6
AF6
AE7
AF7
AD7
VSS*
AE8
—
—
AC9
AF8
—
—
AD8
VSS*
AE9
—
—
AF9
AE10
—
—
AD9
VDD*
—
AF10
AK7
AL7
—
VDD2
AN7
AP7
AK8
AL8
VSS*
AN8
AP8
AK9
AL9
AM9
AN9
AP9
AK10
VSS*
AL10
AM10
AN10
AP10
AK11
AL11
AN11
AP11
VSS*
AK12
AL12
AN12
AP12
AK13
AL13
AM13
AN13
VDD*
VDD2
—
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
PB2B
PB2C
PB2D
VDD2
PB3A
PB3B
PB3C
PB3D
VSS
PB4A
PB4B
PB4C
PB4D
PB5A
PB5B
PB5C
PB5D
VSS
PB6A
PB6B
PB6C
PB6D
PB7A
PB7B
PB7C
PB7D
VSS
PB8A
PB8B
PB8C
PB8D
PB9A
PB9B
PB9C
PB9D
VDD
VDD2
PB10A
Function
* These pads are connected to a power plane in the package rather than to a particular pin. The entry's location in the table indicates the position of the power pad relative to nearby signal pads.
† Pins marked No Connect must be left unconnected.
‡ These pins are connected to a power plane in the package rather than to a particular pad.
Lucent Technologies Inc.
Lattice Semiconductor
157
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
Pin Information (continued)
Table 70. Pinout Information (continued)
OR3LP26B Pad
Connect†
No
No Connect†
ad5
ad4
No Connect†
No Connect†
ad3
VDD
ad2
No Connect†
No Connect†
ad1
ad0
No Connect†
No Connect†
framen
VSS
No Connect†
VDD2
irdyn
trdyn
devseln
VSS
clk
—
stopn
ack64n
req64n
VSS
—
VDD2
No Connect†
No Connect†
c_be7n
c_be6n
No Connect†
No Connect†
c_be5n
PBGA 352
PBGAM 680
—
—
AC10
AE11
—
—
AD10
VDD*
AF11
—
—
AE12
AF12
—
—
AD11
VSS*
AE13
—
AC12
AF13
AD12
VSS*
AE14
—
AC14
AF14
AD13
VSS*
—
AE15
—
—
AD14
AF15
—
—
AE16
AP13
AK14
AL14
AM14
AN14
AP14
AK15
VDD*
AL15
AN15
AP15
AK16
AL16
AN16
AP16
AK17
VSS*
—
VDD2
AM17
AP17
AP18
VSS*
AN18
—
AM18
AL18
AK18
VSS*
—
VDD2
AP19
AN19
AL19
AK19
AP20
AN20
AL20
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
PB10B
PB10C
PB10D
PB11A
PB11B
PB11C
PB11D
VDD
PB12A
PB12B
PB12C
PB12D
PB13A
PB13B
PB13C
PB13D
VSS
PB14A
VDD2
PB14B
PB14C
PB14D
VSS
PECKB
PB15A
PB15B
PB15C
PB15D
VSS
PB16A
VDD2
PB16B
PB16C
PB16D
PB17A
PB17B
PB17C
PB17D
Function
* These pads are connected to a power plane in the package rather than to a particular pin. The entry's location in the table indicates the position of the power pad relative to nearby signal pads.
† Pins marked No Connect must be left unconnected.
‡ These pins are connected to a power plane in the package rather than to a particular pad.
158
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Pin Information (continued)
Table 70. Pinout Information (continued)
Function
PBGA 352
PBGAM 680
VDD
PB18A
PB18B
PB18C
PB18D
PB19A
PB19B
PB19C
PB19D
VDD2
VDD
PB20A
PB20B
PB20C
PB20D
PB21A
PB21B
PB21C
PB21D
VSS
PB22A
PB22B
PB22C
PB22D
PB23A
PB23B
PB23C
PB23D
VSS
PB24A
PB24B
PB24C
PB24D
PB25A
VDD2
PB25B
PB25C
PB25D
VDD
HDC
No Connect†
No Connect†
c_be4n
ad63
No Connect†
No Connect†
No Connect†
VDD2
VDD
LDC
No Connect†
No Connect†
ad62
ad61
No Connect†
No Connect†
ad60
VSS
ad59
No Connect†
No Connect†
No Connect†
ad58
No Connect†
ad57
ad56
VSS
INIT
ad55
ad54
ad53
—
VDD2
ad52
ad51
ad50
VDD*
AD15
—
—
AF16
AC15
—
—
AE17
—
VDD*
AD16
—
—
AF17
AC17
—
—
AE18
VSS*
AD17
—
—
—
AF18
—
AE19
AF19
VSS*
AD18
AE20
AC19
AF20
—
AD19
AE21
AC20
AF21
VDD*
AK20
AP21
AN21
AM21
AL21
AK21
AP22
—
VDD2
VDD*
AN22
AM22
AL22
AK22
AP23
AN23
AL23
AK23
VSS*
AP24
AN24
AL24
AK24
AP25
AN25
AM25
AL25
VSS*
AK25
AP26
AN26
AM26
—
VDD2
AL26
AK26
AP27
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
OR3LP26B Pad
* These pads are connected to a power plane in the package rather than to a particular pin. The entry's location in the table indicates the position of the power pad relative to nearby signal pads.
† Pins marked No Connect must be left unconnected.
‡ These pins are connected to a power plane in the package rather than to a particular pad.
Lucent Technologies Inc.
Lattice Semiconductor
159
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
Pin Information (continued)
Table 70. Pinout Information (continued)
Function
PBGA 352
PBGAM 680
VSS
PB26A
PB26B
PB26C
PB26D
PB27A
PB27B
PB27C
PB27D
VDD
PB28A
PB28B
PB28C
PB28D
VSS
PDONE
VDD
VSS
PRESETN
PPRGMN
PR28A
PR28B
PR28C
PR28D
VDD
VDD2
PR27A
PR27B
PR27C
PR27D
PR26A
PR26B
PR26C
PR26D
VSS
PR25A
PR25B
PR25C
VSS
ad49
ad48
No Connect†
ad47
ad46
No Connect†
No Connect†
ad45
VDD
ad44
ad43
No Connect†
par64
VSS
DONE
VDD
VSS
RESET
PRGM
M0
No Connect†
ad42
ad41
VDD
VDD2
No Connect†
No Connect†
No Connect†
ad40
ad39
ad38
No Connect†
ad37
VSS
ad36
ad35
ad34
VSS*
AD20
AE22
—
AF22
AD21
AE23
—
AC22
VDD*
AF23
AD22
AE24
AD23
VSS*
AF24
VDD*
VSS*
AE26
AD25
AD26
—
AC25
AC24
VDD*
—
AC26
—
—
AB25
AB23
AB24
—
AB26
VSS*
AA25
Y23
AA24
VSS*
AN27
AL27
AK27
AP28
AN28
AL28
AK28
AP29
VDD*
AN29
AM29
AP30
AN30
VSS*
AP31
VDD*
VSS*
AL34
AK33
AK34
AJ31
AJ32
AJ33
VDD*
VDD2
—
AJ34
AH30
AH31
AH33
AH34
AG30
AG31
VSS*
AG33
AG34
AF30
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
OR3LP26B Pad
* These pads are connected to a power plane in the package rather than to a particular pin. The entry's location in the table indicates the position of the power pad relative to nearby signal pads.
† Pins marked No Connect must be left unconnected.
‡ These pins are connected to a power plane in the package rather than to a particular pad.
160
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Pin Information (continued)
Table 70. Pinout Information (continued)
OR3LP26B Pad
No
Connect†
ad33
No Connect†
No Connect†
No Connect†
VDD
ad32
enumn
No Connect†
ledn
No Connect†
No Connect†
No Connect†
M1
VSS
ejectsw
No Connect†
No Connect†
No Connect†
VDD2
No Connect†
No Connect†
No Connect†
No Connect†
VDD
I/O-M2
No Connect†
No Connect†
No Connect†
I/O
I/O
I/O
I/O
VSS
I/O-M3
I/O
I/O
I/O
PBGA 352
PBGAM 680
—
AA26
—
—
—
VDD*
Y25
Y26
—
Y24
—
—
—
W25
VSS*
V23
W26
W24
—
V25
V26
U25
V24
U26
VDD*
U23
—
—
T25
U24
—
—
T26
VSS*
R25
—
—
R26
AF31
AF32
AF33
AF34
AE30
VDD*
AE31
AE32
AE33
AE34
AD30
AD31
AD33
AD34
VSS*
AC30
AC31
AC33
—
VDD2
AC34
AB30
AB31
AB32
VDD*
AB33
AB34
AA30
AA31
AA32
AA33
AA34
Y30
VSS*
Y31
Y33
Y34
W30
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
PR25D
PR24A
PR24B
PR24C
PR24D
VDD
PR23A
PR23B
PR23C
PR23D
PR22A
PR22B
PR22C
PR22D
VSS
PR21A
PR21B
PR21C
PR21D
VDD2
PR20A
PR20B
PR20C
PR20D
VDD
PR19A
PR19B
PR19C
PR19D
PR18A
PR18B
PR18C
PR18D
VSS
PR17A
PR17B
PR17C
PR17D
Function
* These pads are connected to a power plane in the package rather than to a particular pin. The entry's location in the table indicates the position of the power pad relative to nearby signal pads.
† Pins marked No Connect must be left unconnected.
‡ These pins are connected to a power plane in the package rather than to a particular pad.
Lucent Technologies Inc.
Lattice Semiconductor
161
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
Pin Information (continued)
Table 70. Pinout Information (continued)
Function
PBGA 352
PBGAM 680
PR16A
PR16B
PR16C
PR16D
VDD2
VSS
PR15A
PR15B
PR15C
PR15D
VDD
PECKR
PR14A
PR14B
PR14C
PR14D
VSS
PR13A
VDD2
PR13B
PR13C
PR13D
PR12A
PR12B
PR12C
PR12D
VSS
PR11A
PR11B
PR11C
PR11D
PR10A
PR10B
PR10C
PR10D
VDD2
VDD
PR9A
I/O
I/O
I/O
I/O
VDD2
VSS
I/O
I/O
I/O
I/O
VDD
I-ECKR
—
I/O
I/O
I/O
VSS
—
VDD2
I/O
I/O
I/O
I/O
I/O
I/O
I/O
VSS
I/O-CS1
I/O
I/O
I/O
I/O
I/O
I/O
I/O
VDD2
VDD
I/O-CS0
T24
—
—
P25
—
VSS*
R23
P26
R24
N25
VDD*
N23
—
N26
P24
M25
VSS*
—
N24
—
—
M26
L25
—
—
M24
VSS*
L26
—
—
M23
K25
—
—
L24
—
VDD*
K26
W31
W33
W34
—
VDD2
VSS*
V30
V32
V33
V34
VDD*
U34
—
U33
U32
U31
VSS*
—
VDD2
U30
T34
T33
T31
T30
R34
R33
VSS*
R31
R30
P34
P33
P32
P31
P30
—
VDD2
VDD*
N34
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
OR3LP26B Pad
* These pads are connected to a power plane in the package rather than to a particular pin. The entry's location in the table indicates the position of the power pad relative to nearby signal pads.
† Pins marked No Connect must be left unconnected.
‡ These pins are connected to a power plane in the package rather than to a particular pad.
162
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Pin Information (continued)
Table 70. Pinout Information (continued)
Function
PBGA 352
PBGAM 680
PR9B
PR9C
PR9D
PR8A
PR8B
PR8C
PR8D
VSS
PR7A
PR7B
PR7C
PR7D
PR6A
PR6B
PR6C
PR6D
VDD
PR5A
PR5B
PR5C
PR5D
PR4A
VDD2
PR4B
PR4C
PR4D
VSS
PR3A
PR3B
PR3C
PR3D
PR2A
PR2B
PR2C
PR2D
VDD
PR1A
PR1B
I/O
I/O
I/O
I/O
I/O
I/O
I/O
VSS
I/O-RD
I/O
I/O
I/O
I/O
I/O
I/O
I/O
VDD
I/O
I/O
I/O
I/O
—
VDD2
I/O
I/O
I/O
VSS
I/O-WR
I/O
I/O
I/O
I/O
I/O
I/O
I/O
VDD
I/O
I/O
K23
J25
K24
J26
H25
H26
J24
VSS*
G25
—
—
—
H23
—
G26
—
VDD*
H24
—
—
—
—
F25
G23
F26
G24
VSS*
E25
E26
—
F24
D25
—
—
E23
VDD*
D26
E24
N33
N32
N31
N30
M34
M33
M31
VSS*
M30
L34
L33
L31
L30
K34
K33
K32
VDD*
K31
K30
J34
J33
—
VDD2
J32
J31
J30
VSS*
H34
H33
H31
H30
G34
G33
G31
G30
VDD*
F34
F32
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
OR3LP26B Pad
* These pads are connected to a power plane in the package rather than to a particular pin. The entry's location in the table indicates the position of the power pad relative to nearby signal pads.
† Pins marked No Connect must be left unconnected.
‡ These pins are connected to a power plane in the package rather than to a particular pad.
Lucent Technologies Inc.
Lattice Semiconductor
163
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
Pin Information (continued)
Table 70. Pinout Information (continued)
Function
PBGA 352
PBGAM 680
PR1C
PR1D
VSS
PRD_CFGN
VDD
VSS
VDD
VSS
PT28D
PT28C
PT28B
PT28A
VDD
PT27D
PT27C
PT27B
PT27A
PT26D
PT26C
PT26B
PT26A
VSS
PT25D
PT25C
PT25B
PT25A
PT24D
PT24C
PT24B
PT24A
VSS
PT23D
VDD2
PT23C
PT23B
PT23A
PT22D
PT22C
I/O
I/O
VSS
RD_CFGN
VDD
VSS
VDD
VSS
I/O-SECKUR
I/O
I/O
I/O
VDD
I/O
I/O
I/O
I/O-RDY/RCLK
I/O
I/O
I/O
I/O
VSS
I/O
I/O
I/O
I/O
I/O-D7
I/O
I/O
I/O
VSS
—
VDD2
I/O
I/O
I/O
I/O
I/O
C25
D24
VSS*
C26
VDD*
VSS*
VDD*
VSS*
A25
B24
A24
B23
VDD*
C23
—
—
A23
B22
D22
—
C22
VSS*
A22
B21
D20
C21
A21
B20
A20
C20
VSS*
—
B19
D18
A19
—
C19
—
F31
E33
VSS*
D34
VDD*
VSS*
VDD*
VSS*
A31
A30
C29
B29
VDD*
A29
E28
D28
B28
A28
E27
D27
B27
VSS*
A27
E26
D26
C26
B26
A26
E25
D25
VSS*
—
VDD2
C25
B25
A25
E24
D24
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
OR3LP26B Pad
* These pads are connected to a power plane in the package rather than to a particular pin. The entry's location in the table indicates the position of the power pad relative to nearby signal pads.
† Pins marked No Connect must be left unconnected.
‡ These pins are connected to a power plane in the package rather than to a particular pad.
164
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Pin Information (continued)
Table 70. Pinout Information (continued)
Function
PBGA 352
PBGAM 680
PT22B
PT22A
VSS
PT21D
PT21C
PT21B
PT21A
PT20D
PT20C
PT20B
PT20A
VDD
PT19D
PT19C
PT19B
PT19A
PT18D
VDD2
PT18C
PT18B
PT18A
VDD
PT17D
PT17C
PT17B
PT17A
PT16D
PT16C
PT16B
PT16A
VSS
PECKT
PT15D
PT15C
VDD2
PT15B
PT15A
VSS
I/O
I/O
VSS
I/O
I/O
I/O
I/O
I/O-D6
I/O
I/O
I/O
VDD
I/O
I/O
I/O
I/O
I/O
VDD2
I/O
I/O
I/O-D5
VDD
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O-D4
VSS
I-ECKT
—
I/O
VDD2
I/O
I/O-D3
VSS
—
—
VSS*
B18
—
—
A18
B17
—
—
C18
VDD*
A17
—
—
D17
B16
—
—
—
C17
VDD*
A16
—
—
B15
A15
—
—
C16
VSS*
B14
—
D15
—
A14
C15
VSS*
B24
A24
VSS*
E23
D23
B23
A23
E22
D22
C22
B22
VDD*
A22
E21
D21
C21
—
VDD2
B21
A21
E20
VDD*
D20
B20
A20
E19
D19
B19
A19
E18
VSS*
D18
—
—
VDD2
C18
A18
VSS*
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
OR3LP26B Pad
* These pads are connected to a power plane in the package rather than to a particular pin. The entry's location in the table indicates the position of the power pad relative to nearby signal pads.
† Pins marked No Connect must be left unconnected.
‡ These pins are connected to a power plane in the package rather than to a particular pad.
Lucent Technologies Inc.
Lattice Semiconductor
165
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
Pin Information (continued)
Table 70. Pinout Information (continued)
Function
PBGA 352
PBGAM 680
PT14D
PT14C
PT14B
VDD2
PT14A
VSS
PT13D
PT13C
PT13B
PT13A
PT12D
PT12C
PT12B
PT12A
VDD
PT11D
PT11C
PT11B
PT11A
PT10D
PT10C
PT10B
PT10A
VDD
PT9D
VDD2
PT9C
PT9B
PT9A
PT8D
PT8C
PT8B
PT8A
VSS
PT7D
PT7C
PT7B
PT7A
I/O
I/O
—
VDD2
I/O-D2
VSS
I/O-D1
I/O
I/O
I/O
I/O
I/O
I/O
I/O-D0-DIN
VDD
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O-DOUT
VDD
I/O
VDD2
I/O
I/O
I/O
I/O
I/O
I/O
I/O
VSS
I/O
I/O
I/O
I/O
B13
D13
—
A13
C14
VSS*
B12
—
—
C13
A12
—
—
B11
VDD*
C12
—
—
A11
D12
—
—
B10
VDD*
C11
—
—
—
A10
D10
—
—
B9
VSS*
C10
—
—
A9
A17
B17
—
VDD2
C17
VSS*
D17
E17
A16
B16
D16
E16
A15
B15
VDD*
D15
E15
A14
B14
C14
D14
E14
A13
VDD*
—
VDD2
B13
C13
D13
E13
A12
B12
D12
VSS*
E12
A11
B11
D11
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
OR3LP26B Pad
* These pads are connected to a power plane in the package rather than to a particular pin. The entry's location in the table indicates the position of the power pad relative to nearby signal pads.
† Pins marked No Connect must be left unconnected.
‡ These pins are connected to a power plane in the package rather than to a particular pad.
166
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Pin Information (continued)
Table 70. Pinout Information (continued)
Function
PBGA 352
PBGAM 680
PT6D
PT6C
PT6B
PT6A
VSS
PT5D
PT5C
PT5B
PT5A
VDD2
PT4D
PT4C
PT4B
PT4A
VSS
PT3D
PT3C
PT3B
PT3A
PT2D
PT2C
PT2B
PT2A
VDD
PT1D
PT1C
PT1B
PT1A
VSS
PRD_DATA
VDD
VDD2
‡
‡
‡
‡
‡
‡
I/O
I/O
I/O
I/O-TDI
VSS
I/O
I/O
I/O
—
VDD2
I/O
I/O
I/O
I/O-TMS
VSS
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
VDD
I/O
I/O
I/O
I/O-TCK
VSS
RD_DATA/TDO
VDD
VDD2
VDD
VDD
VDD
VDD
VDD
VDD
B8
—
—
A8
VSS*
C9
B7
D8
—
A7
C8
B6
D7
A6
VSS*
C7
—
—
B5
A5
C6
B4
D5
VDD*
A4
C5
B3
C4
VSS*
A3
VDD*
—
—
—
—
—
—
—
E11
A10
B10
C10
VSS*
D10
E10
A9
—
VDD2
B9
C9
D9
E9
VSS*
A8
B8
D8
E8
A7
B7
D7
E7
VDD*
A6
C6
D6
B5
VSS*
A4
VDD*
VDD2
—
A3
A32
—
B3
B4
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
OR3LP26B Pad
* These pads are connected to a power plane in the package rather than to a particular pin. The entry's location in the table indicates the position of the power pad relative to nearby signal pads.
† Pins marked No Connect must be left unconnected.
‡ These pins are connected to a power plane in the package rather than to a particular pad.
Lucent Technologies Inc.
Lattice Semiconductor
167
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
Pin Information (continued)
Table 70. Pinout Information (continued)
Function
PBGA 352
PBGAM 680
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
VDD
VDD
VDD
VDD
VDD
VDD
VDD
VDD
VDD
VDD
VDD
VDD
VDD
VDD
VDD
VDD
VDD
VDD
VDD
VDD
VDD
VDD
VDD
VDD
VDD
VDD
VDD
VDD
VDD
VDD
VDD
VDD
VDD
VDD
VDD
VDD
VDD
VDD
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
D6
D11
D16
D21
—
—
—
—
—
F4
F23
L4
L23
T4
T23
AA4
AA23
—
—
—
—
B31
B32
C1
C2
C4
C7
C11
C15
C20
C24
C28
C31
C33
C34
D2
D3
—
—
—
—
—
—
D32
D33
G3
G32
L3
L32
R3
R32
Y3
Y32
AD3
AD32
AH3
AH32
AL2
AL3
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
OR3LP26B Pad
* These pads are connected to a power plane in the package rather than to a particular pin. The entry's location in the table indicates the position of the power pad relative to nearby signal pads.
† Pins marked No Connect must be left unconnected.
‡ These pins are connected to a power plane in the package rather than to a particular pad.
168
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Pin Information (continued)
Table 70. Pinout Information (continued)
Function
PBGA 352
PBGAM 680
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
VDD
VDD
VDD
VDD
VDD
VDD
VDD
VDD
VDD
VDD
VDD
VDD
VDD
VDD
VDD
VDD
VDD
VDD
VDD
VDD
VDD
VDD
VDD
VDD
VDD
VDD
VDD
VDD
VDD2
VDD2
VDD2
VDD2
VDD2
VDD2
VDD2
VDD2
VDD2
VDD2
—
AC6
AC11
AC16
AC21
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
AL32
AL33
AM1
AM2
AM4
AM7
AM11
AM15
AM20
AM24
AM28
AM31
AM33
AM34
AN3
AN4
AN31
AN32
—
AP3
AP32
—
C5
C30
D5
D30
E3
E4
E5
E6
E29
E30
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
OR3LP26B Pad
* These pads are connected to a power plane in the package rather than to a particular pin. The entry's location in the table indicates the position of the power pad relative to nearby signal pads.
† Pins marked No Connect must be left unconnected.
‡ These pins are connected to a power plane in the package rather than to a particular pad.
Lucent Technologies Inc.
Lattice Semiconductor
169
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
Pin Information (continued)
Table 70. Pinout Information (continued)
Function
PBGA 352
PBGAM 680
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
VDD2
VDD2
VDD2
VDD2
VDD2
VDD2
VDD2
VDD2
VDD2
VDD2
VDD2
VDD2
VDD2
VDD2
VDD2
VDD2
VDD2
VDD2
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VSS
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
A1
A2
—
—
—
—
—
—
—
A26
—
B2
B25
B26
—
C3
—
—
—
—
E31
E32
F5
F30
AJ5
AJ30
AK3
AK4
AK5
AK6
AK29
AK30
AK31
AK32
AL5
AL30
AM5
AM30
A1
A2
—
—
—
—
—
—
A33
A34
B1
B2
B33
B34
—
C3
C8
C12
C16
C19
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
OR3LP26B Pad
* These pads are connected to a power plane in the package rather than to a particular pin. The entry's location in the table indicates the position of the power pad relative to nearby signal pads.
† Pins marked No Connect must be left unconnected.
‡ These pins are connected to a power plane in the package rather than to a particular pad.
170
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Pin Information (continued)
Table 70. Pinout Information (continued)
Function
PBGA 352
PBGAM 680
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VSS
—
—
C24
—
D4
D9
D14
D19
D23
—
—
H4
J23
—
—
N4
P23
—
—
V4
W23
—
—
AC4
AC8
AC13
AC18
AC23
—
AD3
—
—
—
—
—
—
AD24
C23
C27
C32
—
D4
—
—
—
D31
H3
H32
M3
M32
T3
T32
—
—
W3
W32
AC3
AC32
AG3
AG32
AL4
—
—
—
AL31
—
AM3
AM8
AM12
AM16
AM19
AM23
AM27
AM32
—
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
OR3LP26B Pad
* These pads are connected to a power plane in the package rather than to a particular pin. The entry's location in the table indicates the position of the power pad relative to nearby signal pads.
† Pins marked No Connect must be left unconnected.
‡ These pins are connected to a power plane in the package rather than to a particular pad.
Lucent Technologies Inc.
Lattice Semiconductor
171
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
Pin Information (continued)
Table 70. Pinout Information (continued)
Function
PBGA 352
PBGAM 680
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VDD2
VDD2
VDD2
VDD2
VSS
VSS
VSS
VSS
VSS
VSS
VDD2
VDD2
VDD2
VDD2
VSS
VSS
VSS
VSS
AE1
AE2
—
—
AE25
—
AF1
—
—
—
—
—
—
—
—
AF25
AF26
L11
L12
L13
—
—
—
—
L14
L15
L16
M11
M12
M13
—
—
—
—
M14
M15
M16
N11
AN1
AN2
—
—
AN33
AN34
AP1
AP2
—
—
—
—
—
—
—
AP33
AP34
N13
N14
N15
N16
N17
N18
N19
N20
N21
N22
P13
P14
P15
P16
P17
P18
P19
P20
P21
P22
R13
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
OR3LP26B Pad
* These pads are connected to a power plane in the package rather than to a particular pin. The entry's location in the table indicates the position of the power pad relative to nearby signal pads.
† Pins marked No Connect must be left unconnected.
‡ These pins are connected to a power plane in the package rather than to a particular pad.
172
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Pin Information (continued)
Table 70. Pinout Information (continued)
Function
PBGA 352
PBGAM 680
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
VSS
VSS
VDD2
VDD2
VDD2
VDD2
VSS
VSS
VSS
VDD2
VDD2
VDD2
VSS
VSS
VSS
VSS
VDD2
VDD2
VDD2
VDD2
VDD2
VDD2
VSS
VSS
VSS
VSS
VDD2
VDD2
VDD2
VDD2
VDD2
VDD2
VSS
VSS
VSS
VSS
VDD2
VDD2
N12
N13
—
—
—
—
N14
N15
N16
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
R14
R15
R16
R17
R18
R19
R20
R21
R22
T13
T14
T15
T16
T17
T18
T19
T20
T21
T22
U13
U14
U15
U16
U17
U18
U19
U20
U21
U22
V13
V14
V15
V16
V17
V18
V19
V20
V21
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
OR3LP26B Pad
* These pads are connected to a power plane in the package rather than to a particular pin. The entry's location in the table indicates the position of the power pad relative to nearby signal pads.
† Pins marked No Connect must be left unconnected.
‡ These pins are connected to a power plane in the package rather than to a particular pad.
Lucent Technologies Inc.
Lattice Semiconductor
173
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
Pin Information (continued)
Table 70. Pinout Information (continued)
Function
PBGA 352
PBGAM 680
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
‡
VDD2
VDD2
VDD2
VDD2
VSS
VSS
VSS
VSS
VDD2
VDD2
VDD2
VSS
VSS
VSS
VDD2
VDD2
VDD2
VDD2
VSS
VSS
VSS
VSS
VSS
VSS
VDD2
VDD2
VDD2
VDD2
VSS
VSS
VSS
VSS
VSS
VSS
VDD2
VDD2
VDD2
VDD2
—
—
—
—
—
—
—
—
—
—
—
P11
P12
P13
—
—
—
—
P14
P15
P16
R11
R12
R13
—
—
—
—
R14
R15
R16
T11
T12
T13
—
—
—
—
V22
W13
W14
W15
W16
W17
W18
W19
W20
W21
W22
Y13
Y14
Y15
Y16
Y17
Y18
Y19
Y20
Y21
Y22
AA13
AA14
AA15
AA16
AA17
AA18
AA19
AA20
AA21
AA22
AB13
AB14
AB15
AB16
AB17
AB18
AB19
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
OR3LP26B Pad
* These pads are connected to a power plane in the package rather than to a particular pin. The entry's location in the table indicates the position of the power pad relative to nearby signal pads.
† Pins marked No Connect must be left unconnected.
‡ These pins are connected to a power plane in the package rather than to a particular pad.
174
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Pin Information (continued)
Table 70. Pinout Information (continued)
OR3LP26B Pad
Function
PBGA 352
PBGAM 680
‡
‡
‡
VSS
VSS
VSS
T14
T15
T16
AB20
AB21
AB22
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
* These pads are connected to a power plane in the package rather than to a particular pin. The entry's location in the table indicates the position of the power pad relative to nearby signal pads.
† Pins marked No Connect must be left unconnected.
‡ These pins are connected to a power plane in the package rather than to a particular pad.
Lucent Technologies Inc.
Lattice Semiconductor
175
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Package Thermal Characteristics
Summary
There are three thermal parameters that are in common use: ΘJA, ψJC, and ΘJC. It should be noted that all
the parameters are affected, to varying degrees, by
package design (including paddle size) and choice of
materials, the amount of copper in the test board or
system board, and system airflow.
ΘJC
This is the thermal resistance from junction to case. It
is most often used when attaching a heat sink to the
top of the package. It is defined by:
TJ – TC
Θ JC = ------------------Q
The parameters in this equation have been defined
above. However, the measurements are performed
with the case of the part pressed against a watercooled heat sink to draw most of the heat generated by
the chip out the top of the package. It is this difference
in the measurement process that differentiates ΘJC
from ψJC. ΘJC is a true thermal resistance and is
expressed in units of °C/W.
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
ΘJA
Data Sheet
April 2002
This is the thermal resistance from junction to ambient
(theta-JA, R-theta, etc.).
TJ – TA
Θ JA = ------------------Q
where TJ is the junction temperature, TA is the ambient
air temperature, and Q is the chip power.
Experimentally, ΘJA is determined when a special thermal test die is assembled into the package of interest,
and the part is mounted on the thermal test board. The
diodes on the test chip are separately calibrated in an
oven. The package/board is placed either in a JEDEC
natural convection box or in the wind tunnel, the latter
for forced convection measurements. A controlled
amount of power (Q) is dissipated in the test chip’s
heater resistor, the chip’s temperature (TJ) is determined by the forward drop on the diodes, and the ambient temperature (TA) is noted. Note that ΘJA is
expressed in units of °C/W.
ψJC
This is the thermal resistance from junction to board
(ΘJB). It is defined by:
TJ – TB
Θ JB = ------------------Q
where TB is the temperature of the board adjacent to a
lead measured with a thermocouple. The other parameters on the right-hand side have been defined above.
This is considered a true thermal resistance, and the
measurement is made with a water-cooled heat sink
pressed against the board to draw most of the heat out
of the leads. Note that ΘJB is expressed in units of
°C/W, and that this parameter and the way it is measured are still in JEDEC committee.
FPGA Maximum Junction Temperature
This JEDEC designated parameter correlates the junction temperature to the case temperature. It is generally
used to infer the junction temperature while the device
is operating in the system. It is not considered a true
thermal resistance, and it is defined by:
TJ – TC
ψ JC = ------------------Q
where TC is the case temperature at top dead center,
TJ is the junction temperature, and Q is the chip power.
During the ΘJA measurements described above,
besides the other parameters measured, an additional
temperature reading, TC, is made with a thermocouple
attached at top-dead-center of the case. ψJC is also
expressed in units of °C/W.
176
ΘJB
Once the power dissipated by the FPGA has been
determined (see the Estimating Power Dissipation section), the maximum junction temperature of the FPGA
can be found. This is needed to determine if speed derating of the device from the 85 °C junction temperature
used in all of the delay tables is needed. Using the
maximum ambient temperature, TAmax, and the power
dissipated by the device, Q (expressed in °C), the maximum junction temperature is approximated by:
TJmax = TAmax + (Q • ΘJA)
Table 71 lists the thermal characteristics for all packages used with the ORCA OR3LP26B Series of
FPGAs.
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Package Thermal Characteristics Summary (continued)
Table 71. ORCA OR3LP26B Plastic Package Thermal Guidelines
ΘJA (°C/W)
Package*
352-Pin PBGA† ‡
680-Pin PBGAM† ‡
0 fpm
200 fpm
500 fpm
TA = 70 °C Max
TJ = 125 °C Max
0 fpm (W)
19.0
14.5
16.0
TBD
15.0
TBD
2.9
3.8
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
* Mounted on a four-layer JEDEC standard test board with two power/ground planes.
† With thermal balls connected to board ground plane.
‡ The value of ψJC for all packages is <1 °C/W.
Package Coplanarity
The coplanarity limits of the ORCA Series 3 packages are as follows.
Table 72. Package Coplanarity
Package Type
Coplanarity Limit
(mils)
PBGA
PBGAM
8.0
8.0
Lucent Technologies Inc.
Lattice Semiconductor
177
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
Package Parasitics
The electrical performance of an IC package, such as signal quality and noise sensitivity, is directly affected by the
package parasitics. Table 73 lists eight parasitics associated with the ORCA packages. These parasitics represent
the contributions of all components of a package, which include the bond wires, all internal package routing, and
the external leads.
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Four inductances in nH are listed: LSW and LSL, the self-inductance of the lead; and LMW and LML, the mutual
inductance to the nearest neighbor lead. These parameters are important in determining ground bounce noise and
inductive crosstalk noise. Three capacitances in pF are listed: CM, the mutual capacitance of the lead to the nearest neighbor lead; and C1 and C2, the total capacitance of the lead to all other leads (all other leads are assumed
to be grounded). These parameters are important in determining capacitive crosstalk and the capacitive loading
effect of the lead. The lead resistance value, RW, is in mΩ.
The parasitic values in Table 73 are for the circuit model of bond wire and package lead parasitics. If the mutual
capacitance value is not used in the designer’s model, then the value listed as mutual capacitance should be
added to each of the C1 and C2 capacitors.
Table 73. Package Parasitics
Package Type
352-Pin PBGA
680-Pin EBGA
LSW
LMW
C1
(pF)
C2
(pF)
CM
(pF)
LML
(nH)
RW
Ω)
(mΩ
LSL
(nH)
(nH)
(nH)
5
3.8
2
1.3
220
250
1.5
1.0
1.5
1.0
1.5
0.3
7—12
2.8—5.0
3—6
0.5—1.0
LSW
RW
LSL
BOARD PAD
PAD N
C1
LMW CM
C2
LML
PAD N + 1
LSW
RW
LSL
C1
C2
5-3862(F).a
Figure 66. Package Parasitics
178
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Package Outline Diagrams
Terms and Definitions
The basic size of a dimension is the size from which the limits for that dimension are derived
by the application of the allowance and the tolerance.
Design Size:
The design size of a dimension is the actual size of the design, including an allowance for fit
and tolerance.
Typical (TYP):
When specified after a dimension, this indicates the repeated design size if a tolerance is
specified or repeated basic size if a tolerance is not specified.
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Basic Size (BSC):
Reference (REF):
Minimum (MIN) or
Maximum (MAX):
The reference dimension is an untoleranced dimension used for informational purposes only.
It is a repeated dimension or one that can be derived from other values in the drawing.
Indicates the minimum or maximum allowable size of a dimension.
Lucent Technologies Inc.
Lattice Semiconductor
179
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
Package Outline Diagrams (continued)
352-Pin PBGA
Dimensions are in millimeters.
35.00 ± 0.20
+0.70
30.00 –0.00
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
A1 BALL
IDENTIFIER ZONE
30.00
+0.70
–0.00
35.00
± 0.20
MOLD
COMPOUND
PWB
1.17 ± 0.05
0.56 ± 0.06
2.33 ± 0.21
SEATING PLANE
0.20
SOLDER BALL
0.60 ± 0.10
25 SPACES @ 1.27 = 31.75
CENTER ARRAY
FOR THERMAL
ENHANCEMENT
A1 BALL
CORNER
AF
AE
AD
AC
AB
AA
Y
W
V
U
T
R
P
N
M
L
K
J
H
G
F
E
D
C
B
A
0.75 ± 0.15
25 SPACES
@ 1.27 = 31.75
1 2 3 4 5 6 7 8 9 10
12 14 16 18 20 22 24 26
11 13 15 17 19 21 23 25
5-4407(F)
180
Lucent
Technologies
Inc.
Lattice
Semiconductor
Data Sheet
April 2002
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Package Outline Diagrams (continued)
680-Pin PBGA
Dimensions are in millimeters.
35.00
+ 0.70
30.00 – 0.00
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
A1 BALL
IDENTIFIER ZONE
35.00
+ 0.70
30.00 – 0.00
1.170
0.61 ± 0.08
SEATING PLANE
0.20
SOLDER BALL
0.50 ± 0.10
2.51 MAX
33 SPACES @ 1.00 = 33.00
AP
AN
AM
AL
AK
AJ
AH
AG
AF
0.64 ± 0.15
AE
AD
AC
AB
AA
Y
W
33 SPACES
@ 1.00 = 33.00
V
U
T
R
P
N
M
L
K
J
H
G
F
E
D
C
B
A
A1 BALL
CORNER
Lucent Technologies Inc.
Lattice Semiconductor
1
3
2
5
4
7
6
9
8
11 13 15 17 19 21 23 25 27 29 31 33
10 12 14 16 18 20 22 24 26 28 30 32 34
181
ORCA OR3LP26B FPSC
Embedded Master/Target PCI Interface
Data Sheet
April 2002
Ordering Information
OR3L XX X
X XX XXX
XX
Packing Designator
DB = Dry Packed Tray
Device Type
Embedded Core Type
P2 – 32-/64-bit, 33/66MHz PCI bus interface
with 64-bit back-end data path in each direction
Ball Count
FPSC Base Array
6 = OR3L125 Based 18x28 Array
A
D LL
IS
C DE
O
V
N IC
TI
N ES
U
ED
Package Type
BA = Plastic Ball Grid Array (PBGA)
BM = Fine-Pitch Plastic Ball Grid Array (PBGAM)
Device Revision
B = Current Revision
Table 74. Ordering Information
Device Family
OR3LP26B
182
Part Number
OR3LP26BBA352-DB
OR3LP26BBM680-DB
Package
Type
Ball
Count
Packing
Designator
PBGA
PBGAM
352
680
DB
DB
Lucent
Technologies
Inc.
Lattice
Semiconductor