4
Copyright © 2011 IJECCE, All right reserved 151 International Journal of Electronics Communication and Computer Engineering Volume 2, Issue 2, ISSN (Online): 2249071X, ISSN (Print): 22784209 Design and Verification for PCS Layer of PCI Express Using VHDL Hemant Kumar Soni, Mr. Vikas Gupta, Mrs. Deepti Agrawal (Electronics & Communication) TIT Bhopal ABSTRACT- The aim of this paper is to design and verify the physical layer implementation by using ISE 8.1 from Xilinx and Spartan 3 FPGA to reduce the cost and hardware as well without affecting the performance and reliability of PCI Express. PCI is the third generation high performance I/O bus used to interconnect peripheral devices in applications such as computing and communicating platform. PCI Express is an all in compassing I/O device interconnect bus that has application in the Mobile, Desktop, Workstation, Server, Embedded computing and communication platform. PCS is the sub layer of the physical layer of PCI Express 1.0. The major constituents of this layer are transmitter and receiver.Transmitter comprises of 8b/10b encoder. The Primary purpose of this scheme is to embed a clock into the serial bit stream of transmitter lanes with advancement in the design by reducing the utilized hardware resources within FPGA. No clock is transmitted along with the serial data bit stream. This eliminates EMI noise and provides DC balance.Receiver comprises of special symbol detector, elastic buffer and 8b/10b decoder. . 8b/10b decoder gives 8bit character and data/control signals. Disparity error and Decode error can be known though this module. If any error is present in the received data then loopback signal is generated. This work uses VHDL to model different blocks of the PCS of physical layer of PCI Express. The RTL code is simulated, synthesized and implemented using the ISE 8.1 from Xilinx and the Spartan 3 FPGA was targeted for implementation. In this paper we have reduced the hardware as well as cost of total system without affecting the speed of the PCI Express. Index Terms or Keywords: FPGA (Field-Programmable Gate Array), PCI-SIG (Peripheral Component Interconnect Special Interest Group), VHDL (Very High Speed IC Hardware description Language) I. INTRODUCTION As per the Study of the references, designing for Transmitter of PCS Layer of x1PCI express had been implemented on the logical implementation basis using the mixed style of modeling in VHDL. Due to which the exact control over the hardware utilized was in the hand of synthesis tools. As for the work we had tried to implement the abstracted design more on to a hardware implementation basis. This not only reduces the actual hardware utilization for the specific logic but also gives us a complete control on any of the instant segment within the design. A PCI Express interconnect that two devices together is referred to as Link. A link consist of either x1, x2, x4, x8, x12, x16 or x32 signal pairs in each direction. These signals are referred to as Lanes. PCI Express is rapidly establishing itself as the successor to PCI, providing higher performance, increased flexibility and scalability for next-generation systems, as well as maintaining software compatibility with existing PCI applications. As PCI Express becomes the standard interconnect for leading-edge embedded applications, system designers must address the challenges associated with the usability of this new protocol. Buses are designed to connect more than two devices together in a system. Devices may include the CPU, main memory, and I/O devices. They consist of three types of signals: Data, Address, and Control. In addition to these signals, there may be utility lines defined as part of the bus to supply power and ground to the devices connected to it. Different types of buses that are common in practice are SPI (Serial Peripheral Interface) , I2C (Inter Integrated Circuit), ISA (Industry Standard Architecture), VESA (Video Electronics Standards Association, VL Bus), PCI (Peripheral Component Interconnect), USB (Universal Serial Bus), AGP (Advanced Graphics Port), PCI Express. PCI: The PCI bus clock is 33 MHz the address bus width is 32-bits (4GB memory address space), although PCI optionally supports 64-bit address bus. The data bus width is implemented as either 32-bits or 64-bits depending on bus performance requirement. The address and data bus signals are multiplexed on the same pins (AD bus) to reduce pin count. PCI is introduced by INTEL, PCISIG in 1993. PCI Express: PCI Express is used in consumer, server, and industrial applications, both as a motherboard level interconnects and as an expansion card interface for add-in boards. A key difference between PCIe and earlier PC buses is a topology based on point-to-point serial links, rather than shared parallel bus architecture. To improve bus performance, reduce overall system cost and take advantage of new developments in computer design the PCI Express architecture had to be

Design and Verification for PCS Layer of PCI Express Using

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Design and Verification for PCS Layer of PCI Express Using

Copyright © 2011 IJECCE, All right reserved151

International Journal of Electronics Communication and Computer EngineeringVolume 2, Issue 2, ISSN (Online): 2249–071X, ISSN (Print): 2278–4209

Design and Verification for PCS Layer of PCI ExpressUsing VHDL

Hemant Kumar Soni, Mr. Vikas Gupta, Mrs. Deepti Agrawal(Electronics & Communication) TIT Bhopal

ABSTRACT- The aim of this paper is to design and verifythe physical layer implementation by using ISE 8.1 fromXilinx and Spartan 3 FPGA to reduce the cost andhardware as well without affecting the performance andreliability of PCI Express. PCI is the third generation highperformance I/O bus used to interconnect peripheraldevices in applications such as computing andcommunicating platform. PCI Express is an all incompassing I/O device interconnect bus that hasapplication in the Mobile, Desktop, Workstation, Server,Embedded computing and communication platform. PCSis the sub layer of the physical layer of PCI Express 1.0.The major constituents of this layer are transmitter andreceiver.Transmitter comprises of 8b/10b encoder. ThePrimary purpose of this scheme is to embed a clock intothe serial bit stream of transmitter lanes withadvancement in the design by reducing the utilizedhardware resources within FPGA. No clock is transmittedalong with the serial data bit stream. This eliminates EMInoise and provides DC balance.Receiver comprises ofspecial symbol detector, elastic buffer and 8b/10b decoder.. 8b/10b decoder gives 8bit character and data/controlsignals. Disparity error and Decode error can be knownthough this module. If any error is present in the receiveddata then loopback signal is generated. This work usesVHDL to model different blocks of the PCS of physicallayer of PCI Express. The RTL code is simulated,synthesized and implemented using the ISE 8.1 fromXilinx and the Spartan 3 FPGA was targeted forimplementation.In this paper we have reduced the hardware as well as costof total system without affecting the speed of the PCIExpress.

Index Terms or Keywords: FPGA (Field-ProgrammableGate Array), PCI-SIG (Peripheral ComponentInterconnect Special Interest Group), VHDL (Very HighSpeed IC Hardware description Language)

I. INTRODUCTION

As per the Study of the references, designing forTransmitter of PCS Layer of x1PCI express had beenimplemented on the logical implementation basis usingthe mixed style of modeling in VHDL. Due to which theexact control over the hardware utilized was in the handof synthesis tools. As for the work we had tried toimplement the abstracted design more on to a hardwareimplementation basis. This not only reduces the actual

hardware utilization for the specific logic but also givesus a complete control on any of the instant segmentwithin the design.

A PCI Express interconnect that two devices together isreferred to as Link. A link consist of either x1, x2, x4,x8, x12, x16 or x32 signal pairs in each direction. Thesesignals are referred to as Lanes. PCI Express is rapidlyestablishing itself as the successor to PCI, providinghigher performance, increased flexibility and scalabilityfor next-generation systems, as well as maintainingsoftware compatibility with existing PCI applications.As PCI Express becomes the standard interconnect forleading-edge embedded applications, system designersmust address the challenges associated with theusability of this new protocol. Buses are designed toconnect more than two devices together in a system.Devices may include the CPU, main memory, and I/Odevices. They consist of three types of signals: Data,Address, and Control. In addition to these signals, theremay be utility lines defined as part of the bus to supplypower and ground to the devices connected to it.Different types of buses that are common in practice areSPI (Serial Peripheral Interface) , I2C (Inter IntegratedCircuit), ISA (Industry Standard Architecture), VESA(Video Electronics Standards Association, VL Bus),PCI (Peripheral Component Interconnect), USB(Universal Serial Bus), AGP (Advanced Graphics Port),PCI Express.PCI: The PCI bus clock is 33 MHz the address buswidth is 32-bits (4GB memory address space), althoughPCI optionally supports 64-bit address bus. The data buswidth is implemented as either 32-bits or 64-bitsdepending on bus performance requirement. Theaddress and data bus signals are multiplexed on thesame pins (AD bus) to reduce pin count. PCI isintroduced by INTEL, PCI–SIG in 1993.PCI Express: PCI Express is used in consumer, server,and industrial applications, both as a motherboard levelinterconnects and as an expansion card interface foradd-in boards. A key difference between PCIe andearlier PC buses is a topology based on point-to-pointserial links, rather than shared parallel bus architecture.To improve bus performance, reduce overall systemcost and take advantage of new developments incomputer design the PCI Express architecture had to be

Page 2: Design and Verification for PCS Layer of PCI Express Using

Copyright © 2011 IJECCE, All right reserved152

International Journal of Electronics Communication and Computer EngineeringVolume 2, Issue 2, ISSN (Online): 2249–071X, ISSN (Print): 2278–4209

re-designed, which can be made by physical layerimplementation and by using low cost FPGA.In this Paper we had tried to design a low cost PCIExpress solution with reduced hardware utilization of aLow cost FPGA, overall making an efficient solutionfor the low cost market segment.

II. LOW COST REDUCED HARDWAREUTILIZATION FPGA SOLUTION FOR PCI

EXPRESS IMPLEMENTATIONS

1- Xilinx Low Cost Spartan3 FPGA2- PCI Express Core Design and Implemented Using

VHDL with Physical Layer Interface

The Spartan®-3 family of Field-Programmable GateArrays is specifically designed to meet the needs of highvolume, cost-sensitive consumer electronic applications.The eight-member family offers densities ranging from50,000 to five million system gates. The Spartan-3family builds on the success of the earlier Spartan-IIEfamily by increasing the amount of logic resources, thecapacity of internal RAM, the total number of I/Os, andthe overall level of performance as well as by improvingclock management functions. Numerous enhancementsderive from the Virtex®-II platform technology. TheseSpartan-3 FPGA enhancements, combined withadvanced process technology, deliver more functionalityand bandwidth per dollar than was previously possible,setting new standards in the programmable logicindustry. Because of their exceptionally low cost,Spartan-3 FPGAs are ideally suited to a wide range ofconsumer electronics applications; including broadbandaccess, home networking, display/projection and digitaltelevision equipment. The Spartan-3 family is a superioralternative to mask programmed ASICs. FPGAs avoidthe high initial cost, the lengthy development cycles,and the inherent inflexibility of conventional ASICs.Also, FPGA programmability permits design upgradesin the field with no hardware replacement necessary, animpossibility with ASICs. Its basic feature is Low-cost,high-performance logic solution for high-volume,consumer-oriented applications- Densities up to 74,880logic cells.

III. DIFFERENT COMPUTER BUSES

Table 1-1: Different Buses and their speedsDevice Speed (bit/s) Speed (byte/s)I2C 3.4 Mbit/s 425 Kb/sISA 8-Bit/4.77MHz

9.6 Mbit/s 1.2 Mb/s

ISA 16-Bit/8.33MHz

42.4 Mbit/s 5.3 Mb/s

EISA 8-16-32- 320 Mbit/s 32 Mb/s

Bit/8.33 MHzPCI 32-Bit/33MHz

1,067 Mbit/s 133.33 Mb/s

PCI Express 1.0(x1 link)

2,000 Mbit/s 250 Mb/s

PCI 64-Bit/33MHz

2,133 Mbit/s 266.7 Mb/s

PCI 32-Bit/66MHz

2,133 Mbit/s 266.7 Mb/s

AGP 1x 2,133 Mbit/s 266.7 Mb/sPCI Express 1.0(x2 link)

4,000 Mbit/s 500 Mb/s

AGP 2x 4,266 Mbit/s 533.3 Mb/sPCI 64-Bit/66MHz

4,266 Mbit/s 533.3 Mb/s

PCI-X DDR 16-Bit

4,266 Mbit/s 533.3 Mb/s

PCI 64-Bit/100MHZ

6,399 Mbit/s 800 Mb/s

PCI Express 1.0(x4 link)

8,000 Mbit/s 1,000 Mb/s

AGP 4x 8,533 Mbit/s 1,067 Mb/sPCI-X 133 8,533 Mbit/s 1,067 Mb/sPCI-X QDR 16-Bit

8,533 Mbit/s 1,067 Mb/s

PCI Express 1.0(x8 link)

16,000 Mbit/s 2,000 Mb/s

AGP 8x 17,066 Mbit/s 2,133 Mb/sPCI-X DDR 17,066 Mbit/s 2,133 Mb/sPCI Express 1.0(x16 link)

32,000 Mbit/s 4,000 Mb/s

PCI Express 2.0(x8 link)

32,000 Mbit/s 4,000 Mb/s

AGP 8x 64-Bit 34,133 Mbit/s 4,266 Mb/sPCI Express (x32link)

64,000 Mbit/s 8,000 Mb/s

PCI Express 2.0(x16 link)

64,000 Mbit/s 8,000 Mb/s

PCI Express 2.0(x32 link)

1,28,000Mbit/s

16,000 Mb/s

In the above different computer buses we have workedon PCI Express 1.0 (x1 link) which has a speed of 2,000Mbit/s or 250 Mb/s.

IV. RESULT

VHDL codes are written for 8b/10b encoder/decoder,elastic buffer blocks of PCS of Physical layer of PCIExpress. These RTL codes are simulated, synthesizedand implemented using the ISE 8.1 tool from Xilinx andSpartan 3 FPGA.Results are as follows:-At the transmitting end

Page 3: Design and Verification for PCS Layer of PCI Express Using

Copyright © 2011 IJECCE, All right reserved153

International Journal of Electronics Communication and Computer EngineeringVolume 2, Issue 2, ISSN (Online): 2249–071X, ISSN (Print): 2278–4209

i. When d_k = 0 (for data sequence) aftertransmission of 8 bit data as a result we havegot 10 bit encoded data as shown in figure 1.

ii. According to the data sequence, disparitychanged is as shown in figure 2.

iii. After sending another data sequence of 8 bitwe have found that the total no. of 0`s areequals to the total no. of 1`s which showsconstant disparity which is shown in figure3.

iv. When d_k = 1 (for command signal) aftersending the 8 bit command signal as a resultwe have got 10 bit encoded signal which isshown in figure 4.

v. Figure 5 shows the command signal inHexadecimal form.

1- For normal data sequence

2- For showing disparity change effect

3- For constant disparity where total no. of 1= total no.of 0

4- For sending the command signal

5- Command signal in Hexadecimal form

V. CONCLUSION & FUTURE WORKPhysical Coding sub layer of Physical Layer of PCIExpress has been designed by using ISE 8.1 from Xilinxand Spartan 3 FPGA.8b/10b Buffer capable of encode 8 bit character anddata/control signal into 10 bit symbol. If there is anyinvalid data, encoder detects that. Elastic Buffer detectsthe underflow and overflow of the FIFO. It adds SKPsymbol when the Buffer is not half filled. To maintainhalf-filled state it adds SKP symbol. It also removesSKP symbol whenever the buffer filled more than half-filled state. The purpose of synchronization and to avoidthe data loss is fulfilled through Elastic Buffer. Thismodule also detects the overflow/underflow.8b/10b decoder decodes 10 bit symbols into 8 bitcharacter and data/control signal. It detects disparityerror and decoder error through which the validity ofreceived data is known. PCS is the major block wherefuture developments are done. Usually in later cameversions of PCI Express of 1.0, major developmentswere in the physical coding sublayer. The Encodingscheme has been changed in the PCI Express 3.0 as8b/10b to 128b/130b. This almost overcomes theoverhead as in PCI Express 1.0.Device utilization summarySelected Device: 3s400pq208-4No. of Slices:

88 out of 3584 2%

Page 4: Design and Verification for PCS Layer of PCI Express Using

Copyright © 2011 IJECCE, All right reserved154

International Journal of Electronics Communication and Computer EngineeringVolume 2, Issue 2, ISSN (Online): 2249–071X, ISSN (Print): 2278–4209

No. of Slice Flip Flops:99 out of 7168 1%Number of 4 input LUTs:136 out of 7168 1%Number of bonded IOBs:24 out of 141 17%Number of GCLKs:

1 out of 8 12%Timing Summary:Minimum period: 7.248ns (Maximum Frequency:499.969MHz)Minimum input arrival time before clock: 5.976nsMaximum output required time after clock: 12.307nsMaximum combinational path delay: 9.344nsWith the above summary it’s been clearly indicated thatthe 500Mbps rate has been achieved for PCI Express 1.0(x1 link) and the Synthesis summary indicates areduction in the overall hardware utilization forimplementing the core.Only 2 % of the total hardware slices had been utilizedwithout affecting the performance of the channel data.

VI. REFERENCES

1. PCI Express Design & System Architecture ByEdward Solari, Brad Congdon for PCI Expressspecification

2. A complete architecture solution on “PCIExpress System Architecture” by MindShare,Inc, Ravi Buduck, Don Anderson, Tom Shanley,Addison Wesley Publications, September 2003.

3. Basic information about PCI Express on “PCIExpress Base Specification” v1.1, released byPCI-SIG, 2002.Overview of PCI xpress,technical details for hardware & ftwarecompatibilityhttp://zone.ni.com/devzone/cda/tut/p/id/3540

4. History of PCI Express on http://www.pcisig.com5. software working solution on “A Hardware and

Software Developer's” Guide by Adam Wilen,Justin Schade, and Ron Thornburg

6. “PHY Interface for the PCI Express TMArchitecture”, version 1.00, April 2003.

7. PCI Local Bus Standard, Revision 2.1 – June1995, PCI Special Interested Group for PCIBuses

8. http://www.ati.amd.com9. For details of Intel’s PCI Express

http://www.intel.com

10. For details about VHDL ( Spartan 3) coding andfeatures www.xilinx.com

11. standards of PCI Express onwww.pcisecuritystandards.org

12. Technical support on PCI Express Testing withJ_Bert N4903A, Agilent, 2006

13. For Details for VHDL on J.Bhaskar, VHDL - AStarters Guide, 2nd Edition, ©2005 (SudhakarYalamanchili)

14. A detail study of VHDL on Douglas Perry,“VHDL: Programming By Example, 4 edition”