KR100738351B1 - PCI Express Packet Filter including Descrambling - Google Patents

PCI Express Packet Filter including Descrambling Download PDF

Info

Publication number
KR100738351B1
KR100738351B1 KR1020060061386A KR20060061386A KR100738351B1 KR 100738351 B1 KR100738351 B1 KR 100738351B1 KR 1020060061386 A KR1020060061386 A KR 1020060061386A KR 20060061386 A KR20060061386 A KR 20060061386A KR 100738351 B1 KR100738351 B1 KR 100738351B1
Authority
KR
South Korea
Prior art keywords
lfsr
packet
pci express
data
physical layer
Prior art date
Application number
KR1020060061386A
Other languages
Korean (ko)
Other versions
KR20070057631A (en
Inventor
최용석
김성운
김명준
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to US11/633,046 priority Critical patent/US7957294B2/en
Publication of KR20070057631A publication Critical patent/KR20070057631A/en
Application granted granted Critical
Publication of KR100738351B1 publication Critical patent/KR100738351B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/18Protocol analysers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)

Abstract

1. 청구범위에 기재된 발명이 속한 기술분야1. TECHNICAL FIELD OF THE INVENTION

본 발명은 디스크램블링 기능을 포함하는 피씨아이 익스프레스 패킷 검출 장치에 관한 것임.The present invention relates to a PCI Express packet detection apparatus including a descrambling function.

2. 발명이 해결하려고 하는 기술적 과제2. The technical problem to be solved by the invention

본 발명은 PCI 익스프레스 프로토콜의 패킷 수신단에서 디스크램블 기능을 포함하여 계층별로 각각의 패킷 검출이 가능한 PCI 익스프레스 패킷 검출 장치를 제공하는데 그 목적이 있음.An object of the present invention is to provide a PCI Express packet detection apparatus capable of detecting each packet for each layer including a descramble function at the packet receiving end of the PCI Express protocol.

3. 발명의 해결방법의 요지3. Summary of Solution to Invention

본 발명은 PCI 익스프레스 패킷 검출 장치에 있어서, 물리계층 직/병렬화기를 통하여 16비트로 병렬화되어 수신되는 PCI 익스프레스 패킷으로부터 물리계층 패킷을 검출하기 위한 물리계층패킷 검출 수단; 상기 물리계층 직/병렬화기를 통하여 16비트로 병렬화되어 수신되는 PCI 익스프레스 패킷을 디스크램블링하기 위한 디스크램블링 수단; 상기 디스크램블링 수단에서 출력된 패킷에서 데이터링크계층 패킷을 검출하기 위한 데이터링크계층패킷 검출 수단; 및 상기 디스크램블링 수단에서 출력된 패킷에서 트랜잭션계층 패킷을 검출하기 위한 트랜잭션계층패킷 검출 수단을 포함함.The present invention provides a PCI Express packet detection apparatus comprising: physical layer packet detection means for detecting a physical layer packet from a PCI express packet received in parallel by 16 bits through a physical layer serializer / parallelizer; Descrambling means for descrambling PCI Express packets received in parallel by 16 bits through the physical layer serial / parallelizer; Data link layer packet detection means for detecting a data link layer packet from the packet output from the descrambling means; And transaction layer packet detection means for detecting a transaction layer packet in the packet output from the descrambling means.

4. 발명의 중요한 용도4. Important uses of the invention

본 발명은 컴퓨팅 시스템 등에 이용됨.The invention is used in computing systems and the like.

PCI Express, 디스크램블러, 패킷, 물리계층, 데이터링크, 트랜잭션 PCI Express, Descrambler, Packet, Physical Layer, Datalink, Transaction

Description

디스크램블링 기능을 포함하는 피씨아이 익스프레스 패킷 검출 장치{PCI Express Packet Filter including Descrambling}PCI Express Packet Filter including descrambling function {PCI Express Packet Filter including Descrambling}

도 1 은 일반적인 PCI 익스프레스 규격을 나타낸 일실시예 설명도.1 is a diagram illustrating an embodiment of a general PCI Express standard.

도 2 는 상기 도 1의 디스크램블러(210)를 나타낸 일실시예 구성도.2 is a diagram illustrating an embodiment of the descrambler 210 of FIG. 1.

도 3 은 본 발명에 따른 PCI 익스프레스 패킷 검출 장치의 일실시예 구성도.Figure 3 is a configuration diagram of an embodiment of a PCI Express packet detection apparatus according to the present invention.

도 4 는 본 발명에 따른 PCI 익스프레스 패킷 검출 장치를 PCI 익스프레스 엔진에 적용시키는 방법을 나타낸 일실시예 설명도.4 is a diagram illustrating a method of applying a PCI express packet detection apparatus according to the present invention to a PCI express engine.

도 5 는 본 발명에 따른 PCI 익스프레스 패킷 검출 장치의 물리계층패킷검출기에 대한 일실시예 설명도.5 is a diagram illustrating an embodiment of a physical layer packet detector of a PCI express packet detection apparatus according to the present invention;

도 6 은 상기 도 4의 스크램블러를 나타낸 일실시예 설명도.FIG. 6 is a diagram illustrating an embodiment of the scrambler of FIG. 4. FIG.

* 도면의 주요 부분에 대한 부호의 설명* Explanation of symbols for the main parts of the drawings

300 : PCI 익스프레스 패킷 검출 장치 310 : 물리계층패킷 검출기300: PCI express packet detection device 310: physical layer packet detector

320 : 데이터링크계층패킷 검출기 330 : 트랜잭션계층패킷 검출기320: data link layer packet detector 330: transaction layer packet detector

340 : 디스크램블러340: Descrambler

본 발명은 차세대 컴퓨터 입/출력(I/O) 규격인 PCI Express(Peripheral Component Interconnect Express : 이하, "PCI 익스프레스"라 함) 1x 프로토콜의 수신부에 사용되는 패킷 검출 장치이다.The present invention is a packet detection device used for a receiver of a PCI Express (hereinafter referred to as "PCI Express") 1x protocol, which is a next generation computer input / output (I / O) standard.

PCI 익스프레스는 물리계층, 데이터 링크 계층, 트랜잭션 계층의 세 가지 계층으로 이루어져 있으며, 각 계층에서 처리하는 패킷의 형태 및 종류는 각각 다르다.PCI Express consists of three layers: the physical layer, the data link layer, and the transaction layer. The types and types of packets handled by each layer are different.

PCI 익스프레스 프로토콜은 8비트로 구성되는 바이트 단위의 컨트롤 및 데이터 캐릭터를 10비트로 구성되는 심볼 단위로 변환하여 이를 2.5Gbps 고주파로 전송하게 되어 있으며, 고주파 전송에서 반복 패턴에 의해 특정 주파수에 에너지가 집중되어 발생하는 전자파 장애(EMI : Electromagnetic Interference) 노이즈 생성을 방지하기 위해서 스크램블링 기법을 사용한다. 따라서, 패킷 검출기에서는 디스크램블링 기능이 반드시 포함되어야 한다.The PCI Express protocol converts control and data characters in byte units of 8 bits into symbol units of 10 bits and transmits them at 2.5 Gbps high frequency.In the high frequency transmission, energy is concentrated on specific frequencies by repetitive patterns. Scrambling techniques are used to prevent the generation of electromagnetic interference (EMI) noise. Therefore, the descrambling function must be included in the packet detector.

2.5Gbps 신호에 대한 데이터 대역폭은 250MHz 설계시에는 8비트로 설계할 수 있으나, 저속의 디바이스를 사용하는 회로를 가정할 경우 125MHz 설계가 일반적이므로, 이를 위해서는 16비트를 기준으로 설계를 하여야 하지만, PCI 익스프레스 규격상에서는 8비트 병렬 처리에 대한 디스크램블링 방법만을 제시하고 있으므로, 16비트 병렬 처리를 위해서는 이에 대한 확장이 필요하게 된다.The data bandwidth for a 2.5 Gbps signal can be designed as 8 bits in a 250 MHz design. However, a 125 MHz design is common when a circuit using a low speed device is used. Therefore, the PCI bandwidth should be designed based on 16 bits. Since the standard only proposes a descrambling method for 8-bit parallel processing, it is necessary to extend it for 16-bit parallel processing.

종래기술에서는 단순한 스크램블러를 사용함으로써 물리계층에서 사용되는 스크램블되지 않은 패킷에 대한 처리를 위해서 미리 패킷 검사를 하기 위한 저장 버퍼가 필요하였으며, 물리계층에서 이중으로 그 패킷에 대한 검사를 하여 회로가 중복되는 문제점이 있었다.In the related art, a simple scrambler is used to store a buffer for checking packets in advance in order to process unscrambled packets used in the physical layer, and the circuit is duplicated by double checking the packets in the physical layer. There was a problem.

본 발명은 상기 문제점을 해결하기 위하여 제안된 것으로, PCI 익스프레스 프로토콜의 패킷 수신단에서 디스크램블 기능을 포함하여 계층별로 각각의 패킷 검출이 가능한 PCI 익스프레스 패킷 검출 장치를 제공하는데 그 목적이 있다.The present invention has been proposed to solve the above problems, and an object thereof is to provide a PCI Express packet detection apparatus capable of detecting each packet for each layer including a descramble function at a packet receiving end of the PCI Express protocol.

본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.Other objects and advantages of the present invention can be understood by the following description, and will be more clearly understood by the embodiments of the present invention. Also, it will be readily appreciated that the objects and advantages of the present invention may be realized by the means and combinations thereof indicated in the claims.

상기 목적을 달성하기 위한 본 발명의 장치는, PCI 익스프레스 패킷 검출 장치에 있어서, 물리계층 직/병렬화기를 통하여 16비트로 병렬화되어 수신되는 PCI 익스프레스 패킷으로부터 물리계층 패킷을 검출하기 위한 물리계층패킷 검출 수단; 상기 물리계층 직/병렬화기를 통하여 16비트로 병렬화되어 수신되는 PCI 익스프레스 패킷을 디스크램블링하기 위한 디스크램블링 수단; 상기 디스크램블링 수단에서 출력된 패킷에서 데이터링크계층 패킷을 검출하기 위한 데이터링크계층패킷 검출 수단; 및 상기 디스크램블링 수단에서 출력된 패킷에서 트랜잭션계층 패킷을 검출하기 위한 트랜잭션계층패킷 검출 수단을 포함하는 것을 특징으로 한다.According to an aspect of the present invention, there is provided a PCI Express packet detecting apparatus comprising: physical layer packet detection means for detecting a physical layer packet from a PCI express packet received in parallel by 16 bits through a physical layer serializer / parallelizer; Descrambling means for descrambling PCI Express packets received in parallel by 16 bits through the physical layer serial / parallelizer; Data link layer packet detection means for detecting a data link layer packet from the packet output from the descrambling means; And transaction layer packet detection means for detecting a transaction layer packet in the packet output from the descrambling means.

상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명하기로 한다.The above objects, features and advantages will become more apparent from the following detailed description taken in conjunction with the accompanying drawings, whereby those skilled in the art may easily implement the technical idea of the present invention. There will be. In addition, in describing the present invention, when it is determined that the detailed description of the known technology related to the present invention may unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1 은 일반적인 PCI 익스프레스 규격을 나타낸 일실시예 설명도로서, PCI 익스프레스 규격서나 일반적인 설계에서 사용된다.1 is a diagram illustrating an embodiment of a general PCI Express specification, and is used in a PCI Express specification or a general design.

PCI 익스프레스 규격은, 물리계층 직/병렬화기(100), 물리계층(110), 데이터링크계층(120), 그리고 트랜잭션계층(130)을 포함한다. 특히, 물리계층(110)은 디스크램블러(111), 패킷 검출기(112), 물리계층 처리엔진(113), 패킷 생성기(114), 스크램블러(115)를 포함한다.The PCI Express standard includes a physical layer serializer / parallelizer 100, a physical layer 110, a data link layer 120, and a transaction layer 130. In particular, the physical layer 110 includes a descrambler 111, a packet detector 112, a physical layer processing engine 113, a packet generator 114, and a scrambler 115.

도면에서, 물리계층 직/병렬화기(100)를 통하여 16비트로 병렬화되어 수신되는 PCI 익스프레스 패킷은 디스크램블러(111)를 통과하게 되며, 디스크램블러(111)를 통과한 패킷은 패킷 검출기(112)를 통하여 물리계층 처리엔진(113)으로 입력되며, 물리계층 처리엔진(113)에 입력되는 패킷의 형태는 물리계층 엔진에서 사용되 는 패킷의 경우는 검출신호로 대치되고, 그 외의 패킷은 디스크램블된 패킷 형태로 입력되어서 이것이 데이터링크계층(120)으로 전달된다.In the figure, PCI Express packets received in parallel by 16 bits through the physical layer serializer / parallelizer 100 pass through the descrambler 111, and the packet passing through the descrambler 111 passes through the packet detector 112. The packet type input to the physical layer processing engine 113 through the physical layer processing engine 113 is replaced with a detection signal in the case of a packet used in the physical layer engine, and the other packets are descrambled. The data is input in the form of a packet and transferred to the data link layer 120.

데이터링크계층(120)으로 입력되는 패킷은 데이터링크계층(120)에서 처리되는 패킷과 트랜잭션계층(130)에서 처리되는 패킷이며, 데이터링크계층(120)에서 사용되는 패킷은 데이터링크계층(120)에서 사용되고, 트랜잭션계층(130)에서 처리하여야할 패킷은 트랜잭션계층(130)으로 넘겨주어서 트랜잭션계층(130)에서 처리하게 된다.Packets input to the data link layer 120 are packets processed by the data link layer 120 and packets processed by the transaction layer 130, and packets used by the data link layer 120 are the data link layer 120. Used in, the packet to be processed in the transaction layer 130 is transferred to the transaction layer 130 to be processed in the transaction layer 130.

도 2 는 상기 도 1의 디스크램블러(210)를 나타낸 일실시예 구성도이다.FIG. 2 is a diagram illustrating an embodiment of the descrambler 210 of FIG. 1.

디스크램블러(210)는 패킷 버퍼(211), 물리계층패킷 판별기(212), 그리고 디스크램블엔진(213)을 포함한다.The descrambler 210 includes a packet buffer 211, a physical layer packet discriminator 212, and a descrambler engine 213.

상기 디스크램블러(210)는 스크램블이 적용되지 않는 물리계층패킷 검출을 위하여 추가적인 패킷 버퍼(211)를 필요로 하므로, 이에 대한 지연 시간이 발생되게 되며, 또한, 패킷 버퍼(211)에 있는 내용이 물리계층패킷인지를 판별하기 위한 물리계층패킷 판별기(212)를 필요로 한다.Since the descrambler 210 requires an additional packet buffer 211 to detect a physical layer packet to which scramble is not applied, a delay time is generated, and the contents of the packet buffer 211 are physically A physical layer packet discriminator 212 is required to determine whether the layer packet is a layer packet.

PCI 익스프레스 패킷 수신부는 물리계층 직병렬 변환기(Deserializer)를 거치면, 2.5Gbps의 직렬 입력 신호가 16비트의 병렬 신호로 변환된다.When the PCI Express packet receiver passes through a physical layer deserializer, the 2.5 Gbps serial input signal is converted into a 16-bit parallel signal.

16비트로 병렬 변환된 데이터 중에서 PCI 익스프레스의 각 계층에서 사용되는 패킷을 추출하고자 하는 것이 본 발명의 과제이며, 물리계층 패킷의 경우에는 스크램블을 사용하지 않으므로, 패킷 검출시에 디스크램블러(210)를 통과할 필요가 없다.It is an object of the present invention to extract a packet used in each layer of PCI Express from the parallel-converted data into 16 bits, and since the scramble is not used in the case of the physical layer packet, the descrambler 210 passes through the packet detection. There is no need to do it.

패킷 송신부에서 패킷의 전송 단위는 8비트 단위로 이것이 10비트의 심볼로 변환되어 전송된 것이므로, 입력되는 신호가 16비트 단위로 정렬되어 있다고는 볼 수 없으므로, 정렬된 경우와 정렬되지 않은 경우 모두에 대해서 패킷을 검출할 수 있는 회로가 필요하다.In the packet transmitter, the transmission unit of the packet is 8-bit unit, which is converted into 10-bit symbol and transmitted. Therefore, the input signal cannot be regarded as being aligned in 16-bit unit. There is a need for a circuit capable of detecting packets.

데이터링크 계층 패킷과 트랜잭션 계층 패킷에 대하여서는 스크램블된 형태로 송신하므로 패킷 검출 장치에서 디스크램블러가 구현되어 있어야 하며, 기존의 8비트를 확장하여야 하고, 또한 정렬 여부에 상관없이 패킷이 검출되어야 하며, 최종 출력단에서는 16비트 단위로 정렬된 형태로 출력할 수 있도록 회로를 구성하여야 한다.Since the data link layer packet and the transaction layer packet are transmitted in scrambled form, the descrambler must be implemented in the packet detection apparatus, the existing 8 bits must be extended, and the packet must be detected regardless of alignment. In the final output stage, the circuit should be configured to output in the form of 16 bits.

도 3 은 본 발명에 따른 PCI 익스프레스 패킷 검출 장치의 일실시예 구성도이다.3 is a block diagram of an embodiment of a PCI Express packet detection apparatus according to the present invention.

도 3에 도시된 바와 같이, 본 발명에 따른 PCI 익스프레스 패킷 검출 장치는, 먼저 물리계층 직/병렬화기(100)를 통하여 16비트로 병렬화되어 수신되는 PCI 익스프레스 패킷으로부터 물리계층 패킷을 검출하는 물리계층패킷 검출기(310), 상기 물리계층 직/병렬화기(100)를 통하여 16비트로 병렬화되어 수신되는 PCI 익스프레스 패킷을 디스크램블링하는 디스크램블러(340), 상기 디스크램블러(340)에서 출력된 패킷에서 데이터링크계층 패킷을 검출하기 위한 데이터링크계층패킷 검출기(320), 그리고 상기 디스크램블러(340)에서 출력된 패킷에서 트랜잭션계층 패킷을 검출하기 위한 트랜잭션계층패킷 검출기(330)를 포함한다.As shown in FIG. 3, the PCI express packet detecting apparatus according to the present invention first detects a physical layer packet from a PCI express packet received in parallel by 16 bits through a physical layer serializer / parallelizer 100. Descrambler 340 for descrambling PCI Express packets received in parallel by 16 bits through the detector 310, the physical layer serializer / parallelizer 100, and the data link layer in the packets output from the descrambler 340. A data link layer packet detector 320 for detecting a packet, and a transaction layer packet detector 330 for detecting a transaction layer packet in the packet output from the descrambler 340.

물리계층 패킷은 스크램블되지 않은 형태로 입력되므로 물리계층패킷검출 기(310)는 디스크램블러(340)를 거치지 않은 신호를 직접 입력받으며, 디스크램블러(340)에서는 물리계층패킷인지 여부와 상관없이 패킷을 모두 디스크램블하면 되므로, 디스크램블러(340)는 상기 도 2에서 나타낸 패킷 버퍼(211)와 물리계층패킷 판별기(212)를 필요로 하지 않고, 디스크램블엔진(213)만으로 구성될 수 있다.Since the physical layer packet is input in an unscrambled form, the physical layer packet detector 310 directly receives a signal that does not go through the descrambler 340, and the descrambler 340 receives the packet regardless of whether the physical layer packet is a physical layer packet. Since all of the descramblers are required, the descrambler 340 does not require the packet buffer 211 and the physical layer packet discriminator 212 shown in FIG. 2, and may be configured of only the descrambler engine 213.

도 4 는 본 발명에 따른 PCI 익스프레스 패킷 검출 장치를 PCI 익스프레스 엔진에 적용시키는 방법을 나타낸 일실시예 설명도이다.4 is a diagram illustrating an embodiment of a method for applying a PCI express packet detection apparatus according to the present invention to a PCI express engine.

본 발명에 따른 PCI 익스프레스 패킷 검출 장치의 사용으로 물리계층처리엔진(430)에서 사용되어야 할 패킷과 데이터링크계층(440)에서 사용되어야 할 패킷과 트랜잭션계층(450)에서 사용되어야 할 패킷이 미리 분류되어서 나오므로, 각 계층별로 독립적인 설계를 할 수 있으며, 이러한 구조를 패킷 송신측에도 적용하면 물리계층처리엔진(430)에서 송신할 필요가 있는 패킷은 스크램블러(470)를 거치지 않고, 데이터링크계층(440)과 트랜잭션계층(450)에서만 스크램블러(470)를 사용하게 되므로, 스크램블러(470)에서도 상기 도 2에 나오는 물리계층패킷 판별기(212) 및 패킷 버퍼(211) 없이 스크램블 엔진만 있으면 된다.The packet to be used in the physical layer processing engine 430 and the packet to be used in the data link layer 440 and the packet to be used in the transaction layer 450 are classified in advance by use of the PCI Express packet detection apparatus according to the present invention. Since it is possible to design independently for each layer, and if such a structure is applied to the packet transmission side, packets that need to be transmitted by the physical layer processing engine 430 are not passed through the scrambler 470, and the data link layer ( Since the scrambler 470 is used only in the 440 and the transaction layer 450, the scrambler 470 needs only the scrambler engine without the physical layer packet discriminator 212 and the packet buffer 211 shown in FIG. 2.

그러나, 그 대신 패킷 멀티플렉서(480)가 필요하게 되는데 PCI 익스프레스에서는 각 계층에서 패킷이 생성되는 순서가 정의되어 있으므로 단지 이 순서대로 보내면 되므로 복잡한 회로가 아니다.However, the packet multiplexer 480 is required instead. In PCI Express, since the order in which the packets are generated in each layer is defined, the packet multiplexer 480 is only a complicated circuit.

여기서, 스크램블링을 하는 알고리즘은 디스크램블링을 하는 알고리즘과 원칙적으로 동일하므로 상기 도 2에서 사용된 디스크램블러(210)를 스크램블러(470)로 동일하게 사용하였다.Here, since the scrambling algorithm is the same as the descrambling algorithm, the descrambler 210 used in FIG. 2 is used as the scrambler 470.

도 5 는 본 발명에 따른 PCI 익스프레스 패킷 검출 장치의 물리계층패킷검출기에 대한 일실시예 설명도로서, 상기 물리계층패킷검출기(310)에서 사용되는 패킷 정렬을 위한 회로를 나타낸다.FIG. 5 is a diagram illustrating an embodiment of a physical layer packet detector of a PCI Express packet detector according to the present invention, and illustrates a circuit for packet alignment used in the physical layer packet detector 310.

상기 물리계층패킷검출기(310)는 데이터링크계층패킷검출기(320)과 트랜잭션계층패킷검출기(330)에서도 패킷시작검출회로(510)의 변경만으로 동일하게 사용될 수 있다.The physical layer packet detector 310 may be equally used in the data link layer packet detector 320 and the transaction layer packet detector 330 only by changing the packet start detection circuit 510.

만약 하위 8비트 데이터(560)에서 패킷시작이 검출되면, 패킷시작검출회로(510)에서는 상위 8비트 멀티플렉서(530)는 직접 입력되는 상위 8비트 데이터(550)의 입력을 출력하고, 하위 8비트 멀티플렉서(540)도 마찬가지로 직접 입력되는 하위 8비트 데이터(560)를 바로 출력하도록 제어신호를 보내고, 상위 8비트 데이터(550)에서 패킷시작이 검출되면, 패킷시작검출회로(510)에서는 상위 8비트 멀티플렉서(530)는 직접 입력되는 하위 8비트 데이터(560)의 입력을 출력하고, 하위 8비트 멀티플렉서(540)는 8비트 플립플롭(520)을 거친 값을 출력하도록 제어신호를 보내어서 언제나 하위 8비트로 출력하는 데이터가 패킷의 시작을 나타내도록 한다.If a packet start is detected in the lower 8-bit data 560, the packet start detection circuit 510 outputs an input of the upper 8-bit data 550 directly input, and the lower 8 bits in the packet start detection circuit 510. Similarly, the multiplexer 540 sends a control signal to directly output the lower 8-bit data 560 which is directly input, and when a packet start is detected from the upper 8-bit data 550, the packet start detection circuit 510 receives the upper 8 bits. The multiplexer 530 outputs an input of the directly input lower 8-bit data 560, and the lower 8-bit multiplexer 540 sends a control signal to output a value that has passed through the 8-bit flip-flop 520 so that the lower 8 is always the lower 8 The data output in bits indicates the beginning of the packet.

PCI 익스프레스 스크램블러의 LFSR(Linear Feedback Shift Register : 이하, "LFSR"이라 함)의 다항식은 하기 [수학식 1]과 같으며, 비트 단위의 스크램블 연산을 위한 회로는 하기 도 6과 같다.The polynomial of the Linear Feedback Shift Register (LFSR) of the PCI Express scrambler is hereinafter referred to as [Equation 1], and a circuit for scramble operation in units of bits is shown in FIG.

G(X)=X16+X5+X4+X3+1G (X) = X 16 + X 5 + X 4 + X 3 +1

도 6 은 상기 도 4의 스크램블러를 나타낸 일실시예 설명도로서, 비트 단위의 연산으로 되어 있는 LFSR 및 출력 데이터의 스크램블러 구조를 나타낸다.FIG. 6 is a diagram illustrating an embodiment of the scrambler shown in FIG. 4 and illustrates a scrambler structure of LFSR and output data, which are performed in bit units.

도 6에 도시된 바와 같이, 상단에 표시된 D0 ~ D15의 레지스터가 바로 LFSR이며, 하위에 표시된 D7 ~ D0의 값은 디스크램블되어 출력되는 데이터를 나타내고 있다.As shown in FIG. 6, the registers of D0 to D15 displayed at the top are LFSRs, and the values of D7 to D0 displayed at the bottom represent descrambled data.

LFSR은 초기값으로 FFFF를 가지며, 데이터 클럭 사이클에 맞추어서, 그 값이 피드백(Feedback)되어서 바뀌게 되어 있다.The LFSR has FFFF as an initial value, and the value is fed back and changed in accordance with the data clock cycle.

LFSR에 COM 심볼이 입력될 경우에는 이 값이 FFFF로 다시 초기화되며, SKP 심볼이 입력될 경우에는 LFSR의 피드백(Feedback) 및 천이(Shift) 기능을 정지하도록 되어 있다.If a COM symbol is input to the LFSR, this value is re-initialized to FFFF. If a SKP symbol is input, the feedback and shift functions of the LFSR are stopped.

비트 단위의 연산은 2GHz, 즉 "1-bit x 2GHz = 2Gbps"로 동작하게 되어 있으므로, 8비트 단위에서는 "8bit x 250MHz = 2Gbps"로 250MHz의 동작이 필요하며, 16비트 단위에서는 "16bit x 125MHz = 2Gbps"로 125MHz의 동작이 필요하다. 또한, 심볼은 8비트 단위를 10비트로 변환한 것이므로 8비트로 설계하는 것이 간편하지만, 저속의 디바이스에서 사용할 경우에는 250MHz의 동작 속도를 가지기가 쉽지 않으므로, 본 발명에서는 이를 125MHz에서 동작시키기 위한 회로를 설계하였다.Since the operation of bit unit is operated at 2GHz, that is, "1-bit x 2GHz = 2Gbps", it is required to operate at 250MHz with "8bit x 250MHz = 2Gbps" in 8-bit unit, and "16bit x 125MHz in 16-bit unit". = 2Gbps "requires 125MHz operation. In addition, since 8-bit units are converted into 10-bit symbols, it is easy to design 8-bit symbols. However, when used in a low-speed device, it is not easy to have an operation speed of 250 MHz. In the present invention, a circuit for operating them at 125 MHz is designed. It was.

심볼이 원래 8비트 단위이므로, 16비트 단위로 정렬되어 있다는 보장을 가지지는 못한다. 따라서, 정렬이 되지 않은 경우와 정렬이 된 경우 모두에 대해서 LFSR 및 데이터 출력값을 정확히 보낼 수 있도록 하는 회로의 설계가 필요하다.Since the symbol is originally in 8-bit units, there is no guarantee that it is aligned in 16-bit units. Therefore, there is a need for a circuit design that can correctly send LFSR and data output values for both unaligned and aligned cases.

본 발명에서는 COM과 일반적인 데이터 심볼(Sym으로 칭함), 그리고 SKP에서 발생할 수 있는 모든 조합으로 계산식을 구성하였으며, 이에 따른 LFSR의 계산식은 다음과 같다.In the present invention, a calculation formula is composed of COM, a general data symbol (referred to as Sym), and all combinations that may occur in SKP. Accordingly, the formula of LFSR is as follows.

{SKP, COM}, {COM, SKP}, {COM, Sym}, {COM, COM}이 입력되는 경우 : LFSR이 FFFF로 초기화된다.When {SKP, COM}, {COM, SKP}, {COM, Sym}, {COM, COM} are input: LFSR is initialized to FFFF.

{SYM, COM}이 입력될 때 : LFSR은 E817로 초기화된다.When {SYM, COM} is entered: LFSR is initialized to E817.

{SYM, SKP}, {SKP, SYM}이 입력될 때When {SYM, SKP}, {SKP, SYM} is entered

LFSR[ 0] = LFSR[ 8];LFSR [0] = LFSR [8];

LFSR[ 1] = LFSR[ 9];LFSR [1] = LFSR [9];

LFSR[ 2] = LFSR[10];LFSR [2] = LFSR [10];

LFSR[ 3] = LFSR[11]

Figure 112006047411119-pat00001
LFSR[ 8];LFSR [3] = LFSR [11]
Figure 112006047411119-pat00001
LFSR [8];

LFSR[ 4] = LFSR[12]

Figure 112006047411119-pat00002
LFSR[ 9]
Figure 112006047411119-pat00003
LFSR[ 8];LFSR [4] = LFSR [12]
Figure 112006047411119-pat00002
LFSR [9]
Figure 112006047411119-pat00003
LFSR [8];

LFSR[ 5] = LFSR[13]

Figure 112006047411119-pat00004
LFSR[10]
Figure 112006047411119-pat00005
LFSR[ 9]
Figure 112006047411119-pat00006
LFSR[ 8];LFSR [5] = LFSR [13]
Figure 112006047411119-pat00004
LFSR [10]
Figure 112006047411119-pat00005
LFSR [9]
Figure 112006047411119-pat00006
LFSR [8];

LFSR[ 6] = LFSR[14]

Figure 112006047411119-pat00007
LFSR[11]
Figure 112006047411119-pat00008
LFSR[10]
Figure 112006047411119-pat00009
LFSR[ 9];LFSR [6] = LFSR [14]
Figure 112006047411119-pat00007
LFSR [11]
Figure 112006047411119-pat00008
LFSR [10]
Figure 112006047411119-pat00009
LFSR [9];

LFSR[ 7] = LFSR[15]

Figure 112006047411119-pat00010
LFSR[12]
Figure 112006047411119-pat00011
LFSR[11]
Figure 112006047411119-pat00012
LFSR[10];LFSR [7] = LFSR [15]
Figure 112006047411119-pat00010
LFSR [12]
Figure 112006047411119-pat00011
LFSR [11]
Figure 112006047411119-pat00012
LFSR [10];

LFSR[ 8] = LFSR[ 0]

Figure 112006047411119-pat00013
LFSR[13]
Figure 112006047411119-pat00014
LFSR[12]
Figure 112006047411119-pat00015
LFSR[11];LFSR [8] = LFSR [0]
Figure 112006047411119-pat00013
LFSR [13]
Figure 112006047411119-pat00014
LFSR [12]
Figure 112006047411119-pat00015
LFSR [11];

LFSR[ 9] = LFSR[ 1]

Figure 112006047411119-pat00016
LFSR[14]
Figure 112006047411119-pat00017
LFSR[13]
Figure 112006047411119-pat00018
LFSR[12];LFSR [9] = LFSR [1]
Figure 112006047411119-pat00016
LFSR [14]
Figure 112006047411119-pat00017
LFSR [13]
Figure 112006047411119-pat00018
LFSR [12];

LFSR[10] = LFSR[ 2]

Figure 112006047411119-pat00019
LFSR[15]
Figure 112006047411119-pat00020
LFSR[14]
Figure 112006047411119-pat00021
LFSR[13];LFSR [10] = LFSR [2]
Figure 112006047411119-pat00019
LFSR [15]
Figure 112006047411119-pat00020
LFSR [14]
Figure 112006047411119-pat00021
LFSR [13];

LFSR[11] = LFSR[ 3]

Figure 112006047411119-pat00022
LFSR[15]
Figure 112006047411119-pat00023
LFSR[14];LFSR [11] = LFSR [3]
Figure 112006047411119-pat00022
LFSR [15]
Figure 112006047411119-pat00023
LFSR [14];

LFSR[12] = LFSR[ 4]

Figure 112006047411119-pat00024
LFSR[15];LFSR [12] = LFSR [4]
Figure 112006047411119-pat00024
LFSR [15];

LFSR[13] = LFSR[ 5];LFSR [13] = LFSR [5];

LFSR[14] = LFSR[ 6];LFSR [14] = LFSR [6];

LFSR[15] = LFSR[ 7];LFSR [15] = LFSR [7];

{Sym, Sym}이 입력되는 경우When {Sym, Sym} is entered

LFSR[ 0] = LFSR[ 0]

Figure 112006047411119-pat00025
LFSR[13]
Figure 112006047411119-pat00026
LFSR[12]
Figure 112006047411119-pat00027
LFSR[11];LFSR [0] = LFSR [0]
Figure 112006047411119-pat00025
LFSR [13]
Figure 112006047411119-pat00026
LFSR [12]
Figure 112006047411119-pat00027
LFSR [11];

LFSR[ 1] = LFSR[ 1]

Figure 112006047411119-pat00028
LFSR[14]
Figure 112006047411119-pat00029
LFSR[13]
Figure 112006047411119-pat00030
LFSR[12];LFSR [1] = LFSR [1]
Figure 112006047411119-pat00028
LFSR [14]
Figure 112006047411119-pat00029
LFSR [13]
Figure 112006047411119-pat00030
LFSR [12];

LFSR[ 2] = LFSR[ 2]

Figure 112006047411119-pat00031
LFSR[15]
Figure 112006047411119-pat00032
LFSR[14]
Figure 112006047411119-pat00033
LFSR[13];LFSR [2] = LFSR [2]
Figure 112006047411119-pat00031
LFSR [15]
Figure 112006047411119-pat00032
LFSR [14]
Figure 112006047411119-pat00033
LFSR [13];

LFSR[ 3] = LFSR[ 3]

Figure 112006047411119-pat00034
LFSR[15]
Figure 112006047411119-pat00035
LFSR[14]
Figure 112006047411119-pat00036
LFSR[ 0]
Figure 112006047411119-pat00037
LFSR[13]
Figure 112006047411119-pat00038
LFSR[12]
Figure 112006047411119-pat00039
LFSR[11];LFSR [3] = LFSR [3]
Figure 112006047411119-pat00034
LFSR [15]
Figure 112006047411119-pat00035
LFSR [14]
Figure 112006047411119-pat00036
LFSR [0]
Figure 112006047411119-pat00037
LFSR [13]
Figure 112006047411119-pat00038
LFSR [12]
Figure 112006047411119-pat00039
LFSR [11];

LFSR[ 5] = LFSR[ 5]

Figure 112006047411119-pat00040
LFSR[ 2]
Figure 112006047411119-pat00041
LFSR[15]
Figure 112006047411119-pat00042
LFSR[14]
Figure 112006047411119-pat00043
LFSR[13]
Figure 112006047411119-pat00044
LFSR[ 1]
Figure 112006047411119-pat00045
LFSR[14]
Figure 112006047411119-pat00046
LFSR[13]
Figure 112006047411119-pat00047
LFSR[12]
Figure 112006047411119-pat00048
LFSR[ 0]
Figure 112006047411119-pat00049
LFSR[13]
Figure 112006047411119-pat00050
LFSR[12]
Figure 112006047411119-pat00051
LFSR[11];LFSR [5] = LFSR [5]
Figure 112006047411119-pat00040
LFSR [2]
Figure 112006047411119-pat00041
LFSR [15]
Figure 112006047411119-pat00042
LFSR [14]
Figure 112006047411119-pat00043
LFSR [13]
Figure 112006047411119-pat00044
LFSR [1]
Figure 112006047411119-pat00045
LFSR [14]
Figure 112006047411119-pat00046
LFSR [13]
Figure 112006047411119-pat00047
LFSR [12]
Figure 112006047411119-pat00048
LFSR [0]
Figure 112006047411119-pat00049
LFSR [13]
Figure 112006047411119-pat00050
LFSR [12]
Figure 112006047411119-pat00051
LFSR [11];

LFSR[ 6] = LFSR[ 6]

Figure 112006047411119-pat00052
LFSR[ 3]
Figure 112006047411119-pat00053
LFSR[15]
Figure 112006047411119-pat00054
LFSR[14]
Figure 112006047411119-pat00055
LFSR[ 2]
Figure 112006047411119-pat00056
LFSR[15]
Figure 112006047411119-pat00057
LFSR[14]
Figure 112006047411119-pat00058
LFSR[13]
Figure 112006047411119-pat00059
LFSR[ 1]
Figure 112006047411119-pat00060
LFSR[14]
Figure 112006047411119-pat00061
LFSR[13]
Figure 112006047411119-pat00062
LFSR[12];LFSR [6] = LFSR [6]
Figure 112006047411119-pat00052
LFSR [3]
Figure 112006047411119-pat00053
LFSR [15]
Figure 112006047411119-pat00054
LFSR [14]
Figure 112006047411119-pat00055
LFSR [2]
Figure 112006047411119-pat00056
LFSR [15]
Figure 112006047411119-pat00057
LFSR [14]
Figure 112006047411119-pat00058
LFSR [13]
Figure 112006047411119-pat00059
LFSR [1]
Figure 112006047411119-pat00060
LFSR [14]
Figure 112006047411119-pat00061
LFSR [13]
Figure 112006047411119-pat00062
LFSR [12];

LFSR[ 7] = LFSR[ 7]

Figure 112006047411119-pat00063
LFSR[ 4]
Figure 112006047411119-pat00064
LFSR[15]
Figure 112006047411119-pat00065
LFSR[ 3]
Figure 112006047411119-pat00066
LFSR[15]
Figure 112006047411119-pat00067
LFSR[14]
Figure 112006047411119-pat00068
LFSR[ 2]
Figure 112006047411119-pat00069
LFSR[15]
Figure 112006047411119-pat00070
LFSR[14]
Figure 112006047411119-pat00071
LFSR[13];LFSR [7] = LFSR [7]
Figure 112006047411119-pat00063
LFSR [4]
Figure 112006047411119-pat00064
LFSR [15]
Figure 112006047411119-pat00065
LFSR [3]
Figure 112006047411119-pat00066
LFSR [15]
Figure 112006047411119-pat00067
LFSR [14]
Figure 112006047411119-pat00068
LFSR [2]
Figure 112006047411119-pat00069
LFSR [15]
Figure 112006047411119-pat00070
LFSR [14]
Figure 112006047411119-pat00071
LFSR [13];

LFSR[ 8] = LFSR[ 8]

Figure 112006047411119-pat00072
LFSR[ 5]
Figure 112006047411119-pat00073
LFSR[ 4]
Figure 112006047411119-pat00074
LFSR[15]
Figure 112006047411119-pat00075
LFSR[ 3]
Figure 112006047411119-pat00076
LFSR[15]
Figure 112006047411119-pat00077
LFSR[14];LFSR [8] = LFSR [8]
Figure 112006047411119-pat00072
LFSR [5]
Figure 112006047411119-pat00073
LFSR [4]
Figure 112006047411119-pat00074
LFSR [15]
Figure 112006047411119-pat00075
LFSR [3]
Figure 112006047411119-pat00076
LFSR [15]
Figure 112006047411119-pat00077
LFSR [14];

LFSR[ 9] = LFSR[ 9]

Figure 112006047411119-pat00078
LFSR[ 6]
Figure 112006047411119-pat00079
LFSR[ 5]
Figure 112006047411119-pat00080
LFSR[ 4]
Figure 112006047411119-pat00081
LFSR[15];LFSR [9] = LFSR [9]
Figure 112006047411119-pat00078
LFSR [6]
Figure 112006047411119-pat00079
LFSR [5]
Figure 112006047411119-pat00080
LFSR [4]
Figure 112006047411119-pat00081
LFSR [15];

LFSR[10] = LFSR[10]

Figure 112006047411119-pat00082
LFSR[ 7]
Figure 112006047411119-pat00083
LFSR[ 6]
Figure 112006047411119-pat00084
LFSR[ 5];LFSR [10] = LFSR [10]
Figure 112006047411119-pat00082
LFSR [7]
Figure 112006047411119-pat00083
LFSR [6]
Figure 112006047411119-pat00084
LFSR [5];

LFSR[11] = LFSR[11]

Figure 112006047411119-pat00085
LFSR[ 8]
Figure 112006047411119-pat00086
LFSR[ 7]
Figure 112006047411119-pat00087
LFSR[ 6];LFSR [11] = LFSR [11]
Figure 112006047411119-pat00085
LFSR [8]
Figure 112006047411119-pat00086
LFSR [7]
Figure 112006047411119-pat00087
LFSR [6];

LFSR[12] = LFSR[12]

Figure 112006047411119-pat00088
LFSR[ 9]
Figure 112006047411119-pat00089
LFSR[ 8]
Figure 112006047411119-pat00090
LFSR[ 7];LFSR [12] = LFSR [12]
Figure 112006047411119-pat00088
LFSR [9]
Figure 112006047411119-pat00089
LFSR [8]
Figure 112006047411119-pat00090
LFSR [7];

LFSR[13] = LFSR[13]

Figure 112006047411119-pat00091
LFSR[10]
Figure 112006047411119-pat00092
LFSR[ 9]
Figure 112006047411119-pat00093
LFSR[ 8];LFSR [13] = LFSR [13]
Figure 112006047411119-pat00091
LFSR [10]
Figure 112006047411119-pat00092
LFSR [9]
Figure 112006047411119-pat00093
LFSR [8];

LFSR[14] = LFSR[14]

Figure 112006047411119-pat00094
LFSR[11]
Figure 112006047411119-pat00095
LFSR[10]
Figure 112006047411119-pat00096
LFSR[ 9];LFSR [14] = LFSR [14]
Figure 112006047411119-pat00094
LFSR [11]
Figure 112006047411119-pat00095
LFSR [10]
Figure 112006047411119-pat00096
LFSR [9];

LFSR[15] = LFSR[15]

Figure 112006047411119-pat00097
LFSR[12]
Figure 112006047411119-pat00098
LFSR[11]
Figure 112006047411119-pat00099
LFSR[10];LFSR [15] = LFSR [15]
Figure 112006047411119-pat00097
LFSR [12]
Figure 112006047411119-pat00098
LFSR [11]
Figure 112006047411119-pat00099
LFSR [10];

데이터 출력값 중 하위 8비트는 입력데이터의 하위 8비트가 컨트롤 캐릭터이었을 때에는 그대로 출력하고 데이터 캐릭터일 때는 다음과 같이 출력한다.The lower 8 bits of the data output value are output as they are when the lower 8 bits of the input data are the control characters.

출력데이터[0] = 입력데이터[0]

Figure 112006047411119-pat00100
LFSR[15];Output data [0] = input data [0]
Figure 112006047411119-pat00100
LFSR [15];

출력데이터[1] = 입력데이터[1]

Figure 112006047411119-pat00101
LFSR[14];Output data [1] = input data [1]
Figure 112006047411119-pat00101
LFSR [14];

출력데이터[2] = 입력데이터[2]

Figure 112006047411119-pat00102
LFSR[13];Output data [2] = input data [2]
Figure 112006047411119-pat00102
LFSR [13];

출력데이터[3] = 입력데이터[3]

Figure 112006047411119-pat00103
LFSR[12];Output data [3] = input data [3]
Figure 112006047411119-pat00103
LFSR [12];

출력데이터[4] = 입력데이터[4]

Figure 112006047411119-pat00104
LFSR[11];Output data [4] = input data [4]
Figure 112006047411119-pat00104
LFSR [11];

출력데이터[5] = 입력데이터[5]

Figure 112006047411119-pat00105
LFSR[10];Output data [5] = input data [5]
Figure 112006047411119-pat00105
LFSR [10];

출력데이터[6] = 입력데이터[6]

Figure 112006047411119-pat00106
LFSR[ 9];Output data [6] = input data [6]
Figure 112006047411119-pat00106
LFSR [9];

출력데이터[7] = 입력데이터[7]

Figure 112006047411119-pat00107
LFSR[ 8];Output data [7] = input data [7]
Figure 112006047411119-pat00107
LFSR [8];

데이터 출력값 중 상위 8비트도 입력되는 상위 8비트의 데이터가 컨트롤 캐릭터이었을 때에는 그대로 출력하고,If the upper 8 bits of the data output value, which is also input, is output as the control character,

{Sym, COM}이 입력되는 경우,If {Sym, COM} is entered,

출력데이터[8] = not 입력데이터[ 9];Output data [8] = not input data [9];

출력데이터[9] = not 입력데이터[10];Output data [9] = not input data [10];

출력데이터[10] = not 입력데이터[11];Output data [10] = not input data [11];

출력데이터[11] = not 입력데이터[12];Output data [11] = not input data [12];

출력데이터[12] = not 입력데이터[13];Output data [12] = not input data [13];

출력데이터[13] = not 입력데이터[14];Output data [13] = not input data [14];

출력데이터[14] = not 입력데이터[15];Output data [14] = not input data [15];

출력데이터[15] = not 입력데이터[16];Output data [15] = not input data [16];

{Sym, SKP}이 입력되는 경우If {Sym, SKP} is entered

출력데이터[8] = 입력데이터[ 9]

Figure 112006047411119-pat00108
LFSR[15];Output data [8] = input data [9]
Figure 112006047411119-pat00108
LFSR [15];

출력데이터[9] = 입력데이터[10]

Figure 112006047411119-pat00109
LFSR[14];Output data [9] = input data [10]
Figure 112006047411119-pat00109
LFSR [14];

출력데이터[10] = 입력데이터[11]

Figure 112006047411119-pat00110
LFSR[13];Output data [10] = input data [11]
Figure 112006047411119-pat00110
LFSR [13];

출력데이터[11] = 입력데이터[12]

Figure 112006047411119-pat00111
LFSR[12];Output data [11] = input data [12]
Figure 112006047411119-pat00111
LFSR [12];

출력데이터[12] = 입력데이터[13]

Figure 112006047411119-pat00112
LFSR[11];Output data [12] = input data [13]
Figure 112006047411119-pat00112
LFSR [11];

출력데이터[13] = 입력데이터[14]

Figure 112006047411119-pat00113
LFSR[10];Output data [13] = input data [14]
Figure 112006047411119-pat00113
LFSR [10];

출력데이터[14] = 입력데이터[15]

Figure 112006047411119-pat00114
LFSR[ 9];Output data [14] = input data [15]
Figure 112006047411119-pat00114
LFSR [9];

출력데이터[15] = 입력데이터[16]

Figure 112006047411119-pat00115
LFSR[ 8];Output data [15] = input data [16]
Figure 112006047411119-pat00115
LFSR [8];

{Sym, Sym}이 입력되는 경우When {Sym, Sym} is entered

출력데이터[8] = 입력데이터[ 9]

Figure 112006047411119-pat00116
LFSR[ 7];Output data [8] = input data [9]
Figure 112006047411119-pat00116
LFSR [7];

출력데이터[9] = 입력데이터[10]

Figure 112006047411119-pat00117
LFSR[ 6];Output data [9] = input data [10]
Figure 112006047411119-pat00117
LFSR [6];

출력데이터[10] = 입력데이터[11]

Figure 112006047411119-pat00118
LFSR[ 5];Output data [10] = input data [11]
Figure 112006047411119-pat00118
LFSR [5];

출력데이터[11] = 입력데이터[12]

Figure 112006047411119-pat00119
LFSR[ 4]
Figure 112006047411119-pat00120
LFSR[15];Output data [11] = input data [12]
Figure 112006047411119-pat00119
LFSR [4]
Figure 112006047411119-pat00120
LFSR [15];

출력데이터[12] = 입력데이터[13]

Figure 112006047411119-pat00121
LFSR[ 3]
Figure 112006047411119-pat00122
LFSR[15]
Figure 112006047411119-pat00123
LFSR[14];Output data [12] = input data [13]
Figure 112006047411119-pat00121
LFSR [3]
Figure 112006047411119-pat00122
LFSR [15]
Figure 112006047411119-pat00123
LFSR [14];

출력데이터[13] = 입력데이터[14]

Figure 112006047411119-pat00124
LFSR[ 2]
Figure 112006047411119-pat00125
LFSR[15]
Figure 112006047411119-pat00126
LFSR[14]
Figure 112006047411119-pat00127
LFSR[13];Output data [13] = input data [14]
Figure 112006047411119-pat00124
LFSR [2]
Figure 112006047411119-pat00125
LFSR [15]
Figure 112006047411119-pat00126
LFSR [14]
Figure 112006047411119-pat00127
LFSR [13];

출력데이터[14] = 입력데이터[15]

Figure 112006047411119-pat00128
LFSR[ 1]
Figure 112006047411119-pat00129
LFSR[14]
Figure 112006047411119-pat00130
LFSR[13]
Figure 112006047411119-pat00131
LFSR[12];Output data [14] = input data [15]
Figure 112006047411119-pat00128
LFSR [1]
Figure 112006047411119-pat00129
LFSR [14]
Figure 112006047411119-pat00130
LFSR [13]
Figure 112006047411119-pat00131
LFSR [12];

출력데이터[15] = 입력데이터[16]

Figure 112006047411119-pat00132
LFSR[ 0]
Figure 112006047411119-pat00133
LFSR[13]
Figure 112006047411119-pat00134
LFSR[12]
Figure 112006047411119-pat00135
LFSR[11];Output data [15] = input data [16]
Figure 112006047411119-pat00132
LFSR [0]
Figure 112006047411119-pat00133
LFSR [13]
Figure 112006047411119-pat00134
LFSR [12]
Figure 112006047411119-pat00135
LFSR [11];

상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 형태로 기록매체(씨디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다. 이러한 과정은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있으므로 더 이상 상세히 설명하지 않기로 한다.As described above, the method of the present invention may be implemented as a program and stored in a recording medium (CD-ROM, RAM, ROM, floppy disk, hard disk, magneto-optical disk, etc.) in a computer-readable form. Since this process can be easily implemented by those skilled in the art will not be described in more detail.

이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것은 아니다.The present invention described above is capable of various substitutions, modifications, and changes without departing from the technical spirit of the present invention for those skilled in the art to which the present invention pertains. It is not limited by the drawing.

상기와 같은 본 발명은, PCI Express 프로토콜에서 각 계층별 패킷을 분류할 수 있으며, 계층별로 패킷을 분배함으로써 불필요한 버퍼 사용을 줄일 수 있고, 저속의 디바이스에서도 가능한 16비트의 디스크램블러를 사용하여, 2.5Gbps를 125MHz의 동작속도에서 구현할 수 있으며, 내부에 데이터 정렬기가 들어가 있으므로, 입력되는 데이터가 출력 형태에서는 정렬된 형태로 출력되므로, 별도의 정렬기를 필요로 하지 않는다. 또한, 본 발명의 결과물을 이용하면 패킷을 중복하여 검사하지 않아도 되므로, 회로의 낭비를 줄일 수 있는 효과가 있다.As described above, the present invention can classify packets for each layer in the PCI Express protocol, reduce unnecessary buffer usage by distributing packets for each layer, and use a 16-bit descrambler capable of low speed devices. Gbps can be implemented at 125MHz operating speed, and since the data sorter is included inside, the input data is output in the sorted form in the output form, so no separate sorter is required. In addition, if the result of the present invention is used, it is not necessary to duplicately inspect the packet, thereby reducing the waste of the circuit.

Claims (3)

PCI 익스프레스 패킷 검출 장치에 있어서,In the PCI Express packet detection device, 물리계층 직/병렬화기를 통하여 16비트로 병렬화되어 수신되는 PCI 익스프레스 패킷으로부터 물리계층 패킷을 검출하기 위한 물리계층패킷 검출 수단;Physical layer packet detection means for detecting a physical layer packet from a PCI Express packet received in parallel by 16 bits through a physical layer serializer / parallelizer; 상기 물리계층 직/병렬화기를 통하여 16비트로 병렬화되어 수신되는 PCI 익스프레스 패킷을 디스크램블링하기 위한 디스크램블링 수단;Descrambling means for descrambling PCI Express packets received in parallel by 16 bits through the physical layer serial / parallelizer; 상기 디스크램블링 수단에서 출력된 패킷에서 데이터링크계층 패킷을 검출하기 위한 데이터링크계층패킷 검출 수단; 및Data link layer packet detection means for detecting a data link layer packet from the packet output from the descrambling means; And 상기 디스크램블링 수단에서 출력된 패킷에서 트랜잭션계층 패킷을 검출하기 위한 트랜잭션계층패킷 검출 수단Transaction layer packet detection means for detecting a transaction layer packet from the packet output from the descrambling means 을 포함하는 PCI 익스프레스 패킷 검출 장치.PCI Express packet detection device comprising a. 제 1 항에 있어서,The method of claim 1, 상기 물리계층패킷 검출 수단은,The physical layer packet detection means, 하위 8비트 데이터에서 패킷시작이 검출되면, 패킷시작검출회로에서 상위 8비트 멀티플렉서가 직접 입력되는 상위 8비트 데이터의 입력을 출력하고, 하위 8비트 멀티플렉서도 마찬가지로 직접 입력되는 하위 8비트 데이터를 바로 출력하도록 제어신호를 보내고, 상위 8비트 데이터에서 패킷시작이 검출되면, 패킷시작검출회 로에서 상위 8비트 멀티플렉서가 직접 입력되는 하위 8비트 데이터의 입력을 출력하고, 하위 8비트 멀티플렉서가 8비트 플립플롭을 거친 값을 출력하도록 제어신호를 보내어서 언제나 하위 8비트로 출력하는 데이터가 패킷의 시작을 나타내도록 하는 것을 특징으로 하는 PCI 익스프레스 패킷 검출 장치.When the packet start is detected in the lower 8-bit data, the packet start detection circuit outputs the input of the upper 8-bit data directly inputted by the upper 8-bit multiplexer, and the lower 8-bit multiplexer also directly outputs the lower 8-bit data directly input. When a packet start is detected in the upper 8-bit data, the upper 8-bit multiplexer directly outputs the input of the lower 8-bit data, and the lower 8-bit multiplexer outputs an 8-bit flip-flop. PCI Express packet detection device, characterized in that by sending a control signal to output a value passed through the data to always output the lower 8 bits indicating the beginning of the packet. 제 1 항 또는 제 2 항에 있어서,The method according to claim 1 or 2, 상기 디스크램블링 수단은,The descrambling means, 스크램블러로 동일하게 사용하고, 상기 스크램블러의 연산에서 LFSR(Linear Feedback Shift Register) 및 출력 데이터 연산에서 입력 데이터의 경우별로 분류하여 비트 단위의 연산을 16비트 단위로 연산하는 것을 특징으로 하는 PCI 익스프레스 패킷 검출 장치.PCI Express packet detection, using the same as the scrambler, and classifying the input data in the linear feedback shift register (LFSR) and the output data operation in the operation of the scrambler and calculating the bit unit operation in 16 bit units. Device.
KR1020060061386A 2005-12-01 2006-06-30 PCI Express Packet Filter including Descrambling KR100738351B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/633,046 US7957294B2 (en) 2005-12-01 2006-12-01 PCI express packet filter including descrambler

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020050116138 2005-12-01
KR20050116138 2005-12-01

Publications (2)

Publication Number Publication Date
KR20070057631A KR20070057631A (en) 2007-06-07
KR100738351B1 true KR100738351B1 (en) 2007-07-12

Family

ID=38354942

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060061386A KR100738351B1 (en) 2005-12-01 2006-06-30 PCI Express Packet Filter including Descrambling

Country Status (1)

Country Link
KR (1) KR100738351B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020006990A (en) * 2000-07-14 2002-01-26 윤종용 System for de-multiplexing TS
KR20060039600A (en) * 2004-11-03 2006-05-09 한국전자통신연구원 Apparatus and method for scrambling/descrambling 16bit data at pci express protocol
US20060117125A1 (en) 2004-11-09 2006-06-01 Wayne Tseng Data Receiving Apparatus of a PCI Express Device
JP2006140623A (en) 2004-11-10 2006-06-01 Toshiba Corp Information processor

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020006990A (en) * 2000-07-14 2002-01-26 윤종용 System for de-multiplexing TS
KR20060039600A (en) * 2004-11-03 2006-05-09 한국전자통신연구원 Apparatus and method for scrambling/descrambling 16bit data at pci express protocol
US20060117125A1 (en) 2004-11-09 2006-06-01 Wayne Tseng Data Receiving Apparatus of a PCI Express Device
JP2006140623A (en) 2004-11-10 2006-06-01 Toshiba Corp Information processor

Also Published As

Publication number Publication date
KR20070057631A (en) 2007-06-07

Similar Documents

Publication Publication Date Title
US6201829B1 (en) Serial/parallel GHZ transceiver with pseudo-random built in self test pattern generator
US5974464A (en) System for high speed serial video signal transmission using DC-balanced coding
US20070206642A1 (en) Bidirectional active signal management in cables and other interconnects
US6539051B1 (en) Parallel framer and transport protocol with distributed framing and continuous data
JP2008122399A (en) Interface testing circuit and method
US20040052375A1 (en) Dynamic systm bus encryption using improved differential transitional encoding
JP4067787B2 (en) Parallel signal transmission device
US7957294B2 (en) PCI express packet filter including descrambler
KR100586047B1 (en) Apparatus and method for scrambling/descrambling 16bit data at PCI Express protocol
US20100195835A1 (en) Link and physical coding sub-layer protocols
EP3039835B1 (en) Efficient high speed adc interface design
Kashyap et al. Universal verification methodology based verification of UART protocol
US7876900B1 (en) Hybrid scrambled transmission coding
JP5217919B2 (en) Serial communication device, communication control method, communication control program
KR100738351B1 (en) PCI Express Packet Filter including Descrambling
KR20130113276A (en) Apparatus and method deskew on peripheral component interconnect express
US9762383B2 (en) Serial transmission having a low level EMI
US20190280850A1 (en) Techniques For Word Alignment Based On Transition Density
WO2023204889A1 (en) Dynamic shift in output of serial and parallel scramblers and descramblers
KR101038112B1 (en) DisplayPort digital encoders and digital decoders
Srivastava et al. Low cost FPGA implementation of a SPI over high speed optical SerDes
US7151470B1 (en) Data converter with multiple conversions for padded-protocol interface
EP1125410B1 (en) Method and apparatus for reducing emi emissions
Perrella Development of FPGA-based High Speed Serial Links for High Energy Physics Experiments
KR102340775B1 (en) Synchronization circuit for threshold implementation of s-box

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130624

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140630

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee