Thursday, March 16, 2017

PCIe VIP development technique

Here we present an another blog..!!! It should not be IGNORED..It is really important..!!! The goal of this blog is to devise the way we can come up with PCIe VIP developments..!!! PCIe VIP development techniques will be discussed in this blog..!!! If you have a Ferrari then drive it on to beach..Do not take it for grocery..!!! 

In order to create the PCIe VIP..We need to come up with the techniques which are useful for creating it..Goal is to create the VIP with requirements..!!!

There are three important layers of PCIe..!!! It must be needed to be implemented..!!! 

Implementing the TL Layer can be taken into consideration in following ways..!!!

1) Need to come up with a separate logic to implement the ECRC logic..ECRC encoding and decoding needs to be implemented..!!! There must be logic to implement these initially..!!!
2) There must be transmitter and receiver logic which needs to be come up with having the logic in terms of generating all types of transactions like MRd, IORd and all types of transactions which are important for devising the logic..!!!
3) There should be logic for TLP packing and unpacking logic..!!! TLP packing and unpacking needs to be come up with in terms of packed and unpacked array..!!!
4) There must be logic which should act as a requester..!!!
5) There must be logic which should act as a completer..!!!
6) There must be logic which should be used as TLP encoding/decoding logic..!!!
7) Need to implement the flow control buffers which can keep counting the flow control information..!!!
8) Need to implement the flow control credit mechanisms for P, NP and CPL mechanisms..!!!
9) Need to implement logic for poisoned TLP generation and detection..!!!
10) VIP should have the mechanisms for an error injections for all transactions..!!!


Implementing the DL Layer can be taken into consideration in following ways..!!!

1) Need to implement the state machine for flow control credit initialization..!!!
2) Need to implement the all types of DLLP generations and decoding logic..!!!
3) Need to implement the CRC generation and decoding logic..!!!
4) Need to implement the sequence number generation and decoding logic..!!!
5) Need to implement the LCRC generation and decoding logic..!!!
6) Need to implement the re-transmission buffers in order to re-transmit logic..!!!

Implementing the PL Layer can be taken into consideration in following ways..!!!

1) Need to come up with LTSSM logic which can be really important in terms of coming up with the standards..!!!
2) Need to come up with PLP generation and decoding logic..!!!
3) Need to have the 8b/10b encoding and decoding logic..!!!
4) Need to have the scrambling and descrambling logic implemented..!!!
5) Need to have the byte stripping logic implemented..!!!
6) Need to have logic for TS1/TS2 order set implementation and corruption..!!!

All the above steps and having an interface between DUT and your verification module is really important..!!! Having the module for verification is really important in terms of coming up with the VIP..!!!

Thanks to PCI-SIG for providing the specifications which helped in terms of understanding the specification..!!! These kind of logic can be beneficial in terms of coming up with multi-million VIP development..!!!

Stay Tuned For Next Blog In Series Of Blogs..!!! Have a Wonderful and Perfect Day..!!!