Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

IJSRD - International Journal for Scientific Research & Development| Vol.

1, Issue 3, 2013 | ISSN (online): 2321-0613

Introduction to VIP with PCI Express Technology

Rutva Pathak1
M. E. Student[VLSI & Embedded systems Design]
1
Department of Electronics and Communication, Gujarat Technological University, Ahmedabad

Abstract—This paper describes latest technology PCI II. ARCHITECTURE


Express and VIP for reusability purpose as it is necessary A PCIe fabric is made of point-to-point Links that
for today’s faster verification needs. It is explained using interconnect a set of components – an example Fabric
PCIe Verification IP. This verification is achieved by topology is shown in Fig 2.
developing Device reference module. PCIe is high speed This fig illustrates a single fabric instance referred
serial bus that supports 2.5 GT/s to 16 GT/s. PCIe is point to to as a hierarchy – composed of a Root Complex (RC),
point device with lane and link concept that support full multiple Endpoints (I/O devices), a Switch, and a PCI
duplex communications between two devices. Verification Express to PCI/PCI-X Bridge, all interconnected via PCI
Intellectual Property is component that behaves exactly like Express Links.
PCIe design and used for verification of the design.
Additionally it has several features like generation, checking
and coverage. PCIe VIP is architecture using system Verilog
HVL.
Keywords--ASIC, TL, DLL, Lane, Link, Verification, VIP
(Verification Intellectual Property)

I. INTRODUCTION
PCI Express (PCIe) is the third generation, general purpose
and high performance I/O bus used to interconnect
peripheral devices to a computer. PCI Express architecture
is a high performance, IO interconnect for peripherals in
computing/communication platforms Evolved from PCI
and PCI-X architectures Yet PCI Express architecture is
significantly different from its predecessors PCI and PCI-X
Fig. 2: Example topology
A. Root Complex:
Root Complex (RC) is the root of an I/O hierarchy and it
connects the CPU or memory subsystem to the I/O devices.
. It is shown in Fig 2 that a Root Complex may
Fig. 1: PCI Express Link support one or more PCI Express Ports. Each interface
Here the idea is to develop a Verification IP for PCI defines a separate hierarchy domain. Each hierarchy domain
Express. Verification IP are reusable verification modules may be composed of a single Endpoint or a sub-hierarchy
that typically consist of bus functional models, traffic containing one or more Switch components and Endpoints.
generators, protocol monitors, and functional coverage The capability to route peer-to-peer transactions
blocks. Each of the verification IP (VIP) accelerates the between hierarchy domains through a Root Complex is
development of a complete verification environment to cut optional and implementation dependent. For example, an
down the time to first test. implementation may incorporate a real or virtual Switch
Based on widely used and emerging protocols, internally within the Root Complex to enable full peer-to
verification IP are standards-compliant, plug and play peer support in a software transparent way.
modules that cut down overall verification time for B. Endpoints:
engineers using different HVL. They contain the necessary Endpoint is a type of Function that can be the Requester or
infrastructure for test-bench generation and checking Completer of a PCI Express transaction either itself or on
mechanisms, as well as all the appropriate routines to create behalf of a distinct non-PCI Express device (something
individual protocols or bus functional models. other than a PCI device or Host CPU), e.g., a PCI Express
Verification IP solutions enable verification attached graphics controller or a PCI Express-USB host
engineers to focus on verifying their designs rather than controller. Endpoints are classified as either legacy, PCI
spending an excessive amount of time setting up complex Express, or Root Complex Integrated Endpoints.
verification environments. Packets are transmitted and received serially and byte
striped across the available Lanes of the Link. The more
Lanes implemented on a Link the faster a packet is
transmitted and the greater the bandwidth of the Link.

All rights reserved by www.ijsrd.com 797


Introduction to VIP with PCI Express Technology
(IJSRD/Vol. 1/Issue 3/2013/0098)

Below Fig (3) shows all layers of PCIe.

Fig. 5: TLP Assembly


The software layer or device core sends information
Fig. 3: PCI Express layers required to assemble the core part of TLP which is header
and data portion of the packet to the Transaction Layer.
III. DEVICE LAYERS AND THEIR ASSOCIATED Some TLPs do not contain a data section. An
PACKETS optional End-to-End CRC (ECRC) field is calculated and
Three categories of packets are defined; each one is appended to the packet. The ECRC field is used by the
associated with one of the three device layers. Associated ultimate targeted device of this packet to check for CRC
with the Transaction Layer is the Transaction Layer Packet errors in the header and data portion of the TLP.
(TLP). Associated with the Data Link Layer is the Data Link
Layer Packet (DLLP). Associated with the Physical Layer is
the Physical Layer Packet (PLP). These packets are
introduced next.
A. Transaction Layer Packets (TLPs)
PCI Express transactions employ TLPs which originate at
the Transaction Layer of a transmitter device and terminate
at the Transaction Layer of a receiver device. This process is
represented in Fig 4. The Data Link Layer and Physical
Layer also contribute to TLP assembly as the TLP moves
through the layers of the transmitting device.
At the other end of the Link where a neighbor
receives the TLP, the Physical Layer, Data Link Layer and
Transaction Layer disassemble the TLP.
Fig. 6: TLP Assembly
The software layer or device core sends information
required to assemble the core part of TLP which is
header and data portion of the packet to the Transaction
Layer.
Some TLPs do not contain a data section. An
optional End-to-End CRC (ECRC) field is calculated
and appended to the packet. The ECRC field is used by
the ultimate targeted device of this packet to check for
CRC errors in the header and data portion of the TLP.
The core section of the TLP is forwarded to the
Data Link Layer which then appends a sequence ID and
another LCRC field. The LCRC field is used by the
neighboring receiver device at the other end of the Link
to check for CRC errors in the core section of the TLP
plus the sequence ID.
Fig. 4: TLP Origin and Destination The resultant TLP is forwarded to the Physical
1) TLP Packet Assembly Layer which concatenates a Start and End framing
A TLP that is transmitted on the Link appears as shown in character of 1 byte each to the packet. The packet is
Fig 5. encoded and differentially transmitted on the Link using
the available number of Lanes.

All rights reserved by www.ijsrd.com 798


Introduction to VIP with PCI Express Technology
(IJSRD/Vol. 1/Issue 3/2013/0098)

2) A.2 TLP Packet Disassembly of Flow Control information. DLLPs are transferred
A neighboring receiver device receives the incoming TLP between Data Link Layers of the two directly connected
bit stream. As shown in Fig 6 the received TLP is decoded components on a Link. DLLPs do not pass through switches
by the Physical Layer and the Start and End frame fields are unlike TLPs which do travel through the PCI Express fabric.
stripped. DLLPs do not contain routing information. These packets
The resultant TLP is sent to the Data Link Layer. are smaller in size compared to TLPs, 8 bytes to be precise.
This layer checks for any errors in the TLP and strips the 1) DLLP Assembly
sequence ID and LCRC field. Assume there are no LCRC The DLLP shown in Fig 8 on page 76 originates at the Data
errors, then the TLP is forwarded up to the Transaction Link Layer. There are various types of DLLPs some of
Layer. If the receiving device is a switch, then the packet is which include Flow Control DLLPs (FCx), acknowledge/ no
routed from one port of the switch to an egress port based on acknowledge DLLPs which confirm reception of TLPs
address information contained in the header portion of the (ACK and NAK), and power management DLLPs (PMx). A
TLP. DLLP type field identifies various types of DLLPs. The
Data Link Layer appends a 16-bit CRC used by the receiver
of the DLLP to check for CRC errors in the DLLP.

Fig. 7: TLP Disassembly


Switches are allowed to check for ECRC errors and even
report the errors it finds and error. However, a switch is not Fig. 9: DLLP Assembly
allowed to modify the ECRC that way the targeted device of The DLLP content along with a 16-bit CRC is forwarded to
this TLP will detect an ECRC error if there is such an error. the Physical Layer which appends a Start and End frame
The ultimate targeted device of this TLP checks for character of 1 byte each to the packet. The packet is encoded
ECRC errors in the header and data portion of the TLP. The and differentially transmitted on the Link using the available
ECRC field is removed, leaving the header and data portion number of Lanes.
of the packet. It is this information that is finally forwarded 2) DLLP Disassembly
to the Device Core/Software Layer. The DLLP is received by Physical Layer of a receiving
B. Data Link Layer Packets (DLLPs) device. The received bit stream is decoded and the Start and
Another PCI Express packet called DLLP originates at the End frame fields are stripped.
Data Link Layer of a transmitter device and terminates at The resultant packet is sent to the Data Link Layer.
the Data Link Layer of a receiver device. This process is This layer checks for CRC errors and strips the CRC field.
represented in Fig 7. The Physical Layer also contributes to The Data Link Layer is the destination layer for DLLPs and
DLLP assembly and disassembly as the DLLP it is not forwarded up to the Transaction Layer.
It moves from one device to another via the PCI C. Physical Layer Packets (PLPs)
Express Link.
Another PCI Express packet called PLP originates at the
DLLPs are used for Link Management functions
Physical Layer of a transmitter device and terminates at the
including TLP acknowledgement associated with the
Physical Layer of a receiver device.
ACK/NAK protocol, power management, and exchange
Some PLPs are used during the Link Training
process. PLPs are used to place a Link into the electrical idle
low power state or to wake up a link from this low power
state.

IV. VERIFICATION
A. Importance of VIP:
Advanced verification techniques allow the user to increase
the quality and level of verification. New test bench
languages support more sophisticated types of testing, such
as advanced random testing methods. Coverage tools enable
the users to determine the how much verification is done on
Fig. 8: DLLP Origin and Destination different parts of the code providing some feedback on the
quality.

All rights reserved by www.ijsrd.com 799


Introduction to VIP with PCI Express Technology
(IJSRD/Vol. 1/Issue 3/2013/0098)

VIP should be developed so as to fully exercise the ACKNOWLEDGEMENTS


protocol implemented by standards based IP. One extension Apart from my efforts, the success of any task depends
of this is the provision of compliance checking VIP from a largely on the encouragement and guidelines of many
standards body or technology leader. others. I take this opportunity to express my gratitude to the
The PCI Express (PCIE) Verification IP is a people who have been instrumental in the successful
reusable, configurable, pre-verified, plug-and-play completion of this literature review. I would like to express
verification component developed in System Verilog. It my deepest gratitude to my parents, all my friends who
offers an easy to use and complete verification solution for constantly motivated and supported me. I take immense
SoCs incorporating PCI Express Endpoints, Root Complex, pleasure in thanking my guide Mr. Umesh Patel, Director,
or Switch at module, chip and system level. The PCI ASIC IP Solutions, Sibridge Technologies. I can't thank him
Express VIP supports automatic stimulus generation, enough for his tremendous support and help. I feel
assertion checking, protocol checking and functional motivated and encouraged every time I talked with him.
coverage analysis all within a single, extensible component.
PCIE VIP provides a simple yet powerful user REFERENCES
interface which drastically reduces the time and effort
needed to create a verification environment and verify [1] Intel white paper. "Advanced Switching for the PCI
thoroughly to ensure first time right silicon. Using random Express Architecture". www.intel.com, 2002
stimulus generation and coverage driven methodology [2] Intel whitepaper, "Creating a PCI Express Interconnect",
provided in PCIE VIP, user can verify the design with www.intel.com,2002
limited test cases in very short duration instead of running [3] http://www.pcisig.com
large number of directed test cases. [4] PCI SIG, PCI Express Base Specifications Revision 3.0
Version 1.0 November 10, 2010.
B. Role of VIP: [5] Ravi Budruk, Don Anderson, and Tom Shanley, PCI
The role of Verification IP (VIP) in the development and Express System ArchilecTure, MindShare, 200
successful usage of complex Semiconductor IP (SIP) cores [6] PCI Express White paper [Ajay v. Bhatt, Technology
is tremendous. and Research labs, Intel Corporation]
The use of standards based verification languages,
provides designers access to key analytical functions such as
transactions and assertions, which enable the validation of
complex functional behavior. It is important to have testing
methods for the verification IP to demonstrate the quality
and the interoperability with Other parts of the verification
environment

Fig. 10: PCIe VIP

V. CONCLUSION
PCI Express is a high speed serial protocol which is more
suitable for high speed applications than other bus protocols
like PCI and PCI-X. Verification is one of the most
important tasks for any ASIC design. It is very tough task to
verify a complex protocol like PCIe. There comes need of
VIP. A VIP is a reusable, configurable and easy to deal
verification component user can verify many scenarios and
condition with this and as it is reusable component, one
may do changes for different generations or versions as per
requirement and do the verification with randomization.

All rights reserved by www.ijsrd.com 800

You might also like