PCI Express

This blog provides information/ideas about PCI Express Bus Protocol.

We changed!Check out our new look!

Monday, August 18, 2008

Data Link Layer-Details

To know more about Data Link Layer visit:


Tuesday, February 5, 2008


The lowest layer of PCI Express is the Physical Layer. The main responsibility of this layer is sending and receiving of all data across the PCI Express link.
Physical Layer Model

On the transmit side of Physical Layer the information taken from Data Link Layer and converts the parallel data into serial data format, nothing but a parallel to serial conversion. In additional framing characters is added to indicate the starting and ending of the packet.

On the receive side of Physical Layer the incoming serial data from PCI Express link is converted into its original format such that parallel data and the added frames are removed and the packets are send back to Data Link Layer.


The Data Link Layer acts as an intermediate Layer between Transaction and Physical Layer, nothing but a Gate Keeper. The main responsibility of Data Link Layer is Error detection and correction.

Data Link Layer Model

Data Link Layer takes the TLP-Transaction Layer Packet from transmit side of the Transaction Layer. Here 12 bit sequence Number is added in front of the TLP and LCRC-Link CRC checker to the end.

Data Link Layer then forwards the applied TLP to the Physical Layer transmit side. On the receive side of Data Link Layer, accepts the packet from Physical Layer and checks the Sequence Number and LCRC with the applied Sequence Number and LCRC. If the Sequence Number/LCRC matches then the TLP are moved to receive side of Transaction Layer and generates ACK (Acknowledgement) signal. If there is any mismatches/error detects in Sequence Number or LCRC then Data Link Layer does not send the “Invalid or Bad” TLP to receive side of Transaction Layer, instead it generates NAK (Negative Acknowledgement). Data Link Layer now starts “Retry” attempts to send the valid TLP to Transaction Layer.


The Upper Layer of the architecture is the Transaction Layer. The main responsible of this layer is to begin the process of turning request or completion from device core into PCI Express transactions.

On the Transmit side, the transaction layer receives request or completion data from the core, and turns that information into out going PCI Express transaction.

On the Receive side the transaction layer accepts the incoming PCI Express transactions from its Data Link Layer.

Transaction Layer Model

Transaction Layer uses TLP-Transaction Layer Packet to communicate request and complete data into other PCI Express devices. Each TLP has a Header to identify the type of transaction. The Transaction Layer request device generates the TLP and completion device consumes the TLP. Transaction Layer has several other operations which include “Flow Control” and “Power Management”.

Header identifies the information for the transaction (types). PCI Express architecture defines four transaction types.

· Memory Transaction

· I/O Transaction

· Configuration Transaction

· Message Transaction

Where as DLP and ECRC (End to End CRC) are optional.


Verilog Course Team does not warrant or assume any legal liability or responsibility for the accuracy, completeness, or usefulness of any information, apparatus, product, or process disclosed. No warranty of any kind, implied, expressed or statutory, including to fitness for a particular purpose and freedom from computer virus, is given with respect to the contents of this blog or its hyper links to other Internet resources. Reference in this blog to any specific commercial products, processes, or services, or the use of any trade, firm or corporation name is for the information, and does not constitute endorsement, recommendation, or favoring.