Uploaded by el hannachi Maroua

FULLTEXT01

advertisement
LiU-ITN-TEK-A--19/012--SE
Design and implementation of a
high-speed PCI-Express bridge
Mandus Börjesson
Håkan Gerner
2019-06-05
Department of Science and Technology
Linköping University
SE- 6 0 1 7 4 No r r köping , Sw ed en
Institutionen för teknik och naturvetenskap
Linköpings universitet
6 0 1 7 4 No r r köping
LiU-ITN-TEK-A--19/012--SE
Design and implementation of a
high-speed PCI-Express bridge
Examensarbete utfört i Elektroteknik
vid Tekniska högskolan vid
Linköpings universitet
Mandus Börjesson
Håkan Gerner
Handledare Qin-Zhong Ye
Examinator Adriana Serban
Norrköping 2019-06-05
Upphovsrätt
Detta dokument hålls tillgängligt på Internet – eller dess framtida ersättare –
under en längre tid från publiceringsdatum under förutsättning att inga extraordinära omständigheter uppstår.
Tillgång till dokumentet innebär tillstånd för var och en att läsa, ladda ner,
skriva ut enstaka kopior för enskilt bruk och att använda det oförändrat för
ickekommersiell forskning och för undervisning. Överföring av upphovsrätten
vid en senare tidpunkt kan inte upphäva detta tillstånd. All annan användning av
dokumentet kräver upphovsmannens medgivande. För att garantera äktheten,
säkerheten och tillgängligheten finns det lösningar av teknisk och administrativ
art.
Upphovsmannens ideella rätt innefattar rätt att bli nämnd som upphovsman i
den omfattning som god sed kräver vid användning av dokumentet på ovan
beskrivna sätt samt skydd mot att dokumentet ändras eller presenteras i sådan
form eller i sådant sammanhang som är kränkande för upphovsmannens litterära
eller konstnärliga anseende eller egenart.
För ytterligare information om Linköping University Electronic Press se
förlagets hemsida http://www.ep.liu.se/
Copyright
The publishers will keep this document online on the Internet - or its possible
replacement - for a considerable time from the date of publication barring
exceptional circumstances.
The online availability of the document implies a permanent permission for
anyone to read, to download, to print out single copies for your own use and to
use it unchanged for any non-commercial research and educational purpose.
Subsequent transfers of copyright cannot revoke this permission. All other uses
of the document are conditional on the consent of the copyright owner. The
publisher has taken technical and administrative measures to assure authenticity,
security and accessibility.
According to intellectual property law the author has the right to be
mentioned when his/her work is accessed as described above and to be protected
against infringement.
For additional information about the Linköping University Electronic Press
and its procedures for publication and for assurance of document integrity,
please refer to its WWW home page: http://www.ep.liu.se/
© Mandus Börjesson , Håkan Gerner
Abstract
This master thesis will cover the prestudy, hardware selection, design and implementation of a PCI Express bridge in the M.2 form factor. The thesis subject was proposed
by WISI Norden who wished to extend the functionality of their hardware using an M.2
module.
The bridge fits an M-Key M.2 slot and has the dimensions 80x22 mm. It is able to
communicate at speeds up to 8 Gb/s over PCI Express and 200 Mbit/s on any of the 20
LVDS/CMOS pins. The prestudy determined that an FPGA should be used and a Xilinx
Artix-7 device was chosen. A PCB was designed that hosts the FPGA as well as any power,
debugging and other required systems.
Associated proof-of-concept software was designed to verify that the bridge operated
as expected. The software proves that the bridge works but requires improvement before
the bridge can be used to translate sophisticated protocols.
The bridge works, with minor hardware modifications, as expected. It fulfills all design requirements set in the master thesis and the FPGA firmware uses a well-established
protocol, making further development easier.
Acknowledgments
We would like to thank the supervisor and examiner who took part in this Master thesis.
Your feedback has proven valuable throughout the entire thesis work, not only helping us
overcome obstacles but also helping us improve the quality of the final report.
We are grateful of our fellow students who helped motivate us, gave valuable input and were
always eager to discuss ways to overcome our engineering challenges.
We also wish to extend a special thank you to our mentor Jonas Åberg. You have shared your
many years of experience in hardware design and helped us boost the quality of the project
beyond our expectations.
ii
Contents
Abstract
i
Acknowledgments
ii
Contents
iii
List of Figures
v
List of Tables
1 Introduction
1.1 Aim . . . . . . . . . .
1.2 Background . . . . .
1.3 Research questions .
1.4 Design requirements
1.5 Delimitations . . . .
vii
.
.
.
.
.
1
1
2
3
3
4
2 Prestudy
2.1 System sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Possible solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
5
6
3 Selection of hardware
3.1 FPGA selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Non-volatile memory selection . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3 Regulator selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
10
13
13
4 System Description
4.1 M.2 Connector . . . . . . . . .
4.2 FPGA . . . . . . . . . . . . . .
4.3 Programming and debugging
4.4 Power management . . . . . .
4.5 External connectors . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
16
16
17
18
19
21
5 Hardware design and implementation
5.1 Stackup and design rules . . . . . . . . .
5.2 M.2 connector . . . . . . . . . . . . . . .
5.3 FPGA configuration banks . . . . . . . .
5.4 FPGA I/O banks . . . . . . . . . . . . .
5.5 FPGA transceivers and PCI Express nets
5.6 Power management . . . . . . . . . . . .
5.7 Programming and debugging interface
5.8 Decoupling . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
22
22
24
25
26
26
26
30
31
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
6 Manufacturing
33
iii
6.1
6.2
6.3
Bill of materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Assembly and soldering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tests and inspection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7 Software
7.1 EEPROM memory verification
7.2 Flash memory interfacing . . .
7.3 FPGA firmware . . . . . . . . .
7.4 Platform application . . . . . .
33
33
33
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
37
37
38
41
43
8 Results
8.1 PCB Layout . . . . . . . . . . . . . .
8.2 Bridge performance . . . . . . . . . .
8.3 Summary of hardware modifications
8.4 Software design . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
44
44
45
46
47
9 Discussion and conclusion
9.1 Design requirements and research questions . . . . . . . . . . . . . . . . . . . .
9.2 Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
49
49
49
Bibliography
51
.
.
.
.
.
.
.
.
iv
List of Figures
2.1
2.2
2.3
2.4
High level sketch of the system. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
System sketch of the solution using a CPU with native PCI Express support. . . . .
System sketch of the solution when using a CPU without native support for PCI
Express. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
System sketch of the solution when using a FPGA. . . . . . . . . . . . . . . . . . . .
7
8
3.1
Total accumulated price for N number of units, assuming 100 units/year. . . . . .
12
4.1
4.2
4.3
4.4
4.5
4.6
4.7
System layout on the M.2 module. . . . . . . . . .
M.2 connector system connections. . . . . . . . . .
FPGA system connections. . . . . . . . . . . . . . .
Programming and debugging system connections.
Power management system connections. . . . . .
Power hierarchy option considered in the design.
M.2 connector system connections. . . . . . . . . .
.
.
.
.
.
.
.
16
17
17
19
19
20
21
5.1
5.2
23
5.4
5.5
5.6
5.7
5.8
5.9
Illustration of design rules used during layout. . . . . . . . . . . . . . . . . . . . . .
Open-drain logic level conversion. HV indicates High (3.3 V) logic level, LV indicates low (1.8 V) logic level. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Layout surrounding the M.2 connector on the top layer of the PCB. Notice the
fencing and return path vias as well as the ground plane (yellow) on the layer
below the PCI Express lanes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fanout of the SPI and JTAG nets (highlighted) under the Artix-7. . . . . . . . . . .
Power-on sequencing using RC networks. . . . . . . . . . . . . . . . . . . . . . . . .
I/O voltage sequencing and selectable I/O voltage solution. . . . . . . . . . . . . .
Characteristic change of capacitance according to DC-voltage. . . . . . . . . . . . .
Artix-7 FPGA power pin mapping. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Programming and debugging interface with related components marked. . . . . .
25
25
27
28
29
30
31
6.1
6.2
6.3
Load switch schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Reference clock differential signal measured on the bridge. . . . . . . . . . . . . . .
PCI Express link lists the capabilities of the bridge. . . . . . . . . . . . . . . . . . . .
34
36
36
7.1
7.2
38
7.3
7.4
7.5
7.6
7.7
Console output after a successful write to the EEPROM. . . . . . . . . . . . . . . . .
Enumeration of the SMBus of the bridge. Notice the SMBus-SPI bridge at ’0x28’
and the EEPROM at ’0x50’ and ’0x51’. . . . . . . . . . . . . . . . . . . . . . . . . . .
Ideal SPI data transfer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SPI data transfer using the built-in CS pin feature. . . . . . . . . . . . . . . . . . . .
Final SPI data transfer implementation. . . . . . . . . . . . . . . . . . . . . . . . . .
Overview of the VHDL block design. . . . . . . . . . . . . . . . . . . . . . . . . . . .
Platform application writing to register and validates its value. . . . . . . . . . . .
38
39
40
40
41
43
8.1
Layout – Top Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
44
5.3
v
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
6
6
24
8.2
8.3
8.4
8.5
8.6
8.7
Layout – Inner Layer 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Layout – Inner Layer 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Layout – Bottom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Output signal at 100 MHz. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Output signal at 200 MHz. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
the nPor fix. Right: Altium designer screenshot with the modifications, Left: Same
modification on the PCB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.8 The CLKREQ fix. Right: Altium designer screenshot with the modification, Left:
Same modification on the PCB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.9 Signals; TX ready, data request, data in, data out, clock and state. . . . . . . . . . .
8.10 Output signals; data and clock. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
vi
45
45
45
46
46
47
47
48
48
List of Tables
1.1
PCI Express transfer characteristics. . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1
3.2
3.3
3.4
Product series candidates. . . . . . . . . . . . . . . .
Selected devices from the different product families.
Artix-7 - Recommended DC and AC characteristics.
Texas Instruments LM26480 internal regulators. . .
.
.
.
.
10
11
14
15
4.1
4.2
Current flow and power loss in hierarchy option A. . . . . . . . . . . . . . . . . . .
Current flow and power loss in hierarchy option B. . . . . . . . . . . . . . . . . . .
21
21
5.1
5.2
5.3
5.4
5.5
23
24
27
28
5.6
JLC7628 layer stackup. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Routing rules used during the design of the bridge. . . . . . . . . . . . . . . . . . .
Optimum and designed power-on sequence for the different power nets. . . . . . .
Regulator SET_IO state to voltage relation. . . . . . . . . . . . . . . . . . . . . . . .
Calculated values for Peak Current through the inductor and voltage ripple on
the output, using: Vin = 3.3V, η = 0.85, Iout,max = 0.8A, Cout = 10µF, L = 2.2µH,
f = 2MHz. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Artix-7 Decoupling network for XC7A12T and XC7A35T . . . . . . . . . . . . . . .
8.1
Summary of bridge dimensions and performance . . . . . . . . . . . . . . . . . . .
44
vii
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2
29
31
List of Tables
Abbreviations
Abbreviation
AC
BGA
BOM
DC
CAD
CLK
CMOS
CPU
DLL
DSP
EEPROM
ESR
FPGA
GPIO
GT/s
I2 C
I/O
IDE
IP
JTAG
LDO
LE
LUT
LVDS
MCU
MISO
MMCM
MOSI
NC
NO
NVS
PCB
PCI Express
PHY
PISO
PLL
PMIC
RAM
SerDes
SIPO
SMBus
SMPS
SPI
SPDT
SSI
SSTL
TL
TLP
TTL
UI
USB
VHDL
Meaning
Alternating Current
Ball Grid Array
Bill Of Materials
Direct Current
Computer Aided Design
Clock
Complementary Metal Oxide Semiconductor
Central Processing Unit
Data link layer
Digital Signal Processor
Electronically Erazable Programmable Read Only Memory
Equivalent Series Resistance
Field Programmable Gate Array
General Purpose Input/Output
Gigatransfers per second
Inter-Integrated Circuit
Input/Output
Integrated Development Environment
Intellectual Property
Joint Test Action Group
Low Drop-Out regulator
Logic Elements
Look-Up Table
Low Voltage Differential Signaling
Micro Controller Unit
Master In Slave Out
Mixed-Mode Clock Manager
Master Out Slave In
Normally Closed
Normally Open
Non-Volatile Storage
Printed Circuit Board
Peripheral Component Interconnect Express
PHYsical
Parallel In - Serial Out
Phase-Locked Loop
Power Management Integrated Circuit
Random Access Memory
Serializer/Deserializer
Serial In - Parallel Out
System Management Bus
Switch-Mode Power Supply
Serial Peripheral Interface
Single Pole Double Throw
Synchronous Serial Interface
Stub-Series Terminated Logic
Transaction Layer
Transaction Layer Package
Transistor-Transistor Logic
Unit interval
Universal Serial Bus
Very High-speed Integrated Circuit Hardware Description Language
1
Introduction
As modern technology develops, high-speed interfaces and expandable design are becoming
more prominent. Currently, one of the most widespread standards for expansion modules in
personal computers is the Peripheral Component Interconnect Express (PCI Express) interface.
The interface is usually accessible through expansion slots on the device and is, for example,
used to improve performance or allow communication over interfaces that are not natively
supported. Examples of modules that typically fit in expansion slots are hard drives, graphics
processors, and ethernet cards.
While a variety of boards which extend the functionality of master devices through the
M.2 connector already exist, most of them are focused on hardware acceleration of algorithms
with limited connectivity options. They, therefore, lack the necessary outputs needed to interface with other hardware. The main objective of this project is to add interface functionality
to PCI Express capable devices with adaptability and upgradability in mind.
The purpose of this Master Thesis’s work is to create an expansion board to extend the
functionality of WISI Norden’s current hardware. WISI Norden provides services for distribution of TV transmissions. They are currently using hardware that features an M.2 connector
with a PCI Express interface. Throughout the report, two words will be used frequently when
referring to the different hardware:
• Bridge refers to the the final product of the master thesis. This includes the PCB and
components mounted on it as well as any software written.
• Platform refers to the board or contact that the bridge is supposed to be connected to.
The bridge should act as a translator between PCI Express and any other protocol defined
by the user. In other words, PCI Express is converted to a protocol and transmitted. If any
messages are received, they are converted to PCI Express and sent to the platform.
1.1
Aim
The purpose of the master thesis is to design and implement a bridge that enables communication with hardware that does not have native PCI Express support. The bridge should
convert PCI Express to Low Voltage Differential Signaling (LVDS) and/or CMOS-logic. LVDS
and CMOS covers the most frequently used solutions for communicating between different
1
1.2. Background
hardware; differential and single-ended. Furthermore, the (CMOS/LVDS) side should be
easily re-configurable in order to support different types, amounts and combinations of interfaces.
1.2
Background
This section will describe the theoretical background which is most relevant for understanding the general concepts regarding the M.2 standard as well as the PCI Express protocol.
M.2 connector
M.2 is a specification for connectors associated to computer mounted expansions cards. It
defines a standard for physical dimensions. It also defines different keying-notches in order
to prevent cards from being used in incompatible hosts. The M.2 standard is available in
different configurations which are capable of PCI Express Gen 3.0, USB 3.0 and Serial ATA
3.0.
The PCI Express protocol
PCI Express is an interface designed for expansion boards such as video-, sound- and ethernet cards. It consists of one or multiple data lanes, where each lane can transfer data in both
directions. Multiple data lanes can be utilized to improve the data throughput of a PCI Express link. However, more lanes correspond to a larger footprint and more complex design.
Transfer rates of the standard are seen in Table 1.1.
Table 1.1: PCI Express transfer characteristics.
Standard version
Transfer rate
PCI Express 1.0
PCI Express 2.0
PCI Express 3.0
PCI Express 4.0
PCI Express 5.0
2.5 GT/s
5 GT/s
8 GT/s
16 GT/s
32 GT/s
Full duplex bandwidth
x1
x2
250 MB/s 500 MB/s
500 MB/s 1 GB/s
1 GB/s
2 GB/s
2 GB/s
4 GB/s
4 GB/s
8 GB/s
x4
1 GB/s
4 GB/s
4 GB/s
8 GB/s
16 GB/s
The PCI Express interface is communicating through a link between a root-complex (master) and an endpoint (slave) device. The platform that this project is developed against is a
root-complex. Hence, the bridge has to function as an endpoint device.
Layers
PCI Express is a layered protocol which consists of a physical layer, data link layer, and a
transaction layer.
Transaction Layer
PCI Express relies on request and completion transactions to transfer data between devices.
This is the primary task of the Transaction Layer (TL). The layer transmits requests and completion transactions from the logic core and turns them into outgoing PCI Express packets. It
receives incoming transactions from the Data Link Layer (DLL) and sends them to the core.
2
1.3. Research questions
Data Link Layer
The data link layer’s purpose is to detect and correct faults in the PCI Express data transmission. It continually monitors each PCI Express link and checks the data integrity of Transaction
Layer Packets (TLP’s) exchanged by devices.
Physical Layer
The Physical Layer (PHY) refers to the physical properties of the PCI Express link. Upon link
establishment, the highest number of mutual lanes is selected to allow for the maximum compatible data rate. Each lane consists of a unidirectional transmitting and receiving differential
pair, resulting in a total of 4 wires.
The physical layer should be able to determine the clock frequency from the data transmission. PCI Express Gen 1 and 2 utilizes an 8B/10B encoding/decoding scheme which
converts every 8 bits into 10 bits. The additional bits are placed where they generate a sufficient amount of rising and falling edges to properly establish the clock signal. The encoding/decoding scheme adds 20 % to the package overhead. PCI Express Gen 3.0 and above
implement a 128B/130B scheme with scrambling, which is far more efficient at « 1.5 % additional overhead.
1.3
Research questions
The master thesis is based on a set of questions presented below.
1. What are the alternatives to achieving PCI Express to LVDS/CMOS conversion?
2. Which alternative is expected to give the best result considering:
• Signal propagation delay.
• Data throughput.
• Component cost.
• Physical size of the design.
• Complexity.
3. What signal propagation delay and throughput can be expected of the system?
1.4
Design requirements
This section will cover the requirements for the design. The solution that is chosen should
fulfill all of the requirements.
PCI Express interface
The design should be able to interface with at least a PCI Express Gen1 x2 interface, meaning
that there are two data lanes at 2.5 GT/s. Later generations are desirable but not necessary.
The lane configuration (x2) must not change. The design should act as a PCI Express endpoint.
LVDS/CMOS interface
The interface should be able to support both LVDS and CMOS interfaces. The number of
interfaces should be configurable to suit the application. Furthermore, each interface should
be able to transmit data at up to 150 MHz.
3
1.5. Delimitations
Physical size and characteristics
The circuit board should have the dimensions 22x80x0.8 mm, which follows the standard size
of M.2 expansion cards. If the size criteria is not possible to fulfill, the circuit board should
be able to fit in WISI Nordens hardware. The M.2 Connector should be M-key and the PCB
should be 0.8 mm thick.
Power dissipation
The design will be housed in a small area with limited cooling options. The solutions should
not require active cooling.
1.5
Delimitations
The delimitations for this thesis are:
• The firmware for the solution should be seen as a demo-code, meaning all features do
not have to be implemented.
• The CMOS/LVDS side of the bridge does not have to convert PCI Express to a known
protocol, only show the differential/single-ended signals and their correspondence to
the user input.
4
2
Prestudy
The prestudy consists of an analysis of available options that support the previously described functionality. The study includes an investigation of pros and cons with the different
solutions as well as a decision of which of the solutions is to be implemented.
The PCI Express standard and data flow between devices were studied in order to get an
understanding of what solutions were possible. When enough knowledge about the standard
had been gained, different alternatives for achieving the desired functionality were investigated. The alternatives are presented below and compared in order to determine which one
is best suited.
Aspects that weigh into the decision include, but are not limited to:
• The price of components
• Physical size of components
• Complexity of the solution
• Life cycle of key components
• Power requirements
2.1
System sketch
Conversion between PCI Express and CMOS/LVDS can be achieved through different techniques. The focus of the prestudy is to determine the most suitable method of acquiring the
desired result while considering cost, complexity, physical dimensions and longevity.
The data will be transferred to the bridge via a high-speed PCI Express link where the
following actions are performed:
1. PCI Express overhead is stripped from the data and sent as LVDS/CMOS to the recipients over a user-defined protocol.
2. The recipient answers, the overhead is reinserted into the data and sent to the root
complex.
5
2.2. Possible solutions
The bridge should have the ability to communicate with multiple devices with low latency. A sketch of the system is illustrated in Fig. 2.1, where the Bridge block represents the
system that handles the PCI Express to LVDS/CMOS conversion.
Figure 2.1: High level sketch of the system.
The PCI Express endpoint requirement greatly limits the number of available solutions
since a large portion of available devices only supports root complex mode. Moreover, all
alternatives must be able to perform some sort of data manipulation in order to convert data
between the interfaces, further limiting the choices.
One idea was to use a PCI Express switch with multiple hardware bridges. A benefit
of such a solution is that all interfaces would show up as separate endpoints. However,
the concept was discarded since such a solution would be very difficult to reconfigure after
construction and the number of hardware bridges that support different interfaces is limited.
With all things considered, the pool of solutions was reduced to either a Central Processing
Unit (CPU) or a Field Programmable Gate Array (FPGA).
2.2
Possible solutions
The focus of this section is to describe the alternative solutions and their advantages/disadvanteges.
CPU
A CPU is often a good choice when data acquisition and processing is required. They are
proven to work reliably and offer high clock-speeds, which is required for the implementation
of the bridge. A system sketch of a bridge using a CPU is shown in Fig. 2.2. The light
gray block SSI to LVDS/CMOS Bridge symbolizes an optional interface that allows the CPU to
communicate with the external contact, if it is not able to do so directly.
Figure 2.2: System sketch of the solution using a CPU with native PCI Express support.
Many CPUs allow the use of an operating system such as Linux. This means that there
are more alternatives when it comes to programming languages.
6
2.2. Possible solutions
A drawback is that, while many CPUs support PCI Express, few of them can be used
in an endpoint configuration. Two manufacturers that produce endpoint capable CPUs are
Texas Instruments and Broadcomm. Another drawback is that CPUs commonly lack LVDS output functionality. Fortunately, many CPUs feature high-speed serial interfaces such as Quad
SPI that allow them to be connected to external components that can act as LVDS/CMOS
interfaces. The summary of the pros and cons of this system is presented below.
Pros
- Easy to work with.
- Features an operating system
Cons
- Limited availability for endpoint capable CPUs
- Boot time
- Uncommon, limited amount of sources
- Real-time system, possibly introduces latency
- Might requre external hardware on LVDS/CMOS side
- Complexity (design)
PCI Express to PHY interface
If the desired device does not support PCI Express, an Integrated Circuit (IC) with PCI Express
to PHY bridge functionality can be employed between the PCI Express interface and the
computing device, as illustrated in Fig. 2.3.
Figure 2.3: System sketch of the solution when using a CPU without native support for PCI
Express.
The IC is used as an endpoint device to establish a link with the root-complex. It includes
a Serializer/Deserializer (SerDes), consisting of a Parallel In Serial Out (PISO) block and a Serial
In Parallel Out (SIPO) block. The block converts data from a serial to a parallel interface in
both directions.
The use of a PCI Express PHY bridge greatly improves the assortment of available CPUs
as the existing layers within the PCIe standard are software based. However, there are a
limited amount of PHY bridges and the available options from the researched manufacturers
are currently limited to PCI Express Gen 1. The summary of the pros and cons of this system
is presented below.
Pros
- Easy to exchange physical layer
Cons
- Requires PCI Express to PHY IC to operate in
endpoint mode
- Need to implement DLL and TL
- Not possible to upgrade physical layer if
manufacturers stop produce new solutions.
7
2.2. Possible solutions
Programmable logic
Programmable logic, such as FPGAs are commonly used for high-speed applications and
computation acceleration. Many manufacturers offer value-line and low-power FPGAs that
are suited for digital processing. The system sketch when using a FPGA is shown in Fig. 4.3.
Figure 2.4: System sketch of the solution when using a FPGA.
One benefit of using a FPGA is that they usually feature a large amount (100+) of GPIOs
and the majority of them support differential termination options as well as single ended termination. Some FPGAs also feature full hardware support for all PCI Express layers and are
able to behave as endpoints. Due to their nature, a FPGA without hardware PCI Express support can be programmed to support it. The requirement is that they are able to communicate
at PCI Express speeds, for example with the help of a transceiver. The transceiver are used in
conjunction with Intellectual Property (IP) cores that implement the higher layers. While such
a solution is highly configurable, it is at the expense of logic elements in the FPGA.
The boot times are determined by the FPGA configuration size as well as the programming interface speed. As a result, many smaller FPGAs are able to boot faster than the 100
ms start up time criterion described by the PCI Express Base Specification[1].
Since FPGAs are usually programmed to perform very specific tasks, low and predictable
latency is achievable in a FPGA-based system as well as high throughput. Both of these
aspects are desirable since the bridge should allow the root complex to communicate with
multiple LVDS/CMOS interfaces at high speeds.
The main benefit compared to other solutions is that FPGAs can be programmed to support almost any interface. However, FPGAs lack the rich set of peripherals or software implementation of the interfaces.
One design consideration when using a FPGA is that a Non- Volatile Storage (NVS) is required for storing the configuration. Another important consideration is that since the operating principle of FPGAs is quite a bit different from MPUs and CPUs, the programming
also differs a lot. FPGAs are commonly programmed using Hardware Description Languages
(HDLs) such as Verilog or Very High Speed Integrated Circuit HDL (VHDL), both languages differ a lot from sequential programming languages. The summary of the pros and cons of this
system is presented below.
Pros
- High number of GPIOs.
- Fast boot time.
- Many manufacturers provide fully functional
PCI Express IP cores.
- Low latency and high throughput.
- Capable of supporting different types of interfaces.
Cons
- Requires external memory.
- Less intuitive programming.
8
2.2. Possible solutions
Conclusion
Based on the previous analysis, a few key points can be made to rule out the different solutions:
CPUs: Powerful, but are unnecessarily complex and may have long boot times. The lack
of connectivity options also makes this solution poorly suited for the design. Another drawback is the lack of endpoint-capable CPUs, severely limiting the selection of possible hardware.
CPUs without endpoint support suffer from the same drawbacks, with the addition of
relying on external PHYs. In short, none of the two CPU solutions are suitable for the application.
Programmable logic: Programmable logic such as FPGAs may not be as intuitive for developers who are accustomed to CPU development, they do have a lot of features desired in
the application. FPGAs are commonly used in endpoint configuration and many manufacturers offer endpoint IP cores. The requirement of an external memory is compensated for by
the large amount of connectivity options of a FPGA.
With consideration to the information gathered in this prestudy, it was decided that the
bridge should be implemented using a FPGA.
9
3
Selection of hardware
Multiple manufacturers and product lines were compared to find a suitable FPGA as well
as peripheral components. This section will discuss the process of finding, comparing and
choosing the different hardware.
3.1
FPGA selection
In order to find the best-suited FPGA for the design, several product series from multiple
manufacturers were compared. Four FPGA manufacturers were considered: Intel (previously
knows as Altera), Lattice semiconductor, Microsemi and Xilinx. Initially, the different product
series were investigated and later specific device packages. In order to qualify as a possible
candidate for the initial selection, the product series should feature support for at least PCI
Express Gen 1 x2. A list of candidates was compiled and is presented in Table 3.1.
Table 3.1: Product series candidates.
Manufacturer
Intel
Intel
Intel
Intel
Lattice
Lattice
Lattice
Microsemi
Microsemi
Xilinx
Xilinx
Xilinx
Xilinx
Xilinx
Xilinx
Product family
Cyclone IV
Cyclone 10
Arria V GX/GZ
Stratix V GX
ECP2
ECP3
ECP5/ECP5-5G
IGLOO2
SmartFusion 2
Spartan-6
Artix-7
Kintex-7
Virtex-7 XT
Kintex Ultrascale Plus
Virtex Ultrascale Plus
10
3.1. FPGA selection
Product family
The device selection process focused on three main aspects: the amount of transceivers, the
number of logic elements (LE’s) and the device speed grade. Transceivers are high-speed serial/parallel interfaces that operate at a higher frequency than the FPGA fabric. They are
essential for PCI Express communications since the fabric itself is usually not capable of handling PCI Express speeds.
The device used must have at least two transceiver channels and if the package is a ball
grid array (BGA), it should have a ball pitch equal or larger than 0.8 mm. The reason is that
while a smaller pitch device features more pins in a smaller package, the design tolerances
become stricter which in turn increases the PCB production cost.
The number of LE’s determines how much application logic can be implemented on the
FPGA. PCI Express IP cores usually take a portion of the logic cells, depending on the manufacturer so they need to be taken into consideration1 .
For some manufacturers, speed grade limits performance. Components need to have a
speed grade high enough to support PCI Express in order to qualify for the selection. A list
was compiled with possible candidates that fulfilled the requirements. The complete list is
presented in Appendix A, Table 3.2 shows a summary of the list.
Table 3.2: Selected devices from the different product families.
Product family
Cyclone IV[6]
Cyclone 10 GX[7]
Arria V GX[8]
Arria V GZ[8]
Stratix V GX[9]
ECP2[10]
ECP3[11]
ECP5[11]
ECP5-5G[11]
IGLOO2[12]
SmartFusion2[13]
Spartan-6[14]
Artix-7[15]
Kintex-7[15]
Virtex-7 XT[15]
Device code
EP4CGX30CF19C8N
10CX085YU484I6G
10CX220YF780E5G
5AGXMA5G4F35C4G
5AGZME1E3H29C4N
5SGXMA3E3H29C4N
LFE2M20E-5FN256C
LFE3-17EA-6FTN256C
LFE5UM-25F-8BG381C
LFE5UM-45F-8BG381C
LFE5UM5G-25F-8BG381C
LFE5UM5G-45F-8BG381C
M2GL010T-1VF400
M2GL025T-1VF400
M2S010T-1VF400
XC6SLX25T-N3CSG324C
XC7A12T-2CSG325
XC7A15T-2CSG325
XC7A25T-2CSG325
XC7A100T-1FGG484
XC7K70T-1FBG484
XC7VX330T-1FFG1157C
Footprint
F324
U484
F780
F672
H780
F780
F256
ftBGA256
csBGA381
csBGA381
csBGA381
csBGA381
VF400
VF400
VF400
CSG324
CSG325
CSG325
CSG325
FGG484
FBG484
FFG1157
LE’s
30k
85k
220k
75k
220k
340k
19k
17k
25k
45k
25k
45k
12k
25k
12k
24k
13k
16k
25k
101k
65k
326k
Transceivers
6
6
12
9
12
12
4
4
2
4
2
4
4
4
4
2
2
4
4
4
4
20
Device selection
The initial seperation was done by putting a price cap at 100 USD/Unit. The limit was chosen
since the final design should be as cheap as possible. Any FPGA that was more expensive
usually featured higher performance than what was necessary or had poor price-performance
ratio. This removed all Intel devices except the Cyclone IV and all Kintex/Virtex devices.
1 Each manufacturer provides a separate PCI Express IP Core, Intel and Microsemi implements the core in hard
logic so no resources are required[2][3], Lattice requires 12-16k LUTs[4], Xilinx requires 1k LUTs[5, p.10-11].
11
3.1. FPGA selection
Secondly, devices were removed if they were larger than 22x22 mm since they would
not fit on the PCB. Older-generation devices such as the Lattice ECP3, Intel Cyclone IV and
Xilinx Spartan 6 were also removed. The reason was that the newer generations are about as
expensive but featured more modern hardware.
The remaining product series were the Lattice ECP5/ECP5-5G, Xilinx Artix-7 and Microsemi
IGLOO2/Smartfusion 2. The ECP5 device was removed since it only supports PCI Express gen
1. The Smartfusion 2 device was removed because it is essentially the same device as the
IGLOO2 but with an integrated microcontroller which was not needed.
In order to compare the remaining devices, an assumption was made that the bridge
would require at most 10K Logic elements (not including the PCI Express interface). Choosing the smallest possible device from each family, the choice is narrowed down to three devices:
Device
Lattice LFEUM-25F-8BGC381C
Microsemi M2GL010T-1VF400
Xilinx XC7A12T-2CSG325
Unit price [USD]
19
37
36
The Lattice device stands out from the rest since it is significantly cheaper compared to
the other devices. However, the ECP5-5G family requires a software license for both the IDE
and the PCI express IP Core. The IDE cost 895 USD/year and the IP Core is a one-time cost
of 1800 USD. It also requires an external PLL for its transceivers, adding around 4 USD to the
unit price. The Xilinx and Microsemi both require no license for the IDE or PCI Express IP
Core.
Figure 3.1 shows the accumulated price for each of the devices. The comparison assumes
100 units/year, meaning that any yearly licence is required every 100 units.
Figure 3.1: Total accumulated price for N number of units, assuming 100 units/year.
As seen in Fig. 3.1, the price break between the Lattice and Microsemi devices are at about
500-600 units. The Xilinx device has a marginally lower cost/device when compared to the
others. Since the price difference was so small, any of the devices was a good choice for the
design. To be able to make a decision, another aspect had to be taken into account.
The Xilinx Artix-7 XC7A12T-2CSG325 was considered the best candidate. The reason is
that the developers where the master’s thesis is carried out all use Xilinx FPGAs, meaning
that there is a great knowledge base for both hardware and software. The device naming
parameters can be split-up to describe the features of the unit. The name indicates that it
12
3.2. Non-volatile memory selection
is an Artix-7 Series FPGA with 12K LUTs, speed grade 2 and package type C325 [15, p.16].
It is Xilinx smallest Artix-7 FPGA but features the necessary components to accomplish the
assignment. The C325 package is available in many configurations and is easily upgraded
due to its pin compatibility with higher-end models of the same family. Speed grade 2 is
required to communicate using PCI Express Gen 2.
3.2
Non-volatile memory selection
Since the FPGA fabric commonly consist of volatile memory, FPGAs are unable to retain their
configuration when powered off. To resolve this problem, an external Non-volatile memory
(NVM) is commonly used to store the configurations when power is lost. Other alternatives
include loading the configuration from an external processor, or a hybrid of the two.
For the bridge design, an external memory was used for loading the configuration. The
reason is that the physical size of the design is restricted and a processor would not add any
extra functionality other than the configuration loading.
Flash memories are either NOR- or NAND-based. The techniques differ vastly in their
operation. NOR flash provides sufficient addresses to map the entire memory range, which
makes it possible to access random data within the memory. They feature quick read-times
but have relatively high write and erase speeds. 100 % bit correctness is ensured, making
them excellent to use in a code execution applications. NAND-flash has a high bit-failure and
requires error correction to determine if the data is valid. The advantages of NAND-flash is
high storage-density and low cost. They are therefore primarily used in applications where
large capacity storage is required. The most reasonable flash technique to use as firmware
storage in conjunction with an FPGA is, consequently, a NOR-flash.
The flash memory parameters were chosen based on price, capacity, and footprint.
MT25QL128 was a satisfactory choice since it features multiple storage sizes and a standard
footprint. It communicates using SPI which is directly compatible with the FPGA. NOR-flash
with the same pin-out and footprint are available with a capacity up to 256 Mb. The chosen
Artix-7 with 12 kLUTs has a Bitstream size of 10 Mb while the 35 kLUTs has a size of 18 Mb
[16, p.14] which will easily fit in the NVM.
WISI Norden desired a small I2C EEPROM with device information, tied directly to the
SMBus (I2C compatible) interface. The information on the EEPROM should include enough
information for the main device to identify the PCI Express Bridge. AT24CXXD is a small and
cheap EEPROM with 1-16 Kb capacity in a SOT23-5 package. It complied with the necessary
requirements and featured a Write Enable (WE) pin, used to protect the user from accidentally
overwriting the memory.
3.3
Regulator selection
The Artix-7 FPGA requires several different voltages to operate. It is usually achieved by
a series of Switch Mode Power Supply (SMPS) or Low-dropout Regulator (LDO) ICs. SMPS are
highly efficient but induce electrical noise as a side effect. Low-dropout regulators are linear,
which effectively means that they convert excessive power to heat by altering the resistance
relative to the load. It results in an ineffective power regulator but provides a clean voltage
to the load.
Most voltage inputs of the FPGA are tolerant of the noise-levels produced by switching
regulators. However, analog voltages related to the transceivers often require isolated and
electrically clean power. SMPS are therefore mostly used when high currents are present or
where the input to output voltage difference is high. An effective option to achieve clean, yet
efficient, power conversion is to use a switching regulator in series with an LDO.
Typically, FPGAs require around 3-4 different voltages, with current draw varying greatly
depending on FPGA size and application. It is, therefore, a demanding task to select a suit13
3.3. Regulator selection
able voltage network which efficiently powers FPGAs. Since the current draw of the FPGA
is directly related to the resources used in the user application, Xilinx provides a Power Estimator application. The application is used to calculate the estimated current draw based on
resources selected by the user.
The number of different voltages is related to the peripherals used within the device. For
example, the transceiver channels require an isolated and stable source, while the core and
other auxiliary circuits within the FPGA are more resistant to noise and voltage fluctuations.
The recommended voltage levels for the Artix-7 FPGA, along with their tolerances and estimated current consumption, is presented in Table 3.3.
Table 3.3: Artix-7 - Recommended DC and AC characteristics.
The following values were calculated using: PCI Express Gen 2, 1x2 configuration, I/O
Bank: 40 LVDS (2.5V) pairs @ 150 MHz, 100% LUT usage.
Symbol
Voltage [V]
Current [mA] Tolerance
Supply description
˘3% [17]
VCCI NT
1.0
600
Internal power.
VCCBRAM
1.0
4
Block RAM.
˘10 mVpp [18, p.228]
200
GTP transceivers.
VMGTAVCC 1.0
˘5% [17]
1.8
100
Auxiliary supply.
VCCAUX
˘30 mVpp [17]
150
GTP termination.
VMGTAVTT 1.2
VCCO_15
1.14 to 3.465 300
HR I/O banks.
1.14 to 3.465 300
HR I/O banks.
VCCO_34
The current estimation is derived from Xilinx Power Estimator (XPE). The combination of
high current consumption for the core and low noise requirements for the transceiver peripherals demands an effective yet flexible power solution. To conform with the requirements, a
combination of switching regulators and low dropout linear regulators were regarded as the
best solution.
The sensitive and low power transceiver peripherals (VMGTAVTT and VMGTAVCC ) are supplied from LDOs which provides an electrically clean output, while the VCCI NT and VCCAUX
are supplied from the SMPS. To simplify the task of selecting a suitable power solution,
mainly for FPGAs and processors, manufacturers have developed Power Management Integrated Circuits (PMICs). PMICs can refer to any IC which performs power conversion but
generally, they are intended to include all of the necessary SMPS and LDOs within a single
IC.
A fitting candidate is the TI LM26480, which is an IC consisting of two switching regulators and two low dropout linear regulators[19]. The key features of LM26480 are:
• Small footprint of 4x4 mm.
• Low Price.
• Hardware adjustable voltage levels on all regulators.
• Power good indicator.
• 2 MHz switching frequency, allowing the use of small external inductors and capacitors.
The voltage and current capabilities of the built-in regulators in the LM26480 can be seen
in Table 3.4.
14
3.3. Regulator selection
Table 3.4: Texas Instruments LM26480 internal regulators.
Regulator type
Switching
Switching
Low Dropout
Low Dropout
Output voltage [V]
0.8 to 2
1 to 3.3
1 to 3.5
1 to 3.5
Current [A]
1.5
1.5
0.3
0.3
Voltage drop
25 mV (typical)
25 mV (typical)
The I/O banks of the Artix-7 FPGA may be powered separately from each other. The
idea is to power the I/O banks from their own LDO which provides the ability to handle
multiple I/O standards. An example is to communicate with a 2.5 V interface on I/O bank 15
while I/O bank 34 runs on 3.3 V simultaneously, enabling the use of different I/O interface
standards per bank.
All LDOs suffers from a small dropout voltage, Vdrop , which means that the maximum
output voltage is limited to Vin ´ Vdrop . This is problematic when a 3.3 V output standard is
desired and Vout needs to equal Vin . However, Texas Instruments TLV758P solves this issue.
Once Vin ă (Vout ´ Vdrop ), it goes into a "dropout mode", where the output voltage tracks the
input voltage. It features a small footprint, low price and acceptable output current of 300
mA, along with an adjustable output voltage which is configured through a voltage divider.
15
4
System Description
This chapter will present an overview of the bridge architecture. The goal is to provide the
reader with an easy reference as to how each part of the bridge operates and integrates with
other parts. The design is composed of many smaller systems that operate independently
or alongside other systems. A rough sketch of an M.2-module with a possible layout of the
systems is shown in Fig. 4.1. The complete schematic, layout, BOM and mounting guides are
presented in Appendix B.
Each system, left to right, will be presented in a separate section. In general, thicker lines
represent buses or groups of signals and thinner lines represent single signals. Gray symbols
represent physical parts, such as PCBs and components. Each internal pattern in Fig. 4.1
represents a separate system and the pattern for each section is consistent throughout the
chapter.
Note that power nets are only shown in the M.2 and Power management system sketches.
l M.2 connector, FPGA, a Programming and debugging interface, Power management,
External connectors.
Figure 4.1: System layout on the M.2 module.
4.1
M.2 Connector
The M.2 connector serves as the main interface with the platform. It is a finger-edge connector
which provides both power and signaling to the bridge. The M.2 connector connects to the
16
4.2. FPGA
FPGA system, Power management system as well as the programming and debugging interface
system as shown in Fig.4.2.
FPGA, a Programming and debugging interface, Power management.
Figure 4.2: M.2 connector system connections.
The PCI Express bus is the high-speed interface that is used for data exchange between
the platform and bridge. It consists of two transmitting lanes, two receiving lanes and a clock
lane. The PCI Express bus connects directly from the M.2 connector to the FPGA system.
The platform provides a SMBus on the M.2 connector. Since the platform SMBus operates
at 1.8 V logic level and the programming and debugging interface SMBus operates at 3.3 V logic
level, a logic level converter is required. The converter needs to convert 1.8 V signals to 3.3 V
and vice versa.
The M.2 connector also provides 3.3 V power that is used to generate stable voltages for
the bridge. The 3.3 V power from the card edge connector directly connects to the Power
management system.
4.2
FPGA
The FPGA system interfaces with all other systems on the bridge. The main component of
the system is the Artix-7 FPGA, which consists of several smaller parts such as transceivers
and configuration banks. This section will describe how the FPGA system interfaces with the
other systems according to the diagram in Fig. 4.3. A more in-depth description of the Artix-7
and its parts is presented in chapter 5.
l M.2 connector, FPGA, a Programming and debugging interface, Power management,
External connectors.
Figure 4.3: FPGA system connections.
17
4.3. Programming and debugging
The SPI interface is used for loading new bitstreams to the FPGA. It is a 1x Synchronous
Serial Interface (SSI), meaning it utilizes a single data channel in each direction. The bus connects to the Programming and debugging system along with the Done and Configure signals.
The Done signal is used to verify that bitstreams successfully load into the FPGA and can
be read over SMBus. The Configure signal triggers the loading of a new bitstream when
pulsed low.
The SET_IO_X_N bus is used by the FPGA to control the LDO which regulates bank
voltage for the LVDS/CMOS I/O banks. This is done by pulling the signals low och putting
the respective pins in High-Z mode. Chapter 5 describes the process in greater detail.
The LVDS/CMOS bus consists of 10 differential signal pairs. Each pair may be reconfigured to function as two independent single-ended signals allowing for a maximum of 20
individually controllable signal pins. The LVDS/CMOS bus connects to the External connectors
system.
4.3
Programming and debugging
For the programming interface, different paths for configuration were investigated. The first
was to use the PCI Express interface in conjunction with a solution provided by Xilinx called
PCI Express tandem. The solution was initially only named tandem and was designed to allow
large bitstream devices to load the PCI Express core before loading the rest of the bitstream
into the device. The entire bitstream is loaded in two stages from an external NVM and the
idea was that the device should fulfill the 100 ms criterion set in the PCI Express specification.
PCI Express tandem allows the user to load the first stage from a NVM and the second
stage to be sent to the device over PCI Express. The solution appeared promising since there
was a limited amount of interfaces on the M.2 connector and it would allow easy exchange of
the bitstream in the device. Unfortunately, this solution is not available in all Artix-7 devices.
The smallest device that supports it is the XC7A75T[5, p.157]. The solution was abandoned
since the device is not available in the chosen package.
The second path for configuration was the SMBus present on the M.2 connector. The
interface is not fast enough to allow bitstream loading upon start up1 but it can be used to
load new configurations to an on-board NVM. The FPGA can boot from the flash when it is
powered on and if a different configuration is desired, it can be loaded into the NVM and the
FPGA reloaded with the bitstream.
The third path of configuration is a JTAG interface. It can be used not only for loading
images to the FPGA and NVM, but also provides debugging functionality. The drawback of
the interface is that it is not present on the M.2 connector meaning that it will be used mainly
for debugging.
Fig. 4.4 shows a sketch of signals present in the programming and debugging system. The
SMBus connects to a ID NVM. The purpose is to provide a way of identifying the bridge, even
if the system does not boot. It is connected directly to the SMBus with nothing between it and
the M.2 connector in order to minimize the risk of failure. The NVM is write-protected and
the protection can only be disabled by shorting a test pad on the PCB to ground.
The SMBus is also connected to a SMBus to SPI converter. The SPI bus of the converter is
connected to the Normally closed (NC) pins of a quad Single-pole, double throw (SPDT) analog
switch. The Normally open (NO) pins of the SPDT is connected to the FPGA and the Common
(COM) pins are connected to a NVM. In order to select what device is connected to the NVM,
a GPIO on the converter is used to control the SPDT through the IN signal.
1 SMBus
@100 kHz requires 100+ seconds to load an entire XC7A12T bitstream of 10 Mb.
18
4.4. Power management
l M.2 connector, FPGA.
Figure 4.4: Programming and debugging system connections.
4.4
Power management
The power management system is shown in Fig. 4.5. The Power good signal indicates
that all of the PMIC voltages are stable. When pulled low, the LDO and switch are enabled,
powering the last sections of the bridge.
l M.2 connector, FPGA, a Programming and debugging interface.
Figure 4.5: Power management system connections.
Power tree
The goal of using SMPS’s and LDOs in conjunction is to minimize the total power loss of
the bridge, allowing it to run without active cooling. This section will present two possible
hierarchies for the power supplies and discuss the differences between them.
19
4.4. Power management
The first two voltage domains are the 1.0 V VCCI NT /VCCBRAM and 1.8 V VCCAUX . All
systems connected to these voltages are larger than 3 % tolerance to noise, as seen in Table 3.3,
meaning they can be sourced from the SMPS in the PMIC. In Fig. 4.6, these are represented
by regulator 1 and 2.
Since the transceivers in the Artix-7 are sensitive to noise, it is preferable to use LDOs for
their voltage feeds, VMGTAVCC and VMGTAVTT . The two LDOs present in the PMIC will be
used, represented by regulator 3 and 4 in Fig. 4.6.
Note that regulator 5 is omitted from the power loss calculations. This is partly because it
is a separate regulator, but also because the current and voltage for the I/O banks may vary
greatly depending on the standard used as well as the speed and number of pins. The power
hierarchy is illustrated in Fig. 4.6a and 4.6b.
(a) Option A, VMGTAVCC and VMGTAVTT sourced (b) Option B, VMGTAVCC and VMGTAVTT
sourced from 3.3 V.
from 1.8V.
Figure 4.6: Power hierarchy option considered in the design.
Option A and B in Fig. 4.6 mainly differ in the amount of power wasted during operation.
An overview of the power loss and current within the LM26480 is presented in Table 4.1 and
4.2.
The SMPS regulator efficiency was chosen as 80 % to simulate a worst-case scenario and
to provide some headroom if the current draw estimations are inaccurate. Typically, the efficiency should be between 85-90 % for SMPS’s. For LDOs, Iin is the same as Iout . Rewriting
the formula for efficiency, E f f , in (4.1), the efficiency of an LDO is given by Vout /Vin .
Ef f =
Vout ¨ Iout
Vin ¨ Iin
(4.1)
For SMPS’s, Iin is given by rewriting (4.1) to (4.2):
Iin =
Vout ¨ Iout
Vin ¨ E f f
(4.2)
Since Iin , Iout , Vin and Vout are now known for each regulator, the power loss can be calculated using the expected current draw presented in Table 3.3:
Ploss = Pin ´ Pout = Iin ¨ Vin ´ Iout ¨ Vout
(4.3)
Using (4.1) to (4.3), all currents, power losses and the total power loss can be calculated
for each of the two options presented in Fig. 4.6. The results for option A and B are presented
in Table 4.1 and 4.2, respectively.
20
4.5. External connectors
Type
Vin [V]
Vout [V]
Iin [A]
Iout [A]
Efficiency [%]
Ploss [W]
Regulator 1
SMPS
3.3
1.0
0.23
0.6
80
0.15
Regulator 2
SMPS
3.3
1.8
0.31
0.45
80
0.20
Regulator 3
LDO
1.8
1.0
0.20
0.20
56
0.16
Regulator 4
LDO
1.8
1.2
0.15
0.15
67
0.09
Total
1.14
0.60
Table 4.1: Current flow and power loss in hierarchy option A.
Type
Vin [V]
Vout [V]
Iin [A]
Iout [A]
Efficiency [%]
Ploss [W]
Regulator 1
SMPS
3.3
1.0
0.23
0.6
80
0.15
Regulator 2
SMPS
3.3
1.8
0.07
0.1
80
0.05
Regulator 3
LDO
3.3
1.0
0.20
0.20
30
0.46
Regulator 4
LDO
3.3
1.2
0.15
0.15
32
0.32
Total
1.25
0.97
Table 4.2: Current flow and power loss in hierarchy option B.
As seen in Tables 4.1 and 4.2, option A is the best when considering power loss. The hierarchy was simulated using Texas Instruments Tina-TI and the provided model for the LM26480.
During simulation, the LDO appeared to reverse feed the SMPS, causing unpredictable behaviour. Since the design should work and it was unknown if the problem was caused by the
simulation model, the final design will include an option that allows switching between the
two hierarchies using 0 ohm resistor.
4.5
External connectors
The bridge has two sets of external connectors, each connected to a group of differential pairs
as shown in Fig. 4.7. All pairs connect to the FPGA system. The external connectors also
feature mounting pads for external termination at the connector since testing equipment may
not be terminated correctly.
FPGA
Figure 4.7: M.2 connector system connections.
21
5
Hardware design and
implementation
This chapter will present the ideas and considerations during the design process of the bridge.
5.1
Stackup and design rules
JLCPCB was chosen for manufacturing the PCB. While they may not have as many options
as other manufacturers in their PCB stackup, they simplify the design process by providing
tools for calculating line impedance both for single-ended and differential traces for all of
their stackups.
In order to ensure that the PCB can be produced, the design has to follow the manufacturers rules and use a stackup that JLCPCB can produce. This section will present the stackup
and rules that were used for the design.
Stackup
The design uses the JLCPCB 0.8 mm JLC7628 stackup shown in Table 5.1. While the manufacturer offers other stackups with higher Dielectric constant and thinner prepregs, JLC7628
was chosen due to its thin core, which increases the inter-plane capacitance between the two
inner planes where the majority of the ground and power planes are located. The tradeoff is a poorer coupling between the outer and inner layers, slightly increasing the width of
impedance matched traces.
22
5.1. Stackup and design rules
Table 5.1: JLC7628 layer stackup.
Layer
Top solder mask
Top copper
Prepreg
Inner copper 1
Core
Inner copper 2
Prepreg
Bottom copper
Bottom solder mask
Material type
Solder mask
Copper
7628
Copper
Copper
7628
Copper
Solder mask
Thickness (mm)
0.0127-0.0203
0.035
0.2
0.0175
0.265
0.0175
0.2
0.035
0.0127-0.0203
Dielectric constant
3.8
4.6
4.6
3.8
Design rules
The rules that were used in the design are presented in Table 5.2. The majority are the recommendations from the manufacturer, with the exception of the rules related to differential
pairs.
The Differential trace width and Differential pair gap was calculated using the manufacturers
online tool, all differential lines on the PCB are designed for a nominal differential impedance
of 100 Ohm.
The Length difference within pair rule was chosen small because the line-to-line skew directly influences signal integrity. While perfect length matching is desirable, it is not always
possible due to manufacturing defects, etc. The designer should strive for perfect length
matching, but realize that minor differences are negligible. Another important note is that
any differences that appear as a result of turns or connections should be fixed as close to the
source of the difference as possible, as shown by point I in Fig. 5.1. The reason is that the
noise rejection of differential signals is best when the two signals are in phase.
The Copper-Differential pair clearance rule ensures that the high speed differential pairs have
proper signal integrity. As a rule of thumb, a clearance larger than 2 times the pair gap should
be used to ensure that the coupling to nearby copper is negligible. The design has a 3 times
larger clearance compared to the gap.
[A] Via hole size
[B] Via annular
[C] Copper-Differential pair clearance
[D] Differential trace width
[E] Differential trace gap
[F] Copper-Copper clearance
[G] Routing trace width
[H] Solder mask sliver
[I] Length difference within pair
Figure 5.1: Illustration of design rules used during layout.
23
5.2. M.2 connector
Table 5.2: Routing rules used during the design of the bridge.
Rule
Clearance
Trace width
Vias
Differential pairs
Solder mask
5.2
Copper-Differential pair
Copper-Copper
Routing trace
Via hole size
Via annular size
Trace gap
Trace width
Length difference
within pair
Sliver
min
12
4
4
8
18
4
4.96
mil
nom
6
16
31
4.5
5.54
max
5
6.05
min
0.3
0.1
0.1
0.2
0.45
0.1
0.126
mm
nom
0.15
0.4
0.8
0.114
0.141
max
0.127
0.154
-
-
5
-
-
0.127
4
-
-
0.1
-
-
M.2 connector
As discussed earlier, the SMBus logic level of the platform is lower than the logic level of the
programming interface so a level converter must be used. Since SMBus operates on an opendrain configuration1 , the circuit in Fig. 5.2 can be used for the conversion. The solution was
used since it required a small number of components, resulting in a small overall footprint.
Figure 5.2: Open-drain logic level conversion. HV indicates High (3.3 V) logic level, LV indicates low (1.8 V) logic level.
Layout
The main consideration during layout was to keep the high-speed traces isolated from other
signals such as the SMBus as well as any other high-speed signals in order to maintain signal
integrity. For the PCI Express signals, the metal directly below the signals is a ground plane
as seen in Fig.5.3. Vias were also added in close proximity to layer changes of the signals to
provide a good return path for the signal. Additionally, fencing vias were added around the
traces where possible to further shield the high speed signals.
1 In
an open-drain configuration, the signal is driven low and pulled high through a resistor.
24
5.3. FPGA configuration banks
Figure 5.3: Layout surrounding the M.2 connector on the top layer of the PCB. Notice the
fencing and return path vias as well as the ground plane (yellow) on the layer below the PCI
Express lanes.
5.3
FPGA configuration banks
The configuration banks refer to Bank 0 and 14 in the Artix-7. These banks are used for
configuration of the FPGA as well as setting the voltage levels for the I/O banks.
The JTAG interface on Bank 0 is used for debugging and loading new bitstreams to the
NVM through the SPI interface. This interface has a separate connector on the PCB and is not
connected to the M.2 connector.
The SPI interface is used for loading bitstreams from the NVM. The default interface is set
through the Mx pins on Bank 0. In the design, M [2..0] = 001, corresponding to Master SPI[16,
p.21]. This interface is used at power-on, but may be overridden by the JTAG interface.
Three IOs on Bank 14 are used to control the voltage level of the remaining I/O banks.
This is achieved by altering the feedback loop of an LDO by pulling the respective IOs low or
putting them in a high-Z state. This is described in greater detail in section 5.6.
Layout
Since most of the configuration pins on the Artix-7 have fixed positions in the pinout, the
main consideration was to avoid layer changes as much as possible. Examples of how the
nets were fanned out under the Artix-7 are shown in Fig. 5.4. The LDO control pins that had
no fixed position were moved close to the LDO to make routing easier.
Figure 5.4: Fanout of the SPI and JTAG nets (highlighted) under the Artix-7.
25
5.4. FPGA I/O banks
5.4
FPGA I/O banks
The I/O banks refer to Bank 15 and 34 in the Artix-7. These banks are both connected to the
LVDS/CMOS connectors. Each bank has 10 pins available at the connector that may be used
as either 10 single-ended pins or 5 differential pairs. Due to space constraints, one of the pairs
on Bank 34 was only routed to a terminating resistor close to the Artix-7.
Layout
All pairs were routed and pairwise length-matched within 0.127 mm (5 mil) with a nominal
differential impedance of 100 Ohm. The clearance between pairs was kept to a minimum of
3 times the spacing within a pair to reduce cross-talk.
5.5
FPGA transceivers and PCI Express nets
The PCI Express lanes 0 and 1 of the M.2 connector were connected to the transceivers of
the Artix-7. To simplify the routing, lane 0 was connected to transceiver 1 and lane 1 to
transceiver 0.
To reduce the complexity and number of external components of the system, the PCI
Express reference clock will not only be used for the transceivers, but also to clock the core
logic of the FPGA.
For the PCI Express lanes, the PCI Express Base specification states that any transmitting element should have AC coupling capacitors in the range 75 ´ 265 nF for 5 GT/s applications[1,
p.357]. 100 nF capacitors were added to the TX and CLK lanes.
Layout
Since the PCI Express lanes and reference clock are both differential signals, special consideration must be taken to their relative length. The most important consideration is the difference between the positive and negative signal inside a lane, since it directly influences signal
integrity.
The largest allowed lane-to-lane skew is 1.3 ns for TX and 8 ns for RX when UI is the
nominal unit interval 200 ps[p.357,p.378,p.380][1]. Assuming a phase velocity of 0.67 c, this
corresponds to 18/160 cm for TX/RX, respectively. TX lanes are completely independent
from RX lanes, so they need not be matched. The characteristic impedance for all lanes are
80-120 Ohm according to the PCI Express base specification[1, p.355, p.379]. During layout,
pairs were designed to the nominal differential impedance 100 Ohm.
5.6
Power management
The Artix-7 datasheet provides the optimal power-on sequence[20, p.8] to minimize current
consumption. Turn-on sequencing of the regulators was, therefore, added to minimize FPGA
start-up current draw. The sequencing was accomplished by RC networks connected to the
regulator enable pins, seen in Fig. 5.5, where the delay is determined by the rise-time of the
supply voltage, calculated using (5.1). The optimal turn-on sequence is shown beside the
designed turn-on sequence in table 5.3.
τr = R ¨ C
(5.1)
26
5.6. Power management
Table 5.3: Optimum and designed power-on sequence for the different power nets.
1
2
3
4
5
6
Optimum
VCCI NT
VMGTAVCC
VGTAVTT
VCCBRAM
VCCAUX
VCCO
Design
VCCI NT , VCCBRAM
VCCAUX
VMGTAVCC
VGTAVTT
VCCO
The designed sequence does not follow the optimum sequence but intends to solve the
most critical parts which are the transceiver analog supply voltage, VMGTAVCC , and its termination voltage, VMGTAVTT .
Figure 5.5: Power-on sequencing using RC networks.
The nPOR pin of the PMIC is a power-good indicator. It is driven low when either of the
buck regulators is below 92 % of their desired output voltage. When the output is considered
stable, there is a 60 ms delay until nPOR is pulled high. The power-good signal is used to
enable the two FPGA I/O bank voltages through an N-MOS transistor and an enable signal,
illustrated in Fig. 5.6.
27
5.6. Power management
Figure 5.6: I/O voltage sequencing and selectable I/O voltage solution.
I/O voltage regulation
FPGA I/O voltage is regulated by a stand-alone adjustable LDO. The adjustability is achieved
using software controlled feedback networks, illustrated in Fig. 5.6. The voltage of the I/O
regulator is controlled by resistor dividers, where the voltage is calculated using (5.2).
R1
), Vre f = 0.55
(5.2)
R2
The divider network essentially alters the R2 value. Since the GPIOs are tri-state capable,
a single resistor divider can be selected by setting one output to LOW while the rest are high
impedance (High-Z), resulting in the pattern described in Table 5.4.
Vout,LDO = Vre f ¨ (1 +
Table 5.4: Regulator SET_IO state to voltage relation.
SET_IO_1V8_N
High-Z
High-Z
High-Z
LOW
SET_IO_2V5_N
High-Z
High-Z
LOW
High-Z
SET_IO_3V3_N
High-Z
LOW
High-Z
High-Z
VCCO_15_34_ADJ [V]
1.2
1.8
2.5
3.3
Passive components
The PMIC circuit and selection of external components was based on the Typical Application
design provided in its datasheet. The datasheet also presents a formula for calculating the
output voltages of the four individually controlled regulators, seen in (5.3) [21].
Vout = Vre f ¨
R2
, V = 0.5
R1 + R2 re f
(5.3)
External components were selected to suit the output voltages and their approximated
current draw. Special consideration were taken into capacitor DC-bias and inductor current
saturation. The ripple and peak currents of the SMPS are highly dependent on the output
28
5.6. Power management
filtering components. Equations (5.4)-(5.8) are provided by TI[21, p.27]. They allow the designer to predict the current and voltage ripple based on filtering components selection, expected current draw and switch frequency. Table 5.5 shows the current ripple that can be
presumed for the design.
IL,peak = Iout,max +
Iripple =
Iripple
2
(5.4)
Vout Vin ´ Vout
¨
Vin ¨ η
L¨F
(5.5)
Iripple
8 ¨ F ¨ Cout
(5.6)
VCout =
(5.7)
VRout = Iripple ¨ ESRCout
Vout,p´ p =
b
2
2
VCout
+ VRout
(5.8)
Table 5.5: Calculated values for Peak Current through the inductor and voltage ripple on the
output, using: Vin = 3.3V, η = 0.85, Iout,max = 0.8A, Cout = 10µF, L = 2.2µH, f = 2MHz.
Parameter
IL,peak
Vout
Condition
Vout
Vout
Vout
Vout
= 1.0V
= 1.2V
= 1.0V
= 1.2V
ESRCout [Ω]
0.05
0.01
0.89
0.90
18.67 9.39
2.20
20.46 10.29 2.41
0.1
Unit
A
mV
Another aspect that was considered was the effect of DC-bias on the capacitors in the
system. DC-bias causes the capacitance of a capacitor to decline. The extent of the effect
varies greatly between different types of capacitors but a ceramic X5R capacitor usually has
a curve similar to Fig. 5.7[22]. The main difference is where the capacitance starts declining
rapidly, this is not necessarily related to the voltage rating of the capacitor. To reduce the
overall amount of different components in the system, any capacitor used in the design had
to maintain at least 90 % of its nominal capacitance at 3.3 V. This makes it possible to use the
same value capacitors anywhere in the design.
Figure 5.7: Characteristic change of capacitance according to DC-voltage.
The Equivalent Series Resistance (ESR) of the capacitors was also examined. However, since
all capacitors were of relatively small capacitance, ceramic capacitors with naturally low ESR
were selected. The ESR could, consequently, be neglected in this application.
29
5.7. Programming and debugging interface
Layout
The four copper layers of the PCB were divided into multiple sections to distribute the voltages efficiently. Power pins of the FPGA with the same voltage are often grouped together in
the footprint, illustrated in Fig. 5.8.
VCCI NT , VMGTAVTT , VMGTAVCC , VCCO , VCCBRAM , VCCAUX , GND
b Bank 0, b Bank 14, b Bank 15, b Bank 34, b Bank 216 (Transceivers)
Figure 5.8: Artix-7 FPGA power pin mapping.
A suitable solution was to form a number of voltage planes confined in the inner layers
of the PCB. Sections where a specific voltage was frequently used, were made larger to maximize inter-plane capacitance to adjacent ground planes. Vias connect the inner and outer
layers together to distribute the power between connectors and components. Ground planes
on multiple layers provide a low impedance connection to the regulator.
The layout of the PMIC and the LDO originates from the Layout Examples provided by TI
[23][21].
5.7
Programming and debugging interface
There are two parts tied to the programming interface. Firstly, JTAG, which is connected directly to the programming pins of the FPGA. It is used for configuration as well as debugging.
Secondly, the SMBus interface, which is used to program the NVM through a SMBus to SPI
bridge. Upon start-up of the FPGA, it reads the NVM and loads the stored bitstream into its
volatile memory. It was desired to have the possibility to program the memory through the
SMBus, so that the bridge bitstream may be updated through the platform it is connected to.
30
5.8. Decoupling
Layout
The components of the programming interface that were connected to the SMBus were placed
close to the M.2 connector together with the SMBus level converter, marked by the orange box
in Fig 5.9. The flash memory, SPDT and JTAG connector were all placed close to the FPGA to
reduce the routing complexity, marked by a red box.
Figure 5.9: Programming and debugging interface with related components marked.
5.8
Decoupling
In order to ensure that the design operates as expected, proper decoupling is required. The
decoupling network consists of capacitors and provides a temporary energy reservoir during
current surges. A general rule of thumb when designing decoupling networks is to place
smaller value capacitors closer to the circuit and to increase the amount when the capacitance
decreases (the amount of capacitors is usually doubled when the capacitance is decreased by
a factor 10).
Xilinx provides recommendations for decoupling networks when designing with their
FPGAs. The amount of capacitors depend on the footprint and number of LUTs. The design
should be compatible with devices as dense as XC7A35T, the footprint is however considered constant since a change in footprint would require redesigning the PCB. The PCB was
designed to accommodate the XC7A35T since the XC7A12T requires less decoupling and any
extra components can be omitted during mouting.
Table 5.6: Artix-7 Decoupling network for XC7A12T and XC7A35T
The recommended decoupling networks for 80 % of LUTs and registers at 245 MHz, 80 %
block RAM and DSP at 491 MHz, 50 % MMCM and 25 % PLL at 500 MHz, 100 % I/O at SSTL
1.2/1.35 at 1,200/800 MHz[24, p.15-16].
VCCO
VCCO
VCCI NT
VCCBRAM VCCAUX
Bank 0 (Others, per bank)
Capacitance,
100 4.7 0.47 47 0.47 47 4.7 0.47 47
47 4.7 0.47
uF
XC7A12T
1
1
2
1
1
1
1
2
1
1
2
4
XC7A35T
1
2
3
1
1
1
2
3
1
1
2
4
The PCB Design Guidelines also state that banks that share a common voltage feed may
also share bulk (47 uF) capacitor[24, p.15, note 3]. This reduces the total amount since the I/O
banks share feed. In order to reduce the amount of different components, all 47 uF capacitors
31
5.8. Decoupling
were replaced with 100 uF since changing the bulk capacitor to a larger value should not
affect the performance notably.
The VMGTAVCC and VMGTAVTT supplies are described in a separate guide targeted specifically at the GTP transceivers. Xilinx recommend using one 4.7 uF and two 0.1 uF 10 % ceramic
capacitors for power supply filtering for each of the supplies[18, p.230].
Layout
The main consideration during layout of the decoupling network was that small value capacitors should have a low-impedance connection to its related power pin. This was achieved by
moving the capacitors under the FPGA and having a dedicated set of vias for each capacitor.
The latter consideration may not seem like it would matter much, but sharing vias between
several capacitors increases the impedance of the path. It generally considered bad practice
for high frequency designs.
32
6
Manufacturing
Manufacturing is a key phase of this degree project. In this chapter, main aspects of this
process are presented and discussed. They will cover the manufacturing and testing of the
PCB, as well as the electrical interfaces.
6.1
Bill of materials
A Bill of Materials (BOM) is a list of components used to manufacture a product. The list
includes the necessary data to correctly designate every part in a project, which involve designator, value and part number. The most convenient solution to successfully generate the BOM
is to supply every component with the required information and let the PCB CAD software
compile it automatically.
6.2
Assembly and soldering
The first prototypes were assembled and soldered at Linköping University. A solder stencil
was used in combination with solder paste to deploy a thin layer onto the pads of the PCB.
The components were placed on the PCB and solder in a soldering oven.
During assembly, the XC7A12T was exchanged for a larger variant, XC7A35T. The devices are pin-compatible and the larger device was used to ensure that there was enough
configuration space. In the final design, the bridge may be fitted with whatever device fits
the implementation bitstream.
6.3
Tests and inspection
During and after assembly, the board had to be tested to verify that all components functioned as expected. A test plan was created in order to ensure that no important functionality
remained untested. Since every design is different, the test plan is usually tailored to the design. The test plan used is presented in Appendix C. This section will discuss the tests, with
focus on tests that were skipped or failed.
33
6.3. Tests and inspection
Pre-component mounting
It was to no surprise that the PCB passed all 1.1.x tests since the manufacturer tests the PCB
using a flying-probe technique. The trace impedance test was skipped since it required more
advanced measuring equipment than what was at hand during testing.
Post-component mount
The purpose of these tests was to verify that no nets had been shorted during component
soldering and that the regulators would present the correct voltage when power is applied to
the board.
PCB under power
These test were designed to verify that the design performed as expected when not configured. The current draw is measured to see if it is reasonable. An excessive current draw, over
1 A, could indicate that something is shorted or malfunctioning. Point 1.3.1 was passed with
a standby current of around 86 mA. All voltages except VCCO_0_3V3 was within a couple mV
of spec. The cause and solution of the deviation is described later in this section.
A few problems were encountered during the tests. The first was that the sequencing was
not as expected. Both bank voltages VCCO_0_3V3 and VCCO_14_35_ADJ briefly started at poweron, powering off after a few milliseconds. The cause was believed to be the nPOR signal being
pulled high before the core logic in the PMIC had drawn it low. To remedy the problem, a
shunt capacitor was added to the nPOR net, the charge time for the capacitor was long enough
to hold the signal low until the PMIC could pull it low.
The second problem was that VCCO_0_3V3 only reached about 2.5 V. The cause was that
when the NMOS which lets power through to the net does not fully open since the source
node reaches the same potential as the gate. The fix was to connect VCCO_0_3V3 directly to
VCC_3V3 . The drawback is that the power sequence is no longer correct, causing a slightly
higher current draw at power on. The problem could also be fixed by using a load switch circuit, such as the one shown in Fig. 6.1. Such a solution would work as intended but requires
more components. For testing, connecting VCCO_0_3V3 to V3V3 was considered adequate.
Figure 6.1: Load switch schematic
A third problem was that the four voltages sourced from the PMIC started simultaneously.
The cause was most likely that the capacitors used for power sequencing charged to logic
HIGH before the PMIC had started. Since the only consequence of powering on all nets at the
same time is a higher current draw at power on, no action was taken to correct the problem.
34
6.3. Tests and inspection
In order to improve the power sequencing in future designs, a power sequencer could be
used. The drawback is that the design becomes more complex and requires more components.
FPGA system
These tests aimed to verify that all important signal connections to the FPGA had been properly soldered. Note that this section does not cover the PCI Express nets, as they were tested
separately.
The JTAG connectivity was verified by connecting a debugger and seeing that the device
appears in the debug environment.
To verify that all LVDS/CMOS pins were connected to their respective pins, a shift register was implemented in VHDL. By connecting the shift register to the pins and sending a
single ’1’ through it, all pins could be set high one at the time. By measuring the voltage at
the LVDS/CMOS header, it was possible to verify that all pins were properly isolated and
connected.
To verify the LDO voltage level control, each state of the configuration presented in Table 5.4 was tested.
All 2.1.x points were passed.
SMBus
For the SMBus tests, a SMBus master was connected to the 3.3 V side of the level converter.
The reason for not connecting it to the 1.8 V side was that the conversion had already been
verified and the masters at hand during testing operated at 3.3 V.
Point 2.2.1 and 2.2.3 were done by performing an enumeration of the SMBus and verifying
that the devices were being properly enumerated. Both passed.
Point 2.2.2 was tested by writing data to the EEPROM and reading it back. If the write
and read data is identical, the point was passed. The same test was done the check point
2.2.5, the difference being that the communication to the FLASH memory is done through
the SMBus-SPI bridge.
2.2.4 was verified by writing to the registers on the bridge that control the GPIOs and
checking that they behave as expected.
PCI Express
The PCI Express connection was verified by inserting the bridge in an M.2 connector and
uploading the "AXI Memory mapped to PCI Express" IP core to the FPGA through JTAG. If
the device was recognized by the operating system, the test was passed.
Initially, the device did not appear in the OS, indicating that there was something wrong
with either the IP core or the electrical connections. The PCI Express signals related to the
reference clock were probed on both the bridge and a third party M.2 module that was known
to function. It was immediately apparent that the reference clock was absent on the bridge.
The fault was that the CLKREQ pin on the M.2 connector of the bridge had been left floating
during design, when it should have been shorted to ground. The problem was corrected by
soldering a jumper from the pin to an exposed ground pad on the bridge.
After the fix, the reference clock appeared on the bridge and the platform was able to
enumerate it properly. The differential reference clock signal that was measured on the bridge
after the fix is shown in Fig. 6.2.
35
6.3. Tests and inspection
Figure 6.2: Reference clock differential signal measured on the bridge.
The Linux command lspci -vv was used to verify that the device had been enumerated
by the system. The console output is displayed in Fig. 6.3, where the LnkSta field shows that
the link operates at 5 GT/s in an x2 configuration.
Figure 6.3: PCI Express link lists the capabilities of the bridge.
36
7
Software
This chapter describes the developed software for each subsystem of the bridge. Each component requires a certain software coded in a certain programming language. These parts of
the bridge must work together to deliver the desired functionality within specifications.
7.1
EEPROM memory verification
The purpose of this software was to verify that the ID memory could be written and read
back by a SMBus master. The software was developed mainly in Python targeted towards a
Raspberry Pi. The code attempts to clear the memory and rewrite it with a text string. The
memory is then read back to show if it was properly programmed. In order to program the
ID memory, the write protect test pad in the design should be pulled to ground potential. The
program flow can be broken down to three major actions:
1. Clear ID Memory by writing ’0xFF’ to all memory addresses
2. While address is smaller than memory size and not at end of file:
• Send a packet of data to the memory
• Increment address counter
3. Read back memory
If the write protect pin was pulled low, and the EEPROM functions as intended, the data
that is read back should be the same as what was sent. If the write protect is not pulled low, the
read back data will be whatever was present on the memory prior to the write. The console
output following a successful write to the EEPROM is shown in Fig. 7.1.
37
7.2. Flash memory interfacing
Figure 7.1: Console output after a successful write to the EEPROM.
An interesting point, related to the functionality of the EEPROM is how it presents itself
on the SMBus. Read/write operations on SMBus usually consist of two bytes, followed by
the actual data that is to be sent to the device. The first byte is an address and read/write bit,
telling the devices on the SMBus what device the master wants to interface with. The second
byte is a command whose function is usually defined by the manufacturer and provided in
the device-specific datasheet. In the case of the EEPROM, the second Byte is the address that
the master wants to read from or write to. However, since it is a 4 kBit / 512 Byte memory
it cannot be addressed using a single command Byte. Instead the memory presents itself at
two addresses, one for each half of the memory. This is confirmed by running i2cdetect
on the Raspberry Pi when the bridges SMBus is connected. i2cdetect attempts to write to
all possible device addresses and displays the devices that respond, meaning that they are
present on the bus. The result is shown in Fig. 7.2.
Figure 7.2: Enumeration of the SMBus of the bridge. Notice the SMBus-SPI bridge at ’0x28’
and the EEPROM at ’0x50’ and ’0x51’.
7.2
Flash memory interfacing
As with the ID Memory, the flash memory interface software is also written on a Raspberry
Pi. The purpose of the software is to write an entire bit stream to the configurations memory
over SMBus. As described earlier, the SMBus does not connect directly to the configuration
38
7.2. Flash memory interfacing
memory. Instead, it communicates through a SMBus-to-SPI converter. The bridge introduces
some limitations that need to be taken into consideration during read/write of the configuration memory. The first is that the bridge only has a buffer size of 256 bytes, limiting the
amount of data that can be received before a transmission is required. The second limitation
is that while the bridge has multiple signal pins that may be used as both chip select (CS) or
as a GPIO, it required that at least one is configured as chip select in order for the bridge to
transmit any data. The fact that the CS pin is automatically pulled low and high when transmitting data in conjunction with the small buffer size causes problems when interfacing with
the configuration memory since it expects large (256+ bytes) packets.
Ideal transfer
Ideally, the buffer size of the bridge would not influence the transfers. Commands and data
transfers would be sent as complete packages, regardless of the size of the package. The
signal for such a solution is displayed in Fig. 7.3. This solution would greatly decrease the
complexity of the configuration procedure. However, since the bridge is limited by its fixed
buffer size and the CS pin is automatically controlled, such a solution is only possible for
sub-256 Byte packages. Note that the DONE signal is not used and should be configured as an
input on the bridge. The SPI signal symbolizes that there is ongoing activity on the MISO,
MOSI and CLK signals.
Figure 7.3: Ideal SPI data transfer.
1. IN pulled LOW, connecting bridge to configuration memory.
2. CS pulled LOW, to indicate start of transfer.
3. The entire data package is sent over SPI interface.
4. CS pulled HIGH, indicating end of transfer.
5. IN pulled HIGH, reconnecting FPGA to configuration memory.
6. (optional ) Program_B pulsed LOW, loads new configuration to FPGA.
Using the built-in CS pin
The second solution would be to transfer data in smaller packets. This eliminates the problem
of the buffer size but significantly increases the amount of overhead needed for addressing
and command declaration to the memory. The signal timing for such a solution is shown
in Fig. 7.4. Note that package size is limited to a maximum of 256 bytes by the bridge, but
may be further limited by SMBus buffer size in the SMBus master. Again, the DONE signal is
unused and should be configured as an input on the bridge.
39
7.2. Flash memory interfacing
Figure 7.4: SPI data transfer using the built-in CS pin feature.
1. IN pulled LOW, connecting bridge to configuration memory.
2. Data packages are transferred over SPI, with the CS pin going HIGH between packages.
3. IN pulled HIGH, reconnecting FPGA to configuration memory.
4. (optional ) Program_B pulsed LOW, loads new configuration to FPGA.
Final solution
The solution that was implemented was to use one of the other GPIO pins as a "dummy" CS,
specifically the DONE signal. This solution strives to replicate the ideal transfer solution as
closely as possible from a signal perspective. The signal timing is displayed in Fig. 7.5.
Figure 7.5: Final SPI data transfer implementation.
1. IN pulled LOW, connecting bridge to configuration memory.
2. Program_B pulled LOW, unloading any configuration from the FPGA.
3. CS pulled LOW, to indicate start of transfer.
4. Data packages are sent over SPI interface.
5. CS pulled HIGH, indicating end of transfer.
6. IN pulled HIGH, reconnecting FPGA to configuration memory.
7. Program_B pulled HIGH, loads new configuration to FPGA.
The DONE pin was a good candidate because it has a series resistor that limits any currents and it has no effect on the system when the Program_B signal is LOW. The real CS can
then be configured as a GPIO, and controlled manually through software allowing much
larger continuous transactions to the configuration memory. The drawback is that the FPGA
loses its configuration when new bit streams are loaded into memory. This trade-off was
considered acceptable since uploading a new bit stream to the configuration memory implies
that the "old" configuration will no longer be used.
40
7.3. FPGA firmware
7.3
FPGA firmware
The VHDL developing environment used to create the FPGA firmware was Xilinx Vivado Design Suite HLx 2018.3. It features simulation, debugging and numerous Intellectual Property
(IP) cores, which are pre-programmed blocks that may be used to accelerate development. A
block design structure was used to create the firmware in VHDL. A simplified view of the
block design is shown in Fig. 7.6
Figure 7.6: Overview of the VHDL block design.
AXI4 Protocol
The AXI protocol is a part of ARM AMBA, which is a series of microcontroller bus standards
initially introduced in 1996 and developed by ARM. AXI4 is the second version of the protocol and exist in three variations [25]:
• AXI4, High-performance memory mapped
• AXI4-Lite, Simple, low throughput memory mapped
• AXI4-Stream, High-speed data streaming
Xilinx adapted AXI4 when they introduced the Spartan-6 and Virtex-6 family devices as
the preferred communication protocol between IP cores. The VHDL solution developed in
this thesis uses a combination of AXI4 and AXI4-Lite interfaces. Each block that utilizes the
AXI-bus gets a dedicated address span. The AXI protocol is used for point to point communication, from master to slave, with a focus on high performance. If it is desired to connect
multiple slaves to a single master, or vice versa, an AXI interconnect can be used to separate
the transmissions.
PCI Express
The PCI Express functionality was implemented using the IP core AXI Memory Mapped to PCI
Express. The core functions as an interface between PCI Express and AXI4. It translates the
PCI Express transaction layer packets (TLPs) to AXI4 memory read and writes. Likewise, PCI
Express memory read or write TLPs are translated to AXI4 interface commands [26]. Data is
mapped to the platform memory using Block Address Registers (BARs). A BAR holds the
address to the data of a particular VHDL block. The BAR contains the necessary information
to accurately route the data from PCI Express to AXI4 through the address translation and
ensures that the data ends up at the correct destination.
The IP core has a series of inputs and outputs which has to be constrained to the physical
ports of the FPGA associated with the M.2 PCI Express pins. Once the device is programmed
and the platform device requests a PCI Express enumeration, the device’s PCI Express Endpoint functionality is detected. The correct configuration (PCI Express Gen 2 x2), reported by
the platform system, indicates that the link operates as anticipated.
41
7.3. FPGA firmware
Clock Buffers
The PCI Express link requires a reference clock, provided through the M.2 as a part of the PCI
Express standard. The clock signal originates from a differential source and needs additional
buffers to bring the off-chip signals to the internal circuitry. A Utility Buffer IP is used to
convert the differential inputs into a buffered single-ended clock signal. This signal can be
connected directly to the reference clock input of the PCI Express IP.
Block RAM
A block RAM (BRAM) is used to store data. It is part of the FPGA and has varying sizes
between FPGAs. The purpose of the BRAM in this thesis is to act as a FIFO buffer. The
BRAM is configured to have two ports, Port A and Port B. Both ports have access to the same
data with individual clocks. The idea is to connect the writing interface to Port A, while Port
B is used to read the data to the GPIOs. The data is loaded through the PCI Express to AXI4
link, on an address location specified by the user. The Block RAM is generated by the IP Block
RAM Generator, which allocates a set amount of space and automates memory optimizations.
The BRAM connects to the AXI4 interface through a Block RAM Controller IP, which translates
AXI4 to the BRAM interface and provides direct access to the memory via AXI4.
Custom IP
A custom IP block was needed to test the functionality of the PCI Express Bridge. The logic of
the IP block has three main objectives; read a control register from the AXI-bus, read the data
register and shift the data on the output. The implementation, therefore, requires AXI communication with custom logic. Fortunately, Vivado includes a utility to easily create custom
AXI peripherals, which takes care of the AXI communication and leaves the user to implement the custom logic.
The data rate of the output is selectable through a configurable PLL. This clock output is
synchronized with the data, resulting in synchronous serial communication, perfectly fitted
for a test application. The selectable output frequency is used to test the maximum transmission rate on the GPIO outputs.
By setting a high data rate and modifying the transmitted data, it was possible to
measure the performance of the LVDS/CMOS side. By having a 400 MHz data rate
and sending 1111000011110000..., the bridge would generate a 50 MHz square wave.
110011001100... would generate a 100 MHz square wave. The maximum frequency that
was tested was 200 MHz.
Constraints
Constraints exist to inform the FPGA of each pin’s behavior. They are used to constrain the
internal ports to the external pins of the FPGA. Additionally, they can be used to set direction, terminations, and voltage levels. Certain pins are designed to operate certain functions.
Constraints covering these pins are, therefore, restricted.
Simulation and Debug
The Vivado design suite offers the creator to simulate individual blocks or the entire firmware
without synthesizing or implementing the design, which enables faster developing. The simulation utility interprets the behavior of the blocks and presents the input and output signals
and their values. The debug core displays the signal values in a similar style but are instead
running on the actual FPGA instead of in a simulator. An IP called Virtual Input/Output
(VIO) is a part of the debug utility and lets the user set or read specific ports in real time.
42
7.4. Platform application
Test application
The functionality is going to vary based on future applications, but the device should have
the capability to output Serial based protocols at reasonable speeds. Consequently, as a test
application, the user should enter data to a register on the platform system. Once the data
is set, the user defines the number of bytes to be clocked out and triggers the event through
a control register. The FPGA uses a separate clock signal to clock out the data, bit by bit, at
the desired rate. The application should read the data on a separate pin and verify that the
input matches the output. The result should present an indication of the maximum obtainable
throughput possible on the GPIO side.
7.4
Platform application
Every PCI Express device retrieves a base address upon enumeration. The base address
spans the necessary length to include all addressable memory as defined within the FPGA.
If the BAR is configured to point to a specific block at address 0x00001000 and the base
address defined by the platform system is 0x80300000, the resulting memory location is
0x80301000. This memory corresponds to the physical memory of the platform, rather
than the virtual memory. The location of the physical memory is on the platform’s RAM,
while the virtual memory is located at the hard drive. The capacity is, therefore, limited by
the RAM volume on the platform device. The physical memory is directly accessible from
Linux through \dev\mem, as seen in Fig. 7.7. An operation which writes a value to the
resulting address above can be used to trigger an event inside the FPGA. Once a value to
a specific register is written, the FPGA can respond to the operation and perform an action
based on the content of the value.
Figure 7.7: Platform application writing to register and validates its value.
43
8
Results
This chapter will present the results of this thesis. The results cover the PCB layout and
the measured performance of the bridge. The chapter will also summarize the hardware
modifications that were made to the bridge after the components had been mounted. A brief
summary of the bridge size and performance is presented in Table 8.1.
Table 8.1: Summary of bridge dimensions and performance
Property
Dimensions (Width x Length)
M.2 connector keying
Height (above PCB)
Height (below PCB)
Max transfer rate (PCI Express)
Link width
Max data rate (PCI Express)
Max data rate (LVDS/CMOS)
Number of GPIOs
8.1
Value
22x80 mm
M-key
4.9 mm
0.9 mm
5 GT/s
x2
8 Gb/s
200 Mb/s per pin
20 Single ended or 10 Differential
PCB Layout
The PCB consists of a 4 layer stackup. The layers are presented below.
Figure 8.1: Layout – Top Layer
44
8.2. Bridge performance
Figure 8.2: Layout – Inner Layer 1
Figure 8.3: Layout – Inner Layer 2
Figure 8.4: Layout – Bottom
8.2
Bridge performance
The PCI Express side of the bridge behaves as expected with it being recognized by the platform as a PCI Express 5GT/s x2 device. With the 8/10 bit encoding employed by PCI Express,
this results in a max transfer rate of 8 Gb/s. The temperature of the Artix-7 as measured by
the Vivado IDE was consistently lower than 75o C.
As seen in Fig. 8.5-8.6 the LVDS/CMOS side was able to output waveforms at up to 200
MHz.
45
8.3. Summary of hardware modifications
Figure 8.5: Output signal at 100 MHz.
Figure 8.6: Output signal at 200 MHz.
Unfortunately, it proved difficult to measure the latency of the bridge. The main reason
being that the PCI Express link frequency at 5 GHz was too high to measure using any of the
instruments at hand.
8.3
Summary of hardware modifications
This section will summarize the hardware modifications that were done to the bridge after
it had been assembled. These changes were necessary for the bridge to boot and behave as
expected.
46
8.4. Software design
The nPor fix
The first hardware modification was the "nPor fix". It included fixing the VCCO,3V3 voltage
level as well as modifying the power-up sequence. The problem and cause is described in
greater detail under section 6.3. Fig. 8.7 displays the fix both in Altium designer and on the
PCB.
Figure 8.7: the nPor fix. Right: Altium designer screenshot with the modifications, Left: Same
modification on the PCB.
The reference clock fix
The second modification will be referred to as the reference clock. During design, the CLKREQ
pin on the M.2 connector was left floating. Its purpose is to tell the master device that there
is a PCI Express device connected and that it requires a reference clock. The pin should have
been connected directly to ground. A small wire was soldered to the pin and an unused
ground pad on the bridge. The fix is shown in Fig. 8.8. The two black wires at the bottom left
of Fig. 8.8 are for SMBus debugging and are not necessary in the final product.
Figure 8.8: The CLKREQ fix. Right: Altium designer screenshot with the modification, Left:
Same modification on the PCB.
8.4
Software design
PCI Express commands are sent from the platform through PCI Express, translated to AXI
and stored in a FIFO buffer. A series of control register bits are used to initiate a transmission
which forwards data to the GPIOs. Fig. 8.9 shows a simulated signal of the output signals
from Vivado. The real output signals, measured by a logic analyzer, is illustrated in Fig. 8.10
47
8.4. Software design
Figure 8.9: Signals; TX ready, data request, data in, data out, clock and state.
Figure 8.10: Output signals; data and clock.
48
9
Discussion and conclusion
This chapter will discuss the component choices, implementation, and future improvements
of the PCI Express Bridge.
9.1
Design requirements and research questions
The final design manages to fulfill all design requirements with the exception of the latency,
which was not measured. It has a PCI Express Gen 2 x2 interface, one generation better than
the specified Gen 1. The LVDS/CMOS interface is capable of communicating at speeds up to
200 MHz on multiple pins simultaneously and independently. As for the physical size of the
bridge, it is within the 22x80x0.8 mm requirement and fits any standard M.2 expansion slot.
The bridge runs at a slightly high 75o C without air flow but the temperature does not appear
to rise further under load.
It was unfortunate that the latency proved difficult to measure. Since both the PCI Express and internal AXI are high-speed interfaces, the latency through the system should be
low. It may be possible to measure the delay using internal signals in the FPGA or with better measuring equipment, but it was of greater interest focus on the software and enhance
functionality.
As for the research questions, the prestudy concluded that the use of an FPGA was the
best solution since it introduces very little delay and allows for high throughput on multiple
channels.
9.2
Implementation
The bridge works, with minor modifications, as expected. The bridge can accept commands
sent through PCI Express and perform pre-programmed actions specified in its firmware.
The minor modifications are related to the power sequence functionality and PCI Express
clock reference request. They are solved by performing the fixes described in Section 8.3.
The software is implemented to test the bridges functionality. Further development, to
fully implement the desired protocols, is required. The current firmware can load and transmit data sent over PCI Express. A desired improvement would be to add the ability to receive
data on the LVDS/CMOS interface and sent it over PCI Express.
49
9.2. Implementation
The bridge is using a general purpose pin header for the inputs and outputs. The solution
is universal, adaptable, and works for low to medium speed applications. Applications which
operate at a high frequency might require special connectors with sufficient shielding and
controlled impedance to improve the signal integrity and noise sensitivity. Changes to the
bridge layout should be made to suit specific requirements or applications.
A benefit of the current design is that the interface that is used internally is the well established AXI interface. Any further development on the bridge can be targeted towards
AXI, rather than a device specific PCI Express implementation. This greatly decreases the
complexity of the solution.
50
Bibliography
[1] PCI-SIG. PCI Express®Base Specification Revision 3.0. Tech. rep. 2010.
[2]
[UG-01145] Intel® Arria® 10 or Intel® Cyclone®10 GX Avalon®-MM DMA Interfacefor
PCI Express* Solutions UserGuide. Page 12. Intel. 2018.
[3]
[UG0447] User Guide, SmartFusion2 and IGLOO2 FPGA High-Speed Serial Interfaces, Rev.
8.0. Page 17. Microsemi. 2018.
[4]
[FPGA-IPUG-02009] PCI Express x1/x2/x4 Endpoint IP Core User Guide. Page 6-7. Lattice
Semiconductor. 2017.
[5]
[PG054] 7 Series Integrated Block for PCIe, v3.3. Xilinx Inc. 2018.
[6]
CYCLONE® IV FPGAs PRODUCT TABLE. Intel. URL: https://www.intel.com/
content/dam/www/programmable/us/en/pdfs/literature/pt/cycloneiv-product-table.pdf.
[7]
INTEL® CYCLONE® 10 GX FPGAs PRODUCT TABLE. Intel. URL: https : / / www .
intel.com/content/dam/www/programmable/us/en/pdfs/literature/
pt/cyclone-10-gx-product-table.pdf.
[8]
ARRIA V FPGA AND SoC FEATURES. Intel. URL: https : / / www . intel . com /
content / dam / www / programmable / us / en / pdfs / literature / pt / arria v-product-table.pdf.
[9]
STRATIX V FPGA FEATURES. Intel. URL: https://www.intel.com/content/
dam / www / programmable / us / en / pdfs / literature / pt / stratix - v product-table.pdf.
[10] [DS1006] LatticeECP2/M Family Data Sheet. Page 3. Lattice Semiconductor. June 2017.
[11] [I0211] PRODUCT SELECTOR GUIDE November 2018. Page 6. Lattice Semiconductor.
2018.
[12] [PB0121] Product Brief, IGLOO2 FPGA. Page 8. Microsemi. 2018.
[13] [PB0115] Product Brief, SmartFusion2 SoC FPGA. Page 9-10. Microsemi. 2018.
[14] [DS160] Spartan-6 Family Overview, v2.0. Page 2-3. Xilinx Inc. 2011.
[15] [DS180] 7 Series FPGAs Data Sheet: Overview, v2.6. Page 3-6. Xilinx Inc. 2018.
[16] [UG470] 7 Series FPGAs Configuration User Guide, v1.13.1. Xilinx Inc. 2018.
51
Bibliography
[17] Power-Supply Solutions for Xilinx FPGAs. Maxim Integrated. URL: https : / / www .
maximintegrated.com/en/app-notes/index.mvp/id/5132.
[18] [UG482] 7 Series FPGAs GTP Transceivers User Guide, v1.9. Xilinx Inc. 2016.
[19] [SNVS543N9] LM26480 Dual 2-MHz, 1.5-A Buck Regulators and Dual 300-mA LDOs With
Individual Enable and Power Good. Texas Instruments. URL: www . ti . com / lit / ds /
symlink/lm26480.pdf.
[20] [DS181] Artix-7 FPGAs Data Sheet: DC and AC Switching Characteristics, v.1.25. Xilinx Inc.
2018.
[21] [SNVS543N] LM26480Dual 2-MHz,1.5-A Buck Regulators and Dual 300-mA LDOs With
Individual Enable and Power Good, Rev. N. Page 25-27, 28-30. Texas Instruments Inc. 2016.
[22] Murata. Ceramic Capacitors FAQ. URL: https : / / www . murata . com / en - sg /
support/faqs/products/capacitor/mlcc/char/0005.
[23] [SBVS351C] TLV758P 500-mA, high-accuracy, adjustable LDO in a small size package, Rev.
C. Texas Instruments Inc. 2019.
[24] [UG483] 7 Series FPGAs PCB Design Guide, v1.13. Xilinx Inc. 2017.
[25] AXI Reference Guide. Xilinx Inc. URL: https : / / www . xilinx . com / support /
documentation/ip_documentation/ug761_axi_reference_guide.pdf.
[26] AXI Memory Mapped to PCI Express (PCIe) Gen2 v2.8. Xilinx Inc. URL: https://www.
xilinx.com/support/documentation/ip_documentation/axi_pcie/v2_
8/pg055-axi-bridge-pcie.pdf.
52
Appendix A
Comparison Chart
Manufacturer
Product name
Price (USD)
PCIe support
Logic element/cells
Footprint (Pitch & Type)
Size (BxH)
GPIOs
I/O-voltage
GPIO Speed
(Single-ended)
Lattice
ECP2 (LFE2M20E-5FN256C)
41
Gen1 x4
19K
1 mm BGA
17x17
140
1.2V-3.3V
311 MHz
Lattice
ECP3 (LFE3-17EA-6FTN256C)
18
Gen1 x4
17K
1 mm BGA
17x17
133
1.2V-3.3V
500 MHz
Lattice
ECP5 (LFE5UM-25F-8BG381C)
15
Gen1 x4
24,000
0.8 mm BGA
17x17
197
1.2V-3.3V
150 MHz
400 MHz
Lattice
ECP5 (LFE5UM-45F-8BG381C)
26
Gen1 x4
44K (Upp till 85K)
0.8 mm BGA
17x17
203
1.2V-3.3V
150 MHz
400 MHz
4
No
Lattice
ECP5-5G (LFE5UM5G-25F-8BG381C)
19
Gen2 x2 soft
24K (Upp till 85K)
0.8 mm BGA
17x17
203
1.2V-3.3V
150 MHz
400 MHz
4
Yes
Lattice
ECP5-5G (LFE5UM5G-45F-8BG381C)
31
Gen2 x2 soft
44K (Upp till 85K)
0.8 mm BGA
17x17
203
1.2V-3.3V
150 MHz
400 MHz
2
Yes
Xiilinx
Artix-7 (XC7A12T-2CSG325)
36
Gen2 x2
8k
0.8 mm BGA
15x15
150
1.2V-3.3V
200 MHz
1250 Mbps
2
Yes
Xilinx
Artix-7 (XC7A25T-2CSG325I)
47
Gen2 x4
25K (Upp till 50K)
0.8 mm BGA
15x15
150
1.2V-3.3V
200 MHz
1250 Mbps
4
Yes
Xilinx
Artix-7 (XC7A15T-2CSG325C)
47
Gen2 x4
16K (Upp till 50K)
0.8 mm BGA
15x15
150
1.2V-3.3V
200 MHz
1250 Mbps
4
Yes
Xilinx
Artix-7 (XC7A100T-1FGG484)
70
Gen2 x4
101K (Upp till 215K)
1 mm BGA
23x23
250
1.2V-3.3V
200 MHz
1250 Mbps
4
No
Xilinx
Spartan-6 (XC6SLX25T-N3CSG324C)
46
Gen1 x2
24K
0.8 mm BGA
15x15
190
1.5V-3.3V
1060 Mbps
2
No
Cheaper alternative with better
performance
Xilinx
Kintex-7 (XC7K70T-1FBG484)
150
Gen2 x8
65K (Upp till 160K)
1 mm BGA
23x23
285
1.2V-3.3V
4
No
Expensive, Too big
Xilinx
Kintex Ultrascale Plus (XCKU3P-1SFVB784E)
1,000
Gen3 x16
356K
0.8 mm BGA
23x23
304
1.0V-3.3V
16
No
Expensive, Too big
Xilinx
Virtex Ultrascale Plus (XCVU3P-1FFVC1517E)
9,000
Gen3 x16
862K
1 mm BGA
40x40
520
1.0V-3.3V
40
No
Expensive, Too big
Xilinx
Virtex-7 XT (XC7VX330T-1FFG1157C)
2,500
Gen3 x8
326K
1 mm BGA
35x35
600
1.2V-3.3V
20
No
Expensive, Too big
Intel
Cyclone IV (EP4CGX30CF19C8N)
64
Gen1 x4
29K
1 mm BGA
19x19
150
1.2V-3.3V
200 MHz
848 Mbps
4
No
Expensive price/performance
(Gen1 PCIe)
Intel
Cyclone 10 GX (10CX085YU484I6G)
100
Gen2 x4
85K
0.8 mm BGA
19x19
188
1.2V-3.0V
200 MHz
1.4 Gbps
6
No
Expensive
Intel
Cyclone 10 GX (10CX220YF780E5G)
260
Gen2 x4
220K
1 mm BGA
29x29
284
1.2V-3.0V
200 MHz
1.4 Gbps
12
No
Expensive, Too big
Intel
Arria V GX (5AGXMA5G4F35C4G)
1,000
Gen2 x4
75K (Upp till 504K)
1 mm BGA
27x27
336
1.2V-3.3V
200 MHz
1.6 Gbps
9
No
Expensive, Too big
Intel
Stratix V GX ( 5SGXMA3E3H29C4N )
2,000
Gen3 x8
340K
1 mm BGA
29x29
360
1.2V-3.0V
167 MHz
1.6 Gbps
12
No
Expensive, Too big
Intel
Arria V GZ (5AGZME1E3H29C4N)
1,500
Gen3 x8
220K (Upp till 450K)
1 mm BGA
29x29
342
1.2V-3.3V
200 MHz
1.6 Gbps
12
No
Expensive, Too big
Microsemi
SmartFusion2 (M2S010T-1VF400)
36
Gen2 x4
12K
0.8 mm BGA
17x17
195
1.2V-3.3V
400 MHz
700 Mbps
4
No
Complicated, Hard to source
Microsemi
IGLOO2 (M2GL025T-1VF400)
63
Gen2 x4
25K
0.8 mm BGA
17x17
195
1.2V-3.3V
400 MHz
700 Mbps
4
Yes
Microsemi
IGLOO2 (M2GL010T-1VF400)
37
Gen2 x4
12K
0.8 mm BGA
17x17
195
1.2V-3.3V
400 MHz
700 Mbps
4
No
Hard to source
Microsemi
IGLOO2 (M2GL005-VFG256)
30
Gen1 x4
12K
0.8 mm BGA
17x17
195
1.2V-3.3V
400 MHz
700 Mbps
2
No
Cant do PCIe
Intressanta serier
Utvecklings
IDE
Licenskrav
Lattice ECP5-5G Series
Diamond
Ja
Xilinx Artix-7 Series
Vivado
Nej
Intel Cyclone 10 Series
Quartus
Pro
Microsemi IGLOO2 Series
Libero
Gold
GPIO Speed
(Differential)
SerDes Channels
Candidate?
Motivation
4
No
Expensive price/performance
4
No
Expensive price/performance
2
No
Next gen hardware available for
almost the same price
Next gen hardware available for
almost the same price
Requires Speed Grade 2 for PCIe
Gen 2
Requires Speed Grade 2 for PCIe
Gen 2
Requires Speed Grade 2 for PCIe
Gen 2
Too big
1
2
3
4
Appendix B
A
A
B
B
C
C
D
Rev. 1.0
Sheet 1 of 8
System Sketch
Project: PCIe Bridge
File:
system_sketch.SchDoc
Linköping University
2019-03-27
Author(s): Håkan Gerner
Mandus Börjesson
1
2
3
4
D
1
2
VCC_3V3
VCC_3V3
PIR2302
PIR2401
VCC_3V3
PIC20 2
PIC20 1
A
PIC2102
COC20
C20
0.47uF PIC2101
3
PIR2301
COC21
C21
COR23
R23
10K
COU3
U3
16
VCC
COR24
R24
PIU3016
10K
15
PIU3015
EN#
1
PIU301
IN1
PIR2402
4
0.47uF
TS3A5018
4 x SPDT
NO1
NO2
NO3
NO4
COU4
U4
VCC_3V3
8
PIU408
GND
1
3
7
PIU401
PIU403
PIU407
4
PIU404
NOR Flash
CE#
WP#/SIO2
HOLD#/SIO3
GND
FLASH_CS_N
16 kb, SPI
VDD
SI/SIO0
SO/SIO1
SCK
4
PIU304
5 FLASH_MOSI
PIU405
2 FLASH_MISO
PIU402
7
PIU307
9
PIU309
6 FLASH_CLK
12
PIU3012
PIU406
8
PIU308
GND
17
PIU3017
SST26VF016B
GND
2
5
11
14
PIU3014
PIU302
PIU305
PIU3011
GND
DAP
GND
DAP = Die Attached Pad, Not used
B
I2C to SPI Bridge
PIR2502
COR25
R25
10K
PIR2501
FPGA_CFG_MOSI
FPGA_CFG_CLK
COU5
U5
VCC_3V3
RESET_N
NC1
NC2
NC3
NC4
A
FPGA_CFG_CS_N
PIU306
TS3A5018
Common MISO since there is only one driving node (FLASH memory),
reduces number of used SPDTs (easier to route)
B
COM1
COM2
COM3
COM4
3
6
10
PIU3010
13
PIU3013
PIU303
12
PIU5012
3
PIU503
9
PIU509
6 PROG_MOSI
MOSI
5
MISO PIU505
11 PROG_CLK
SPICLK PIU5011
VDD
PIU506
RESET#
INT#
FPGA_CFG_MISO
8
SCL
7
SDA PIU507
SMB_CLK
SMB_DATA
PIU508
SS0#/GPIO0
SS1#/GPIO1
SS2#/GPIO2
SS3#/GPIO3
4
PIU504
A2
A1
A0
GND
1
PIU501
2
PIU502
10
13
PIU5010
FPGA_PROGRAM
FPGA_DONE
16
PIU5016
15
PIU5015
VCC_3V3
14
PIU5014
PIR2601
COR26
R26
SC18IS602B
C
GND
PROG_CS_N
PIU5013
I2C address: 0101[A2][A1][A0][R/W]
GND
PITP901
PIR2602
10K
COU6
U6
4
PIU604
5
PIU605
COTP9
TP9
VCC
SCL
SDA
1
C
PIU601
3
PIU603
WP
EEPROM
4 kb, I2C
2
PIU602
GND
AT24C04D
VCCO_0_3V3
GND
PIR2702
COR27
R27
10K
PIR2701
COP1
P1
1
PIP101
4
7
8
PIP108
PIP104
PIP107
D
VREF
GND
GND
GND
TMS
TCK
TDO
TDI
3
PIP103
2
6
5
PIP105
PIP102
PIP106
PIR2802
PIR2902
PIR2801
PIR2901
COR28
R28
10K
COR29
R29
10K
JTAG_TMS
JTAG_TCK
JTAG_TDO
JTAG_TDI
GND
Project: PCIe Bridge
File:
Programming.SchDoc
Linköping University
2019-03-27
Author(s): Håkan Gerner
Mandus Börjesson
JTAG
1
Rev. 1.0
Sheet 2 of 8
Programming Interface
JTAG
2
3
4
D
1
2
3
4
Requirements:
PUDC_B = HIGH to force IO's to HIGH-Z (For SET_IO regulation to work as expected
PROGRAM_B: Reloads configuration when pulsed LOW.
INIT_B: Initialization, Can be held low to stall initialization on power-up,
external <4.7k Pullup.
DONE: Goes HIGH when a configuration is complete, internal 10k
Pullup.
CFGBVS: Configuration bank voltage select, HIGH -> 3.3V or 2.5V.
U7B
BANK 14
Artix-7 CSG325 FPGA
A
K16
IO_L1P_T0_D00_MOSI_14 PIU70K16
L17
IO_L1N_T0_D01_DIN_14 PIU70L17
J15
IO_L2P_T0_D02_14 PIU70J15
J16
IO_L2N_T0_D03_14 PIU70J16 COR45
J18
IO_L3P_T0_DQS_PUDC_B_14 PIU70J18PIR4502
K18
IO_L3N_T0_DQS_EMCCLK_14 PIU70K18 330
L15
IO_L6P_T0_FCS_B_14 PIU70L15
T18
IO_L15N_T2_DQS_DOUT_CSO_B_14 PIU70T18
FPGA_CFG_MOSI
FPGA_CFG_MISO
B
C
A
[UG470] - 7 Series FPGAs Configuration User Guide, v1.13.1, p.27-28.
PIR4501
VCCO_0_3V3
PUDC_B: When PUDC_B is [LOW/HIGH], internal pull-up resistors are
[ENABLED/DISABLED] on each SelectIO pin.
EMCCLK: Optional external configuration clock, <1k pull to
LOW/HIGH.
CSO: For serial modes: CSO_B is a multi-purpose pin that functions as
the DOUT pin.
FPGA_CFG_CS_N
SET_IO_3V3_N
L14
PIU70L14
K17
PIU70K17
IO_0_14
IO_L4P_T0_D04_14
L18
IO_L4N_T0_D05_14 PIU70L18
J14
IO_L5P_T0_D06_14 PIU70J14
K15
IO_L5N_T0_D07_14 PIU70K15
M15
IO_L6N_T0_D08_VREF_14 PIU70M15
M16
IO_L7P_T1_D09_14 PIU70M16
M17
IO_L7N_T1_D10_14 PIU70M17
M14
IO_L8P_T1_D11_14 PIU70M14
N14
IO_L8N_T1_D12_14 PIU70N14
N16
IO_L9P_T1_DQS_14 PIU70N16
N17
IO_L9N_T1_DQS_D13_14 PIU70N17
N18
IO_L10P_T1_D14_14 PIU70N18
P18
IO_L10N_T1_D15_14 PIU70P18
P15
IO_L11P_T1_SRCC_14 PIU70P15
P16
IO_L11N_T1_SRCC_14 PIU70P16
P14
IO_L12P_T1_MRCC_14 PIU70P14
R15
IO_L12N_T1_MRCC_14 PIU70R15
T14
IO_L13P_T2_MRCC_14 PIU70T14
T15
IO_L13N_T2_MRCC_14 PIU70T15
R16
IO_L14P_T2_SRCC_14 PIU70R16
R17
IO_L14N_T2_SRCC_14 PIU70R17
R18
IO_L15P_T2_DQS_RDWR_B_14 PIU70R18
T17
IO_L16P_T2_CSI_B_14 PIU70T17
U17
IO_L16N_T2_A15_D31_14 PIU70U17
U15
IO_L17P_T2_A14_D30_14 PIU70U15
U16
IO_L17N_T2_A13_D29_14 PIU70U16
V16
IO_L18P_T2_A12_D28_14 PIU70V16
V17
PIU70V17
IO_L18N_T2_A11_D27_14
R13
IO_L19P_T3_A10_D26_14 PIU70R13
T13
IO_L19N_T3_A09_D25_VREF_14 PIU70T13
U14
IO_L20P_T3_A08_D24_14 PIU70U14
V14
IO_L20N_T3_A07_D23_14 PIU70V14
V12
IO_L21P_T3_DQS_14 PIU70V12
V13
IO_L21N_T3_DQS_A06_D22_14 PIU70V13
T12
IO_L22P_T3_A05_D21_14 PIU70T12
U12
IO_L22N_T3_A04_D20_14 PIU70U12
U11
IO_L23P_T3_A03_D19_14 PIU70U11
V11
IO_L23N_T3_A02_D18_14 PIU70V11
U9
IO_L24P_T3_A01_D17_14 PIU70U9
V9
IO_L24N_T3_A00_D16_14 PIU70V9
U10
IO_25_14 PIU70U10
[UG470] - 7 Series FPGAs Configuration User Guide, p.25-26:
M[2:0] = 001 SPI Master Mode
COU7A
COU7B
U7A
VCCO_0_3V3
BANK 0
B
Artix-7 CSG325 FPGA
M2_0
M1_0
M0_0
SET_IO_2V5_N
F13
PIU70F13
R11
PIU70R11
R12
PIU70R12
PIR4602
CCLK_0
DONE_0
SET_IO_1V8_N
CFGBVS_0
TDI_0
TMS_0
TCK_0
TDO_0
E11
PIU70E11
VCCBATT_0
GND
XADC
VCCAUX_1V8
J10
PIU70J10
VCCADC_0
J9
PIU70J9 GNDADC_0
PIR4702
COR46
R46 COR47
R47
GND
T10
INIT_B_0 PIU70T10
P10
PROGRAM_B_0 PIU70P10
4.7K 4.7K
PIR4601
PIR4701
FPGA_PROGRAM
E8
FPGA_CFG_CLK
PIU70E8
R48
F12 COR48
PIR4801
10K
PIU70F12
PIR4802
E12
PIU70E12
FPGA_DONE
DONE: Short-circuit protection
I2C bridge output default HIGH
VCCO_0_3V3
T9
R8
JTAG_TDI
JTAG_TMS
JTAG_TCK
JTAG_TDO
PIU70T9
PIU70R8
F8
PIU70F8
T8
PIU70T8
C
M10
DXP_0 PIU70M10
M9
DXN_0 PIU70M9
VREFP_0
VREFN_0
VP_0
VN_0
L10
K9
PIU70L10
PIU70K9
K10
PIU70K10
L9
PIU70L9
Artix-7 FPGA
GND
GND
Artix-7 FPGA
D
Artix-7 Configuration Banks
Project: PCIe Bridge
File:
Bank_0_14.SchDoc
Linköping University
2019-03-27
Author(s): Håkan Gerner
Mandus Börjesson
1
2
3
4
Rev. 1.0
Sheet 3 of 8
D
1
2
COU7C
COU7E
U7C
B
C
4
COP2
P2
1
3
5
PIP205
7
PIP207
9
PIP209
Pin Header
11
PIP2011
1.27 mm
13
PIP2013
15
PIP2015
17
PIP2017
19
PIP2019
U7E
BANK 15
BANK 34
Artix-7 CSG325 FPGA
Artix-7 CSG325 FPGA
D10
IO_0_15 PIU70D10
D8
IO_L1P_T0_AD0P_15 PIU70D8
C8
IO_L1N_T0_AD0N_15 PIU70C8
D9
IO_L2P_T0_AD8P_15 PIU70D9
C9
IO_L2N_T0_AD8N_15 PIU70C9
B9
IO_L3P_T0_DQS_AD1P_15 PIU70B9
A9
IO_L3N_T0_DQS_AD1N_15 PIU70A9
C11
IO_L4P_T0_AD9P_15 PIU70C11
B11
IO_L4N_T0_AD9N_15 PIU70B11
B10
IO_L5P_T0_AD2P_15 PIU70B10
A10
IO_L5N_T0_AD2N_15 PIU70A10
D11
IO_L6P_T0_15 PIU70D11
C12
IO_L6N_T0_VREF_15 PIU70C12
B12
IO_L7P_T1_AD10P_15 PIU70B12
A12
IO_L7N_T1_AD10N_15 PIU70A12
A13
IO_L8P_T1_AD3P_15 PIU70A13
A14
IO_L8N_T1_AD3N_15 PIU70A14
C14
IO_L9P_T1_DQS_AD11P_15 PIU70C14
B15
IO_L9N_T1_DQS_AD11N_15 PIU70B15
B14
IO_L10P_T1_AD4P_15 PIU70B14
A15
IO_L10N_T1_AD4N_15 PIU70A15
D13
IO_L11P_T1_SRCC_AD12P_15 PIU70D13
C13
IO_L11N_T1_SRCC_AD12N_15 PIU70C13
E13
IO_L12P_T1_MRCC_AD5P_15 PIU70E13
D14
IO_L12N_T1_MRCC_AD5N_15 PIU70D14
E15
IO_L13P_T2_MRCC_15 PIU70E15
D15
IO_L13N_T2_MRCC_15 PIU70D15
E16
IO_L14P_T2_SRCC_15 PIU70E16
D16
IO_L14N_T2_SRCC_15 PIU70D16
B16
IO_L15P_T2_DQS_15 PIU70B16
A17
IO_L15N_T2_DQS_ADV_B_15 PIU70A17
C16
IO_L16P_T2_A28_15 PIU70C16
B17
IO_L16N_T2_A27_15 PIU70B17
E17
IO_L17P_T2_A26_15 PIU70E17
D18
PIU70D18
IO_L17N_T2_A25_15
C17
IO_L18P_T2_A24_15 PIU70C17
C18
IO_L18N_T2_A23_15 PIU70C18
G17
IO_L19P_T3_A22_15 PIU70G17
F18
PIU70F18
IO_L19N_T3_A21_VREF_15
H16
IO_L20P_T3_A20_15 PIU70H16
G16
IO_L20N_T3_A19_15 PIU70G16
G15
IO_L21P_T3_DQS_15 PIU70G15
F15
IO_L21N_T3_DQS_A18_15 PIU70F15
G14
IO_L22P_T3_A17_15 PIU70G14
F14
IO_L22N_T3_A16_15 PIU70F14
H17
IO_L23P_T3_FOE_B_15 PIU70H17
H18
IO_L23N_T3_FWE_B_15 PIU70H18
F17
IO_L24P_T3_RS1_15 PIU70F17
E18
IO_L24N_T3_RS0_15 PIU70E18
H14
IO_25_15 PIU70H14
A
3
J6
IO_0_34 PIU70J6
K6
IO_L1P_T0_34 PIU70K6
K5
IO_L1N_T0_34 PIU70K5
J5
IO_L2P_T0_34 PIU70J5
J4
IO_L2N_T0_34 PIU70J4
K2
PIU70K2
IO_L3P_T0_DQS_34
K1
IO_L3N_T0_DQS_34 PIU70K1
K3
IO_L4P_T0_34 PIU70K3
L2
IO_L4N_T0_34 PIU70L2
L4
PIU70L4
IO_L5P_T0_34
L3
IO_L5N_T0_34 PIU70L3
L5
IO_L6P_T0_34 PIU70L5
M5
IO_L6N_T0_VREF_34 PIU70M5
M2
IO_L7P_T1_34 PIU70M2
M1
IO_L7N_T1_34 PIU70M1
M6
IO_L8P_T1_34 PIU70M6
N6
IO_L8N_T1_34 PIU70N6
N1
IO_L9P_T1_DQS_34 PIU70N1
P1
IO_L9N_T1_DQS_34 PIU70P1
M4
IO_L10P_T1_34 PIU70M4
N4
IO_L10N_T1_34 PIU70N4
N3
IO_L11P_T1_SRCC_34 PIU70N3
N2
IO_L11N_T1_SRCC_34 PIU70N2
P4
IO_L12P_T1_MRCC_34 PIU70P4
P3
IO_L12N_T1_MRCC_34 PIU70P3
R2
IO_L13P_T2_MRCC_34 PIU70R2
R1
IO_L13N_T2_MRCC_34 PIU70R1
R3
IO_L14P_T2_SRCC_34 PIU70R3
T2
IO_L14N_T2_SRCC_34 PIU70T2
U2
IO_L15P_T2_DQS_34 PIU70U2
U1
IO_L15N_T2_DQS_34 PIU70U1
V3
IO_L16P_T2_34 PIU70V3
V2
IO_L16N_T2_34 PIU70V2
T4
IO_L17P_T2_34 PIU70T4
T3
IO_L17N_T2_34 PIU70T3
U4
IO_L18P_T2_34 PIU70U4
V4
IO_L18N_T2_34 PIU70V4
P6
IO_L19P_T3_34 PIU70P6
P5
IO_L19N_T3_VREF_34 PIU70P5
U6
IO_L20P_T3_34 PIU70U6
U5
IO_L20N_T3_34 PIU70U5
R5
IO_L21P_T3_DQS_34 PIU70R5
T5
IO_L21N_T3_DQS_34 PIU70T5
R7
IO_L22P_T3_34 PIU70R7
T7
IO_L22N_T3_34 PIU70T7
U7
IO_L23P_T3_34 PIU70U7
V6
IO_L23N_T3_34 PIU70V6
V8
IO_L24P_T3_34 PIU70V8
V7
IO_L24N_T3_34 PIU70V7
R6
IO_25_34 PIU70R6
4_P
4_N
3_P
3_N
2_P
2_N
1_P
1_N
0_P
0_N
Artix-7 FPGA
0_P
0_N
1_P
1_N
2_P
2_N
3_P
3_N
4_P
4_N
PIP201
PIP203
2
4
6
8
PIP208
10
PIP2010
12
PIP2012
14
PIP2014
16
PIP2016
18
PIP2018
20
PIP2020
PIP202
PIP204
PIP206
M50-361
PIR3501
0_P
PIR3601
COR35
R35
1_P
PIR3701
2_P
PIR3801
3_P
COR36
R36
PIR3901
COR37
COR38
R37
R38
DNM DNM DNM DNM
PIR3502 0_N PIR3602 1_N PIR3702 2_N PIR3802 3_N PIR3902
4_P
GND
COR39
R39
DNM
4_N
100 Ohm LVDS Termination (For test equipment)
B
PIR40 1
9_P
PIR4101
8_P
PIR4201
7_P
PIR4301
5_P
COR40
R40
PIR40 2
5_P
5_N
6_P
6_N
7_P
7_N
COR41
COR42
COR43
R41
R42
R43
DNM DNM DNM DNM
9_N PIR4102 8_N PIR4202 7_N PIR4302 5_N
COP3
P3
2
4
6
PIP306
8
PIP308
10
PIP3010
Pin Header
12
PIP3012
1.27 mm
14
PIP3014
16
PIP3016
18
PIP3018
20
PIP3020
9_P
9_N
8_P
8_N
7_P
7_N
PIP302
PIP304
5_P
5_N
1
3
5
7
PIP307
9
PIP309
11
PIP3011
13
PIP3013
15
PIP3015
17
PIP3017
19
PIP3019
PIP301
PIP303
PIP305
C
M50-361
PIR4 02
GND
6_P
COR44
R44
8_P
8_N
9_P
9_N
PIR4 01
DNM
6_N
Artix-7 FPGA
D
Rev. 1.0
Sheet 4 of 8
Artix-7 IO Bank 15&34
Project: PCIe Bridge
File:
Bank_15_34.SchDoc
Linköping University
2019-03-27
Author(s): Håkan Gerner
Mandus Börjesson
1
A
2
3
4
D
1
2
3
4
A
A
VMGTAVTT_1V2
COU7D
U7D
PIR3401
BANK 216, GTP
COR34
R34
Artix-7 CSG325 FPGA
MGTRREF_216
B
MGTREFCLK0P_216
MGTREFCLK0N_216
MGTREFCLK1P_216
MGTREFCLK1N_216
MGTPTXP0_216
MGTPTXN0_216
MGTPRXP0_216
MGTPRXN0_216
MGTPTXP1_216
MGTPTXN1_216
MGTPRXP1_216
MGTPRXN1_216
MGTPTXP2_216
MGTPTXN2_216
MGTPRXP2_216
MGTPRXN2_216
C
MGTPTXP3_216
MGTPTXN3_216
MGTPRXP3_216
MGTPRXN3_216
A6
PIU70A6
PIR3402 100
D6
PIU70D6
B
D5
B6
B5
PIU70D5
PCIE_CLK_P
PCIE_CLK_N
PIU70B6
PIU70B5
H2
PIU70H2
H1
PIU70H1
PCIE_TX1_P
PCIE_TX1_N
PCIE_RX1_P
PCIE_RX1_N
E4
E3
PIU70E3
PIU70E4
PCIE_TX0_P
PCIE_TX0_N
PCIE_RX0_P
PCIE_RX0_N
F2
PIU70F2
F1
PIU70F1
A4
A3
PIU70A3
PIU70A4
PCIE_CLK_P
PCIE_CLK_N
PCIE_TX1_P
PCIE_TX1_N
PCIE_RX1_P
PCIE_RX1_N
PCIE_TX0_P
PCIE_TX0_N
PCIE_RX0_P
PCIE_RX0_N
D2
PIU70D2
D1
PIU70D1
C4
C3
PIU70C4
PIU70C3
C
B2
PIU70B2
B1
PIU70B1
G4
G3
PIU70G3
PIU70G4
Artix-7 FPGA
GND
GND
D
Rev. 1.0
Sheet 5 of 8
Artix-7 GTP Transcievers
Project: PCIe Bridge
File:
Transcievers.SchDoc
Linköping University
2019-03-27
Author(s): Håkan Gerner
Mandus Börjesson
1
2
3
4
D
1
2
3
4
A
A
VCC_3V3
COP4
P4
1
GND
3.3 V
3
PIP403
GND
3.3 V
5
PIP405 PETn3
N/A
7
PIP407 PETp3
N/A
9
PIP409
GND
DAS/DSS
11
PIP4011
PERn3
3.3 V
13
PIP4013 PERp3
3.3 V
15
PIP4015
GND
3.3 V
17
PIP4017 PETn2
3.3 V
19
PIP4019
PETp2
N/A
21
PIP4021
GND
N/A
23
PIP4023 PERn2
N/A
25
PIP4025
PERp2
N/A
27
PIP4027 GND
N/A
29
PIP4029
PETn1
N/A
31
PIP4031 PETp1
N/A
33
PIP4033
GND
N/A
35
PIP4035 PERn1
N/A
37
PIP4037 PERp1 M.2 Connector DEVSLP
Finger
Edge
39
PIP4039 GND
SMB_CLK
Module 3 (M key)
41
PIP4041 PETn0
SMB_DATA
43
PIP4043
PETp0
ALERT#
45
PIP4045 GND
N/A
47
PIP4047 PERn0
N/A
49
PIP4049
PERp0
PERST#
51
PIP4051
GND
CLKREQ#
53
PIP4053
REFCLKN
PEWAKE#
55
PIP4055 REFCLKP
MFG1
57
PIP4057 GND
MFG2
PIP401
COC22
C22
B
PCIE_TX1_N
PCIE_TX1_P
PCIE_RX1_N
PCIE_RX1_P
PCIE_TX0_N
PCIE_TX0_P
PCIE_RX0_N
PCIE_RX0_P
PCIE_CLK_P
PCIE_CLK_N
COC23
C23 PIC2201
PIC2301 PIC2302
PIC2202
M2_TX1_N
M2_TX1_P
100nF
100nF
COC24
C24
COC25
C25 PIC2401 PIC2402
PIC2501 PIC2502
M2_TX0_N
M2_TX0_P
100nF
100nF
COC26
C26
COC27
C27 PIC2601 PIC2602 M2_CLK_N
PIC2701
PIC2702
M2_CLK_P
100nF
100nF
2
4
PIP404
6
PIP406
8
PIP408
10
PIP4010
12
PIP4012
14
PIP4014
16
PIP4016
18
PIP4018
20
PIP4020
22
PIP4022
24
PIP4024
26
PIP4026
28
PIP4028
30
PIP4030
32
PIP4032
34
PIP4034
36
PIP4036
38
PIP4038
40
PIP4040
42
PIP4042
44
PIP4044
46
PIP4046
48
PIP4048
50
PIP4050
52
PIP4052
54
PIP4054
56
PIP4056
58
PIP4058
PIP402
SMBUS Specification:
Pull-up resistors to 1.8V (SMB_CLK, SMB_DATA) on platform.
Logic Level Converter (1.8V to 3.3V)
VCCAUX_1V8
VCC_3V3
PIR30 2
DNM
COR30
R30
10K
PIR30 1
VCCAUX_1V8
PIR3202
DNM
PIR3 02
PIQ301
COR32
R32
10K
PIR3201
PIQ202
VCC_3V3
PIQ302
PIR3102
PIQ201
COR31
R31
10K
PIQ203
PIR3101
B
SMB_CLK
COQ2
Q2
BSS806
COR33
R33
10K
PIQ303
PIR3 01
SMB_DATA
COQ3
Q3
BSS806
RESET_N
C
C
67
69
71
PIP4071
73
PIP4073
75
PIP4075
PIP4067
PIP4069
N/A
PEDET
GND
GND
GND
SUSCLK
3.3 V
3.3 V
3.3 V
68
70
72
PIP4072
74
PIP4074
PIP4068
PIP4070
M.2 PCIe
GND
D
Rev. 1.0
Sheet 6 of 8
PCI Express Connector
Project: PCIe Bridge
File:
PCIe.SchDoc
Linköping University
2019-03-27
Author(s): Håkan Gerner
Mandus Börjesson
1
2
3
4
D
1
2
COU1
U1
1
VINLDO12
10
AVDD
6
10uF PIU106 VIN1
13
PIU1013 VIN2
VCC_3V3
PIC102
PIC101
COC1
C1
1uF
PIC202
PIC201
PIC302
PIC301
COC2
C2
1uF
COC3
C3
10uF
SW1
PIU101
PIC402
PIC401
COC4
C4
3
COL1
L1
5
PIU105
PIL102
PIL101
PIC501 COC5
C5
A
FB1
COC7
C7
DNM
VCC_3V3
PIR302
PIR402
COR3
PIR301
0
COR4
DNM
PIR401
0
PIC10 2
PIC10 1 COC10
C10
PIC1 01 COC11
C11
1uF
1uF
FB2
VCC_3V3
PIR702
COR7
R7
SW2
Vin_LDO PIU1019
19
VINLDO1
PIC1 02
24
PIU1024
VINLDO2
10uF
GND
PIC802
COC8
C8
8.2pF PIC801
11
PIU1011
COC12
C12
DNM
PIC1202
PIC1201
PIR502
NPOR - Power On Reset, default 60 ms PG delay
NPOR is pulled to ground when the voltages on SW1 and SW2 are not good
COQ1
Q1
VCC_3V3
PIC902 VCCAUX_1V8
COR5
R5 PIC901 COC9
C9
PIR501 390K
PIR602
A
Used to sequence VCCO.
PIR201 100K
PIL202
2.2uH
PMIC
PIC601 COC6
C6
COR2
R2
COL2
L2
14
PIU1014
PIL201
2x Switching regulator
2x Low drop-out regulators
GND
PIR202
PIC702
PIC701
VCCINT_1V0
PIC602
COR1
R1
15pF PIR101 100K
8
PIU108
GND
VCCAUX_1V8
PIR102
PIC502
2.2uH
PIU1010
4
10uF
PIQ103
VCCO_0_3V3
PIQ102
PIQ10
NPOR
BSS806
COR6
R6
PIR601 150K
100K
PIR701
B
VCC_3V3
PIR10 1
COR10
R10
PIR10 2
10K
PIC1602
PIC1601 COC16
C16
100nF
GND
NPOR
VCC_3V3
VCC_3V3
PIR1 01
LDO1
20
PIU1020
PIR902
COR9
R9
COR12
R12
15K
PIR1202
PIC1702
PIC1701 COC17
C17
4.7K
7
PIU107
12
17
PIU1017
16
PIU1016
PIU1012
PIC1802
PIC1801 COC18
C18
100nF
GND
GND
NPOR
PIR1201
COR11
R11
PIR1 02
3
PIU103
VCC_3V3
100nF
GND
FBL1
PIR901 47K
PIR1302
21
PIU1021
ENSW1
ENSW2
ENLDO1
ENLDO2
PIC1301
PIC1302
COR13
R13
GND
PIU104
23
LDO2
PIU1023
1uF 0603
GRT188R71E105KE13D
15pF 0402
GCM1555C1H150JA16D
D
8.2pF 0402
GJM1555C1H8R2CB01D
OUT
B
1
PIU201
COR8
R8
39K
FB
FBL2
PIU1022
PIR2102
COR21
R21
PIR2101 100K
PIR2 02
22
PIC1902
PIC1901 COC19
C19
2
PIU202
PIR801
PIR1602
PIR1702
PIR1801
PITP201
COTP2
TP2
PITP301
COTP3
TP3
PITP401
COTP4
TP4
VCCAUX_1V8
VCC_3V3
VCCO_0_3V3
PITP601
COTP6
TP6
PITP701
COTP7
TP7
PITP801
COTP8
TP8
33K
PIR1501
PIR1902
15K
COR19
R19
2.7K
PIR1901
1.5K
COR16
R16
PIR1601
PIR20 2
COC15
C15
1uF
COR17
R17
33K
10K
PIR1701
COR20
R20
PIR20 1
220
GND
GND
SET_IO_2V5_N
SET_IO_1V8_N
GND
PITP501
COTP5
TP5
COR15
R15
PIC1501
PIC1502
1uF
COR22
R22
VCCINT_1V0
PIR1502
COR18
R18
PIR2 01 100K
PITP101
COTP1
TP1
PIR1402
VCCO_15_34_ADJ
PIR802
LDO
PIR1401
PIR1802
VMGTAVCC_1V0
C
SET_IO_3V3_N
Software configurable voltage divider
LOW on selected voltage
HIGH-Z on others
BUCK1, BUCK2 Startup time: 500us
LDO1, LDO2 Startup time: 300us
R = 5K: 500us
R = 10K: 1000us
R = 15K: 1500us
IN
4
EN
7
PIU207
DAP
3
PIU203
GND
PIU204
COR14
R14
GND
2
SYNC
4
GND_SW1
15
PIU1015
GND_SW2
9
PIU109
GND_C
18
PIU1018
GND_L
25
PIU1025 DAP
PIU102
Optimal power-on seq: Vccint, Vmgtavcc, Vgtavtt, Vccbram, Vccaux, Vcco
(VGTAVCC before VGTAVTT most critical)
Capacitors:
10uF 0805
GRM21BR61C106KE15
COC13
C13
1uF
1uF
PIR1301 33K
GND
RC Sequencing:
tau_r = R*C
C = 100nF ->
6
PIU206
TLV75801
LM26480
C
COU2
U2
VCC_3V3
PIC1402 VMGTAVTT_1V2
C14
PIC1401 COC14
VMGTAVTT_1V2
VMGTAVCC_1V0
VCCO_15_34_ADJ
GND
Rev. 1.0
Sheet 7 of 8
Power Distribution
Project: PCIe Bridge
File:
regulator.SchDoc
Linköping University
2019-03-27
Author(s): Håkan Gerner
Mandus Börjesson
1
2
3
4
D
1
2
3
4
U7G
VCCINT_1V0
BANK VCCINT
VCCINT_1V0
COU7F
COU7G
COU7H
COU7I
COU7J
COU7K
COU7L
U7F
Artix-7 CSG325 FPGA
F7
PIU70F7
F9
G8
H7
PIU70H7
H9
PIU70H9
J8
PIU70J8
J12
PIU70J12
K7
PIU70K7
K11
PIU70K11
PIU70F9
A
PIU70G8
VCCINT
VCCINT
VCCINT
VCCINT
VCCINT
VCCINT
VCCINT
VCCINT
VCCINT
VCCINT
VCCINT
VCCINT
VCCINT
VCCINT
VCCINT
VCCINT
VCCINT
VCCINT
L8
PIU70L8
L12
M7
M11
PIU70M11
N8
PIU70N8
N10
PIU70N10
N12
PIU70N12
P9
PIU70P9
P11
PIU70P11
VCCAUX_1V8
BANK VCCAUX
Artix-7 CSG325 FPGA
PIU70L12
VCCAUX
VCCAUX
VCCAUX
VCCAUX
VCCAUX
PIU70M7
Artix-7 CSG325 FPGA
VCCINT_1V0
Artix-7 CSG325 FPGA
VCCBRAM
VCCBRAM
VCCBRAM
BANK GND
Artix-7 CSG325 FPGA
C
D
V18
V10
PIU70V10
V1
PIU70V1
U13
PIU70U13
U3
PIU70U3
T16
PIU70T16
T6
PIU70T6
R9
PIU70R9
P12
PIU70P12
P8
PIU70P8
P2
PIU70P2
N15
PIU70N15
N13
PIU70N13
N11
PIU70N11
N9
PIU70N9
N7
PIU70N7
N5
PIU70N5
M18
PIU70M18
M12
PIU70M12
M8
PIU70M8
L13
PIU70L13
L11
PIU70L11
L7
PIU70L7
L1
PIU70L1
K14
PIU70K14
K12
PIU70K12
K8
PIU70K8
K4
PIU70K4
J17
PIU70J17
J13
PIU70J13
J11
PIU70J11
J7
PIU70J7
J3
PIU70J3
J2
PIU70J2
J1
PIU70J1
H12
PIU70H12
A1
PIU70A1
PIU70V15
VCCO_15
VCCO_15
VCCO_15
VCCO_15
VCCO_15
VCCO_15
VCCO_15
PIU70V18
Artix-7 FPGA
GND
VCCO_14
VCCO_14
VCCO_14
VCCO_14
VCCO_14
VCCO_14
VCCO_14
F11
G10
U7H
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
PIU70E10
PIU70G10
Artix-7 FPGA
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
VCCO_0_3V3
E10
R10
PIU70R10
VCCO_0
VCCO_0
PIU70F11
H11
PIU70H11
COC28
C28
100uF
DNM
PIC2902
PIC2901
COC29
C29
4.7uF
PIC30 2
PIC30 1
DNM
COC30
C30
4.7uF
COC31
C31
0.47uF
PIC3202
PIC3201
COC32
C32
0.47uF
PIC3 02
PIC3 01
COC33
C33
0.47uF
Crossed out:
Mount if XC7A35T is used, otherwise DNM.
V15
U18
U8
PIU70U8
T11
PIU70T11
R14
PIU70R14
P17
PIU70P17
L16
PIU70L16
PIU70U18
VCCO_15_34_ADJ
H15
G18
E14
PIU70E14
D17
PIU70D17
C10
PIU70C10
B13
PIU70B13
A16
PIU70A16
PIU70H15
PIU70G18
COC34
C34
100uF
PIC3502
PIC3501
COC35
C35
4.7uF
PIC3602
PIC3601
COC36
C36
4.7uF
PIC3702
PIC3701
COC37
C37
0.47uF
PIC3802
PIC3801
COC38
C38
0.47uF
DNM
PIC3902
PIC3901
COC39
C39
0.47uF
DNM
GND
VCCO_0_3V3
VCCINT_1V0
PIC40 2
PIC40 1
PIC4102
PIC4101
COC40
C40
100uF
GND
COC41
C41
100uF
PIC4202
PIC4201
COC42
C42
0.47uF
B
GND
VCCO_0_3V3
PIC4302
PIC4301
COC43
C43
100uF
PIC4 02
PIC4 01
COC44
C44
PIC5102
PIC5101
COC51
C51
4.7uF
PIC4502
PIC4501
COC45
C45
PIC5202
PIC5201
COC52
C52
4.7uF
PIC4602
PIC4601
COC46
C46
PIC5302
PIC5301
COC53
C53
0.47uF
PIC4702
PIC4701
COC47
C47
PIC5402
PIC5401
COC54
C54
0.47uF
PIC4802
PIC4801
COC48
C48
PIC5 02
PIC5 01
COC55
C55
0.47uF
PIC4902
PIC4901
COC49
C49
PIC5602
PIC5601
COC56
C56
0.47uF
GND
VCCO_15_34_ADJ
VCCO_34
VCCO_34
VCCO_34
VCCO_34
VCCO_34
VCCO_34
V5
PIU70V5
T1
R4
P7
M3
PIU70M3
L6
PIU70L6
PIU70T1
PIU70R4
PIC50 2
PIC50 1
COC50
C50
100uF
4.7uF
4.7uF
0.47uF
0.47uF
0.47uF
0.47uF
PIU70P7
Artix-7 FPGA
GND
C
VCCO_15_34_ADJ
U7K
BANK MGTAVTT
Artix-7 CSG325 FPGA
MGTAVTT
MGTAVTT
MGTAVTT
MGTAVTT
MGTAVTT
VMGTAVTT_1V2
A2
PIU70A2
C1
PIU70C1
E1
PIU70E1
F3
PIU70F3
G2
PIU70G2
U7J
BANK MGTAVCC
MGTAVCC
MGTAVCC
MGTAVCC
MGTAVCC
VMGTAVCC_1V0
B4
C5
PIU70C5
E5
PIU70E5
F5
PIU70F5
PIC5802
COC58
C58
PIC5801 4.7uF
PIC6202
PIC5902
PIC60 2
PIC6102
COC59
COC60
COC61
COC62
C59
C60
C61
C62
PIC5901 0.47uF PIC60 1 0.47uF PIC6101 0.47uF PIC6201 0.47uF
GND
VMGTAVTT_1V2
PIC6302
COC63
C63
PIC6301 4.7uF
Artix-7 FPGA
Artix-7 CSG325 FPGA
PIC5702
COC57
C57
PIC5701 4.7uF
VMGTAVCC_1V0
PIC6402
PIC6502
COC64
COC65
C64
C65
PIC6401 0.47uF PIC6501 0.47uF
GND
PIC6702
PIC6802
COC67
COC68
C67
C68
PIC6701 0.47uF PIC6801 0.47uF
GND
Artix-7 Power & Decoupling
Project: PCIe Bridge
File:
Decoupling.SchDoc
Linköping University
2019-03-27
Author(s): Håkan Gerner
Mandus Börjesson
Artix-7 FPGA
2
PIC6 02
COC66
C66
PIC6 01 4.7uF
PIU70B4
GND
1
PIC3102
PIC3101
A
GND
PIC3402
PIC3401
BANK VCCIO
BANK VCCBRAM
PIC2802
PIC2801
VCCINT_1V0
U7L
U7I
H10
PIU70H10
H8
PIU70H8
H6
PIU70H6
H5
PIU70H5
H4
PIU70H4
H3
PIU70H3
G13
PIU70G13
G11
PIU70G11
G9
PIU70G9
G7
PIU70G7
G6
PIU70G6
G5
PIU70G5
G1
PIU70G1
F16
PIU70F16
F10
PIU70F10
F6
PIU70F6
F4
PIU70F4
E9
PIU70E9
E7
PIU70E7
E6
PIU70E6
E2
PIU70E2
D12
PIU70D12
D7
PIU70D7
D4
PIU70D4
D3
PIU70D3
C15
PIU70C15
C7
PIU70C7
C6
PIU70C6
C2
PIU70C2
B18
PIU70B18
B8
PIU70B8
B7
PIU70B7
B3
PIU70B3
A18
PIU70A18
A11
PIU70A11
A8
PIU70A8
A7
PIU70A7
A5
PIU70A5
G12
H13
PIU70H13
K13
PIU70K13
M13
PIU70M13
P13
PIU70P13
PIU70G12
Artix-7 FPGA
Artix-7 FPGA
B
VCCAUX_1V8
3
4
Rev. 1.0
Sheet 8 of 8
D
COC34
COP2
COR35
PAP201
COR36
PAP203
PAP205
COR37
PAP209
COR38
PAP2011
PAP2013
COR39
PAP2015
PAP202
PAP204
PAP206
PAR3501
PAR3502
PAR3601
PAR3602
PAP207
PAR3701
PAR3702
PAR3801
COP3
COR40
COC50
PAP301
PAP303
PAP305
PAP302
PAR4001
COR41
PAP304
PAR4002
PAP306
PAR4101
PAP208 PAC3401 PAC4101
PAP307
PAP2010
PAP2012
PAP2014
PAP2016
PAP2018
PAP3013
PAP3015
PAP3017
PAP3014
PAP3016
PAP3018
PAR4301
PAP3019
PAR4302
PAP3020
COR42
PAP309 PAP3010
COC13
PAP3012
PAR4102
PAP308
PAP3011
PAC3402COC40
PAC4102COC41
PAC5001 PAC4001
PAR4201
PAR4202
COR43
COC28
PAP300
COTP7
PAC5002 PAC4002
COC15
PATP701COR20
COR19
COR18
COC43
COU2
COR21
COR22
COR13
COR9 COR4
PAC1301COC14
PAC1501
COC2
COC11
COC19
COC10
COR8
301 PAC4302
PAC2801 PAC2802 COR14
PAU207 PAC1302 PAC4COR3
PAC1502
COR17
COR16
COR15
COR7
PAC101
COC18
COR10
COTP1
COC3COU1 COC4
PAL202 PAL201
PAL101
COR12
COC6 PAC102 PAL102 COC9
COC16
PAC1802 PAC1801 PAU1012PAU101 PAU1010 PAU109 PAU108 PAU107
PAC402
PAC302 PATP101
COR11
PAC602
PAC902
COC17
COL1
PAC401 PAU1025 COL2
PAC301
COQ1
COTP2
COC1
COR23
PAC601
PAC901COR5
PAC1702 PAC1701 PAU1019PAU1020PAU1021 PAU102 PAU1023 PAU1024
PAQ103
COR2
COTP3PAC1002 PAC1402 PAC1902 PAC1102 PAC202
PATP201
COC8
COC7
COC5
COR1
PAQ101
PAQ102
COTP5PAC1001 PAC1401 PAC1901 PAC1101
PATP301
PAC201
COTP6
COR6
COC12
PATP501COU4
COP1
COTP4
PATP601
COR28
COC20
PAP107 PATP401
PAC2002
COR27
PAP101
COR29
PAC2001
PAP102
COC45
COU3
PAP103
COC52
COC51
COC30
COC29 COC44
PAP104
COR24
PAP105
COTP8
PAP106
COR45
PAC4502 PAC4501
PAC2901 PAC3001
COC47
PAC5101 PAC5201
PATP801
PAP108
COU7 PAC5102 PAC5202 PAC2902 PAC3002 PAC4402 PAC4401
COC49
COC56
COC48
COC55
COC32
COC31 PAC4701 PAC4901
PAC5602
PAC4801
PAC5501COC53
PAC4702
COC46
PAC3201
PAC3101
COC33
PAC4902
PAC5601
PAC4802
PAC5502
PAC3102
PAC4602
PAC5301 PAC5302 PAC3202
COC54
COC37
PAC4601
COC67PAC3301 PAC3302
COR47
COC66 COC38
PAC5401 PAC5402
PAC3701 PAC3702
COC68
COC59
PAC3801
PAC6602 PAC6702 PAC6701COC39
PAC5901
PAC6801 PAC3802
COC60
PAC6601
COC62
COC61
COR44
PAC3902 PAC3901COC42 PAC5902
PAC6802
PAC6002 COR46
COC65 COC64
PAR4402
PAC6202 PAC6102
COU5
PAC6001
COC36
COC35
PAC6502 COC63
PAC6402
PAR4401
PAC6201 PAC6101
PAR3802
PAP2017
PAR3901
PAR3902
PAP2019
PAP200
PAP2020
PAR801 PAR1701 PAR1601 PAR1501 PAR1401
PAR802 PAR1702 PAR2002
PAR1602 PAR1902
PAR1502 PAR1402
PAR1802
PAR2001 PAR1901
PAU206 PAR1801
PAU201
PAU202
PAU203
PAR1202
PAR1201
PAR1002 PAC1602
PAR1001 PAC1601
PAR1102PAR302 PAR301
PAR1101PAR402 PAR401
PAU205
PAU204
PAU1013
PAU1014
PAU106
PAU105
PAU1015
PAU1016
PAU104
PAU103
PAU1017
PAU1018
PAU102
PAU101
PAR701
PAR702
PAR502 PAC802
PAC502 PAR102
PAR501 PAC801
PAC501 PAR101
PAR602 PAC1202
PAC702 PAR202
PAR601 PAC1201 PAR902 PAR901 PAR1302 PAR1301 PAR2201 PAR2202 PAR2101 PAR2102 PAC701 PAR201
PAU405
PAU406
PAU407
PAU409
PAU404
PAU403 PAR2302
PAR2802
PAR2801
PAU402 PAR2301
PAU401
PAR2702
PAR2701
PAU309
PAU308
PAU3010
PAU3011
PAU3012
PAU307
PAU306
PAU305
PAR2902
PAU3013
PAU304
PAR2401 PAR2402 PAU303
PAU408
PAU3014
PAU3015
PAU3016
PAR2901
PAU302
PAU301
PAR4501
PAR4502
PAU70A18 PAU70B18 PAU70C18 PAU70D18 PAU70E18 PAU70F18 PAU70G18 PAU70H18 PAU70J18 PAU70K18 PAU70L18 PAU70M18 PAU70N18 PAU70P18 PAU70R18 PAU70T18 PAU70U18 PAU70V18
PAU70A17 PAU70B17 PAU70C17 PAU70D17 PAU70E17 PAU70F17 PAU70G17 PAU70H17 PAU70J17 PAU70K17 PAU70L17 PAU70M17 PAU70N17 PAU70P17 PAU70R17 PAU70T17 PAU70U17 PAU70V17
PAU70A16 PAU70B16 PAU70C16 PAU70D16 PAU70E16 PAU70F16 PAU70G16 PAU70H16 PAU70J16 PAU70K16 PAU70L16 PAU70M16 PAU70N16 PAU70P16 PAU70R16 PAU70T16 PAU70U16 PAU70V16
PAU70A15 PAU70B15 PAU70C15 PAU70D15 PAU70E15 PAU70F15 PAU70G15 PAU70H15 PAU70J15 PAU70K15 PAU70L15 PAU70M15 PAU70N15 PAU70P15 PAU70R15 PAU70T15 PAU70U15 PAU70V15
PAU70A14 PAU70B14 PAU70C14 PAU70D14 PAU70E14 PAU70F14 PAU70G14 PAU70H14 PAU70J14 PAU70K14 PAU70L14 PAU70M14 PAU70N14 PAU70P14 PAU70R14 PAU70T14 PAU70U14 PAU70V14
PAR4702
PAR4701
PAU70A13 PAU70B13 PAU70C13 PAU70D13 PAU70E13 PAU70F13 PAU70G13 PAU70H13 PAU70J13 PAU70K13 PAU70L13 PAU70M13 PAU70N13 PAU70P13 PAU70R13 PAU70T13 PAU70U13 PAU70V13
PAU70A12 PAU70B12 PAU70C12 PAU70D12 PAU70E12 PAU70F12 PAU70G12 PAU70H12 PAU70J12 PAU70K12 PAU70L12 PAU70M12 PAU70N12 PAU70P12 PAU70R12 PAU70T12 PAU70U12 PAU70V12
PAR4602
PAU70A11 PAU70B11 PAU70C11 PAU70D11 PAU70E11 PAU70F11 PAU70G11 PAU70H11 PAU70J11 PAU70K11 PAU70L11 PAU70M11 PAU70N11 PAU70P11 PAU70R11 PAU70T11 PAU70U11 PAU70V11
PAR4601
PAU70A10 PAU70B10 PAU70C10 PAU70D10 PAU70E10 PAU70F10 PAU70G10 PAU70H10 PAU70J10 PAU70K10 PAU70L10 PAU70M10 PAU70N10 PAU70P10 PAU70R10 PAU70T10 PAU70U10 PAU70V10
PAU70A9 PAU70B9 PAU70C9 PAU70D9 PAU70E9 PAU70F9 PAU70G9 PAU70H9 PAU70J9 PAU70K9 PAU70L9 PAU70M9 PAU70N9 PAU70P9 PAU70R9 PAU70T9 PAU70U9 PAU70V9
PAU70A8 PAU70B8 PAU70C8 PAU70D8 PAU70E8 PAU70F8 PAU70G8 PAU70H8 PAU70J8 PAU70K8 PAU70L8 PAU70M8 PAU70N8 PAU70P8 PAU70R8 PAU70T8 PAU70U8 PAU70V8
PAU70A7 PAU70B7 PAU70C7 PAU70D7 PAU70E7 PAU70F7 PAU70G7 PAU70H7 PAU70J7 PAU70K7 PAU70L7 PAU70M7 PAU70N7 PAU70P7 PAU70R7 PAU70T7 PAU70U7 PAU70V7
PAU70A6 PAU70B6 PAU70C6 PAU70D6 PAU70E6 PAU70F6 PAU70G6 PAU70H6 PAU70J6 PAU70K6 PAU70L6 PAU70M6 PAU70N6 PAU70P6 PAU70R6 PAU70T6 PAU70U6 PAU70V6
PAU70A5 PAU70B5 PAU70C5 PAU70D5 PAU70E5 PAU70F5 PAU70G5 PAU70H5 PAU70J5 PAU70K5 PAU70L5 PAU70M5 PAU70N5 PAU70P5 PAU70R5 PAU70T5 PAU70U5 PAU70V5
PAU70A4 PAU70B4 PAU70C4 PAU70D4 PAU70E4 PAU70F4 PAU70G4 PAU70H4 PAU70J4 PAU70K4 PAU70L4 PAU70M4 PAU70N4 PAU70P4 PAU70R4 PAU70T4 PAU70U4 PAU70V4
PAU70A3 PAU70B3 PAU70C3 PAU70D3 PAU70E3 PAU70F3 PAU70G3 PAU70H3 PAU70J3 PAU70K3 PAU70L3 PAU70M3 PAU70N3 PAU70P3 PAU70R3 PAU70T3 PAU70U3 PAU70V3
PAU70A2 PAU70B2 PAU70C2 PAU70D2 PAU70E2 PAU70F2 PAU70G2 PAU70H2 PAU70J2 PAU70K2 PAU70L2 PAU70M2 PAU70N2 PAU70P2 PAU70R2 PAU70T2 PAU70U2 PAU70V2
PAU70A1 PAU70B1 PAU70C1 PAU70D1 PAU70E1 PAU70F1 PAU70G1 PAU70H1 PAU70J1 PAU70K1 PAU70L1 PAU70M1 PAU70N1 PAU70P1 PAU70R1 PAU70T1 PAU70U1 PAU70V1
PAR3402PAC6501
PAR3401
PAC6302
PAC6401
PAC5702 PAC5802
PAU501
PAC4202
PAU5016
PAU5015
PAU5014
PAC4201
COQ3
COR33
PAC3601 PAC3501
COC58
COC57
COR25
COR31
PAQ303
COR48
COQ2
COR34
COC21
COU6
COR32
PAQ302PAR4801PAQ203PAR4802COTP9
PAQ301
PAC2101 COR30
COC27
COC26
COC25
COC24
COC23PAR3201 PAR3202
PAC3602 PAC3502PAU502
PAC5701 PAC5801
PAU503
PAC6301
PAU504
PAU5013
PAU505
PAU506
PAU507
PAU5012
PAU5011
PAU5010
PAU508
PAU509
PAR3302 PAR3301
PAR2501 PAR2502 PAR3102 PAR3101
COP4
PAC2701 PAC2601
PAC2702 PAC2602
PAC2501 PAC2401
PAC2502 PAC2402
PAU604
PAU603
PAC2102 PAR3001 PAR3002 PAU602
PAC2301 PAC2201 PAR2601 PAU605 PAQ202
PAU601
PAC2302 PAC2202 PAR2602
COC2 COR26
PATP901
PAQ201
PA 4P0A7P54A074P0A7P34A074P20A714P0A7P40A694P0A684067 PA 4P0A5P480A574P0A5P64A054P0A54P0A5P34A0524P0A5P14A054P0AP94A084P0A74P0AP460A54P0A40PA3P4A024P0AP14A0 4P0A394P0A3P480A374P0A3P460A354P0A3P4A034P0A324P0A3P14A034P0A2P94A024P80A2P74A024P60A254P0A2P40A234P0A2P4A024P10A24P0A1P940A184P0A1P74A014P60A154P0A1P40A134P0A1420P1AP40A1P4A09P4A084P0AP7A4046PA05P4A0 4P0A3P4A02401
COC34
COP2
COR35
PAP201
COR36
PAP203
PAP205
COR37
PAP209
COR38
PAP2011
PAP2013
COR39
PAP2015
PAP202
PAP204
PAP206
PAR3501
PAR3502
PAR3601
PAR3602
PAP207
PAR3701
PAR3702
PAR3801
COP3
COR40
COC50
PAP301
PAP303
PAP305
PAP302
PAR4001
COR41
PAP304
PAR4002
PAP306
PAR4101
PAP208 PAC3401 PAC4101
PAP307
PAP2010
PAP2012
PAP2014
PAP2016
PAP2018
PAP3013
PAP3015
PAP3017
PAP3014
PAP3016
PAP3018
PAR4301
PAP3019
PAR4302
PAP3020
COR42
PAP309 PAP3010
COC13
PAP3012
PAR4102
PAP308
PAP3011
PAC3402COC40
PAC4102COC41
PAC5001 PAC4001
PAR4201
PAR4202
COR43
COC28
PAP300
COTP7
PAC5002 PAC4002
COC15
PATP701COR20
COR19
COR18
COC43
COU2
COR21
COR22
COR13
COR9 COR4
PAC1301COC14
PAC1501
COC2
COC11
COC19
COC10
COR8
301 PAC4302
PAC2801 PAC2802 COR14
PAU207 PAC1302 PAC4COR3
PAC1502
COR17
COR16
COR15
COR7
PAC101
COC18
COR10
COTP1
COC3COU1 COC4
PAL202 PAL201
PAL101
COR12
COC6 PAC102 PAL102 COC9
COC16
PAC1802 PAC1801 PAU1012PAU101 PAU1010 PAU109 PAU108 PAU107
PAC402
PAC302 PATP101
COR11
PAC602
PAC902
COC17
COL1
PAC401 PAU1025 COL2
PAC301
COQ1
COTP2
COC1
COR23
PAC601
PAC901COR5
PAC1702 PAC1701 PAU1019PAU1020PAU1021 PAU102 PAU1023 PAU1024
PAQ103
COR2
COTP3PAC1002 PAC1402 PAC1902 PAC1102 PAC202
PATP201
COC8
COC7
COC5
COR1
PAQ101
PAQ102
COTP5PAC1001 PAC1401 PAC1901 PAC1101
PATP301
PAC201
COTP6
COR6
COC12
PATP501COU4
COP1
COTP4
PATP601
COR28
COC20
PAP107 PATP401
PAC2002
COR27
PAP101
COR29
PAC2001
PAP102
COC45
COU3
PAP103
COC52
COC51
COC30
COC29 COC44
PAP104
COR24
PAP105
COTP8
PAP106
COR45
PAC4502 PAC4501
PAC2901 PAC3001
COC47
PAC5101 PAC5201
PATP801
PAP108
COU7 PAC5102 PAC5202 PAC2902 PAC3002 PAC4402 PAC4401
COC49
COC56
COC48
COC55
COC32
COC31 PAC4701 PAC4901
PAC5602
PAC4801
PAC5501COC53
PAC4702
COC46
PAC3201
PAC3101
COC33
PAC4902
PAC5601
PAC4802
PAC5502
PAC3102
PAC4602
PAC5301 PAC5302 PAC3202
COC54
COC37
PAC4601
COC67PAC3301 PAC3302
COR47
COC66 COC38
PAC5401 PAC5402
PAC3701 PAC3702
COC68
COC59
PAC3801
PAC6602 PAC6702 PAC6701COC39
PAC5901
PAC6801 PAC3802
COC60
PAC6601
COC62
COC61
COR44
PAC3902 PAC3901COC42 PAC5902
PAC6802
PAC6002 COR46
COC65 COC64
PAR4402
PAC6202 PAC6102
COU5
PAC6001
COC36
COC35
PAC6502 COC63
PAC6402
PAR4401
PAC6201 PAC6101
PAR3802
PAP2017
PAR3901
PAR3902
PAP2019
PAP200
PAP2020
PAR801 PAR1701 PAR1601 PAR1501 PAR1401
PAR802 PAR1702 PAR2002
PAR1602 PAR1902
PAR1502 PAR1402
PAR1802
PAR2001 PAR1901
PAU206 PAR1801
PAU201
PAU202
PAU203
PAR1202
PAR1201
PAR1002 PAC1602
PAR1001 PAC1601
PAR1102PAR302 PAR301
PAR1101PAR402 PAR401
PAU205
PAU204
PAU1013
PAU1014
PAU106
PAU105
PAU1015
PAU1016
PAU104
PAU103
PAU1017
PAU1018
PAU102
PAU101
PAR701
PAR702
PAR502 PAC802
PAC502 PAR102
PAR501 PAC801
PAC501 PAR101
PAR602 PAC1202
PAC702 PAR202
PAR601 PAC1201 PAR902 PAR901 PAR1302 PAR1301 PAR2201 PAR2202 PAR2101 PAR2102 PAC701 PAR201
PAU405
PAU406
PAU407
PAU409
PAU404
PAU403 PAR2302
PAR2802
PAR2801
PAU402 PAR2301
PAU401
PAR2702
PAR2701
PAU309
PAU308
PAU3010
PAU3011
PAU3012
PAU307
PAU306
PAU305
PAR2902
PAU3013
PAU304
PAR2401 PAR2402 PAU303
PAU408
PAU3014
PAU3015
PAU3016
PAR2901
PAU302
PAU301
PAR4501
PAR4502
PAU70A18 PAU70B18 PAU70C18 PAU70D18 PAU70E18 PAU70F18 PAU70G18 PAU70H18 PAU70J18 PAU70K18 PAU70L18 PAU70M18 PAU70N18 PAU70P18 PAU70R18 PAU70T18 PAU70U18 PAU70V18
PAU70A17 PAU70B17 PAU70C17 PAU70D17 PAU70E17 PAU70F17 PAU70G17 PAU70H17 PAU70J17 PAU70K17 PAU70L17 PAU70M17 PAU70N17 PAU70P17 PAU70R17 PAU70T17 PAU70U17 PAU70V17
PAU70A16 PAU70B16 PAU70C16 PAU70D16 PAU70E16 PAU70F16 PAU70G16 PAU70H16 PAU70J16 PAU70K16 PAU70L16 PAU70M16 PAU70N16 PAU70P16 PAU70R16 PAU70T16 PAU70U16 PAU70V16
PAU70A15 PAU70B15 PAU70C15 PAU70D15 PAU70E15 PAU70F15 PAU70G15 PAU70H15 PAU70J15 PAU70K15 PAU70L15 PAU70M15 PAU70N15 PAU70P15 PAU70R15 PAU70T15 PAU70U15 PAU70V15
PAU70A14 PAU70B14 PAU70C14 PAU70D14 PAU70E14 PAU70F14 PAU70G14 PAU70H14 PAU70J14 PAU70K14 PAU70L14 PAU70M14 PAU70N14 PAU70P14 PAU70R14 PAU70T14 PAU70U14 PAU70V14
PAR4702
PAR4701
PAU70A13 PAU70B13 PAU70C13 PAU70D13 PAU70E13 PAU70F13 PAU70G13 PAU70H13 PAU70J13 PAU70K13 PAU70L13 PAU70M13 PAU70N13 PAU70P13 PAU70R13 PAU70T13 PAU70U13 PAU70V13
PAU70A12 PAU70B12 PAU70C12 PAU70D12 PAU70E12 PAU70F12 PAU70G12 PAU70H12 PAU70J12 PAU70K12 PAU70L12 PAU70M12 PAU70N12 PAU70P12 PAU70R12 PAU70T12 PAU70U12 PAU70V12
PAR4602
PAU70A11 PAU70B11 PAU70C11 PAU70D11 PAU70E11 PAU70F11 PAU70G11 PAU70H11 PAU70J11 PAU70K11 PAU70L11 PAU70M11 PAU70N11 PAU70P11 PAU70R11 PAU70T11 PAU70U11 PAU70V11
PAR4601
PAU70A10 PAU70B10 PAU70C10 PAU70D10 PAU70E10 PAU70F10 PAU70G10 PAU70H10 PAU70J10 PAU70K10 PAU70L10 PAU70M10 PAU70N10 PAU70P10 PAU70R10 PAU70T10 PAU70U10 PAU70V10
PAU70A9 PAU70B9 PAU70C9 PAU70D9 PAU70E9 PAU70F9 PAU70G9 PAU70H9 PAU70J9 PAU70K9 PAU70L9 PAU70M9 PAU70N9 PAU70P9 PAU70R9 PAU70T9 PAU70U9 PAU70V9
PAU70A8 PAU70B8 PAU70C8 PAU70D8 PAU70E8 PAU70F8 PAU70G8 PAU70H8 PAU70J8 PAU70K8 PAU70L8 PAU70M8 PAU70N8 PAU70P8 PAU70R8 PAU70T8 PAU70U8 PAU70V8
PAU70A7 PAU70B7 PAU70C7 PAU70D7 PAU70E7 PAU70F7 PAU70G7 PAU70H7 PAU70J7 PAU70K7 PAU70L7 PAU70M7 PAU70N7 PAU70P7 PAU70R7 PAU70T7 PAU70U7 PAU70V7
PAU70A6 PAU70B6 PAU70C6 PAU70D6 PAU70E6 PAU70F6 PAU70G6 PAU70H6 PAU70J6 PAU70K6 PAU70L6 PAU70M6 PAU70N6 PAU70P6 PAU70R6 PAU70T6 PAU70U6 PAU70V6
PAU70A5 PAU70B5 PAU70C5 PAU70D5 PAU70E5 PAU70F5 PAU70G5 PAU70H5 PAU70J5 PAU70K5 PAU70L5 PAU70M5 PAU70N5 PAU70P5 PAU70R5 PAU70T5 PAU70U5 PAU70V5
PAU70A4 PAU70B4 PAU70C4 PAU70D4 PAU70E4 PAU70F4 PAU70G4 PAU70H4 PAU70J4 PAU70K4 PAU70L4 PAU70M4 PAU70N4 PAU70P4 PAU70R4 PAU70T4 PAU70U4 PAU70V4
PAU70A3 PAU70B3 PAU70C3 PAU70D3 PAU70E3 PAU70F3 PAU70G3 PAU70H3 PAU70J3 PAU70K3 PAU70L3 PAU70M3 PAU70N3 PAU70P3 PAU70R3 PAU70T3 PAU70U3 PAU70V3
PAU70A2 PAU70B2 PAU70C2 PAU70D2 PAU70E2 PAU70F2 PAU70G2 PAU70H2 PAU70J2 PAU70K2 PAU70L2 PAU70M2 PAU70N2 PAU70P2 PAU70R2 PAU70T2 PAU70U2 PAU70V2
PAU70A1 PAU70B1 PAU70C1 PAU70D1 PAU70E1 PAU70F1 PAU70G1 PAU70H1 PAU70J1 PAU70K1 PAU70L1 PAU70M1 PAU70N1 PAU70P1 PAU70R1 PAU70T1 PAU70U1 PAU70V1
PAR3402PAC6501
PAR3401
PAC6302
PAC6401
PAC5702 PAC5802
PAU501
PAC4202
PAU5016
PAU5015
PAU5014
PAC4201
COQ3
COR33
PAC3601 PAC3501
COC58
COC57
COR25
COR31
PAQ303
COR48
COQ2
COR34
COC21
COU6
COR32
PAQ302PAR4801PAQ203PAR4802COTP9
PAQ301
PAC2101 COR30
COC27
COC26
COC25
COC24
COC23PAR3201 PAR3202
PAC3602 PAC3502PAU502
PAC5701 PAC5801
PAU503
PAC6301
PAU504
PAU5013
PAU505
PAU506
PAU507
PAU5012
PAU5011
PAU5010
PAU508
PAU509
PAR3302 PAR3301
PAR2501 PAR2502 PAR3102 PAR3101
COP4
PAC2701 PAC2601
PAC2702 PAC2602
PAC2501 PAC2401
PAC2502 PAC2402
PAU604
PAU603
PAC2102 PAR3001 PAR3002 PAU602
PAC2301 PAC2201 PAR2601 PAU605 PAQ202
PAU601
PAC2302 PAC2202 PAR2602
COC2 COR26
PATP901
PAQ201
PA 4P0A7P54A074P0A7P34A074P20A714P0A7P40A694P0A684067 PA 4P0A5P480A574P0A5P64A054P0A54P0A5P34A0524P0A5P14A054P0AP94A084P0A74P0AP460A54P0A40PA3P4A024P0AP14A0 4P0A394P0A3P480A374P0A3P460A354P0A3P4A034P0A324P0A3P14A034P0A2P94A024P80A2P74A024P60A254P0A2P40A234P0A2P4A024P10A24P0A1P940A184P0A1P74A014P60A154P0A1P40A134P0A1420P1AP40A1P4A09P4A084P0AP7A4046PA05P4A0 4P0A3P4A02401
COC34
COP2
COR35
PAP201
COR36
PAP203
PAP205
COR37
PAP209
COR38
PAP2011
PAP2013
COR39
PAP2015
PAP202
PAP204
PAP206
PAR3501
PAR3502
PAR3601
PAR3602
PAP207
PAR3701
PAR3702
PAR3801
COP3
COR40
COC50
PAP301
PAP303
PAP305
PAP302
PAR4001
COR41
PAP304
PAR4002
PAP306
PAR4101
PAP208 PAC3401 PAC4101
PAP307
PAP2010
PAP2012
PAP2014
PAP2016
PAP2018
PAP3013
PAP3015
PAP3017
PAP3014
PAP3016
PAP3018
PAR4301
PAP3019
PAR4302
PAP3020
COR42
PAP309 PAP3010
COC13
PAP3012
PAR4102
PAP308
PAP3011
PAC3402COC40
PAC4102COC41
PAC5001 PAC4001
PAR4201
PAR4202
COR43
COC28
PAP300
COTP7
PAC5002 PAC4002
COC15
PATP701COR20
COR19
COR18
COC43
COU2
COR21
COR22
COR13
COR9 COR4
PAC1301COC14
PAC1501
COC2
COC11
COC19
COC10
COR8
301 PAC4302
PAC2801 PAC2802 COR14
PAU207 PAC1302 PAC4COR3
PAC1502
COR17
COR16
COR15
COR7
PAC101
COC18
COR10
COTP1
COC3COU1 COC4
PAL202 PAL201
PAL101
COR12
COC6 PAC102 PAL102 COC9
COC16
PAC1802 PAC1801 PAU1012PAU101 PAU1010 PAU109 PAU108 PAU107
PAC402
PAC302 PATP101
COR11
PAC602
PAC902
COC17
COL1
PAC401 PAU1025 COL2
PAC301
COQ1
COTP2
COC1
COR23
PAC601
PAC901COR5
PAC1702 PAC1701 PAU1019PAU1020PAU1021 PAU102 PAU1023 PAU1024
PAQ103
COR2
COTP3PAC1002 PAC1402 PAC1902 PAC1102 PAC202
PATP201
COC8
COC7
COC5
COR1
PAQ101
PAQ102
COTP5PAC1001 PAC1401 PAC1901 PAC1101
PATP301
PAC201
COTP6
COR6
COC12
PATP501COU4
COP1
COTP4
PATP601
COR28
COC20
PAP107 PATP401
PAC2002
COR27
PAP101
COR29
PAC2001
PAP102
COC45
COU3
PAP103
COC52
COC51
COC30
COC29 COC44
PAP104
COR24
PAP105
COTP8
PAP106
COR45
PAC4502 PAC4501
PAC2901 PAC3001
COC47
PAC5101 PAC5201
PATP801
PAP108
COU7 PAC5102 PAC5202 PAC2902 PAC3002 PAC4402 PAC4401
COC49
COC56
COC48
COC55
COC32
COC31 PAC4701 PAC4901
PAC5602
PAC4801
PAC5501COC53
PAC4702
COC46
PAC3201
PAC3101
COC33
PAC4902
PAC5601
PAC4802
PAC5502
PAC3102
PAC4602
PAC5301 PAC5302 PAC3202
COC54
COC37
PAC4601
COC67PAC3301 PAC3302
COR47
COC66 COC38
PAC5401 PAC5402
PAC3701 PAC3702
COC68
COC59
PAC3801
PAC6602 PAC6702 PAC6701COC39
PAC5901
PAC6801 PAC3802
COC60
PAC6601
COC62
COC61
COR44
PAC3902 PAC3901COC42 PAC5902
PAC6802
PAC6002 COR46
COC65 COC64
PAR4402
PAC6202 PAC6102
COU5
PAC6001
COC36
COC35
PAC6502 COC63
PAC6402
PAR4401
PAC6201 PAC6101
PAR3802
PAP2017
PAR3901
PAR3902
PAP2019
PAP200
PAP2020
PAR801 PAR1701 PAR1601 PAR1501 PAR1401
PAR802 PAR1702 PAR2002
PAR1602 PAR1902
PAR1502 PAR1402
PAR1802
PAR2001 PAR1901
PAU206 PAR1801
PAU201
PAU202
PAU203
PAR1202
PAR1201
PAR1002 PAC1602
PAR1001 PAC1601
PAR1102PAR302 PAR301
PAR1101PAR402 PAR401
PAU205
PAU204
PAU1013
PAU1014
PAU106
PAU105
PAU1015
PAU1016
PAU104
PAU103
PAU1017
PAU1018
PAU102
PAU101
PAR701
PAR702
PAR502 PAC802
PAC502 PAR102
PAR501 PAC801
PAC501 PAR101
PAR602 PAC1202
PAC702 PAR202
PAR601 PAC1201 PAR902 PAR901 PAR1302 PAR1301 PAR2201 PAR2202 PAR2101 PAR2102 PAC701 PAR201
PAU405
PAU406
PAU407
PAU409
PAU404
PAU403 PAR2302
PAR2802
PAR2801
PAU402 PAR2301
PAU401
PAR2702
PAR2701
PAU309
PAU308
PAU3010
PAU3011
PAU3012
PAU307
PAU306
PAU305
PAR2902
PAU3013
PAU304
PAR2401 PAR2402 PAU303
PAU408
PAU3014
PAU3015
PAU3016
PAR2901
PAU302
PAU301
PAR4501
PAR4502
PAU70A18 PAU70B18 PAU70C18 PAU70D18 PAU70E18 PAU70F18 PAU70G18 PAU70H18 PAU70J18 PAU70K18 PAU70L18 PAU70M18 PAU70N18 PAU70P18 PAU70R18 PAU70T18 PAU70U18 PAU70V18
PAU70A17 PAU70B17 PAU70C17 PAU70D17 PAU70E17 PAU70F17 PAU70G17 PAU70H17 PAU70J17 PAU70K17 PAU70L17 PAU70M17 PAU70N17 PAU70P17 PAU70R17 PAU70T17 PAU70U17 PAU70V17
PAU70A16 PAU70B16 PAU70C16 PAU70D16 PAU70E16 PAU70F16 PAU70G16 PAU70H16 PAU70J16 PAU70K16 PAU70L16 PAU70M16 PAU70N16 PAU70P16 PAU70R16 PAU70T16 PAU70U16 PAU70V16
PAU70A15 PAU70B15 PAU70C15 PAU70D15 PAU70E15 PAU70F15 PAU70G15 PAU70H15 PAU70J15 PAU70K15 PAU70L15 PAU70M15 PAU70N15 PAU70P15 PAU70R15 PAU70T15 PAU70U15 PAU70V15
PAU70A14 PAU70B14 PAU70C14 PAU70D14 PAU70E14 PAU70F14 PAU70G14 PAU70H14 PAU70J14 PAU70K14 PAU70L14 PAU70M14 PAU70N14 PAU70P14 PAU70R14 PAU70T14 PAU70U14 PAU70V14
PAR4702
PAR4701
PAU70A13 PAU70B13 PAU70C13 PAU70D13 PAU70E13 PAU70F13 PAU70G13 PAU70H13 PAU70J13 PAU70K13 PAU70L13 PAU70M13 PAU70N13 PAU70P13 PAU70R13 PAU70T13 PAU70U13 PAU70V13
PAU70A12 PAU70B12 PAU70C12 PAU70D12 PAU70E12 PAU70F12 PAU70G12 PAU70H12 PAU70J12 PAU70K12 PAU70L12 PAU70M12 PAU70N12 PAU70P12 PAU70R12 PAU70T12 PAU70U12 PAU70V12
PAR4602
PAU70A11 PAU70B11 PAU70C11 PAU70D11 PAU70E11 PAU70F11 PAU70G11 PAU70H11 PAU70J11 PAU70K11 PAU70L11 PAU70M11 PAU70N11 PAU70P11 PAU70R11 PAU70T11 PAU70U11 PAU70V11
PAR4601
PAU70A10 PAU70B10 PAU70C10 PAU70D10 PAU70E10 PAU70F10 PAU70G10 PAU70H10 PAU70J10 PAU70K10 PAU70L10 PAU70M10 PAU70N10 PAU70P10 PAU70R10 PAU70T10 PAU70U10 PAU70V10
PAU70A9 PAU70B9 PAU70C9 PAU70D9 PAU70E9 PAU70F9 PAU70G9 PAU70H9 PAU70J9 PAU70K9 PAU70L9 PAU70M9 PAU70N9 PAU70P9 PAU70R9 PAU70T9 PAU70U9 PAU70V9
PAU70A8 PAU70B8 PAU70C8 PAU70D8 PAU70E8 PAU70F8 PAU70G8 PAU70H8 PAU70J8 PAU70K8 PAU70L8 PAU70M8 PAU70N8 PAU70P8 PAU70R8 PAU70T8 PAU70U8 PAU70V8
PAU70A7 PAU70B7 PAU70C7 PAU70D7 PAU70E7 PAU70F7 PAU70G7 PAU70H7 PAU70J7 PAU70K7 PAU70L7 PAU70M7 PAU70N7 PAU70P7 PAU70R7 PAU70T7 PAU70U7 PAU70V7
PAU70A6 PAU70B6 PAU70C6 PAU70D6 PAU70E6 PAU70F6 PAU70G6 PAU70H6 PAU70J6 PAU70K6 PAU70L6 PAU70M6 PAU70N6 PAU70P6 PAU70R6 PAU70T6 PAU70U6 PAU70V6
PAU70A5 PAU70B5 PAU70C5 PAU70D5 PAU70E5 PAU70F5 PAU70G5 PAU70H5 PAU70J5 PAU70K5 PAU70L5 PAU70M5 PAU70N5 PAU70P5 PAU70R5 PAU70T5 PAU70U5 PAU70V5
PAU70A4 PAU70B4 PAU70C4 PAU70D4 PAU70E4 PAU70F4 PAU70G4 PAU70H4 PAU70J4 PAU70K4 PAU70L4 PAU70M4 PAU70N4 PAU70P4 PAU70R4 PAU70T4 PAU70U4 PAU70V4
PAU70A3 PAU70B3 PAU70C3 PAU70D3 PAU70E3 PAU70F3 PAU70G3 PAU70H3 PAU70J3 PAU70K3 PAU70L3 PAU70M3 PAU70N3 PAU70P3 PAU70R3 PAU70T3 PAU70U3 PAU70V3
PAU70A2 PAU70B2 PAU70C2 PAU70D2 PAU70E2 PAU70F2 PAU70G2 PAU70H2 PAU70J2 PAU70K2 PAU70L2 PAU70M2 PAU70N2 PAU70P2 PAU70R2 PAU70T2 PAU70U2 PAU70V2
PAU70A1 PAU70B1 PAU70C1 PAU70D1 PAU70E1 PAU70F1 PAU70G1 PAU70H1 PAU70J1 PAU70K1 PAU70L1 PAU70M1 PAU70N1 PAU70P1 PAU70R1 PAU70T1 PAU70U1 PAU70V1
PAR3402PAC6501
PAR3401
PAC6302
PAC6401
PAC5702 PAC5802
PAU501
PAC4202
PAU5016
PAU5015
PAU5014
PAC4201
COQ3
COR33
PAC3601 PAC3501
COC58
COC57
COR25
COR31
PAQ303
COR48
COQ2
COR34
COC21
COU6
COR32
PAQ302PAR4801PAQ203PAR4802COTP9
PAQ301
PAC2101 COR30
COC27
COC26
COC25
COC24
COC23PAR3201 PAR3202
PAC3602 PAC3502PAU502
PAC5701 PAC5801
PAU503
PAC6301
PAU504
PAU5013
PAU505
PAU506
PAU507
PAU5012
PAU5011
PAU5010
PAU508
PAU509
PAR3302 PAR3301
PAR2501 PAR2502 PAR3102 PAR3101
COP4
PAC2701 PAC2601
PAC2702 PAC2602
PAC2501 PAC2401
PAC2502 PAC2402
PAU604
PAU603
PAC2102 PAR3001 PAR3002 PAU602
PAC2301 PAC2201 PAR2601 PAU605 PAQ202
PAU601
PAC2302 PAC2202 PAR2602
COC2 COR26
PATP901
PAQ201
PA 4P0A7P54A074P0A7P34A074P20A714P0A7P40A694P0A684067 PA 4P0A5P480A574P0A5P64A054P0A54P0A5P34A0524P0A5P14A054P0AP94A084P0A74P0AP460A54P0A40PA3P4A024P0AP14A0 4P0A394P0A3P480A374P0A3P460A354P0A3P4A034P0A324P0A3P14A034P0A2P94A024P80A2P74A024P60A254P0A2P40A234P0A2P4A024P10A24P0A1P940A184P0A1P74A014P60A154P0A1P40A134P0A1420P1AP40A1P4A09P4A084P0AP7A4046PA05P4A0 4P0A3P4A02401
COC34
COP2
COR35
PAP201
COR36
PAP203
PAP205
COR37
PAP209
COR38
PAP2011
PAP2013
COR39
PAP2015
PAP202
PAP204
PAP206
PAR3501
PAR3502
PAR3601
PAR3602
PAP207
PAR3701
PAR3702
PAR3801
COP3
COR40
COC50
PAP301
PAP303
PAP305
PAP302
PAR4001
COR41
PAP304
PAR4002
PAP306
PAR4101
PAP208 PAC3401 PAC4101
PAP307
PAP2010
PAP2012
PAP2014
PAP2016
PAP2018
PAP3013
PAP3015
PAP3017
PAP3014
PAP3016
PAP3018
PAR4301
PAP3019
PAR4302
PAP3020
COR42
PAP309 PAP3010
COC13
PAP3012
PAR4102
PAP308
PAP3011
PAC3402COC40
PAC4102COC41
PAC5001 PAC4001
PAR4201
PAR4202
COR43
COC28
PAP300
COTP7
PAC5002 PAC4002
COC15
PATP701COR20
COR19
COR18
COC43
COU2
COR21
COR22
COR13
COR9 COR4
PAC1301COC14
PAC1501
COC2
COC11
COC19
COC10
COR8
301 PAC4302
PAC2801 PAC2802 COR14
PAU207 PAC1302 PAC4COR3
PAC1502
COR17
COR16
COR15
COR7
PAC101
COC18
COR10
COTP1
COC3COU1 COC4
PAL202 PAL201
PAL101
COR12
COC6 PAC102 PAL102 COC9
COC16
PAC1802 PAC1801 PAU1012PAU101 PAU1010 PAU109 PAU108 PAU107
PAC402
PAC302 PATP101
COR11
PAC602
PAC902
COC17
COL1
PAC401 PAU1025 COL2
PAC301
COQ1
COTP2
COC1
COR23
PAC601
PAC901COR5
PAC1702 PAC1701 PAU1019PAU1020PAU1021 PAU102 PAU1023 PAU1024
PAQ103
COR2
COTP3PAC1002 PAC1402 PAC1902 PAC1102 PAC202
PATP201
COC8
COC7
COC5
COR1
PAQ101
PAQ102
COTP5PAC1001 PAC1401 PAC1901 PAC1101
PATP301
PAC201
COTP6
COR6
COC12
PATP501COU4
COP1
COTP4
PATP601
COR28
COC20
PAP107 PATP401
PAC2002
COR27
PAP101
COR29
PAC2001
PAP102
COC45
COU3
PAP103
COC52
COC51
COC30
COC29 COC44
PAP104
COR24
PAP105
COTP8
PAP106
COR45
PAC4502 PAC4501
PAC2901 PAC3001
COC47
PAC5101 PAC5201
PATP801
PAP108
COU7 PAC5102 PAC5202 PAC2902 PAC3002 PAC4402 PAC4401
COC49
COC56
COC48
COC55
COC32
COC31 PAC4701 PAC4901
PAC5602
PAC4801
PAC5501COC53
PAC4702
COC46
PAC3201
PAC3101
COC33
PAC4902
PAC5601
PAC4802
PAC5502
PAC3102
PAC4602
PAC5301 PAC5302 PAC3202
COC54
COC37
PAC4601
COC67PAC3301 PAC3302
COR47
COC66 COC38
PAC5401 PAC5402
PAC3701 PAC3702
COC68
COC59
PAC3801
PAC6602 PAC6702 PAC6701COC39
PAC5901
PAC6801 PAC3802
COC60
PAC6601
COC62
COC61
COR44
PAC3902 PAC3901COC42 PAC5902
PAC6802
PAC6002 COR46
COC65 COC64
PAR4402
PAC6202 PAC6102
COU5
PAC6001
COC36
COC35
PAC6502 COC63
PAC6402
PAR4401
PAC6201 PAC6101
PAR3802
PAP2017
PAR3901
PAR3902
PAP2019
PAP200
PAP2020
PAR801 PAR1701 PAR1601 PAR1501 PAR1401
PAR802 PAR1702 PAR2002
PAR1602 PAR1902
PAR1502 PAR1402
PAR1802
PAR2001 PAR1901
PAU206 PAR1801
PAU201
PAU202
PAU203
PAR1202
PAR1201
PAR1002 PAC1602
PAR1001 PAC1601
PAR1102PAR302 PAR301
PAR1101PAR402 PAR401
PAU205
PAU204
PAU1013
PAU1014
PAU106
PAU105
PAU1015
PAU1016
PAU104
PAU103
PAU1017
PAU1018
PAU102
PAU101
PAR701
PAR702
PAR502 PAC802
PAC502 PAR102
PAR501 PAC801
PAC501 PAR101
PAR602 PAC1202
PAC702 PAR202
PAR601 PAC1201 PAR902 PAR901 PAR1302 PAR1301 PAR2201 PAR2202 PAR2101 PAR2102 PAC701 PAR201
PAU405
PAU406
PAU407
PAU409
PAU404
PAU403 PAR2302
PAR2802
PAR2801
PAU402 PAR2301
PAU401
PAR2702
PAR2701
PAU309
PAU308
PAU3010
PAU3011
PAU3012
PAU307
PAU306
PAU305
PAR2902
PAU3013
PAU304
PAR2401 PAR2402 PAU303
PAU408
PAU3014
PAU3015
PAU3016
PAR2901
PAU302
PAU301
PAR4501
PAR4502
PAU70A18 PAU70B18 PAU70C18 PAU70D18 PAU70E18 PAU70F18 PAU70G18 PAU70H18 PAU70J18 PAU70K18 PAU70L18 PAU70M18 PAU70N18 PAU70P18 PAU70R18 PAU70T18 PAU70U18 PAU70V18
PAU70A17 PAU70B17 PAU70C17 PAU70D17 PAU70E17 PAU70F17 PAU70G17 PAU70H17 PAU70J17 PAU70K17 PAU70L17 PAU70M17 PAU70N17 PAU70P17 PAU70R17 PAU70T17 PAU70U17 PAU70V17
PAU70A16 PAU70B16 PAU70C16 PAU70D16 PAU70E16 PAU70F16 PAU70G16 PAU70H16 PAU70J16 PAU70K16 PAU70L16 PAU70M16 PAU70N16 PAU70P16 PAU70R16 PAU70T16 PAU70U16 PAU70V16
PAU70A15 PAU70B15 PAU70C15 PAU70D15 PAU70E15 PAU70F15 PAU70G15 PAU70H15 PAU70J15 PAU70K15 PAU70L15 PAU70M15 PAU70N15 PAU70P15 PAU70R15 PAU70T15 PAU70U15 PAU70V15
PAU70A14 PAU70B14 PAU70C14 PAU70D14 PAU70E14 PAU70F14 PAU70G14 PAU70H14 PAU70J14 PAU70K14 PAU70L14 PAU70M14 PAU70N14 PAU70P14 PAU70R14 PAU70T14 PAU70U14 PAU70V14
PAR4702
PAR4701
PAU70A13 PAU70B13 PAU70C13 PAU70D13 PAU70E13 PAU70F13 PAU70G13 PAU70H13 PAU70J13 PAU70K13 PAU70L13 PAU70M13 PAU70N13 PAU70P13 PAU70R13 PAU70T13 PAU70U13 PAU70V13
PAU70A12 PAU70B12 PAU70C12 PAU70D12 PAU70E12 PAU70F12 PAU70G12 PAU70H12 PAU70J12 PAU70K12 PAU70L12 PAU70M12 PAU70N12 PAU70P12 PAU70R12 PAU70T12 PAU70U12 PAU70V12
PAR4602
PAU70A11 PAU70B11 PAU70C11 PAU70D11 PAU70E11 PAU70F11 PAU70G11 PAU70H11 PAU70J11 PAU70K11 PAU70L11 PAU70M11 PAU70N11 PAU70P11 PAU70R11 PAU70T11 PAU70U11 PAU70V11
PAR4601
PAU70A10 PAU70B10 PAU70C10 PAU70D10 PAU70E10 PAU70F10 PAU70G10 PAU70H10 PAU70J10 PAU70K10 PAU70L10 PAU70M10 PAU70N10 PAU70P10 PAU70R10 PAU70T10 PAU70U10 PAU70V10
PAU70A9 PAU70B9 PAU70C9 PAU70D9 PAU70E9 PAU70F9 PAU70G9 PAU70H9 PAU70J9 PAU70K9 PAU70L9 PAU70M9 PAU70N9 PAU70P9 PAU70R9 PAU70T9 PAU70U9 PAU70V9
PAU70A8 PAU70B8 PAU70C8 PAU70D8 PAU70E8 PAU70F8 PAU70G8 PAU70H8 PAU70J8 PAU70K8 PAU70L8 PAU70M8 PAU70N8 PAU70P8 PAU70R8 PAU70T8 PAU70U8 PAU70V8
PAU70A7 PAU70B7 PAU70C7 PAU70D7 PAU70E7 PAU70F7 PAU70G7 PAU70H7 PAU70J7 PAU70K7 PAU70L7 PAU70M7 PAU70N7 PAU70P7 PAU70R7 PAU70T7 PAU70U7 PAU70V7
PAU70A6 PAU70B6 PAU70C6 PAU70D6 PAU70E6 PAU70F6 PAU70G6 PAU70H6 PAU70J6 PAU70K6 PAU70L6 PAU70M6 PAU70N6 PAU70P6 PAU70R6 PAU70T6 PAU70U6 PAU70V6
PAU70A5 PAU70B5 PAU70C5 PAU70D5 PAU70E5 PAU70F5 PAU70G5 PAU70H5 PAU70J5 PAU70K5 PAU70L5 PAU70M5 PAU70N5 PAU70P5 PAU70R5 PAU70T5 PAU70U5 PAU70V5
PAU70A4 PAU70B4 PAU70C4 PAU70D4 PAU70E4 PAU70F4 PAU70G4 PAU70H4 PAU70J4 PAU70K4 PAU70L4 PAU70M4 PAU70N4 PAU70P4 PAU70R4 PAU70T4 PAU70U4 PAU70V4
PAU70A3 PAU70B3 PAU70C3 PAU70D3 PAU70E3 PAU70F3 PAU70G3 PAU70H3 PAU70J3 PAU70K3 PAU70L3 PAU70M3 PAU70N3 PAU70P3 PAU70R3 PAU70T3 PAU70U3 PAU70V3
PAU70A2 PAU70B2 PAU70C2 PAU70D2 PAU70E2 PAU70F2 PAU70G2 PAU70H2 PAU70J2 PAU70K2 PAU70L2 PAU70M2 PAU70N2 PAU70P2 PAU70R2 PAU70T2 PAU70U2 PAU70V2
PAU70A1 PAU70B1 PAU70C1 PAU70D1 PAU70E1 PAU70F1 PAU70G1 PAU70H1 PAU70J1 PAU70K1 PAU70L1 PAU70M1 PAU70N1 PAU70P1 PAU70R1 PAU70T1 PAU70U1 PAU70V1
PAR3402PAC6501
PAR3401
PAC6302
PAC6401
PAC5702 PAC5802
PAU501
PAC4202
PAU5016
PAU5015
PAU5014
PAC4201
COQ3
COR33
PAC3601 PAC3501
COC58
COC57
COR25
COR31
PAQ303
COR48
COQ2
COR34
COC21
COU6
COR32
PAQ302PAR4801PAQ203PAR4802COTP9
PAQ301
PAC2101 COR30
COC27
COC26
COC25
COC24
COC23PAR3201 PAR3202
PAC3602 PAC3502PAU502
PAC5701 PAC5801
PAU503
PAC6301
PAU504
PAU5013
PAU505
PAU506
PAU507
PAU5012
PAU5011
PAU5010
PAU508
PAU509
PAR3302 PAR3301
PAR2501 PAR2502 PAR3102 PAR3101
COP4
PAC2701 PAC2601
PAC2702 PAC2602
PAC2501 PAC2401
PAC2502 PAC2402
PAU604
PAU603
PAC2102 PAR3001 PAR3002 PAU602
PAC2301 PAC2201 PAR2601 PAU605 PAQ202
PAU601
PAC2302 PAC2202 PAR2602
COC2 COR26
PATP901
PAQ201
PA 4P0A7P54A074P0A7P34A074P20A714P0A7P40A694P0A684067 PA 4P0A5P480A574P0A5P64A054P0A54P0A5P34A0524P0A5P14A054P0AP94A084P0A74P0AP460A54P0A40PA3P4A024P0AP14A0 4P0A394P0A3P480A374P0A3P460A354P0A3P4A034P0A324P0A3P14A034P0A2P94A024P80A2P74A024P60A254P0A2P40A234P0A2P4A024P10A24P0A1P940A184P0A1P74A014P60A154P0A1P40A134P0A1420P1AP40A1P4A09P4A084P0AP7A4046PA05P4A0 4P0A3P4A02401
Designator
C1
C2
C3
C4
C5
C6
C8
C9
C10
C11
C13
C14
C15
C16
C17
C18
C19
C20
C21
C22
C23
C24
C25
C26
C27
C28
C29
C31
C32
C34
C35
C37
C38
C40
C41
C42
C43
C44
C45
C46
C47
C48
C49
C50
C51
C52
C53
C54
C55
C56
C57
C58
C59
C60
C61
C62
C63
C64
C65
C66
C67
C68
L1
L2
P1
P2
P3
Q1
Q2
Q3
R1
R2
R3
R5
R6
R7
R8
R9
R10
R11
R12
R13
R14
R15
R16
R17
R18
R19
R20
R21
R22
R23
R24
R25
R26
R27
R28
R29
R31
R33
R34
R45
R46
R47
R48
U1
U2
U3
U4
U5
U6
U7
Value
1uF
1uF
10uF
10uF
15pF
10uF
8.2pF
10uF
1uF
1uF
1uF
1uF
1uF
100nF
100nF
100nF
1uF
0.47uF
0.47uF
100nF
100nF
100nF
100nF
100nF
100nF
100uF
4.7uF
0.47uF
0.47uF
100uF
4.7uF
0.47uF
0.47uF
100uF
100uF
0.47uF
100uF
4.7uF
4.7uF
0.47uF
0.47uF
0.47uF
0.47uF
100uF
4.7uF
4.7uF
0.47uF
0.47uF
0.47uF
0.47uF
4.7uF
4.7uF
0.47uF
0.47uF
0.47uF
0.47uF
4.7uF
0.47uF
0.47uF
4.7uF
0.47uF
0.47uF
2.2uH
2.2uH
Manufacturer
Murata Electronics
Murata Electronics
Murata Electronics
Murata Electronics
Murata Electronics
Murata Electronics
Murata Electronics
Murata Electronics
Murata Electronics
Murata Electronics
Murata Electronics
Murata Electronics
Murata Electronics
Murata Electronics
Murata Electronics
Murata Electronics
Murata Electronics
Murata Electronics
Murata Electronics
Murata Electronics
Murata Electronics
Murata Electronics
Murata Electronics
Murata Electronics
Murata Electronics
Murata Electronics
Murata Electronics
Murata Electronics
Murata Electronics
Murata Electronics
Murata Electronics
Murata Electronics
Murata Electronics
Murata Electronics
Murata Electronics
Murata Electronics
Murata Electronics
Murata Electronics
Murata Electronics
Murata Electronics
Murata Electronics
Murata Electronics
Murata Electronics
Murata Electronics
Murata Electronics
Murata Electronics
Murata Electronics
Murata Electronics
Murata Electronics
Murata Electronics
Murata Electronics
Murata Electronics
Murata Electronics
Murata Electronics
Murata Electronics
Murata Electronics
Murata Electronics
Murata Electronics
Murata Electronics
Murata Electronics
Murata Electronics
Murata Electronics
Sumida
Sumida
JST Sales America Inc.
Harwin
Harwin
Infineon Technologies
Infineon Technologies
Infineon Technologies
Part Number
GRT188R71E105KE13D
GRT188R71E105KE13D
GRM21BR61C106KE15
GRM21BR61C106KE15
GCM1555C1H150JA16D
GRM21BR61C106KE15
GJM1555C1H8R2CB01D
GRM21BR61C106KE15
GRT188R71E105KE13D
GRT188R71E105KE13D
GRT188R71E105KE13D
GRT188R71E105KE13D
GRT188R71E105KE13D
GCM155R71C104KA55D
GCM155R71C104KA55D
GCM155R71C104KA55D
GRT188R71E105KE13D
GCM188R71C474KA55D
GCM188R71C474KA55D
GCM155R71C104KA55D
GCM155R71C104KA55D
GCM155R71C104KA55D
GCM155R71C104KA55D
GCM155R71C104KA55D
GCM155R71C104KA55D
GRM32ER61A107ME20
GRM188R61C475KE11J
GCM188R71C474KA55D
GCM188R71C474KA55D
GRM32ER61A107ME20
GRM188R61C475KE11J
GCM188R71C474KA55D
GCM188R71C474KA55D
GRM32ER61A107ME20
GRM32ER61A107ME20
GCM188R71C474KA55D
GRM32ER61A107ME20
GRM188R61C475KE11J
GRM188R61C475KE11J
GCM188R71C474KA55D
GCM188R71C474KA55D
GCM188R71C474KA55D
GCM188R71C474KA55D
GRM32ER61A107ME20
GRM188R61C475KE11J
GRM188R61C475KE11J
GCM188R71C474KA55D
GCM188R71C474KA55D
GCM188R71C474KA55D
GCM188R71C474KA55D
GRM188R61C475KE11J
GRM188R61C475KE11J
GCM188R71C474KA55D
GCM188R71C474KA55D
GCM188R71C474KA55D
GCM188R71C474KA55D
GRM188R61C475KE11J
GCM188R71C474KA55D
GCM188R71C474KA55D
GRM188R61C475KE11J
GCM188R71C474KA55D
GCM188R71C474KA55D
CDRH2D14NP-2R2N
CDRH2D14NP-2R2N
B6B-ZR-SM3-TF
M50-3611042
M50-3611042
BSS806NEH6327XTSA1
BSS806NEH6327XTSA1
BSS806NEH6327XTSA1
Provider
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
Provider Number
Comment
81-GRT188R71E105KE3D
81-GRT188R71E105KE3D
81-GRM21BR61C106KE15
81-GRM21BR61C106KE15
81-GCM1555C1H150JA6D
81-GRM21BR61C106KE15
81-GJM1555C1H8R2CB01
81-GRM21BR61C106KE15
81-GRT188R71E105KE3D
81-GRT188R71E105KE3D
81-GRT188R71E105KE3D
81-GRT188R71E105KE3D
81-GRT188R71E105KE3D
81-GCM155R71C104KA5D
81-GCM155R71C104KA5D
81-GCM155R71C104KA5D
81-GRT188R71E105KE3D
81-GCM188R71C474KA5D
81-GCM188R71C474KA5D
81-GCM155R71C104KA5D
81-GCM155R71C104KA5D
81-GCM155R71C104KA5D
81-GCM155R71C104KA5D
81-GCM155R71C104KA5D
81-GCM155R71C104KA5D
81-GRM32ER61A107ME0L
81-GRM188R61C475KE1J
81-GCM188R71C474KA5D
81-GCM188R71C474KA5D
81-GRM32ER61A107ME0L
81-GRM188R61C475KE1J
81-GCM188R71C474KA5D
81-GCM188R71C474KA5D
81-GRM32ER61A107ME0L
81-GRM32ER61A107ME0L
81-GCM188R71C474KA5D
81-GRM32ER61A107ME0L
81-GRM188R61C475KE1J
81-GRM188R61C475KE1J
81-GCM188R71C474KA5D
81-GCM188R71C474KA5D
81-GCM188R71C474KA5D
81-GCM188R71C474KA5D
81-GRM32ER61A107ME0L
81-GRM188R61C475KE1J
81-GRM188R61C475KE1J
81-GCM188R71C474KA5D
81-GCM188R71C474KA5D
81-GCM188R71C474KA5D
81-GCM188R71C474KA5D
81-GRM188R61C475KE1J
81-GRM188R61C475KE1J
81-GCM188R71C474KA5D
81-GCM188R71C474KA5D
81-GCM188R71C474KA5D
81-GCM188R71C474KA5D
81-GRM188R61C475KE1J
81-GCM188R71C474KA5D
81-GCM188R71C474KA5D
81-GRM188R61C475KE1J
81-GCM188R71C474KA5D
81-GCM188R71C474KA5D
851-CDRH2D14NP-2R2NC
851-CDRH2D14NP-2R2NC
JTAG
855-M50-3611042
M50-361
855-M50-3611042
M50-361
726-BSS806NEH6327XTS BSS806
726-BSS806NEH6327XTS BSS806
726-BSS806NEH6327XTS BSS806
Mouser
Mouser
Mouser
Mouser
Mouser
Mouser
926-LM26480QSQCFNOPB
595-TLV75801PDRVR
595-TS3A5018PWR
579-ST26VF016B104IMF
771-SC18IS602BIPW8HP
556-AT24C04D-STUM-T
100K
100K
0
390K
150K
100K
39K
47K
10K
15K
4.7K
33K
33K
15K
10K
33K
2.7K
1.5K
220
100K
100K
10K
10K
10K
10K
10K
10K
10K
10K
10K
100
330
4.7K
4.7K
10K
Texas Instruments
LM26480QSQ-CF/NOPB
Texas Instruments
TLV75801PDRVR
Texas Instruments
TS3A5018PWR
Microchip Technology
SST26VF016B-104I/MF
NXP Semiconductors
SC18IS602BIPW/S8HP
Microchip Technology / AtmelAT24C04D-STUM-T
Xilinx Inc.
XC7A12T-2CSG325C
LM26480
TLV75801
TS3A5018
SST26VF016B
SC18IS602B
AT24C04D
Artix-7 FPGA
A
B
C
D
E
Line #
1
3
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
4
20
21
22
26
27
28
Designator
C1, C2, C10, C11, C13, C14,
C15, C19
C3, C4, C6, C9
C5
C8
C22, C23, C24, C25, C26, C27
C21, C49, C59
C28, C34, C40, C41, C43, C50
C63
L1, L2
P1
P2, P3
Q1
R1, R2, R7, R21, R22
R3
R5
R6
R8
R9
R16, R23, R26, R27, R28,
R29, R48
R15
R46, R47
R13, R14, R17
R34
R45
U1
A
1
13
1
13
1
2
1
4
15
C12
16
1
19
6
21
R44
33
32
21
10
6
19
5
5
19
34
5
5
27
8
5
5
26
1
6
19
30
1
19
31
13
2
2
7
11
2
2
19
13
C7
22
7
1
9
7
7
1
29
7
22
20
19
22
17
13
3
28
9
2
18
7
11
14
R4
1
12
View from Top side (Scale 3)
Value
Part Number
1uF
GRT188R71E105KE13D
10uF
15pF
8.2pF
100nF
0.47uF
100uF
4.7uF
2.2uH
GRM21BR61C106KE15
GCM1555C1H150JA16D
GJM1555C1H8R2CB01D
GCM155R71C104KA55D
GCM188R71C474KA55D
GRM32ER61A107ME20
GRM188R61C475KE11J
CDRH2D14NP-2R2N
B6B-ZR-SM3-TF
M50-3611042
BSS806NEH6327XTSA1
100K
0
390K
150K
39K
47K
Comment
Line #
29
30
31
32
33
34
Designator
U2
U3
U4
U5
U6
U7
Value
Part Number
TLV75801PDRVR
TS3A5018PWR
SST26VF016B-104I/MF
SC18IS602BIPW/S8HP
AT24C04D-STUM-T
XC7A12T-2CSG325C
Comment
TLV75801
TS3A5018
SST26VF016B
SC18IS602B
AT24C04D
Artix-7 FPGA
3
JTAG
M50-361
BSS806
10K
15K
4.7K
33K
100
330
4
LM26480QSQ-CF/NOPB
B
LM26480
C
D
E
A
B
C
D
E
View from Bottom side (Scale 3)
R39
6
C30
8
8
2
R40
R41
R42
6
6
6
6
Designator
C16, C17, C18
C20, C31, C32, C37, C38,
C42, C46, C47, C48, C53,
C54, C55, C56, C60, C61,
C62, C64, C65, C67, C68
C29, C35, C44, C45, C51,
C52, C57, C58, C66
Q2, Q3
R10, R24, R25, R31, R33
R11
R12
R18
R19
R20
6
8
12
19
20
21
23
24
25
Value
100nF
Part Number
GCM155R71C104KA55D
0.47uF
GCM188R71C474KA55D
C36
6
8
6
6
R43
Line #
5
3
6
8
23
8
19
24
6
6
25
8
R32
R30
8
6
6
6
12
6
8
19
19
6
12
20
5
1
6
C39
19
6
21
6
8
6
C33
R38
19
R37
5
R36
5
R35
1
2
Comment
GRM188R61C475KE11J
4.7uF
BSS806NEH6327XTSA1
10K
15K
4.7K
2.7K
1.5K
220
BSS806
3
4
4
A
B
C
D
E
A
B
C
D
E
View from Top side (Scale 3)
1
1
TP9
TP8
TP4
TP1
TP6
TP7
2
3
2
TP2 TP3 TP5
Test point Net name
Voltage
TP1
VCCINT_1V0
1.0V
TP2
VCCAUX_1V8
1.8V
TP3
VCC_3V3
3.3V
TP4
VCCO_0_3V3
3.3V
TP5
VMGTAVTT_1V2
1.2V
TP6
VMGTAVCC_1V0
1.0V
TP7
VCCO_15_34_ADJ
Adjustable
TP8
GND
GND
TP9
EEPROM_WP
3.3V (Pull-up)
Top Layer (Scale 1:1)
3
Bottom Layer (Scale 1:1)
4
4
A
B
C
D
E
Bibliography
Appendix C - Test plan
Nr.
1
1.1
1.1.1
1.1.2
1.1.3
1.1.4
1.2
1.2.1
1.2.2
1.2.3
1.3
1.3.1
1.3.2
1.3.3
1.3.4
1.3.5
2
2.1
2.1.1
2.1.2
2.1.3
2.2
2.2.1
2.2.2
2.2.3
2.2.4
2.2.5
2.2.6
2.2.7
2.3
2.3.1
Test
Manufacturing and mounting
Pre-component mounting
Perform brief visual inspection of
PCB
Measure continuity on sample nets
Test for short circuit on power nets
Measure trace impedance
Post-component mount
Test for short circuit on power nets
Verify resistor values on power supply
Visual inspection of solder joints
PCB under power
Measure current draw (limit supply)
Check supply voltage levels
Check power on sequence
Measure SMBus logic level before/after level conversion
Verify unused pins on M.2 connector
are not live
Debug test procedure
FPGA system
Check JTAG connectivity
Test setting LVDS/CMOS pins HIGH
one at a time
Test LDO voltage level control
SMBus
Identify EEPROM
Write data to EEPROM
Identify I2C-SPI Bridge
Set/read pins on bridge
Write test data to Flash memory and
read back
Write FPGA bitstream to flash memory
Boot FPGA from Flash memory
PCI Express
Upload small skecth with PCI Express IP core and verify that the device is detected by the platform
Pass
Fail
Comment
71
Download