KR100376731B1 - Method and Apparatus for Data Matching between Other Apparatus Having Different Bus Width - Google Patents

Method and Apparatus for Data Matching between Other Apparatus Having Different Bus Width Download PDF

Info

Publication number
KR100376731B1
KR100376731B1 KR10-2001-0042439A KR20010042439A KR100376731B1 KR 100376731 B1 KR100376731 B1 KR 100376731B1 KR 20010042439 A KR20010042439 A KR 20010042439A KR 100376731 B1 KR100376731 B1 KR 100376731B1
Authority
KR
South Korea
Prior art keywords
data
fifo
clock signal
output
signal
Prior art date
Application number
KR10-2001-0042439A
Other languages
Korean (ko)
Other versions
KR20030006602A (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 KR10-2001-0042439A priority Critical patent/KR100376731B1/en
Publication of KR20030006602A publication Critical patent/KR20030006602A/en
Application granted granted Critical
Publication of KR100376731B1 publication Critical patent/KR100376731B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/02Speed or phase control by the received code signals, the signals containing no special synchronisation information
    • H04L7/027Speed or phase control by the received code signals, the signals containing no special synchronisation information extracting the synchronising or clock signal from the received signal spectrum, e.g. by using a resonant or bandpass circuit

Abstract

본 발명은 데이터 폭 변환 과정에서 변환된 데이터를 FIFO에 저장했다가 출력함으로써 종래에 정확한 위상과 주파수를 가지는 클럭신호를 생성하기 위해 필요했던 PLL 소자 없이도 데이터 폭 변환이 가능하도록 한 서로 다른 버스 폭을 가지는 장치 사이의 데이터 정합 방법 및 장치에 관한 것이다.The present invention stores the data converted in the data width conversion process in a FIFO and outputs the same bus widths to enable data width conversion without a PLL device, which was conventionally required to generate a clock signal having an accurate phase and frequency. The present invention relates to a method and a device for data matching between devices.

종래의 데이터 정합장치는 클럭의 변화에 민감한 구조를 가지고 있기 때문에, 위상이 동기되고 정확한 주파수를 가지는 신호를 생성하기 위해 PLL(Phase Locked Loop ; 위상 동기 루프) 소자를 사용했다. 그러나, PLL을 구비하지 않은 채로 보드를 제작했으나, 상기 보드를 채용하는 상황에서 데이터 폭을 변환할 필요가 있는 경우, 사후에 PLL을 이미 제작된 보드에 설치하는 데는 기술적, 공간적으로 많은 제약이 따른다.Since a conventional data matching device has a structure sensitive to clock changes, a phase locked loop (PLL) element is used to generate a signal whose phase is synchronized and has an accurate frequency. However, if the board is manufactured without the PLL, but the data width needs to be changed in the situation of adopting the board, there are a lot of technical and spatial limitations in installing the PLL on the board afterwards. .

본 발명은 데이터 폭이 변환된 데이터를 FIFO에 저장했다가 외부로 출력함으로써 사용되는 클럭신호의 위상이나 주파수에 약간의 오차가 있더라고 데이터 폭 변환을 가능케 하고, 클럭신호의 위상과 주파수를 조정하기 위한 PLL 소자 없이도 FPGA 등의 프로그램 가능한 로직을 이용하여 데이터 정합 장치를 구현할 수 있게 한다.The present invention stores data in which the data width is converted in the FIFO and outputs it to the outside, so that there is a slight error in the phase or frequency of the clock signal used, so that the data width can be converted and the phase and frequency of the clock signal are adjusted. Programmable logic such as FPGAs can be used to implement data matching devices without the need for PLL devices.

Description

서로 다른 버스 폭을 가지는 장치 사이의 데이터 정합 방법 및 장치{Method and Apparatus for Data Matching between Other Apparatus Having Different Bus Width}Method and device for data matching between devices having different bus widths {Method and Apparatus for Data Matching between Other Apparatus Having Different Bus Width}

본 발명은 서로 다른 버스 폭을 가지는 장치 사이의 데이터 정합 방법 및 장치에 관한 것으로 특히, 데이터 폭 변환 과정에서 변환된 데이터를 FIFO에 저장했다가 출력함으로써 종래에 정확한 위상과 주파수를 가지는 클럭신호를 생성하기 위해 필요했던 PLL(Phase Locked Loop ; 위상 동기 루프) 소자 없이도 데이터 폭 변환이 가능하도록 한 서로 다른 버스 폭을 가지는 장치 사이의 데이터 정합 방법 및 장치에 관한 것이다.The present invention relates to a method and device for data matching between devices having different bus widths. In particular, a clock signal having an accurate phase and frequency is generated by storing and outputting data converted in a data width conversion process in a FIFO. The present invention relates to a method and device for data matching between devices having different bus widths to enable data width conversion without a PLL (Phase Locked Loop) element.

일반적으로 버스(Bus)란 컴퓨터나 네트웍에서, 회선에 연결된 모든 장치들에 데이터가 분배되거나 취득되는 전송통로를 말한다. 이러한 버스는 처리할 수 있는 데이터의 양에 제한이 있는데, 이러한 버스의 처리용량을 버스 폭(Bus Width)이라고 한다.In general, a bus is a transmission path in which data is distributed or acquired to all devices connected to a line in a computer or a network. These buses have a limit on the amount of data they can handle, and the processing capacity of these buses is called the bus width.

특정 버스 폭을 가지는 장치에서 이와는 다른 버스 폭을 가지는 장치로 데이터를 전송하는 경우, 두 장치의 버스폭이 서로 상이함에 따른 문제가 발생할 수 있다. 즉, 버스 폭이 큰 장치에서 버스폭이 좁은 장치로 데이터를 전송하는 경우 예컨대, 버스폭이 32 비트인 장치에서 32비트의 데이터를 버스폭이 8비트 밖에 안되는 장치로 전송하는 경우, 8비트의 버스폭을 가지는 장치는 상기 32비트의 데이터를 처리할 수 없게 된다.When data is transmitted from a device having a specific bus width to a device having a different bus width, a problem may arise due to a difference in bus widths of the two devices. That is, when data is transmitted from a device having a large bus width to a device having a narrow bus width, for example, when a 32-bit bus device transmits 32-bit data to a device having only 8-bit bus width, A device having a bus width cannot process the 32 bits of data.

따라서, 도 1에 도시한 바와 같이, 버스 폭을 달리하는 두개의 장치 사이에서 데이터 폭을 변환해 주는 데이터 정합장치(12)는 32 비트의 버스폭을 가지는 장치 A(10)로부터 출력되는 32비트 데이터를 입력받아 이를 4개의 8비트 데이터로 변환한 후, 8비트로 변환된 4개의 데이터를 8비트의 버스폭을 가지는 장치B(14)로 순차적으로 하나씩 전송해 주어야 한다.Therefore, as shown in FIG. 1, the data matching device 12 converting the data width between two devices having different bus widths is 32 bits output from the device A 10 having a 32-bit bus width. After receiving data and converting it into four 8-bit data, the four data converted to 8-bit should be sequentially transmitted one by one to the device B 14 having an 8-bit bus width.

도 2는 상기 데이터 정합장치(12)를 상세히 도시한 블록도이다.2 is a block diagram showing the data matching device 12 in detail.

종래의 데이터 정합장치는 도 2에 도시한 바와 같이, 다수의 D 플립플롭(Flip-Flop)으로 구성된 데이터 처리부(200)와, PLL 등의 소자로 구성된 출력제어부(300)를 포함하여 이루어진다.As shown in FIG. 2, the conventional data matching device includes a data processor 200 including a plurality of D flip-flops and an output controller 300 including elements such as a PLL.

여기서, 상기 데이터 처리부(200)는, m비트의 데이터를 입력받아 k비트 데이터 s(= m/k ; 단, s는 정수)개로 변환하여 출력하는 경우, n (Hz)의 주파수를 가지는 입력 클럭신호에 동기되어 k비트 데이터를 입력받은 후, 다음 입력클럭이 입력될 때까지 상기 출력값(k비트 데이터)을 유지하는 s개의 D 플립플롭(20-1 ~ 20-s)으로 구성된 입력측 플립플롭(20)과, 입력측 플립플롭(20)으로부터 상기 k비트의 데이터를 입력받아 출력 인에이블 신호(Output Enable Signal ; OE 신호)와 출력선택 클럭신호에 의해 상기 k비트의 데이터를 순차적으로 출력하는 n개의 D 플립플롭(30-1 ~ 30-s)으로 구성된 출력측 플립플롭(30)으로 이루어진다. 이때, 상기 데이터 처리부(200)내에 구비되어 있는 모든 D 플립플롭은 k비트 버스폭을 가지는 버스를 통해 데이터를 입력받거나 출력한다.Here, when the data processor 200 receives m-bit data and converts and outputs k-bit data s (= m / k; where s is an integer), the input clock having a frequency of n (Hz) is output. After inputting k-bit data in synchronization with a signal, the input-side flip-flop composed of s D flip-flops 20-1 to 20-s holding the output value (k-bit data) until the next input clock is inputted ( 20) and n pieces of the k-bit data received from an input flip-flop 20 and sequentially outputting the k-bit data by an output enable signal (OE signal) and an output selection clock signal. An output side flip-flop 30 composed of D flip-flops 30-1 to 30-s. At this time, all the D flip-flops included in the data processing unit 200 receive or output data through a bus having a k-bit bus width.

그리고, 상기 출력제어부(300)는 상기 입력 클럭신호와 r(≒ n ×s) (Hz)의 주파수를 가지는 기준클럭을 입력받아, 상기 입력 클럭신호에 위상이 동기되고 입력 클럭신호의 주파수와 동일한 주파수를 가지는 상기 출력선택 클럭신호와, 출력측 플립플롭(30)에서 k비트 데이터를 순차적으로 출력하도록 하는 상기 OE 신호를생성한다.The output controller 300 receives a reference clock having a frequency of r (≒ n × s) (Hz) and the input clock signal, and is synchronized with a phase of the input clock signal and is equal to the frequency of the input clock signal. The output selection clock signal having a frequency and the OE signal for sequentially outputting k-bit data from the output flip-flop 30 are generated.

이러한 상기 입력 클럭신호와 기준 클럭신호와 출력선택 클럭신호와 OE 신호의 타이밍도를 도 3에 도시하였다. 도 3에 도시한 타이밍도는 m비트의 데이터를 4개로 분리해서 전송하는 경우(즉, 상기 s=4)를 예시한 것이다.3 illustrates a timing diagram of the input clock signal, the reference clock signal, the output selection clock signal, and the OE signal. The timing diagram shown in FIG. 3 exemplifies a case in which m-bit data is divided into four transmissions (that is, s = 4).

여기서, 상기 OE 신호는 상기 입력 클럭신호와 동일한 주기를 가지지만 상기 입력 클럭신호의 1/4 주기 동안만 하이레벨(High Level) 상태를 유지한다. 그리고, OE 신호[0]이 하이레벨에서 로우레벨(Low Level)로 천이할 때 OE 신호[1]는 로우레벨에서 하이레벨로 천이하고, 다시 OE 신호[1]가 하이레벨에서 로우레벨로 천이할 때 OE 신호[2]이 로우레벨에서 하이레벨로 천이하며, OE 신호[2]가 하이레벨에서 로우레벨로 천이할 때 OE 신호[3]은 로우레벨에서 하이레벨로 천이하는 형태로 출력측 플립플롭(30)에 입력됨으로써, 상기 입력클럭 신호 1주기가 경과하기 전에 즉, 상기 입력측 플립플롭(20)에 다음 순서의 k비트 데이터가 입력되기 전에 4개의 출력측 플립플롭(30)에서 k비트 데이터를 순차적으로 출력할 수 있도록 한다.Here, the OE signal has the same period as the input clock signal but maintains a high level only for one quarter periods of the input clock signal. Then, when the OE signal [0] transitions from a high level to a low level, the OE signal [1] transitions from a low level to a high level, and again the OE signal [1] transitions from a high level to a low level. OE signal [2] transitions from low level to high level when the OE signal [2] transitions from high level to low level when the OE signal [3] transitions from low level to high level. By inputting to the flop 30, the k-bit data at the four output-side flip-flops 30 before one cycle of the input clock signal elapses, that is, before the next-order k-bit data is input to the input-side flip-flop 20, Allows to output sequentially.

이와 같이 구성된 종래의 데이터 정합장치(12)의 동작관계를 상세히 설명한다.The operation relationship of the conventional data matching device 12 configured as described above will be described in detail.

먼저, m비트의 버스폭을 가지는 버스를 통해 데이터 정합장치(12)의 데이터 처리부(200)에 입력된 m비트 데이터는 k비트씩 s개로 분산된 후, k비트의 버스폭을 가지는 버스 상에서 입력측 플립플롭(20)에 입력될 때까지 대기 상태로 있게 된다. 이때, 플립플롭(20-1 ~ 20-s) 각각에 입력 클럭신호가 입력되면, 플립플롭(20-1 ~ 20-s)은 각각 상기 입력 클럭신호에 동기되어 상기 k 비트 데이터를 입력받은 후,다음 입력 클럭이 입력될 때까지 즉, 1/n 초가 경과할 때까지 출력값인 상기 k비트 데이터를 유지한다.First, the m-bit data input to the data processing unit 200 of the data matching device 12 through the bus having the m-bit bus width is distributed into s bits by k bits, and then the input side on the bus having a k-bit bus width. It is in a standby state until inputted to the flip-flop 20. At this time, when the input clock signal is input to each of the flip-flops 20-1 to 20-s, the flip-flops 20-1 to 20-s receive the k-bit data in synchronization with the input clock signal, respectively. Maintain the k-bit data as an output value until the next input clock is input, i.e., until 1 / n second has elapsed.

상기 입력측 플립플롭(20)에서 출력된 s개의 k비트 데이터는, 상기 출력선택 클럭신호의 하강 에지와 하이레벨 상태의 OE 신호가 입력됨에 따라 순차적으로 상기 출력측 플립플롭(30)을 구성하는 각각의 플립플롭(30-1 ~ 30-s)에 입력됨과 동시에 순차적으로 하나씩 출력되어 k비트의 버스폭을 가지는 버스를 통해 타 장치로 전송된다.The s k-bit data output from the input side flip-flop 20 sequentially constitutes the output side flip-flop 30 as the falling edge of the output selection clock signal and the OE signal in the high level state are input. Input to the flip-flops (30-1 ~ 30-s) and at the same time output one by one to be transmitted to other devices via a bus having a bus width of k bits.

상기 출력측 플립플롭(30)에서 k비트 데이터가 모두 출력되면, 상기 입력측 플립플롭(20)에 입력 클럭신호가 입력되고 이후, 상술한 데이터 폭 변환 과정이 반복하여 수행된다.When all k-bit data is output from the output side flip-flop 30, an input clock signal is input to the input side flip-flop 20, and the above-described data width conversion process is repeatedly performed.

이러한 종래의 데이터 정합장치에서 상기 출력선택클럭 신호의 주파수가 정확히 입력클럭 신호의 주파수의 정수배가 되어야 하며, 입력클럭 신호와 위상이 동기 되지 않으면 데이터 손실이 발생하는, 클럭의 변화에 매우 민감한 구조를 가지고 있기 때문에, 상기 입력 클럭신호 주파수의 정수배 주파수를 가짐과 동시에 위상이 동기되는 출력선택클럭 신호를 생성하기 위해 PLL 소자를 사용했다. 그러나, PLL을 구비하지 않은 채로 보드를 제작했으나, 상기 보드를 채용하는 상황에서 데이터 폭을 변환할 필요가 있는 경우, 사후에 PLL을 이미 제작된 보드에 설치하는 데는 기술적, 공간적으로 많은 제약이 따른다.In such a conventional data matching device, the frequency of the output selection clock signal should be exactly an integer multiple of the frequency of the input clock signal, and if the phase is not synchronized with the input clock signal, data loss occurs. As a result, a PLL element was used to generate an output select clock signal having an integer multiple of the input clock signal frequency and whose phase is synchronized. However, if the board is manufactured without the PLL, but the data width needs to be changed in the situation of adopting the board, there are a lot of technical and spatial limitations in installing the PLL on the board afterwards. .

본 발명은 전술한 바와 같은 문제점을 해결하기 위한 것으로 그 목적은, 데이터 폭이 변환된 데이터를 FIFO에 저장했다가 외부로 출력함으로써 사용되는 클럭신호의 위상이나 주파수가 약간의 오차를 가지고 있더라고 데이터 폭 변환을 가능케 하고, 클럭신호의 위상과 주파수를 조정하기 위한 PLL 소자 없이도 FPGA (Field-Programmable Gate Array) 등의 프로그램 가능한 로직을 이용하여 데이터 정합 장치를 구현할 수 있도록 하는 데 있다.SUMMARY OF THE INVENTION The present invention has been made to solve the above-mentioned problems, and its object is that the data width of the clock signal used by storing the converted data width in the FIFO and outputting it externally has a slight error. It is possible to implement data matching devices using programmable logic such as field-programmable gate arrays (FPGAs) without the need for PLL devices to enable the conversion and adjust the phase and frequency of the clock signal.

도 1은 종래의 데이터 정합장치의 사용예를 도시한 도.1 is a diagram showing an example of use of a conventional data matching device.

도 2는 종래의 데이터 정합장치를 도시한 블록도.2 is a block diagram showing a conventional data matching device.

도 3은 종래의 데이터 정합장치에서 사용되는 신호의 타이밍도.3 is a timing diagram of signals used in a conventional data matching device.

도 4는 본 발명에 따른 데이터 정합장치를 도시한 블록도.4 is a block diagram showing a data matching device according to the present invention;

도 5는 본 발명에 따른 데이터 정합장치에서 사용되는 신호의 타이밍도.5 is a timing diagram of signals used in the data matching device according to the present invention;

도 6는 본 발명에 따른 데이터 정합 방법을 도시한 흐름도.6 is a flowchart illustrating a data matching method according to the present invention.

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

40 : 장치 A 42 : 장치 B40: device A 42: device B

400 : 데이터폭 변환부 410 : FIFO400: data width converter 410: FIFO

420 : 다중화기 500 : 클럭처리부420: multiplexer 500: clock processing unit

510 : 분주회로부 520 : 다중화기 제어부510: division circuit unit 520: multiplexer control unit

상기와 같은 목적을 달성하기 위한 본 발명의 특징은, 소정의 버스폭을 가지는 버스를 통해 데이터를 전송하는 특정 장치와 또다른 소정의 버스폭을 가지는 버스를 통해 데이터를 수신하는 타 장치간에 데이터를 전송하는 장치에 있어서, 상기 특정 장치로부터 수신한 데이터를 입력 클럭신호에 동기되어 분산 저장함과 동시에 분주회로 제어신호를 생성하여 전송하는 복수 개의 FIFO와; 상기 분주회로 제어신호 입력에 따라 상기 FIFO에 분산 저장된 데이터를 출력하도록 제어하는 FIFO출력 클럭신호를 생성한 후, 이를 상기 복수개의 FIFO에게 전송하는 분주회로부와; 상기 FIFO출력 클럭신호를 입력받아 다중화기출력 선택신호를 생성하는 다중화기 제어부와; 상기 다중화기출력 선택신호 입력에 따라 상기 복수개의 FIFO로부터 출력된 데이터를 다중화한 후 순차적으로 출력하는 다중화수단을 포함하여 이루어진 것을 특징으로 하는 서로 다른 버스 폭을 가지는 장치 사이의 데이터 정합 장치를 제공하는 데 있다.A feature of the present invention for achieving the above object is that data between a specific device for transmitting data over a bus having a predetermined bus width and another device for receiving data over a bus having another predetermined bus width. An apparatus for transmitting, comprising: a plurality of FIFOs for storing and receiving data received from the specific apparatus in synchronization with an input clock signal and simultaneously generating and transmitting a divided circuit control signal; A division circuit unit for generating a FIFO output clock signal for controlling to output data distributed and stored in the FIFO according to the division circuit control signal input, and transmitting the same to the plurality of FIFOs; A multiplexer controller configured to receive the FIFO output clock signal and generate a multiplexer output selection signal; And multiplexing means for multiplexing the data outputted from the plurality of FIFOs according to the multiplexer output selection signal input and sequentially outputting the data matching device. There is.

이때, 상기 특정 장치의 버스폭은 상기 타 장치의 버스폭의 정수배이고, 상기 FIFO는 상기 정수 개 존재하며, 상기 데이터를 상기 정수 개로 분산해서 상기정수 개의 FIFO에 각각 저장하는 것을 특징으로 한다.In this case, the bus width of the specific device is an integer multiple of the bus width of the other device, the FIFO is the integer number, characterized in that the data is distributed to the integer number and stored in the integer number of FIFO, respectively.

또한, 본 발명은 입력 클럭신호에 의해 동작하고 소정의 버스폭을 가지는 버스를 통해 데이터를 전송하는 특정 장치에서, 기준 클럭신호에 의해 동작하고 소정의 버스폭을 가지는 버스를 통해 데이터를 수신하는 타 장치로 데이터를 전송하는 경우에 있어서, 상기 특정 장치로부터 수신한 데이터를 상기 입력 클럭신호에 동기되어 복수 개의 FIFO에 각각 분산 저장하는 과정과; 상기 FIFO에 상기 데이터가 입력되어 저장된 경우, 분주회로 제어신호를 생성하여 전송하는 과정과; 상기 FIFO가 충만상태에 이르기 전에 상기 분산 저장된 데이터를 출력하는 과정과; 상기 분주회로 제어신호를 입력받아 상기 기준 클럭신호를 분주처리해서 상기 FIFO가 충만상태에 이르기 전에 상기 분산 저장된 데이터를 출력하도록 하는 FIFO출력 클럭신호를 생성한 후, 이를 상기 복수 개의 FIFO에 각각 전송하는 과정과; 상기 FIFO출력 클럭신호에 동기되어 상기 FIFO에 저장되어 있는 데이터를 출력하도록 하는 과정과; 상기 FIFO출력 클럭신호를 입력받아 상기 FIFO에서 출력된 데이터를 순차적으로 하나씩 선택해서 전송하도록 하는 다중화기출력 선택신호를 생성하는 과정과; 상기 다중화기출력 선택신호를 수신하여 상기 FIFO에서 출력된 데이터를 순차적으로 하나씩 선택해서 상기 타 장치로 전송하는 과정을 포함하는 것을 특징으로 하는 서로 다른 버스 폭을 가지는 장치 사이의 데이터 정합 방법을 제공하는 것을 특징으로 한다.In addition, the present invention is a specific device that operates on an input clock signal and transmits data through a bus having a predetermined bus width, the other device operating on a reference clock signal and receiving data through a bus having a predetermined bus width. In the case of transmitting data to a device, the method comprising: distributedly storing data received from the specific device into a plurality of FIFOs in synchronization with the input clock signal; Generating and transmitting a frequency divider control signal when the data is input and stored in the FIFO; Outputting the distributed stored data before the FIFO reaches a full state; Receiving the divided circuit control signal and dividing the reference clock signal to generate a FIFO output clock signal for outputting the distributed data before the FIFO reaches a full state, and then transmitting the divided clock signal to the plurality of FIFOs, respectively. Process; Outputting data stored in the FIFO in synchronization with the FIFO output clock signal; Generating a multiplexer output selection signal for receiving the FIFO output clock signal and sequentially selecting and transmitting data output from the FIFO; And receiving the multiplexer output selection signal and sequentially selecting data output from the FIFOs one by one and transmitting the data to the other devices to provide the data matching method between devices having different bus widths. It is characterized by.

이하, 본 발명에 따른 실시예를 첨부한 도면을 참조하여 상세하게 설명하면 다음과 같다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 4는 본 발명에 따른 데이터 정합장치를 도시한 블록도이다.4 is a block diagram showing a data matching device according to the present invention.

본 발명에 따른 데이터 정합장치는, n (Hz)의 주파수를 가지는 클럭신호에 의해 동작하고 m비트 버스폭을 가지는 버스를 통해 데이터를 전송하는 장치 A(40)에서, r(≒ n ×s ; 단, s는 정수)(Hz)의 주파수를 가지는 클럭신호에 의해 동작하고 k(= m / s )비트 버스폭을 가지는 버스를 통해 데이터를 수신하는 장치 B(42)로 m비트 데이터를 전송하는 경우, 데이터 폭을 변환함으로써 상기 m비트 데이터를 s개의 k비트 데이터로 나누어 순차적으로 전송하기 위한 것으로서, 도 4에 도시한 바와 같이, 데이터폭 변환부(400)와, 클럭처리부(500)를 포함하여 이루어진다.The data matching device according to the present invention is characterized in that in device A 40 which is operated by a clock signal having a frequency of n (Hz) and transmits data via a bus having an m-bit bus width, r (rn × s; Where s is an integer) (Hz) and m-bit data is transmitted to a device B (42) receiving data over a bus having a k (= m / s) -bit bus width. In this case, the m-bit data is divided into s k-bit data and then sequentially transmitted by converting the data width. As shown in FIG. 4, the data width converter 400 and the clock processor 500 are included. It is done by

여기서, 상기 데이터폭 변환부(400)는 s개의 FIFO(410)와 다중화기(420)로 구성된다.In this case, the data width converter 400 includes s FIFOs 410 and a multiplexer 420.

상기 FIFO(410)는 n (Hz)의 주파수를 가지는 입력 클럭신호에 동기되어 k비트 데이터를 각각 입력받은 후에, 분주회로 제어신호를 생성하는 한편, f( = r / s ≒ n ) (Hz)의 주파수를 가지는 FIFO출력 클럭신호에 동기되어 상기 k비트 데이터를 출력한다. 그리고, 상기 다중화기(420)는 상기 FIFO(410)로부터 상기 s개의 k비트 데이터를 입력받아 다중화기출력 선택신호에 의해 상기 k비트 데이터를 하나씩 선택해서 순차적으로 장치 B(42)로 출력한다. 여기서, 상기 FIFO(410)와 다중화기(420)는 k비트 버스폭을 가지는 버스를 통해 데이터를 입력받거나 출력한다.After the FIFO 410 receives k-bit data in synchronization with an input clock signal having a frequency of n (Hz), the FIFO 410 generates a divided circuit control signal, while f (= r / s ≒ n) (Hz). The k-bit data is output in synchronization with a FIFO output clock signal having a frequency of. The multiplexer 420 receives the s k-bit data from the FIFO 410, selects the k-bit data one by one by a multiplexer output selection signal, and sequentially outputs the k-bit data to the device B 42. Here, the FIFO 410 and the multiplexer 420 receive or output data through a bus having a k-bit bus width.

그리고, 상기 클럭처리부(500)는 분주회로부(510)와 다중화기 제어부(520)로 구성된다.The clock processor 500 includes a frequency divider circuit 510 and a multiplexer controller 520.

상기 클럭처리부(500)는 상기 분주회로 제어신호를 수신함에 따라 r (Hz)의 주파수를 가지는 기준 클럭신호에 대해 분주처리하여 f (Hz)의 주파수를 가지는 상기 FIFO출력 클럭신호를 생성하는 분주회로부(510)와, 상기 분주회로부(510)로부터 상기 FIFO출력 클럭신호를 입력받아 a비트의 다중화기출력 제어신호를 생성하는 다중화기 제어부(520)로 이루어진다. 이때, 상기 a는 상기 s와 s=2a의 관계가 있다. 예컨대, 32비트의 데이터를 입력받아 이를 8비트의 데이터로 변환하는 경우, 필요한 FIFO의 갯수 s는 4( = 32/8 )이고, 다중화기출력 선택신호의 비트수 a는 2( 4=22)이다.The clock processing unit 500 divides the reference clock signal having a frequency of r (Hz) by receiving the frequency divider control signal to generate the FIFO output clock signal having a frequency of f (Hz). 510 and a multiplexer controller 520 which receives the FIFO output clock signal from the division circuit unit 510 and generates an a-bit multiplexer output control signal. In this case, a has a relationship between s and s = 2 a . For example, when 32-bit data is input and converted into 8-bit data, the number of required FIFOs s is 4 (= 32/8), and the number of bits a of the multiplexer output selection signal is 2 (4 = 2 2). )to be.

상기 입력 클럭신호와, 기준 클럭신호와, 분주회로 제어신호와, FIFO출력 클럭신호와, 다중화기출력 선택신호의 타이밍도를 도 5에 도시하였다. 도 5에 도시한 타이밍도는 m비트의 데이터를 4개로 분리해서 전송하는 경우(즉, 상기 s=4)의 타이밍도를 예시한 것이다.5 is a timing diagram of the input clock signal, reference clock signal, frequency divider control signal, FIFO output clock signal, and multiplexer output selection signal. The timing diagram shown in FIG. 5 exemplifies a timing diagram in the case where m-bit data is divided into four and transmitted (i.e., s = 4).

여기서, 상기 입력 클럭신호는 장치 A(40)에서 사용하는 클럭신호로서, n(Hz)의 주파수를 가지며, FIFO(410)에 상기 k비트 데이터를 동시에 입력하기 위한 동기신호로 작용한다.Here, the input clock signal is a clock signal used by the device A 40 and has a frequency of n (Hz), and serves as a synchronization signal for simultaneously inputting the k-bit data to the FIFO 410.

그리고, 상기 분주회로 제어신호는 FIFO(410)에 k( = m/4 )비트의 데이터가 입력된 경우 FIFO(410) 중의 어느 한 FIFO(410)에서 생성하여 분주회로부(510)에게 전송해 주는 신호로서, 분주회로부(510)에서 상기 기준클럭 신호에 대해 분주처리를 수행하도록 하는 제어신호이다. 이러한 상기 분주회로 제어신호는 상기 입력 클럭신호와 동일한 주기(1/n 초)를 가진다.When the k (= m / 4) bit data is input to the FIFO 410, the frequency divider control signal is generated by one of the FIFOs 410 and transmitted to the frequency divider circuit 510. As a signal, it is a control signal which causes the division circuit unit 510 to perform division processing on the reference clock signal. The division circuit control signal has the same period (1 / n seconds) as the input clock signal.

또한, 상기 기준 클럭신호는 장치 B(42)에서 사용하는 클럭신호로서, r(Hz)의 주파수를 가지며, 분주회로부(510)에서 분주처리되어 f (Hz)의 주파수를 가지는 상기 FIFO출력 클럭신호로 전환된다.In addition, the reference clock signal is a clock signal used by the apparatus B 42, and has a frequency of r (Hz), and is divided by the frequency division circuit unit 510 and has a frequency of f (Hz). Is switched to.

상기 FIFO출력 클럭신호는 상기 분주회로 제어신호를 입력받은 분주회로부(510)에서 상기 기준클럭을 분주처리하여 생성한 f (Hz)의 주파수를 가지는 신호로서, FIFO(410)에 저장되어 있는 상기 k 비트 데이터를 동시에 출력하도록 하기 위한 동기신호로 작용하는 한편, 다중화기 제어부(520)에 입력되어 상기 다중화기출력 선택신호를 생성하도록 하는 신호이다.The FIFO output clock signal is a signal having a frequency of f (Hz) generated by dividing the reference clock by the division circuit unit 510 receiving the division circuit control signal, and stored in the FIFO 410. While serving as a synchronization signal for simultaneously outputting bit data, the signal is input to the multiplexer controller 520 to generate the multiplexer output selection signal.

상기 다중화기출력 선택신호는, 분주회로부(510)로부터 상기 FIFO출력 클럭신호를 입력받은 다중화기 제어부(520)에서 생성되어 다중화기(420)로 전송되는 a비트의 신호로서, 다중화기(420)에서 상기 FIFO(410)로부터 출력되는 s개의 k비트 데이터를 순차적으로 하나씩 선택하여 출력하도록 하는 선택신호이다.The multiplexer output selection signal is an a-bit signal generated by the multiplexer controller 520 that receives the FIFO output clock signal from the division circuit unit 510 and transmitted to the multiplexer 420. The multiplexer 420 Is a selection signal for sequentially selecting and outputting s k-bit data output from the FIFO 410 one by one.

예컨대, m비트 데이터가 4개로 나뉘어 4개의 FIFO(410)에 각가 분산 저장되어 있다가 다중화기(420)로 출력되는 경우, 다중화기 제어부(520)에서 생성한 2비트의 다중화기출력 선택신호에 의해 조합가능한 '00'과 '01'과 '10' 및 '11' 비트 값을 순서대로 상기 FIFO출력 클럭신호의 한 주기 동안 다중화기(420)에게 전송함으로써, 다중화기(420)에서 자신에게 입력된 4개의 k비트 데이터를 순차적으로 하나씩 선택하여 외부로 출력하도록 한다.For example, when m-bit data is divided into four, each of which is distributed and stored in four FIFOs 410, and then output to the multiplexer 420, the two-bit multiplexer output selection signal generated by the multiplexer control unit 520 is used. By inputting the '00', '01', '10' and '11' bit values, which can be combined by order, to the multiplexer 420 for one period of the FIFO output clock signal, thereby inputting itself to the multiplexer 420. The selected four k-bit data are sequentially selected and output to the outside.

도 6에 도시한 흐름도을 참조하여 본 발명에 따른 데이터 정합 방법을 상세하게 설명한다.A data matching method according to the present invention will be described in detail with reference to the flowchart shown in FIG.

n (Hz)의 주파수를 가지는 입력 클럭신호에 의해 동작하고 m비트 버스폭을 가지는 버스를 통해 데이터를 전송하는 특정 장치에서, r(≒ n ×s ; 단, s는 정수)(Hz)의 주파수를 가지는 기준 클럭신호에 의해 동작하고 k( = m / s )비트 버스폭을 가지는 버스를 통해 데이터를 수신하는 타 장치로 데이터를 전송하는 경우에 있어서, 먼저, 장치 A(40)에서 m비트의 버스폭을 가지는 버스를 통해 데이터 정합장치의 데이터폭 변환부(400)로 입력된 m비트 데이터는 k비트의 버스폭을 가지는 버스 상에 k비트씩 s개로 분산되어 FIFO(410)에 입력될 때까지 대기 상태로 있게 된다.In a particular device operating on an input clock signal with a frequency of n (Hz) and transmitting data over a bus with an m-bit bus width, the frequency of r (≒ n × s; where s is an integer) (Hz) In the case of transmitting data to another device operating on a reference clock signal having a signal and receiving data through a bus having a k (= m / s) bit bus width, first, the device A 40 has m bits. When the m-bit data input to the data width conversion unit 400 of the data matching device through the bus having the bus width is distributed to the FIFO 410 by k bits on the bus having the bus width of k bits. Stand by until

이후, s개의 FIFO(410) 각각에 n(Hz)의 주파수를 가지는 입력 클럭신호가 입력됨에 따라 각각의 FIFO(410)는 상기 입력 클럭신호에 동기되어 상기 k비트 데이터를 입력받아서 내부에 저장한다(S61).Subsequently, as an input clock signal having a frequency of n (Hz) is input to each of the s FIFOs 410, each FIFO 410 receives the k-bit data in synchronization with the input clock signal and stores it therein. (S61).

이때, s개의 FIFO(410) 중 어느 한 FIFO에서 상기 k비트 데이터를 입력받은 경우, 분주회로 제어신호를 생성하여 이를 분주회로부(510)에게 전송한다(S62).In this case, when the k-bit data is input from any one of the s FIFOs 410, a divided circuit control signal is generated and transmitted to the divided circuit unit 510 (S62).

상기 FIFO(410)로부터 분준회로 제어신호를 입력받은 분주회로부(510)는 r (Hz)의 주파수를 가지는 기준 클럭신호를 분주하여 f (Hz)의 주파수를 가지는 FIFO출력 클럭신호를 생성함과 동시에 이를 s개의 FIFO(410) 각각에게와 다중화기 제어부(520)에게 전송해 준다(S63).The division circuit unit 510, which receives the division circuit control signal from the FIFO 410, divides a reference clock signal having a frequency of r (Hz) to generate a FIFO output clock signal having a frequency of f (Hz). This is transmitted to each of the s FIFOs 410 and the multiplexer control unit 520 (S63).

상기 분주회로부(510)로부터 FIFO출력 클럭신호를 수신한 각각의 FIFO(410)는 자신이 저장하고 있던 상기 k비트 데이터를 상기 FIFO출력 클럭신호에 동기되어동시에 출력하여 다중화기(420)로 전송한다(S64).Each FIFO 410 receiving the FIFO output clock signal from the division circuit unit 510 simultaneously outputs the k-bit data stored therein in synchronization with the FIFO output clock signal and transmits the same to the multiplexer 420. (S64).

한편, 상기 분주회로부(510)에서 생성한 FIFO출력 클럭신호를 수신한 다중화기 제어부(520)는 a비트의 다중화기출력 선택신호를 생성하여 다중화기(420)로 전송한다(S65). 이에, 다중화기(420)는 상기 a비트의 다중화기출력 선택신호를 입력받아서 각각의 FIFO(410)에서 동시에 출력된 k비트 데이터를 순차적으로 하나씩 선택해서 k비트 버스폭을 가지는 버스를 통해 장치 B(42)로 전송한다(S66).On the other hand, the multiplexer control unit 520 receiving the FIFO output clock signal generated by the division circuit unit 510 generates a bit multiplexer output selection signal and transmits it to the multiplexer 420 (S65). Accordingly, the multiplexer 420 receives the a-bit multiplexer output selection signal and sequentially selects one-bit k-bit data simultaneously output from each FIFO 410, and then uses a device having a k-bit bus width. Transfer to 42 (S66).

상술한 바와 같은 데이터 정합장치는 상기 기준 클럭신호의 주파수가 정확히 상기 입력 클럭신호의 주파수의 정수배가 아닌 경우( r ≒ n ×s )에도 입력된 데이터를 FIFO에 일시 저장함으로써 PLL 소자 없이 변환된 데이터를 장치 B(42)로 전송할 수 있다.The above-described data matching device converts data without a PLL element by temporarily storing the input data in the FIFO even when the frequency of the reference clock signal is not exactly an integer multiple of the frequency of the input clock signal (r ≒ n × s). May be sent to device B 42.

또한, FPGA 등의 프로그램 가능한 로직을 이용하여 데이터 정합 장치를 구현할 수 있기 때문에, 데이터 폭을 변환할 필요가 있는 경우에는 보드를 제작한 이후에도 기술적, 공간적 제약없이 손쉽게 데이터 정합장치를 구현할 수 있다.In addition, since data matching devices can be implemented using programmable logic such as FPGAs, when data widths need to be converted, data matching devices can be easily implemented even after the board is manufactured without technical and spatial constraints.

본 발명은 상술한 실시예에 대해서만 상세히 설명되었지만, 본 발명의 사상과 범위 내에서 수정이나 변경할 수 있음은 본 발명이 속하는 분야의 당업자에게 명백한 것이며, 그러한 수정이나 변경은 본 발명의 특허청구범위에 속한다 할 것이다.Although the present invention has been described in detail only with respect to the above-described embodiments, it will be apparent to those skilled in the art that modifications or variations can be made within the spirit and scope of the present invention, and such modifications or changes are within the scope of the claims Will belong.

이상과 같이, 본 발명은 데이터 폭이 변환된 데이터를 FIFO에 저장했다가 외부로 출력함으로써 사용되는 클럭신호의 위상이나 주파수가 약간의 오차를 가지고있더라고 데이터 폭 변환을 가능케 하고, 클럭신호의 위상과 주파수를 조정하기 위한 PLL 소자 없이도 FPGA 등의 프로그램 가능한 로직을 이용하여 데이터 정합 장치를 구현할 수 있게 한다.As described above, the present invention stores data in which the data width is converted in the FIFO and outputs it to the outside, so that the data width can be converted even though the phase or frequency of the clock signal used has a slight error. Programmable logic such as FPGAs can be used to implement data matching devices without the need for PLL devices to adjust the frequency.

Claims (3)

소정의 버스폭을 가지는 버스를 통해 데이터를 전송하는 특정 장치와 또다른 소정의 버스폭을 가지는 버스를 통해 데이터를 수신하는 타 장치간에 데이터를 전송하는 장치에 있어서,A device for transmitting data between a specific device transmitting data through a bus having a predetermined bus width and another device receiving data through a bus having another predetermined bus width, 상기 특정 장치로부터 수신한 데이터를 입력 클럭신호에 동기되어 분산 저장함과 동시에 분주회로 제어신호를 생성하여 전송하는 복수개의 FIFO와;A plurality of FIFOs for storing and receiving data received from the specific device in synchronization with an input clock signal and for generating and transmitting a frequency divider control signal; 상기 분주회로 제어신호 입력에 따라 상기 FIFO에 분산 저장된 데이터를 출력하도록 제어하는 FIFO출력 클럭신호를 생성한 후, 이를 상기 복수개의 FIFO에게 전송하는 분주회로부와;A division circuit unit for generating a FIFO output clock signal for controlling to output data distributed and stored in the FIFO according to the division circuit control signal input, and transmitting the same to the plurality of FIFOs; 상기 FIFO출력 클럭신호를 입력받아 다중화기출력 선택신호를 생성하는 다중화기 제어부와;A multiplexer controller configured to receive the FIFO output clock signal and generate a multiplexer output selection signal; 상기 다중화기출력 선택신호 입력에 따라 상기 복수 개의 FIFO로부터 출력된 데이터를 다중화한 후 순차적으로 출력하는 다중화수단을 포함하여 이루어진 것을 특징으로 하는 서로 다른 버스 폭을 가지는 장치 사이의 데이터 정합 장치.And multiplexing means for multiplexing and sequentially outputting data output from the plurality of FIFOs according to the multiplexer output selection signal input. 제1항에 있어서,The method of claim 1, 상기 특정 장치의 버스폭은 상기 타 장치의 버스폭의 정수배이고, 상기 FIFO는 상기 정수 개 존재하며, 상기 데이터를 상기 정수 개로 분산해서 상기 정수 개의 FIFO에 각각 저장하는 것을 특징으로 하는 서로 다른 버스 폭을 가지는 장치 사이의 데이터 정합 장치.The bus width of the specific device is an integer multiple of the bus width of the other device, the FIFO is the integer number, the different bus width, characterized in that the data is distributed to the integer number and stored in the integer number of FIFO, respectively Data matching device between devices having a. 입력 클럭신호에 의해 동작하고 소정의 버스폭을 가지는 버스를 통해 데이터를 전송하는 특정 장치에서, 기준 클럭신호에 의해 동작하고 소정의 버스폭을 가지는 버스를 통해 데이터를 수신하는 타 장치로 데이터를 전송하는 경우에 있어서,In a specific device operating on an input clock signal and transmitting data over a bus with a predetermined bus width, transmitting data to another device operating on a reference clock signal and receiving data over a bus with a predetermined bus width If you do, 상기 특정 장치로부터 수신한 데이터를 상기 입력 클럭신호에 동기되어 복수 개의 FIFO에 각각 분산 저장하는 과정과;Distributing and storing data received from the specific device in a plurality of FIFOs in synchronization with the input clock signal; 상기 FIFO에 상기 데이터가 입력되어 저장된 경우, 분주회로 제어신호를 생성하여 전송하는 과정과;Generating and transmitting a frequency divider control signal when the data is input and stored in the FIFO; 상기 FIFO가 충만상태에 이르기 전에 상기 분산 저장된 데이터를 출력하는 과정과;Outputting the distributed stored data before the FIFO reaches a full state; 상기 분주회로 제어신호를 입력받아 상기 기준 클럭신호를 분주처리해서 상기 FIFO가 충만상태에 이르기 전에 상기 분산 저장된 데이터를 출력하도록 하는 FIFO출력 클럭신호를 생성한 후, 이를 상기 복수 개의 FIFO에 각각 전송하는 과정과;Receiving the divided circuit control signal and dividing the reference clock signal to generate a FIFO output clock signal for outputting the distributed data before the FIFO reaches a full state, and then transmitting the divided clock signal to the plurality of FIFOs, respectively. Process; 상기 FIFO출력 클럭신호에 동기되어 상기 FIFO에 저장되어 있는 데이터를 출력하도록 하는 과정과;Outputting data stored in the FIFO in synchronization with the FIFO output clock signal; 상기 FIFO출력 클럭신호를 입력받아 상기 FIFO에서 출력된 데이터를 순차적으로 하나씩 전송하도록 하는 다중화기출력 선택신호를 생성하는 과정과;Generating a multiplexer output selection signal for receiving the FIFO output clock signal and sequentially transmitting data output from the FIFO one by one; 상기 다중화기출력 선택신호를 수신하여 상기 FIFO에서 출력된 데이터를 다중화한후 순차적으로 상기 타 장치로 전송하는 과정을 포함하는 것을 특징으로 하는 서로 다른 버스 폭을 가지는 장치 사이의 데이터 정합 방법.Receiving the multiplexer output selection signal and multiplexing data output from the FIFO and sequentially transmitting the multiplexer output selection signal to the other devices.
KR10-2001-0042439A 2001-07-13 2001-07-13 Method and Apparatus for Data Matching between Other Apparatus Having Different Bus Width KR100376731B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2001-0042439A KR100376731B1 (en) 2001-07-13 2001-07-13 Method and Apparatus for Data Matching between Other Apparatus Having Different Bus Width

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0042439A KR100376731B1 (en) 2001-07-13 2001-07-13 Method and Apparatus for Data Matching between Other Apparatus Having Different Bus Width

Publications (2)

Publication Number Publication Date
KR20030006602A KR20030006602A (en) 2003-01-23
KR100376731B1 true KR100376731B1 (en) 2003-03-19

Family

ID=27715063

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0042439A KR100376731B1 (en) 2001-07-13 2001-07-13 Method and Apparatus for Data Matching between Other Apparatus Having Different Bus Width

Country Status (1)

Country Link
KR (1) KR100376731B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100702897B1 (en) * 2006-12-24 2007-04-09 서희동 The clear strained rice wine manufacturing method that used deep sea water
US8503362B2 (en) 2009-12-10 2013-08-06 Korea Electronics Technology Institute Speaker synchronization technique for wireless multichannel sound data transmission system

Also Published As

Publication number Publication date
KR20030006602A (en) 2003-01-23

Similar Documents

Publication Publication Date Title
US7702945B2 (en) Semiconductor device and communication control method
KR100453488B1 (en) Parallel Processing Integrated Circuit Tester
EP1624635B1 (en) Device and method for synchronous parallel data transmission using reference signal
JP2007043716A (en) Serializer circuitry for high-speed serial data transmitter on programmable logic device integrated circuit
KR20100077741A (en) Data transmission apparatus
KR20020057697A (en) Clock recovery circuit for universal serial bus
KR100376731B1 (en) Method and Apparatus for Data Matching between Other Apparatus Having Different Bus Width
US5987083A (en) Signal transmission apparatus with a plurality of LSIS
CN102971964B (en) For the input/output interface of cyclical signal
US8254513B2 (en) Inter-device adaptable interfacing clock skewing
US6678783B2 (en) Inter-device coupler
KR100580179B1 (en) Method and integrated circuit apparatus for reducing simultaneously changing output
JP2744094B2 (en) Digital system
US6373302B1 (en) Phase alignment system
US7288972B1 (en) Circuitry for synthesizing an arbitrary clock signal and methods for the synthesis thereof
JP4176720B2 (en) Synchronization control device and synchronization control method
JPH10303874A (en) System for detecting synchronized edge between different clocks
US8850256B2 (en) Communication circuit and communication method
KR100525082B1 (en) Bi-directional shift register
US20020172311A1 (en) Large-input-delay variation tolerant (lidvt) receiver adopting FIFO mechanism
JP2003198521A (en) Circuit and method for adjusting clock skew in communication system
JPH08149119A (en) Bit phase synchronization circuit
JP2601497B2 (en) Data generator
JP2002108809A (en) Method and device for transferring source synchronous data
KR20050072619A (en) Synchroning circuit generating output signal stably

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee