KR100303204B1 - Fifo device having variable i/o width - Google Patents

Fifo device having variable i/o width Download PDF

Info

Publication number
KR100303204B1
KR100303204B1 KR1019980012167A KR19980012167A KR100303204B1 KR 100303204 B1 KR100303204 B1 KR 100303204B1 KR 1019980012167 A KR1019980012167 A KR 1019980012167A KR 19980012167 A KR19980012167 A KR 19980012167A KR 100303204 B1 KR100303204 B1 KR 100303204B1
Authority
KR
South Korea
Prior art keywords
input
output
data
width
signal
Prior art date
Application number
KR1019980012167A
Other languages
Korean (ko)
Other versions
KR19990079530A (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 KR1019980012167A priority Critical patent/KR100303204B1/en
Publication of KR19990079530A publication Critical patent/KR19990079530A/en
Application granted granted Critical
Publication of KR100303204B1 publication Critical patent/KR100303204B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/065Partitioned buffers, e.g. allowing multiple independent queues, bidirectional FIFO's
    • 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/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4009Coupling between buses with data restructuring
    • G06F13/4018Coupling between buses with data restructuring with data-width conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/16Multiplexed systems, i.e. using two or more similar devices which are alternately accessed for enqueue and dequeue operations, e.g. ping-pong buffers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Bus Control (AREA)

Abstract

PURPOSE: A FIFO(First In First Out) device having the variable I/O width is provided to possess the variable data I/O width capable of independently controlling the data I/O width and to facilitate an interface between systems without an additional circuit and part. CONSTITUTION: The device comprises a FIFO(30) having a variable I/O width, a data input controller(20) converting the system bus width of input part into the width of FIFO bus, a data output controller(40) converting the width of FIFO bus into the system bus width of output part, a mode controller(50) controlling the width selection of FIFO I/O data and the operation for each bite, and a flag generator(60) displaying the internal state of FIFO. The mode controller is equipped with an input control counter, an output control counter, an input mode controller connecting to the input counter, an output mode controller connecting to the output counter.

Description

가변 입출력 폭을 갖는 선입선출 장치(Apparatus of First In First Out with Variable Input/Output Width and Depth)Apparatus of First In First Out with Variable Input / Output Width and Depth

본 발명은 데이터 인터페이스 장치에 관한 것으로, 특히 데이터의 입출력 폭을 독자적으로 조절이 가능하도록 하여 서로 다른 데이터 버스 폭을 갖는 시스템간의 인터페이스를 용이하게 할 수 있는 가변 입출력 폭을 갖는 선입선출(First In First Out; FIFO) 장치에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data interface device. In particular, first in first having a variable input / output width that enables an interface between systems having different data bus widths to be easily adjusted by independently controlling the input / output width of data. Out (FIFO) device.

일반적으로, 두 시스템 간의 데이터 인터페이스 방식으로 선입선출 방식이 주로 사용되고 있다. 종래의 선입선출 방식의 인터페이스 장치는 데이터 버스 폭이 다른 두 시스템간의 인터페이스를 위하여 버스 폭의 차이를 조절하기 위해 부가적으로 버퍼와 타이밍 제어회로를 필요로 하였다.In general, a first-in first-out method is mainly used as a data interface method between two systems. Conventional first-in, first-out interface apparatus requires an additional buffer and timing control circuit to adjust the difference in bus width for an interface between two systems having different data bus widths.

도1은 데이터 버스 폭이 다른 두 시스템을 인터페이스 하는 선입선출 장치를 예를 들어 도시한 회로도이다. 도1의 선입선출 장치는 16비트 시스템(2)에 접속된 16비트 FIFO(4)와, FIFO(4)에 공통접속된 8비트 버퍼(6) 및 8비트 래치(8)와, 버퍼(6) 및 래치(8)에 각각 접속된 3상(Three-state) 버퍼(12, 14)와, 래치(8)와 3상 버퍼(12, 14) 및 FIFO(4)에 접속된 버퍼 제어부(10)와, 3상 버퍼(12, 14)에 공통 접속되고 버퍼 제어부(10)에 접속된 8비트 시스템(16)을 구비한다.1 is a circuit diagram showing an example of a first-in, first-out device for interfacing two systems having different data bus widths. The first-in, first-out device of Fig. 1 includes a 16-bit FIFO 4 connected to a 16-bit system 2, an 8-bit buffer 6 and an 8-bit latch 8 commonly connected to the FIFO 4, and a buffer 6 And three-phase buffers 12 and 14 connected to the latch 8 and the buffer 8, respectively, and a buffer control unit 10 connected to the latch 8, three-phase buffers 12 and 14 and the FIFO 4, respectively. ) And an 8-bit system 16 commonly connected to the three-phase buffers 12 and 14 and connected to the buffer control unit 10.

도2는 상기 도1에 도시된 선입선출 장치의 동작 타이밍도를 도시한 것이다.FIG. 2 shows an operation timing diagram of the first-in first-out device shown in FIG.

도1의 FIF0 장치에서 16비트 시스템(2)은 FIFO(4)로부터 입력되는 풀 풀래그(full-flag)를 체크하여 데이터를 전송한다. 상세히 하면, 16비트 시스템(2)은 FIFO(4)로부터 로우상태의 풀 플래그 신호(full_flag)가 입력되는 경우, 즉 FIFO(4)가 낫 풀(Not Full) 상태인 경우 T1 시점에서 라이트 이네이블 신호(wen)를 인가하고 16비트 데이터(FDI)를 전송한다.In the FIF0 device of FIG. 1, the 16-bit system 2 checks the full-flag input from the FIFO 4 and transmits data. In detail, the 16-bit system 2 enables the write enable at the time T1 when the full flag signal full_flag in the low state is input from the FIFO 4, that is, when the FIFO 4 is not full. Apply a signal wen and transmit 16-bit data (FDI).

FIFO(4)는 데이터 버스를 통하여 입력되는 16비트 데이터(FDI)를 저장하고, T2 시점에서 앰티 플래그(empty_flag)를 낫 앰티(Not Empty)로 세팅한다. 8비트 시스템(16)은 FIFO(4)의 앰티 플래그(empty_flag)를 체크하여 낫 앰티 상태인 경우, 즉 로우상태의 앰티 플래그(empty_flag) 신호가 입력되는 경우 T3 시점에서 리드 이네이블(Read Enable) 신호(ren)를 버퍼 제어부(1O)로 출력한다. 이어서, 버퍼 제어부(10)는 아웃 이네이블(Out Enable) 신호(oen)를 FIFO(4)로 인가하여 FIFO(4)로부터 16비트 데이터가 출력되도록 한다. 그리고, 버퍼 제어부(10)는 래치 이네이블(Latch Enable) 신호(lat_en)를 8비트 래치(8)에 인가하여 FIFO(4)로부터 데이터 버스를 통하여 출력되는 16비트 데이터(FDO) 중에서 상위 8비트 데이터를 8비트 래치(8)에 저장하고, 하위 8비트 데이터는 8비트 버퍼(6)로 통과시킨다.The FIFO 4 stores the 16-bit data FDI input through the data bus, and sets the empty flag (empty_flag) to Not Empty at the time T2. The 8-bit system 16 checks the empty flag (empty_flag) of the FIFO 4 to read enable at the time T3 when the sick empty state is input, that is, when the low empty empty flag signal is input. The signal ren is output to the buffer control unit 10. Subsequently, the buffer controller 10 applies an out enable signal oen to the FIFO 4 so that 16-bit data is output from the FIFO 4. The buffer controller 10 applies a latch enable signal lat_en to the 8-bit latch 8 so that the upper 8 bits of the 16-bit data FDO output from the FIFO 4 through the data bus. Data is stored in the 8-bit latch 8, and the lower 8-bit data is passed through the 8-bit buffer 6.

그리고, 버퍼 제어부(1O)는 상기 첫번째 리드 이네이블 신호(ren)의 인가에 의해 우수 바이트 이네이블(Even Byte Enable) 신호(ev_en)를 3상 제1버퍼(12)로 인가하여 하위 8비트 데이터(BFDL)를 8비트 시스템(16)으로 전송시킨다. 또한, 버퍼 제어부(10)는 T4 시점에서 인가되는 두번째 리드 이네이블 신호(ren)에 의해 기수 바이트 이네이블(Odd Byte Enable) 신호(od-en)를 제2버퍼(14)로 출력하여 래치(8)에 저장된 상위 8비트의 데이터(BFDH)가 8비트 시스템(16)으로 인가되도록 한다.Then, the buffer controller 10 applies the even byte enable signal ev_en to the three-phase first buffer 12 by applying the first read enable signal ren to lower 8-bit data. (BFDL) is sent to the 8-bit system 16. In addition, the buffer controller 10 outputs an odd byte enable signal od-en to the second buffer 14 by the second read enable signal ren applied at the time T4. The upper 8-bit data BFDH stored in 8) is applied to the 8-bit system 16.

이와 같이, 종래의 FlFO 장치는 버스 폭이 다른 두 시스템 간을 인터페이스하는 경우 버스 폭의 차이를 조절하기 위해 버퍼와 타이밍 제어회로가 부가적으로 필요하였다. 이에 따라, FIFO 메이커(Maker) 측면에서 볼 때 8비트, 16비트, 32비트 등 각각의 버스 폭에 따른 FIFO 칩을 별도로 생산해야 하므로 칩의 생산라인과 공정이 복잡한 단점이 있다.As such, the conventional FlFO device additionally needs a buffer and a timing control circuit to adjust the difference in bus width when interfacing between two systems having different bus widths. Accordingly, in terms of the FIFO maker, the production line and process of the chip are complicated because the FIFO chips according to the bus widths, such as 8 bits, 16 bits, and 32 bits, must be produced separately.

따라서, 본 발명의 목적은 데이터의 입출력 폭을 독자적으로 조절할 수 있는 가변 입출력 폭을 갖는 선입선출 장치를 제공하는 것이다.Accordingly, it is an object of the present invention to provide a first-in first-out apparatus having a variable input / output width that can independently adjust the input / output width of data.

본 발명의 다른 목적은 입출력 폭을 독자적으로 조절하므로써, 부가적인 회로 및 부품이 필요 없이 시스템 간의 인터페이스를 용이하게 할 수 있는 가변 입출력 폭을 갖는 선입선출 장치를 제공하는 것이다.Another object of the present invention is to provide a first-in, first-out apparatus having a variable input / output width that can easily interface between systems without requiring additional circuits and components by independently adjusting the input / output width.

본 발명의 또 다른 목적은 같은 용량의 FIFO 칩을 다수개 구비하여 입출력 폭을 조절하므로써, 생산라인과 공정을 단일화시킬 수 있는 가변 입출력 폭을 갖는 선입선출 장치를 제공하는 것이다.It is still another object of the present invention to provide a first-in, first-out device having a variable input / output width capable of unifying a production line and a process by adjusting the input / output width by providing a plurality of FIFO chips having the same capacity.

도1은 두 시스템에 접속된 종래의 선입선출 장치를 도시한 회로도.1 is a circuit diagram showing a conventional first-in, first-out device connected to two systems.

도2는 도1에 도시된 선입선출 장치의 동작 타이밍도.FIG. 2 is an operation timing diagram of the first-in first-out device shown in FIG.

도3은 본 발명에 따른 가변 입출력 폭을 갖는 선입선출 장치를 도시한 블록도.3 is a block diagram showing a first-in, first-out apparatus with a variable input / output width according to the present invention.

도4는 도3의 데이터 입력 제어부와 모드제어부를 도시한 도면.4 is a diagram illustrating a data input controller and a mode controller of FIG. 3;

도5는 도3의 데이터 출력 제어부와 모드제어부를 도시한 도면.FIG. 5 is a view showing a data output controller and a mode controller of FIG. 3; FIG.

도6는 도3의 모드 제어부를 상세히 도시한 도면.FIG. 6 is a detailed view of the mode control unit of FIG. 3; FIG.

도7은 도3의 플래그 발생부를 도시한 도면.FIG. 7 is a view showing a flag generator of FIG. 3; FIG.

도8은 도3의 모드 제어부의 출력모드에 따른 선입선출 장치의 동작 타이밍도.8 is an operation timing diagram of a first-in, first-out device according to the output mode of the mode control unit of FIG.

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

20 : 데이터 입력 제어부 22, 24, 26 : 제1 내지 제3 입력먹스20: data input control unit 22, 24, 26: first to third input mux

30 : FIFO 40 : 데이터 출력 제어부30: FIFO 40: data output control unit

42, 44 : 제1 및 제2 출력먹스 50 : 모드 제어부42, 44: first and second output mux 50: mode control unit

52 : 입력제어 카운터 54 : 입력모드 제어부52: input control counter 54: input mode control unit

56 : 출력제어 카운터 58 : 출력모드 제어부56: output control counter 58: output mode control unit

60 : 플래그 발생부60: flag generator

상기 목적을 달성하기 위하여, 본 발명에 따른 가변 입출력 폭을 갖는 선입선출 장치는 버스 폭이 다른 두 시스템간을 인터페이스하기 위한 선입선출 수단과, 입력측 시스템의 데이터 폭을 선입선출 수단의 데이터 폭으로 변환시키기 위한 데이터 입력 제어수단과, 선입선출 수단의 데이터 폭을 출력측의 시스템의 데이터 폭으로 변환시키기 위한 데이터 출력 제어수단과, 버스 폭이 다른 두 시스템으로부터 입력되는 모드신호에 따라 데이터 입력 및 출력 수단의 데이터 폭을 선택하고, 그 모드 신호에 따라 선입선출 수단의 바이트 별 동작을 제어하기 위한 모드 제어수단을 구비하는 것을 특징으로 한다.In order to achieve the above object, the first-in first-out device having the variable input / output width according to the present invention converts the first-in first-out means for interfacing between two systems having different bus widths, and the data width of the input-side system into the data width of the first-in first-out means. Data input control means for converting the data width of the first-in first-out means to the data width of the system on the output side, and data input and output means according to the mode signals input from two systems having different bus widths. And a mode control means for selecting the data width and controlling the byte-by-byte operation of the first-in first-out means in accordance with the mode signal.

상기 목적 외에 본 발명의 다른 목적 및 이점들은 첨부 도면을 참조한 본 발명의 바람직한 실시예에 대한 설명을 통하여 명백하게 드러나게 될 것이다.Other objects and advantages of the present invention in addition to the above object will become apparent from the description of the preferred embodiment of the present invention with reference to the accompanying drawings.

이하, 본 발명의 바람직한 실시예를 도3 내지 도8을 참조하여 상세하게 설명하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to FIGS. 3 to 8.

도3은 본 발명에 따른 가변 입출력 폭을 갖는 선입선출 장치의 구성을 도시한 회로도이다. 도3의 가변 입출력 폭을 갖는 선입선출 장치는 FIFO(30)와, 입력측의 시스템 버스 폭을 FIFO(30)의 버스 폭으로 변환시키는 데이터 입력 제어부(20)와, FIFO(30)의의 버스 폭을 출력측의 시스템 버스 폭으로 변환하는 데이터 출력 제어부(40)와, FIFO(30)의 입출력 데이터 폭의 선택과 바이트 별 동작을 조절하는 모드 제어부(50)와, FIFO(30)의 내부 상태를 나타내는 플래그 발생기(60)를 구비한다.3 is a circuit diagram showing the configuration of a first-in, first-out device having a variable input / output width according to the present invention. The first-in, first-out device having the variable input / output width of FIG. A flag indicating the internal state of the FIFO 30, the data output control unit 40 for converting to the system bus width on the output side, the mode control unit 50 for adjusting the input / output data width of the FIFO 30, and the operation for each byte. The generator 60 is provided.

도3의 데이터입력 제어부(20)는 입력 측의 시스템 버스 폭을 FIFO(30)의 32비트 버스 폭으로 변환시키는 역할을 한다. 데이터입력 제어부(20)는 도4에 도시된 바와 같이 모드 제어부(50)로부터 인가되는 입력셀렉트신호(ISEL)에 따라 데이터입력버스(DIN)로부터 입력되는 데이터를 각 바이트 별로 제1 내지 제4 FIFO 입력 버스(FI0, FI1, FI2, FI3)로 출력한다. 여기서, 모드제어부(50)로부터 인가되는 입력셀렉트신호(ISEL)는 입력측의 시스템으로부터 인가되는 입력모드(IMODE)에 대응하는 신호로써, 데이터입력 제어부(20)의 입력 데이터 폭은 입력측 시스템으로부터 인가되는 입력모드(IMODE)에 따라 설정됨을 알 수 있다. 32비트 데이터입력버스(DIN[31:0])는 도3에 도시된 바와 같이 순차적인 어드레스를 갖는 8비트의 제1 내지 제4 데이터 입력버스(DIN[7:0], DIN[15:8], DIN[23:16], DIN[31:24])로 분류하여 나타낼 수 있다. 그리고, 데이터 입력 제어부(20)는 데이터입력버스(DIN[7:0], DIN[15:8], DIN[23:16], DIN[31:24]) 각각을 입력셀렉트신호(ISEL)에 따라 선택하여 제1 내지 제4 FIFO 입력버스(FI0, FI1, FI2, FI3)에 각각에 접속시키는 제1 내지 제3 입력 멀티플렉서(이하, 먹스(MUX)라 한다; 22, 24, 26)를 구비한다.The data input controller 20 of FIG. 3 converts the system bus width of the input side to the 32-bit bus width of the FIFO 30. As illustrated in FIG. 4, the data input control unit 20 receives data input from the data input bus DIN according to the input select signal ISEL applied from the mode control unit 50, for each byte, from the first to fourth FIFOs. Output to the input buses FI0, FI1, FI2, and FI3. Here, the input select signal ISEL applied from the mode controller 50 is a signal corresponding to the input mode IMODE applied from the system on the input side, and the input data width of the data input controller 20 is applied from the input side system. It can be seen that it is set according to the input mode (IMODE). The 32-bit data input bus DIN [31: 0] is an 8-bit first to fourth data input bus DIN [7: 0], DIN [15: 8] having a sequential address as shown in FIG. ], DIN [23:16], DIN [31:24]). Then, the data input control unit 20 assigns each of the data input buses DIN [7: 0], DIN [15: 8], DIN [23:16], DIN [31:24] to the input select signal ISEL. And first to third input multiplexers (hereinafter referred to as MUXs) that are selected accordingly and connected to the first to fourth FIFO input buses FI0, FI1, FI2, and FI3, respectively. do.

상세히 하면, 입력 데이터 폭이 32비트인 경우 데이터 입력 제어부(20)는 32비트 입력 데이터를 각 바이트 별로 제1 내지 제4 FIFO 입력버스(FI0, FI1, FI2, FI3)로 출력한다. 다시 말하여, 모드제어부(50)는 입력측 시스템으로부터 32비트 입력모드(IMODE[1:0]=1O)가 인가되는 경우 이에 대응하는 입력셀렉트신호(ISEL[1:0]=10)를 데이터입력제어부(20)의 제1 내지 제3 입력먹스(22, 24, 26)로 출력한다. 이에 따라, 제1 내지 제3 입력먹스(22, 24, 26)는 제2 내지 제4 데이터 입력버스(DIN[15:8], DIN[23:16], DIN[31:24])를 각각 제2 내지 제4 FOFO 입력버스(FI1, FI2, FI3)에 접속시키게 된다.In detail, when the input data width is 32 bits, the data input control unit 20 outputs 32 bits of input data to the first to fourth FIFO input buses FI0, FI1, FI2, and FI3 for each byte. In other words, when the 32-bit input mode IMODE [1: 0] = 1O is applied from the input side system, the mode controller 50 inputs the input select signal ISEL [1: 0] = 10 corresponding thereto. Output to the first to third input mux 22, 24, 26 of the control unit 20. Accordingly, the first to third input muxes 22, 24, and 26 respectively select the second to fourth data input buses DIN [15: 8], DIN [23:16], and DIN [31:24]. The second to fourth FOFO input buses FI1, FI2, and FI3 are connected.

한편, 입력 데이터 폭이 16비트인 경우 데이터 입력 제어부(20)는 하위 16비트의 데이터입력버스(DIN[15:0])를 통하여 입력되는 16비트 데이터를 제1 및 제2 FIFO 입력버스(FI0, FI1)와 제3 및 제4 FIFO 입력버스(FI2, RI3)로 출력한다. 여기서, 상위 16비트의 데이터입력버스(DIN[31:16])는 사용되지 않는다. 다시 말하여, 모드제어부(50)는 입력측 시스템으로부터 16비트 입력모드(IMODE[1:0]=01)가 인가되는 경우 이에 대응하는 입력셀렉트신호(ISEL[1:0]=01)를 데이터입력제어부(20)로 출력한다. 이에 따라, 제1 입력머스(22)는 제2 데이터입력버스(DIN[15:8])를 제2 FIFO 입력버스(FI1)로 접속시키고, 제2 및 제3 입력먹스(24, 26)는 제1 및 제2 데이터입력버스(DIN[7:0], DIN[15:8])를 제3 및 제4 FIFO 입력버스(FI2, FI3)에 접속시킨다.On the other hand, when the input data width is 16 bits, the data input control unit 20 receives the 16-bit data input through the lower 16-bit data input bus DIN [15: 0] from the first and second FIFO input buses FI0. , FI1 and the third and fourth FIFO input buses FI2 and RI3. Here, the data input bus DIN [31:16] of the upper 16 bits is not used. In other words, when the 16-bit input mode IMODE [1: 0] = 01 is applied from the input system, the mode controller 50 inputs the input select signal ISEL [1: 0] = 01 corresponding thereto. Output to the control unit 20. Accordingly, the first input mus 22 connects the second data input bus DIN [15: 8] to the second FIFO input bus FI1, and the second and third input muxes 24 and 26 are connected. The first and second data input buses DIN [7: 0], DIN [15: 8] are connected to the third and fourth FIFO input buses FI2, FI3.

마찬가지로, 입력 데이터 폭이 8비트인 경우 데이터 입력 제어부(20)는 최하위 8비트의 데이터 입력버스(DIN[7:0])를 통하여 입력되는 8비트 데이터를 제1 내지 제4 FIFO 입력버스(FI0, FI1, FI2, FI3) 각각에 출력한다. 여기서, 상위 24비트의 데이터 입력버스(DIN[31:8])는 사용되지 않는다. 다시 말하여, 모드제어부(50)는 입력측 시스템으로부터 8비트 입력모드(IMODE[1:0]=00)가 인가되면 이에 대응하는 입력셀렉트신호(ISEL[1:0]=00)를 데이터입력제어부(20)로 출력한다. 이에 따라, 제1 내지 제3 입력먹스(22, 24, 26)는 제1 데이터입력버스(DIN[7:0])를 제2 내지 제4 FIFO 출력버스(FI1, FI2, FI3) 각각에 접속시킨다.Similarly, when the input data width is 8 bits, the data input control unit 20 receives 8-bit data input through the least significant 8-bit data input bus DIN [7: 0], respectively, from the first to fourth FIFO input buses FI0. , FI1, FI2, and FI3). Here, the data input bus DIN [31: 8] of the upper 24 bits is not used. In other words, when the 8-bit input mode IMODE [1: 0] = 00 is applied from the input side system, the mode controller 50 outputs the corresponding input select signal ISEL [1: 0] = 00. Output to (20). Accordingly, the first to third input muxes 22, 24, and 26 connect the first data input bus DIN [7: 0] to each of the second to fourth FIFO output buses FI1, FI2, and FI3. Let's do it.

도3의 데이터 출력 제어부(40)는 32비트의 FIFO의 출력버스 폭을 출력측의 시스템 버스폭으로 변환하는 역할을 한다. 이는 도5에 도시된 바와 같이 제1 내지 제4 FIFO 출력버스(FO0, FO1, FO2, FO3)로부터 각각 입력되는 32비트 데이터를 모드 제어부(50)로부터 인가되는 출력 셀렉트 신호(OSEL)에 따라 데이터출력버스(DOUT[31:0])로 출력한다. 여기서, 모드제어부(50)로부터 인가되는 출력셀렉트 신호(OSEL)는 출력측의 시스템으로부터 인가되는 출력모드(IMODE)에 대응하는 신호로써, 데이터 출력 제어부(40)의 출력 데이터 폭은 출력모드(OMODE)에 따라 결정됨을 알 수 있다. 32비트 데이터출력버스(DOUT[31:0])는 도2에 도시된 바와 같이 순차적인 어드레스를 갖는 4개의 8비트 데이터출력버스(DOUT[7:0], DOUT[15:8], DOUT[23:16], DOUT[31:24])로 분류하여 나타낼 수 있다. 그리고, 데이터 출럭 제어부(40)는 제1 내지 제4 FIFO 출력버스(FO0, FO1, F02, FO3) 각각을 출력셀렉트신호(OSEL)에 따라 선택하여 제1 및 제2 데이터출력버스(DOUT[7:0], DOUT[15:8]) 각각에 접속시키는 제1 및 제2 출력먹스(42,44)를 구비한다.The data output control unit 40 in FIG. 3 converts the output bus width of the 32-bit FIFO into the system bus width on the output side. As shown in FIG. 5, the 32-bit data input from the first to fourth FIFO output buses FO0, FO1, FO2, and FO3 are respectively converted according to the output select signal OSEL applied from the mode controller 50. Output to the output bus (DOUT [31: 0]). Here, the output select signal OSEL applied from the mode control unit 50 is a signal corresponding to the output mode IMODE applied from the system on the output side, and the output data width of the data output control unit 40 is the output mode OMODE. It can be seen that depends on. The 32-bit data output buses DOUT [31: 0] have four 8-bit data output buses DOUT [7: 0], DOUT [15: 8], and DOUT [with sequential addresses as shown in FIG. 23:16], DOUT [31:24]). The data output control unit 40 selects each of the first to fourth FIFO output buses FO0, FO1, F02, and FO3 according to the output select signal OSEL, thereby allowing the first and second data output buses DOUT [7]. : 0] and DOUT [15: 8]) and first and second output muxes 42 and 44 respectively.

상세히 하면, 출력 데이터 폭이 32비트인 경우 데이터 출력 제어부(40)는 제1 내지 제4 FIFO 출력버스(FO0, FO1, FO2, FO3)를 통해 입력되는 32비트 데이터를 32비트 데이터출력버스(DOUT[31:0])로 출력한다. 이때, 출력카운트(OCNT) 값은 무시되는데, 이 출력카운트(OCNT)는 모드제어부(50)로부터 입력되는 것으로 후술하기로 한다. 다시 말하여, 모드제어부(50)는 출력측 시스템으로부터 32비트 출력모드(OMODE[1:0]=1O)가 인가되는 경우 이에 대응하는 출력셀렉트신호(OSEL[1:0]=10)를 데이터출력제어부(40)의 제1 및 제2 출력먹스(42, 44)로 출력한다. 이에 따라, 제1 및 제2 출력먹스(42, 44)는 제1 및 제2 FIFO 출력버스(FOO, F01) 각각을 제1 및 제2 데이터출력버스(DOUT[7:0], DOUT[15:8]) 각각에 접속시킨다.In detail, when the output data width is 32 bits, the data output control unit 40 receives the 32 bit data input through the first to fourth FIFO output buses FO0, FO1, FO2, and FO3 from the 32 bit data output bus DOUT. [31: 0]). At this time, the output count (OCNT) value is ignored, the output count (OCNT) is input from the mode control unit 50 will be described later. In other words, when the 32-bit output mode OMODE [1: 0] = 1O is applied from the output side system, the mode control unit 50 outputs an output select signal OSEL [1: 0] = 10 corresponding thereto. Output to the first and second output mux (42, 44) of the control unit 40. Accordingly, the first and second output muxes 42 and 44 respectively connect the first and second FIFO output buses FOO and F01 to the first and second data output buses DOUT [7: 0] and DOUT [15]. : 8]) to each of them.

한편, 출력 데이터 폭이 16비트인 경우 데이터 출력 제어부(40)는 제4 및 제3 FIFO 출력버스(F03, F02)를 통한 16비트 데이터와, 제2 및 제1 FIFO 출력버스(F01, F00)를 통해 입력되는 16비트 데이터를 출력카운트(OCNT) 값에 따라 교번적으로 선택하여 하위 16비트 데이터출력버스(DOUT[15:0])으로 출력한다. 다시 말하여, 모드제어부(50)는 출력측 시스템으로부터 16비트 출력모드(OMODE[1:0]=01)가 인가되는 경우 이에 대응하는 출력셀렉트신호(OSEL[1:0]=01)를 데이터출력제어부(40)의 제1 및 제2 출력먹스(42, 44)로 출력한다. 동시에 모드제어부(50)는 출력카운트(OCNT) 값을 제1 및 제2 출력먹스(42, 44)로 출력한다. 출력카운트(OCNT) 값이 짝수값인 경우 제1 및 제2 출력먹스(42, 44)는 제3 및 제4 FIFO 출력버스(FO2, FO3) 각각을 제1 및 제2 데이터출력버스(DOUT[7:0], DOUT[15:8]) 각각에 접속시킨다. 또한, 출력카운트(OCNT) 값이 홀수값인 경우 제1 및 제2 출력먹스(42, 44)는 제1 및 제2 FIFO 출력버스(F00, F01) 각각을 제1 및 제2 데이터출력버스(DOUT[7:0], DOUT[15:8]) 각각에 접속시킨다.On the other hand, when the output data width is 16 bits, the data output control unit 40 may use 16-bit data through the fourth and third FIFO output buses F03 and F02, and the second and first FIFO output buses F01 and F00. 16-bit data inputted through is alternately selected according to the output count (OCNT) value and output to the lower 16-bit data output bus (DOUT [15: 0]). In other words, when the 16-bit output mode OMODE [1: 0] = 01 is applied from the output side system, the mode controller 50 outputs an output select signal OSEL [1: 0] = 01 corresponding thereto. Output to the first and second output mux (42, 44) of the control unit 40. At the same time, the mode controller 50 outputs the output count (OCNT) to the first and second output muxes 42 and 44. When the output count value OCNT is an even value, the first and second output muxes 42 and 44 respectively connect the third and fourth FIFO output buses FO2 and FO3 to the first and second data output buses DOUT [. 7: 0] and DOUT [15: 8]). In addition, when the output count value OCNT is an odd value, the first and second output muxes 42 and 44 may connect the first and second FIFO output buses F00 and F01 to the first and second data output buses, respectively. DOUT [7: 0], DOUT [15: 8]) respectively.

출력 데이터 폭이 8비트인 경우 데이터 출력 제어부(40)는 제4 내지 제1 FIFO 출력버스(F03, F02, F01, F00) 각각을 통해 입력되는 8비트 데이터를 출력카운트(OCNT) 값에 따라 순차적으로 선택하여 최하위 8비트 데이터출력버스(DOUT[7:0])로 출력한다. 다시 말하여, 모드제어부(50)는 출력측 시스템으로부터 8비트 출력모드(OMODE[1:0]=00)가 인가되는 경우 이에 대응하는 출력셀렉트신호(OSEL[1:0]=O0)와 출력카운트(OCNT) 값을 데이터출력제어부(40)의 제1 출력먹스(42)로 출력한다. 이에 따라, 제1 출력먹스(42)는 제4 내지 제1 FIFO 출력버스(FO3, FO2, FO1, FO0) 각각을 출력카운트(OCNT) 값에 따라 제1 데이터출력버스(DOUT[7:0])에 순차적으로 접속시킨다When the output data width is 8 bits, the data output control unit 40 sequentially processes 8-bit data input through each of the fourth to first FIFO output buses F03, F02, F01, and F00 according to the output count value OCNT. Select to output to the lowest 8-bit data output bus (DOUT [7: 0]). In other words, when the 8-bit output mode OMODE [1: 0] = 00 is applied from the output side system, the mode controller 50 outputs the corresponding output select signal OSEL [1: 0] = O0 and the output count. (OCNT) is output to the first output mux 42 of the data output controller 40. Accordingly, the first output mux 42 outputs each of the fourth to first FIFO output buses FO3, FO2, FO1, and FO0 according to the output count value OCNT. ) Sequentially

도3의 FIFO(30)는 8비트 단위의 데이터를 저장하는 제1 내지 제4 FIFO(32, 34, 36, 38)로 구성된다. 제1 내지 제4 FIFO(32, 34, 36, 38)는 각각은 제1 내지 제4 FIFO 입력버스(FI0, FI1, FI2, FI3) 및 출력버스(FO0, FO1, FO2, FO3) 각각에 접속되고, 모드 제어부(50)로부터 각각에 인가되는 라이트 이네이블 신호(WE)와 리드 이네이블 신호(RE)에 의해서 데이터를 저장하거나 출력된다.The FIFO 30 of FIG. 3 includes first to fourth FIFOs 32, 34, 36, and 38 for storing data in 8-bit units. The first to fourth FIFOs 32, 34, 36 and 38 are respectively connected to the first to fourth FIFO input buses FI0, FI1, FI2 and FI3 and the output buses FO0, FO1, FO2 and FO3, respectively. The data is stored or output by the write enable signal WE and the read enable signal RE applied from the mode controller 50 to each.

도3의 모드 제어부(50)는 FIFO의 입출력 데이터 폭의 선택과 바이트별 동작을 조절하는 역할을 한다. 이를 위하여, 모드 제어부(50)는 도6에 도시된 바와 같이 입력제어 카운터(52) 및 출력제어 카운터(56)와, 입력제어 카운터(52)에 접속된 입력모드 제어부(54)와, 출력제어 카운터(56)에 접속된 출력모드 제어부(58)를 구비한다.The mode controller 50 of FIG. 3 plays a role of selecting the input / output data width of the FIFO and adjusting the operation of each byte. To this end, the mode controller 50 includes an input control counter 52 and an output control counter 56, an input mode controller 54 connected to the input control counter 52, and an output control as shown in FIG. An output mode control unit 58 connected to the counter 56 is provided.

도6의 모드 제어부(50)에서 입력제어 카운터(52)는 외부로부터 펄스 형태로 입력되는 쓰기신호(WR)에 따라 카운트 값을 증가시켜 입력모드 제어부(54)로 출력한다. 여기서, 입력제어 카운터(52)는 쓰기신호(WR)의 하강에지부(Falling_edge)마다 카운트 값을 1씩 증가시키고 4까지 카운트하고 클리어된다. 입력모드 제어부(54)는 데이터입력 제어부(20)의 제1 내지 제3 입력먹스(22, 24, 26)를 제어하는 입력셀렉트(ISEL) 신호와 FIFO(30)의 라이트 이네이블(WE) 신호를 발생시키는 역할을 한다. 입력모드 제어부(54)는 입력제어 카운터(54)로부터 입력되는 카운트 값에 따라 제1 내지 제4 라이트 이네이블(WE[3:0]) 신호를 발생하여 상기 제1 내지 제4 FIFO(32, 34, 36, 38)에 바이트 별로 데이터가 기록되도록 한다.In the mode controller 50 of FIG. 6, the input control counter 52 increases the count value according to the write signal WR input from the outside in the form of a pulse and outputs the count value to the input mode controller 54. Here, the input control counter 52 increments the count value by 1 for each falling edge portion (Falling_edge) of the write signal WR, counts up to 4, and clears it. The input mode control unit 54 controls an input select (ISEL) signal for controlling the first to third input muxes 22, 24, and 26 of the data input control unit 20 and a write enable signal for the FIFO 30. It serves to generate. The input mode controller 54 generates the first to fourth write enable signals WE [3: 0] according to the count value input from the input control counter 54 to generate the first to fourth FIFOs 32,. 34, 36, and 38) to record data for each byte.

이를 상세히 하면, 도8a에 도시된 바와 같이 입력측의 시스템으로부터 32비트 입력모드가 인가되는 경우 입력모드 제어부(54)는 매번 라이트(WR) 신호가 발생될 때마다, 즉 입력제어 카운터(52)의 값이 출력될 때마다 라이트 이네이블(WE[3:0]) 신호 모두를 제1 내지 제4 FIFO(32, 34, 36, 38)의 라이트 포인터(Write Pointer)에 인가한다. 이에 따라, 제1 내지 제4 FIFO(32, 34, 36, 38)는 각각의 입력버스(FI0, FI1, FI2, FI3)를 통하여 입력되는 1바이트 단위의 데이터를 동시에 저장하므로 FIFO는 총 4바이트(32비트)의 데이터를 저장하게 된다.In detail, when the 32-bit input mode is applied from the system on the input side as shown in FIG. 8A, the input mode control unit 54 generates an input control counter 52 each time a write signal WR is generated. Each time a value is output, all of the write enable signals WE [3: 0] are applied to the write pointers of the first to fourth FIFOs 32, 34, 36, and 38. Accordingly, since the first to fourth FIFOs 32, 34, 36, and 38 simultaneously store data of 1 byte unit input through the respective input buses FI0, FI1, FI2, and FI3, the FIFO is 4 bytes in total. (32-bit) data will be stored.

도8b에 도시된 바와 같이 16비트 입력모드가 인가되는 경우 입력모드 제어부(54)는 입력제어 카운터(52)에서 짝수값이 출력되면, 즉 짝수번째 라이트(WR) 신호가 발생하면 하위 반워드(Lower half word)에 해당하는 제1 및 제2 라이트 이네이블(WE[1], WE[0]) 신호를 제1 및 제2 FIFO(32, 34)의 라이트 포인터에 인가한다. 마찬가지로, 입력제어 카운터(52)로부터 홀수값이 출력되면, 즉 홀수번재 라이트(WR) 신호가 발생하면 상위 반워드(Upper half word)에 해당하는 제3 및 제4 라이트 이네이블(WE[1], WE[0]) 신호를 제3 및 제4 FIFO(36, 38)의 라이트 포인터에 인가한다. 이에 따라, 제1 및 제2 FIFO(32, 34)와 제3 및 제4 FIFO(36, 38)는 라이트(WR) 신호가 발생함에 따라 교번적으로 16비트 데이터를 저장하게 된다.As shown in FIG. 8B, when the 16-bit input mode is applied, the input mode control unit 54 outputs a lower half word when an even value is output from the input control counter 52, that is, an even-numbered write WR signal is generated. The first and second write enable signals WE [1] and WE [0] corresponding to the lower half words are applied to the write pointers of the first and second FIFOs 32 and 34. Similarly, when the odd value is output from the input control counter 52, that is, when the odd number write signal WR is generated, the third and fourth write enable WE [1] corresponding to the upper half word. , WE [0]) is applied to the write pointers of the third and fourth FIFOs 36 and 38. Accordingly, the first and second FIFOs 32 and 34 and the third and fourth FIFOs 36 and 38 alternately store 16-bit data as the write WR signal is generated.

도8c에 도시된 바와 같이 8비트 입력모드가 인가되는 경우 입력모드 제어부(54)는 입력제어 카운터(52)의 출력값에 따라 라이트이네이블(WE[3:0]) 신호 각각을 제1 내지 제4 FIFO(32, 34, 36, 38)에 순차적으로 인가한다. 상세히 하면, 입력모드 제어부(54)는 첫번째(ICNT=0) 라이트(WR) 신호에 의해서 제1 라이트 이네이블(WE[0]) 신호를 출력하고, 두번째(ICNT=1) 라이트(WR) 신호에 의해서 제2 라이트 이네이블(WE[1])신호, 세번째(ICNT=2) 라이트(WR) 신호에 의해서 제3 라이트이네이블(WE[2]), 네번째(ICNT=3) 라이트(WR) 신호에 의해서 제4 라이트 이네이블(WE[3])를 출력한다. 이에 따라, 제1 내지 제4 FIFO(32, 34, 36, 38)는 라이트(WR) 신호가 발생함에 따라 순차적으로 8비트의 데이터를 저장하게 된다.As shown in FIG. 8C, when the 8-bit input mode is applied, the input mode control unit 54 transmits each of the write enable signals WE [3: 0] to the first through fourth signals according to the output value of the input control counter 52. The FIFOs 32, 34, 36, 38 are sequentially applied. In detail, the input mode controller 54 outputs the first write enable WE [0] signal by the first (ICNT = 0) write WR signal, and the second (ICNT = 1) write WR signal. By the second write enable (WE [1]) signal and the third (ICNT = 2) write (WR) signal by the third write enable (WE [2]) and fourth (ICNT = 3) write (WR) signals. Outputs the fourth write enable WE [3]. Accordingly, the first to fourth FIFOs 32, 34, 36, and 38 sequentially store 8-bit data as the write WR signal is generated.

도6의 모드 제어부(50)에서 출력제어 카운터(56)는 외부로부터 펄스 형태로입력되는 읽기(RD) 신호에 따라 증가된 카운트 값을 출력모드 제어부(58)와 데이터출력 제어부(40)로 출력한다. 여기서, 출력제어 카운터(56)는 읽기(RD) 신호의 하강에지부(Falling_edge)마다 카운트 값을 1씩 증가시키고 4까지 카운트하고 클리어된다. 출력모드 제어부(58)는 데이터출력 제어부(40)의 제1 및 제2 출력먹스(42, 44)를 제어하는 출력셀렉트(OSEL) 신호와 FIFO(30)의 리드 이네이블(RE) 신호를 발생시키는 역할을 한다. 출력모드 제어부(58)는 출력제어 카운터(56)로부터 입력되는 카운트 값에 따라 제1 내지 제4 리드 이네이블(RE[3:0]) 신호를 발생하므로써,상기 제1 내지 제4 FIFO(32, 34, 36, 38)로부터 바이트 별로 데이터를 읽을 수 있도록 한다.In the mode control unit 50 of FIG. 6, the output control counter 56 outputs the count value increased according to the read (RD) signal input in the form of pulse from the outside to the output mode control unit 58 and the data output control unit 40. do. Here, the output control counter 56 increases the count value by 1 for each falling edge of the read (RD) signal, counts up to 4, and clears it. The output mode controller 58 generates an output select (OSEL) signal for controlling the first and second output muxes 42 and 44 of the data output controller 40 and a read enable signal RE of the FIFO 30. It plays a role. The output mode control unit 58 generates the first to fourth read enable signals RE [3: 0] according to the count value input from the output control counter 56, thereby generating the first to fourth FIFOs 32. , Data can be read byte by byte from (34, 36, 38).

이를 상세히 하면, 도8a에 도시된 바와 같이 출력측의 시스템으로부터 32비트 출력모드(OMODE[1:0]=10)가 인가되는 경우 출력모드 제어부(58)는 매번 라이트(WR) 신호가 발생될 때마다, 즉 출력제어 카운터(56)의 값이 출력될 때마다 리드 이네이블(RE[3:0]) 신호 모두를 제1 내지 제4 FIFO(32, 34, 36, 38)의 리드 포인터(Read Pointer)에 인가한다. 결과적으로, 제1 내지 제4 FIFO(32, 34, 36, 38) 각각은 출력버스(FOO, F01, F02, F03)를 통하여 1바이트의 데이터를 동시에 출력하므로, FIFO(30)는 총 32비트의 데이터를 출력하게 된다.In detail, when the 32-bit output mode (OMODE [1: 0] = 10) is applied from the output side system as shown in FIG. 8A, the output mode control unit 58 generates a write (WR) signal every time. Every time, i.e., every time the value of the output control counter 56 is outputted, all of the read enable signals RE [3: 0] are read from the read pointers of the first to fourth FIFOs 32, 34, 36, and 38. Pointer). As a result, each of the first to fourth FIFOs 32, 34, 36, and 38 simultaneously outputs one byte of data through the output buses FOO, F01, F02, and F03, so that the FIFO 30 totally 32 bits. Will output the data.

도8b에 도시된 바와 같이 16비트 출력모드(OMODE[1:0]=01)가 인가되는 경우 출력모드 제어부(58)는 짝수번째 리드(RD) 신호가 발생할 때마다, 즉 출력제어 카운터(56)에서 짝수값이 출력될 때마다 하위 반워드(Lower half word)에 해다하는 제1 및 제2 리드 이네이블(RE[1], RE[0]) 신호를 제1 및 제2 FIFO(32, 34)의 리드 포인터에 인가한다. 마찬가지로, 홀수번째 라이트(RD) 신호가 발생할 때마다, 즉 출력제어 카운터(56)로부터 홀수값이 출력될 때마다 상위 반워드(Upper half word)에 해당하는 제3 및 제4 리드 이네이블(RE[2], RE[3]) 신호를 제3 및 제4 FIFO(36, 38)의 리드 포인터에 인가한다. 결과적으로, 제1 및 제2 FIFO(32, 34)와 제3 및 제4 FIFO(36, 38)는 리드(RD) 신호가 발생함에 따라 교번적으로 16비트 데이터를 출력하게 된다.As shown in Fig. 8B, when the 16-bit output mode OMODE [1: 0] = 01 is applied, the output mode control unit 58 generates an output control counter 56 whenever an even-numbered read signal RD occurs. Each time an even value is output from the first and second read enable signals RE [1] and RE [0], the first and second FIFOs 32, Is applied to the lead pointer of 34). Similarly, every time an odd-numbered write signal RD occurs, that is, whenever an odd value is output from the output control counter 56, the third and fourth read enable signals RE corresponding to the upper half word RE are generated. [2], RE [3]) is applied to the read pointers of the third and fourth FIFOs 36 and 38. As a result, the first and second FIFOs 32 and 34 and the third and fourth FIFOs 36 and 38 alternately output 16-bit data as the read RD signal is generated.

도8c에 도시된 바와 같이 8비트 출력모드(OMODE[1:0]=00)가 인가되는 경우 출력모드 제어부(58)는 출력제어 카운터(56)의 출력값에 따라 리드이네이블(RE[3:0]) 신호 각각을 제1 내지 제4 FIFO(32, 34, 36, 38)에 순차적으로 인가한다. 상세히 하면, 출력모드 제어부(58)는 첫번째(ICNT=0) 리드(RD) 신호에 의해서 제1 리드 이네이블(RE[0]) 신호를 출력하고, 두번째(ICNT=1) 리드(RD) 신호에 의해서 제2 리드 이네이블(RE[1])신호, 세번째(ICNT=2) 리드(RD) 신호에 의해서 제3 리드 이네이블(RE[2]), 네번째(ICNT=3) 리드(RD) 신호에 의해서 제4 리드 이네이블(RE[3])를 출력한다. 결과적으로, 제1 내지 제4 FIFO(32, 34, 36, 38)는 리드(RD) 신호가 발생함에 따라 순차적으로 8비트의 데이터를 출력하게 된다.As shown in Fig. 8C, when the 8-bit output mode OMODE [1: 0] = 00 is applied, the output mode controller 58 reads the lead enable RE [3: 0 according to the output value of the output control counter 56. ]) Is applied to the first to fourth FIFO (32, 34, 36, 38) sequentially. In detail, the output mode controller 58 outputs the first read enable signal RE [0] by the first (ICNT = 0) read RD signal, and the second (ICNT = 1) read RD signal. The second lead enable RE [1] signal and the third (ICNT = 2) lead RD signal by the third lead enable RE [2] and the fourth (ICNT = 3) lead RD The fourth lead enable RE [3] is output by the signal. As a result, the first to fourth FIFOs 32, 34, 36, and 38 sequentially output 8-bit data as the read RD signal is generated.

도3의 플래그 발생기(60)는 도7에 도시된 바와 같이 FIFO(30)의 라이트 포인터와 리드 포인터의 정보로부터 내부의 상태를 외부의 시스템(즉, 입력 및 출력측의 시스템)에 알려주는 역할을 한다. 여기서, EF(Empty Flag)는 FIFO(30)가 모두 비어있어 더 이상 읽어갈 데이터가 존재하지 않음을 나타내는 플래그로 EF=1 이면 비어있는 상태를 나타내고, EF=O 이면 비어있지 않은 상태를 나타낸다. HF(Half Flag)는 FIFO(30)가 절반 이상 기록되어 있는 상태를 나타내는 플래그로 HF=1이면 반을 초과하여 기록된 상태를 나타내고, HF=O이면 반이하로 기록된 상태를 나타낸다. FF(Full Flag)는 FIFO(30)가 가득 차서 더 이상의 데이터를 기록할 수 없음을 나타내는 플래그로 FF=1 이면 가득 찬 상태를 나타내고, FF=0이면 가득 차지 않은 상태를 나타낸다.As shown in Fig. 7, the flag generator 60 of Fig. 3 serves to inform the external system (i.e., the system on the input and output side) of the internal state from the information of the write pointer and the read pointer of the FIFO 30. do. Here, EF (Empty Flag) is a flag indicating that the FIFO 30 is all empty and there is no data to be read anymore. If EF = 1, the empty flag indicates an empty state. HF (Half Flag) is a flag indicating the state in which the FIFO 30 is recorded in more than half. HF = 1 indicates more than half the recorded state, and HF = O indicates half or less recorded state. FF (Full Flag) is a flag indicating that the FIFO 30 is full and no more data can be recorded. If FF = 1, the flag is full. If FF = 0, the flag is not full.

이상 설명한 바와 같이, 본 발명에 따른 가변 폭을 갖는 선입선출 장치는 자체에서 입력 및 출력 시스템의 버스폭의 차이를 조절하므로써, 시스템 간의 인터페이스를 용이하게 수행할 수 있다. 또한, 본 발명에 따른 가변 폭을 갖는 선입선출 장치는 바이트 단위의 FIFO 칩을 다수 구비하고 이를 버스 폭에 따라 이네이블시키므로써, 종래와 같이 버스폭에 따른 각각의 FIFO 칩을 필요로 하지 않는다. 이에 따라, 단일 FIFO 칩을 생산할 수 있으므로 생산라인과 공정을 하나로 단일화 할 수 있다.As described above, the first-in first-out device having the variable width according to the present invention can easily perform the interface between the systems by adjusting the difference in the bus width of the input and output system. In addition, the first-in, first-out device having a variable width according to the present invention includes a plurality of FIFO chips in units of bytes and enables them according to the bus width, thereby eliminating the need for each FIFO chip according to the bus width as in the prior art. As a result, a single FIFO chip can be produced, thereby unifying production lines and processes into one.

한편, 상술한 내용을 통해 당업자라면 본 발명의 기술사상을 일탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다. 따라서, 본 발명의 기술적 범위는 명세서의 상세한 설명에 기재된 내용으로 한정되는 것이 아니라 특허 청구의 범위에 의하여 정하여져야만 한다.On the other hand, it will be appreciated by those skilled in the art that various changes and modifications can be made without departing from the spirit of the present invention. Therefore, the technical scope of the present invention should not be limited to the contents described in the detailed description of the specification but should be defined by the claims.

Claims (17)

버스 폭이 다른 두 시스템 간을 인터페이스하기 위한 선입선출 수단과, 입력측 시스템의 데이터 폭을 상기 선입선출 수단의 데이터 폭으로 번환시키기 위한 데이터 입력 제어수단과, 상기 선입선출 수단의 데이터 폭을 출력측의 시스템의 데이터 폭으로 변환시키기 위한 데이터 출력 제어수단과, 상기 버스 폭이 다른 두 시스템으로부터 입력되는 모드신호에 따라 데이터 입력 및 출력 수단의 데이터 폭을 선택하고, 그 모드 신호에 따라 상기 선입선출 수단의 바이트 별 동작을 제어하기 위한 모드 제어수단을 구비하는 것을 특징으로 하는 가변 입출력 폭을 갖는 선입선출 장치.First-in, first-out means for interfacing between two systems having different bus widths, data input control means for converting the data width of the input-side system into the data width of the first-in, first-out means, and the data width of the first-in, first-out means. A data output control means for converting the data width into a data width, and selecting a data width of the data input and output means in accordance with a mode signal input from two systems having different bus widths, and byte of the first-in first-out means according to the mode signal. A first-in, first-out apparatus having a variable input / output width, comprising mode control means for controlling a respective operation. 제1항에 있어서, 상기 모드 제어수단으로부터 신호에 따라서 상기 선입선출 수단 내의 데이터 기록가능 여부를 상기 버스 폭이 다른 두 시스템에 알려주기 위한 플래그 발생수단을 추가로 구비하는 것을 특징으로 하는 가변 입출력 폭을 갖는 선입선출 장치.2. The variable input / output width according to claim 1, further comprising flag generation means for informing two systems having different bus widths whether or not data can be written in the first-in first-out means in response to a signal from the mode control means. First-in, first-out device having a. 제1항에 있어서, 상기 선입선출 수단은 바이트 단위로 동작하는 제1 내지 제4 선입선출 수단을 구비하는 것을 특징으로 하는 가변 입출력 폭을 갖는 선입선출 장치.The first-in first-out apparatus having a variable input / output width according to claim 1, wherein the first-in first-out means comprises first to fourth first-in, first-out means operating in byte units. 제1항에 있어서, 상기 데이터 입력 제어수단은 상기 버스 폭이 다른 두 시스템 중 입력측 시스템으로부터 입력되는 데이터를 상기 모드 제어수단의 입력 셀렉트신호에 따라 바이트 단위로 선택하여 상기 제2 내지 제4 선입선출 수단 각각의 입력버스로 출력하기 위한 제1 내지 제3 멀티플렉서를 구비하는 것을 특징으로 하는 가변 입출력 폭을 갖는 선입선출 장치.The method of claim 1, wherein the data input control means selects data input from an input side system among two systems having different bus widths in byte units according to an input select signal of the mode control means, and the second to fourth first-in-first-out. A first-in, first-out apparatus having a variable input / output width, comprising first to third multiplexers for outputting to each input bus of the means. 제4항에 있어서, 상기 입력셀렉트 신호는 상기 버스 폭이 다른 두 시스템 중 입력측 시스템으로부터 상기 모드 제어수단으로 입력된 입력모드 신호에 대응하는 신호인 것을 특징으로 하는 가변 입출력 폭을 갖는 선입선출 장치.The first-in first-out apparatus having a variable input / output width according to claim 4, wherein the input select signal is a signal corresponding to an input mode signal input from the input side system to the mode control means among two systems having different bus widths. 제4항에 있어서, 상기 버스 폭이 다른 두 시스템 중 입력측 시스템으로부터 입력되는 최하위의 1바이트는 그대로 상기 제1 선입선출 수단의 입력버스로 출력되는 것을 특징으로 하는 가변 입출력 폭을 갖는 선입선출 장치.The first-in first-out apparatus having a variable input / output width according to claim 4, wherein the lowest one byte input from an input side system among the two systems having different bus widths is output as it is to the input bus of the first first-in first-out means. 제1항에 있어서, 상기 데이터 출력 제어수단은 상기 선입선출 수단의 제1 내지 제4 출력버스 중 어느 하나를 상기 모드 제어수단의 력셀렉트신호와 출력카운트 신호에 따라 선택하여 출력버스에 접속시키기 위한 제1 멀티플렉서와, 상기 선입선출 수단의 제2 및 제4 출력버스 중 어느 하나를 상기 모드 제어 수단의 출력셀렉트신호와 출력카운트 신호에 따라 선택하여 출력버스에 접속시키기 위한 제2 멀티플렉서를 구비하는 것을 특징으로 하는 가변 입출력 폭을 갖는 선입선출 장치.The data output control means according to claim 1, wherein the data output control means selects one of the first to fourth output buses of the first-in, first-out means according to the force select signal and the output count signal of the mode control means to connect the output bus. And a first multiplexer and a second multiplexer for selecting any one of the second and fourth output buses of the first-in first-out means according to the output select signal and the output count signal of the mode control means and connecting them to the output bus. A first-in, first-out device having a variable input and output width. 제7항에 있어서, 상기 출력셀렉트 신호는 상기 출력측 시스템으로부터 상기 모드 제어수단으로 입력된 출력모드 신호에 대응하는 신호인 것을 특징으로 하는 가변 입출력 폭을 갖는 선입선출 장치.The first-in first-out apparatus with a variable input / output width according to claim 7, wherein the output select signal is a signal corresponding to an output mode signal input from the output side system to the mode control means. 제1항에 있어서, 상기 모드 제어수단은 상기 데이터 입력 제어수단의 멀티플렉서를 제어하는 입력셀렉트 신호와 상기 선입선출 수단의 라이트 이네이블 신호를 발생하는 입력 제어수단과, 상기 데이터 출력 제어수단의 멀티플렉서를 제어하는 출력셀렉트 신호와 출력 카운트 신호와 상기 선입선출 수단의 리드 이네이블 신호를 발생하는 출력 제어 수단을 구비하는 것을 특징으로 하는 가변 입출력 폭을 갖는 선입선출 장치.2. The apparatus of claim 1, wherein the mode control means comprises an input control means for generating an input select signal for controlling the multiplexer of the data input control means and a write enable signal for the first-in first-out means, and a multiplexer for the data output control means. An input first-in first-out apparatus having a variable input / output width, comprising: an output select signal for controlling, an output count signal, and an output control means for generating a lead enable signal of the first-in first-out means. 제9항에 있어서, 상기 입력 제어수단은 상기 버스 폭이 다른 두 시스템 중 입력측 시스템으로부터 입력되는 읽기신호를 카운트하는 입력제어 카운트 수단과, 상기 버스 폭이 다른 두 시스템 중 입력측 시스템으로부터 입력되는 입력 모드신호와 상기 입력제어 카운트 수단으로부터 입력되는 카운트 값에 따른 입력셀렉트 신호와 라이트 이네이블 신호를 발생하는 입력모드 제어수단을 구비하는 것을 특징으로 하는 가변 입출력 폭을 갖는 선입선출 장치.10. The apparatus of claim 9, wherein the input control means includes input control counting means for counting a read signal input from an input side system among two systems having different bus widths, and an input mode inputted from an input side system among two systems having different bus widths. And input mode control means for generating an input select signal and a write enable signal in accordance with a signal and a count value input from said input control count means. 제9항에 있어서, 상기 출력 제어수단은 상기 버스 폭이 다른 두 시스템 중 출력측 시스템으로부터의 입력되는 쓰기신호를 카운트하는 출력제어 카운트 수단과, 상기 버스 폭이 다른 두 시스템 중 출력측 시스템으로부터 입력되는 출력 모드신호와 상기 출력제어 카운트 수단으로부터 입력되는 카운트 값에 따른 출력셀렉트 신호와 리드 이네이블 신호를 발생하는 출력모드 제어수단을 구비하는 것을 특징으로 하는 가변 입출력 폭을 갖는 선입선출 장치.10. The apparatus of claim 9, wherein the output control means includes output control counting means for counting a write signal input from an output side system among two systems having different bus widths, and an output input from an output side system among two systems having different bus widths. And an output mode control means for generating an output select signal and a lead enable signal in accordance with a mode signal and a count value input from said output control count means. 제10항에 있어서, 상기 입력모드 제어수단은 상기 입력모드가 32비트를 나타내는 경우 상기 입력제어 카운트 값에 따라 제1 내지 제4 라이트 이네이블 신호를 모두 인가하는 것을 특깅으로 하는 가변 입출력 폭을 갖는 선입선출 장치.12. The apparatus of claim 10, wherein the input mode control means has a variable input / output width characterized in that all of the first to fourth write enable signals are applied according to the input control count value when the input mode indicates 32 bits. First-in, first-out device. 제10항에 있어서, 상기 입력모드 제어수단은 상기 입력모드가 16비트를 나타내는 경우 상기 입력제어 카운트 값에 따라 제1 및 제2 라이트 이네이블 신호와 제3 및 제4 라이트 이네이블 신호를 교번적으로 인가하는 것을 특징으로 하는 가변 입출력 폭을 갖는 선입선출 장치.11. The method of claim 10, wherein the input mode control means alternates between the first and second write enable signals and the third and fourth write enable signals according to the input control count value when the input mode indicates 16 bits. First-in, first-out device having a variable input and output width, characterized in that the application. 제10항에 있어서, 상기 입력모드 제어수단은 상기 입력모드가 8비트를 나타내는 경우 상기 입력제어 카운트 값에 따라 제1 내지 제4 라이트 이네이블 신호 각각을 순차적으로 인가하는 것을 특징으로 하는 가변 입출력 폭을 갖는 선입선출 장치.The variable input / output width according to claim 10, wherein the input mode control means sequentially applies each of the first to fourth write enable signals according to the input control count value when the input mode indicates 8 bits. First-in, first-out device having a. 제11항에 있어서, 상기 출력모드 제어수단은 상기 출력모드가 32비트를 나타내는 경우 상기 출력제어 카운트 값에 따라 제1 내지 제4 리드 이네이블 신호를 모두 인가하는 것을 특징으로 하는 가변 입출력 폭을 갖는 선입선출 장치.12. The variable input / output width of claim 11, wherein the output mode control means applies all of the first to fourth read enable signals according to the output control count value when the output mode indicates 32 bits. First-in, first-out device. 제11항에 있어서, 상기 출력모드 제어수단은 상기 출력모드가 16비트를 나타내는 경우 상기 출력제어 카운트 값에 따라 제1 및 제2 리드 이네이블 신호와 제3 및 제4 리드 이네이블 신호를 교번적으로 인가하는 것을 특징으로 하는 가변 입출력 폭을 갖는 선입선출 장치.12. The method of claim 11, wherein the output mode control means alternates between the first and second lead enable signals and the third and fourth lead enable signals according to the output control count value when the output mode indicates 16 bits. First-in, first-out device having a variable input and output width, characterized in that the application. 제11항에 있어서, 상기 출력모드 제어수단은 상기 출력모드가 8비트를 나타내는 경우 상기 출력제어 카운트 값에 따라 제1 내지 제4 리드 이네이블 신호 각각을 순차적으로 인가하는 것을 특징으로 하는 가변 입출력 폭을 갖는 선입선출 장치.12. The variable input / output width according to claim 11, wherein the output mode control means sequentially applies each of the first to fourth read enable signals according to the output control count value when the output mode indicates 8 bits. First-in, first-out device having a.
KR1019980012167A 1998-04-06 1998-04-06 Fifo device having variable i/o width KR100303204B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980012167A KR100303204B1 (en) 1998-04-06 1998-04-06 Fifo device having variable i/o width

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980012167A KR100303204B1 (en) 1998-04-06 1998-04-06 Fifo device having variable i/o width

Publications (2)

Publication Number Publication Date
KR19990079530A KR19990079530A (en) 1999-11-05
KR100303204B1 true KR100303204B1 (en) 2001-11-22

Family

ID=37529726

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980012167A KR100303204B1 (en) 1998-04-06 1998-04-06 Fifo device having variable i/o width

Country Status (1)

Country Link
KR (1) KR100303204B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5079693A (en) * 1989-02-28 1992-01-07 Integrated Device Technology, Inc. Bidirectional FIFO buffer having reread and rewrite means
US5673396A (en) * 1994-12-16 1997-09-30 Motorola, Inc. Adjustable depth/width FIFO buffer for variable width data transfers

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5079693A (en) * 1989-02-28 1992-01-07 Integrated Device Technology, Inc. Bidirectional FIFO buffer having reread and rewrite means
US5673396A (en) * 1994-12-16 1997-09-30 Motorola, Inc. Adjustable depth/width FIFO buffer for variable width data transfers

Also Published As

Publication number Publication date
KR19990079530A (en) 1999-11-05

Similar Documents

Publication Publication Date Title
US5764966A (en) Method and apparatus for reducing cumulative time delay in synchronizing transfer of buffered data between two mutually asynchronous buses
JPS62233870A (en) Sequential communication controller
JPS6366633A (en) Data buffer
JPH06259225A (en) Synchronizer of data transfer
US5764967A (en) Multiple frequency memory array clocking scheme for reading and writing multiple width digital words
US5287358A (en) ATM switch circuit configuration system
US7216185B2 (en) Buffering apparatus and buffering method
KR100303204B1 (en) Fifo device having variable i/o width
EP0695988A2 (en) A first-in first-out memory
US6928496B2 (en) Data burst transfer circuit, parallel-serial and serial-parallel conversion circuits, and an oscillation circuit
JPH0479011B2 (en)
US7650440B2 (en) Peripheral supplied addressing in a simple DMA module
JP4019757B2 (en) Storage device
US6625711B1 (en) Method and/or architecture for implementing queue expansion in multiqueue devices
US8154431B2 (en) Data generator providing large amounts of data of arbitrary word length
US6510486B1 (en) Clocking scheme for independently reading and writing multiple width words from a memory array
JP4060270B2 (en) Apparatus and method for delaying video line data between transmitter and receiver
JP2002050172A (en) Fifo control circuit
EP1585024A1 (en) An improved on-chip storage memory for storing variable data bits
JP2773757B2 (en) ATM cell multiplexer
KR940001103Y1 (en) Circuit for converting serial-shunt data
KR100200736B1 (en) Micom interface apparatus
JP2000003332A (en) Bi-directional bus size conversion circuit
KR100236538B1 (en) Fifo memory device
KR100188940B1 (en) Double stac control apparatus using single memory and data transfer method

Legal Events

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

Payment date: 20090626

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee