KR100738351B1 - PCI Express Packet Filter including Descrambling - Google Patents
PCI Express Packet Filter including Descrambling Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/18—Protocol analysers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI 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
도 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
도 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 /
도면에서, 물리계층 직/병렬화기(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 /
데이터링크계층(120)으로 입력되는 패킷은 데이터링크계층(120)에서 처리되는 패킷과 트랜잭션계층(130)에서 처리되는 패킷이며, 데이터링크계층(120)에서 사용되는 패킷은 데이터링크계층(120)에서 사용되고, 트랜잭션계층(130)에서 처리하여야할 패킷은 트랜잭션계층(130)으로 넘겨주어서 트랜잭션계층(130)에서 처리하게 된다.Packets input to the
도 2 는 상기 도 1의 디스크램블러(210)를 나타낸 일실시예 구성도이다.FIG. 2 is a diagram illustrating an embodiment of the
디스크램블러(210)는 패킷 버퍼(211), 물리계층패킷 판별기(212), 그리고 디스크램블엔진(213)을 포함한다.The
상기 디스크램블러(210)는 스크램블이 적용되지 않는 물리계층패킷 검출을 위하여 추가적인 패킷 버퍼(211)를 필요로 하므로, 이에 대한 지연 시간이 발생되게 되며, 또한, 패킷 버퍼(211)에 있는 내용이 물리계층패킷인지를 판별하기 위한 물리계층패킷 판별기(212)를 필요로 한다.Since the
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
패킷 송신부에서 패킷의 전송 단위는 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 /
물리계층 패킷은 스크램블되지 않은 형태로 입력되므로 물리계층패킷검출 기(310)는 디스크램블러(340)를 거치지 않은 신호를 직접 입력받으며, 디스크램블러(340)에서는 물리계층패킷인지 여부와 상관없이 패킷을 모두 디스크램블하면 되므로, 디스크램블러(340)는 상기 도 2에서 나타낸 패킷 버퍼(211)와 물리계층패킷 판별기(212)를 필요로 하지 않고, 디스크램블엔진(213)만으로 구성될 수 있다.Since the physical layer packet is input in an unscrambled form, the physical
도 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
그러나, 그 대신 패킷 멀티플렉서(480)가 필요하게 되는데 PCI 익스프레스에서는 각 계층에서 패킷이 생성되는 순서가 정의되어 있으므로 단지 이 순서대로 보내면 되므로 복잡한 회로가 아니다.However, the
여기서, 스크램블링을 하는 알고리즘은 디스크램블링을 하는 알고리즘과 원칙적으로 동일하므로 상기 도 2에서 사용된 디스크램블러(210)를 스크램블러(470)로 동일하게 사용하였다.Here, since the scrambling algorithm is the same as the descrambling algorithm, the
도 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
상기 물리계층패킷검출기(310)는 데이터링크계층패킷검출기(320)과 트랜잭션계층패킷검출기(330)에서도 패킷시작검출회로(510)의 변경만으로 동일하게 사용될 수 있다.The physical
만약 하위 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-
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.
도 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] LFSR[ 8];LFSR [3] = LFSR [11] LFSR [8];
LFSR[ 4] = LFSR[12] LFSR[ 9] LFSR[ 8];LFSR [4] = LFSR [12] LFSR [9] LFSR [8];
LFSR[ 5] = LFSR[13] LFSR[10] LFSR[ 9] LFSR[ 8];LFSR [5] = LFSR [13] LFSR [10] LFSR [9] LFSR [8];
LFSR[ 6] = LFSR[14] LFSR[11] LFSR[10] LFSR[ 9];LFSR [6] = LFSR [14] LFSR [11] LFSR [10] LFSR [9];
LFSR[ 7] = LFSR[15] LFSR[12] LFSR[11] LFSR[10];LFSR [7] = LFSR [15] LFSR [12] LFSR [11] LFSR [10];
LFSR[ 8] = LFSR[ 0] LFSR[13] LFSR[12] LFSR[11];LFSR [8] = LFSR [0] LFSR [13] LFSR [12] LFSR [11];
LFSR[ 9] = LFSR[ 1] LFSR[14] LFSR[13] LFSR[12];LFSR [9] = LFSR [1] LFSR [14] LFSR [13] LFSR [12];
LFSR[10] = LFSR[ 2] LFSR[15] LFSR[14] LFSR[13];LFSR [10] = LFSR [2] LFSR [15] LFSR [14] LFSR [13];
LFSR[11] = LFSR[ 3] LFSR[15] LFSR[14];LFSR [11] = LFSR [3] LFSR [15] LFSR [14];
LFSR[12] = LFSR[ 4] LFSR[15];LFSR [12] = LFSR [4] 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] LFSR[13] LFSR[12] LFSR[11];LFSR [0] = LFSR [0] LFSR [13] LFSR [12] LFSR [11];
LFSR[ 1] = LFSR[ 1] LFSR[14] LFSR[13] LFSR[12];LFSR [1] = LFSR [1] LFSR [14] LFSR [13] LFSR [12];
LFSR[ 2] = LFSR[ 2] LFSR[15] LFSR[14] LFSR[13];LFSR [2] = LFSR [2] LFSR [15] LFSR [14] LFSR [13];
LFSR[ 3] = LFSR[ 3] LFSR[15] LFSR[14] LFSR[ 0] LFSR[13] LFSR[12] LFSR[11];LFSR [3] = LFSR [3] LFSR [15] LFSR [14] LFSR [0] LFSR [13] LFSR [12] LFSR [11];
LFSR[ 5] = LFSR[ 5] LFSR[ 2] LFSR[15] LFSR[14] LFSR[13] LFSR[ 1] LFSR[14] LFSR[13] LFSR[12] LFSR[ 0] LFSR[13] LFSR[12] LFSR[11];LFSR [5] = LFSR [5] LFSR [2] LFSR [15] LFSR [14] LFSR [13] LFSR [1] LFSR [14] LFSR [13] LFSR [12] LFSR [0] LFSR [13] LFSR [12] LFSR [11];
LFSR[ 6] = LFSR[ 6] LFSR[ 3] LFSR[15] LFSR[14] LFSR[ 2] LFSR[15] LFSR[14] LFSR[13] LFSR[ 1] LFSR[14] LFSR[13] LFSR[12];LFSR [6] = LFSR [6] LFSR [3] LFSR [15] LFSR [14] LFSR [2] LFSR [15] LFSR [14] LFSR [13] LFSR [1] LFSR [14] LFSR [13] LFSR [12];
LFSR[ 7] = LFSR[ 7] LFSR[ 4] LFSR[15] LFSR[ 3] LFSR[15] LFSR[14] LFSR[ 2] LFSR[15] LFSR[14] LFSR[13];LFSR [7] = LFSR [7] LFSR [4] LFSR [15] LFSR [3] LFSR [15] LFSR [14] LFSR [2] LFSR [15] LFSR [14] LFSR [13];
LFSR[ 8] = LFSR[ 8] LFSR[ 5] LFSR[ 4] LFSR[15] LFSR[ 3] LFSR[15] LFSR[14];LFSR [8] = LFSR [8] LFSR [5] LFSR [4] LFSR [15] LFSR [3] LFSR [15] LFSR [14];
LFSR[ 9] = LFSR[ 9] LFSR[ 6] LFSR[ 5] LFSR[ 4] LFSR[15];LFSR [9] = LFSR [9] LFSR [6] LFSR [5] LFSR [4] LFSR [15];
LFSR[10] = LFSR[10] LFSR[ 7] LFSR[ 6] LFSR[ 5];LFSR [10] = LFSR [10] LFSR [7] LFSR [6] LFSR [5];
LFSR[11] = LFSR[11] LFSR[ 8] LFSR[ 7] LFSR[ 6];LFSR [11] = LFSR [11] LFSR [8] LFSR [7] LFSR [6];
LFSR[12] = LFSR[12] LFSR[ 9] LFSR[ 8] LFSR[ 7];LFSR [12] = LFSR [12] LFSR [9] LFSR [8] LFSR [7];
LFSR[13] = LFSR[13] LFSR[10] LFSR[ 9] LFSR[ 8];LFSR [13] = LFSR [13] LFSR [10] LFSR [9] LFSR [8];
LFSR[14] = LFSR[14] LFSR[11] LFSR[10] LFSR[ 9];LFSR [14] = LFSR [14] LFSR [11] LFSR [10] LFSR [9];
LFSR[15] = LFSR[15] LFSR[12] LFSR[11] LFSR[10];LFSR [15] = LFSR [15] LFSR [12] LFSR [11] 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] LFSR[15];Output data [0] = input data [0] LFSR [15];
출력데이터[1] = 입력데이터[1] LFSR[14];Output data [1] = input data [1] LFSR [14];
출력데이터[2] = 입력데이터[2] LFSR[13];Output data [2] = input data [2] LFSR [13];
출력데이터[3] = 입력데이터[3] LFSR[12];Output data [3] = input data [3] LFSR [12];
출력데이터[4] = 입력데이터[4] LFSR[11];Output data [4] = input data [4] LFSR [11];
출력데이터[5] = 입력데이터[5] LFSR[10];Output data [5] = input data [5] LFSR [10];
출력데이터[6] = 입력데이터[6] LFSR[ 9];Output data [6] = input data [6] LFSR [9];
출력데이터[7] = 입력데이터[7] LFSR[ 8];Output data [7] = input data [7] 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] LFSR[15];Output data [8] = input data [9] LFSR [15];
출력데이터[9] = 입력데이터[10] LFSR[14];Output data [9] = input data [10] LFSR [14];
출력데이터[10] = 입력데이터[11] LFSR[13];Output data [10] = input data [11] LFSR [13];
출력데이터[11] = 입력데이터[12] LFSR[12];Output data [11] = input data [12] LFSR [12];
출력데이터[12] = 입력데이터[13] LFSR[11];Output data [12] = input data [13] LFSR [11];
출력데이터[13] = 입력데이터[14] LFSR[10];Output data [13] = input data [14] LFSR [10];
출력데이터[14] = 입력데이터[15] LFSR[ 9];Output data [14] = input data [15] LFSR [9];
출력데이터[15] = 입력데이터[16] LFSR[ 8];Output data [15] = input data [16] LFSR [8];
{Sym, Sym}이 입력되는 경우When {Sym, Sym} is entered
출력데이터[8] = 입력데이터[ 9] LFSR[ 7];Output data [8] = input data [9] LFSR [7];
출력데이터[9] = 입력데이터[10] LFSR[ 6];Output data [9] = input data [10] LFSR [6];
출력데이터[10] = 입력데이터[11] LFSR[ 5];Output data [10] = input data [11] LFSR [5];
출력데이터[11] = 입력데이터[12] LFSR[ 4] LFSR[15];Output data [11] = input data [12] LFSR [4] LFSR [15];
출력데이터[12] = 입력데이터[13] LFSR[ 3] LFSR[15] LFSR[14];Output data [12] = input data [13] LFSR [3] LFSR [15] LFSR [14];
출력데이터[13] = 입력데이터[14] LFSR[ 2] LFSR[15] LFSR[14] LFSR[13];Output data [13] = input data [14] LFSR [2] LFSR [15] LFSR [14] LFSR [13];
출력데이터[14] = 입력데이터[15] LFSR[ 1] LFSR[14] LFSR[13] LFSR[12];Output data [14] = input data [15] LFSR [1] LFSR [14] LFSR [13] LFSR [12];
출력데이터[15] = 입력데이터[16] LFSR[ 0] LFSR[13] LFSR[12] LFSR[11];Output data [15] = input data [16] LFSR [0] LFSR [13] LFSR [12] 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)
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)
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 |
-
2006
- 2006-06-30 KR KR1020060061386A patent/KR100738351B1/en not_active IP Right Cessation
Patent Citations (4)
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 |