KR19990003846A - 선입선출버퍼 - Google Patents

선입선출버퍼 Download PDF

Info

Publication number
KR19990003846A
KR19990003846A KR1019970027809A KR19970027809A KR19990003846A KR 19990003846 A KR19990003846 A KR 19990003846A KR 1019970027809 A KR1019970027809 A KR 1019970027809A KR 19970027809 A KR19970027809 A KR 19970027809A KR 19990003846 A KR19990003846 A KR 19990003846A
Authority
KR
South Korea
Prior art keywords
data
signal
fifo
output
input
Prior art date
Application number
KR1019970027809A
Other languages
English (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 KR1019970027809A priority Critical patent/KR19990003846A/ko
Publication of KR19990003846A publication Critical patent/KR19990003846A/ko

Links

Landscapes

  • Communication Control (AREA)

Abstract

본 발명은 사용자가 설정한 량만큼 버퍼가 차면 이를 알려줄 수 있도록 된 선입선출(First In First Out: FIFO) 버퍼에 관한 것이다.
본 발명은 라이트신호가 입력되면 입력 데이터 버스통해 입력되는 데이터를 저장하고, 리드신호가 입력되면 출력 데이터 버스를 통해 먼저 입력된 시간 순으로 데이터를 출력하며, 저장된 데이터의 량에 따라 풀(full), 하프(half), 엠프티(empty) 신호를 제공하도록 된 선입선출 저장부(210); FIFO에서 검출하고자하는 데이터량을 설정할 수 있도록 된 설정 스위치(220); 및 선입선출 저장부의 라이트신호와 리드신호를 카운트한 후, 그 차가 산기 설정 스위치에 설정된 값보다 같거나 크면 검출 플래그를 제공하는 프로그래머블 데이터량 검출부(230)를 포함한다.
따라서, 본 발명에 따른 FIFO는 저장된 데이터량에 대한 정보를 풀(full), 엠프티(empty), 하프(half) 등과 같은 고정된 신호에 의해서 제공할 뿐만 아니라 사용자가 임의로 설정한 데이터 량이 되어도, 이를 알려줄 수 있으므로 FIFO를 이용한 회로 설계가 용이하고, 데이터의 손실을 예방할 수 있는 효과가 있다.

Description

선입선출버퍼(FIFO buffer)
본 발명은 사용자가 설정한 량만큼 버퍼가 차면 이를 알려줄 수 있도록 된 선입선출(First In First Out: FIFO) 버퍼에 관한 것이다.
일반적으로 널리 알려진 버퍼구조에는 시간적으로 먼저 입력된 데이터를 먼저 출력하는 선입선출 버퍼(First In First Out buffer:이하 FIFO라 한다)와 나중에 입력된 데이터를 먼저 출력하는 후입선출 버퍼(Last In Last Out buffer) 등이 있다. 이러한 버퍼들은 통상 메모리 및 제어회로를 포함하는데, 버퍼의 용량은 저장할 수 있는 메모리의 크기에 따라 정해진다. 예컨대, 2K 버퍼는 약 2048 바이트의 데이터를 저장할 수 있는 메모리를 구비하고 있다.
종래의 선입선출 버퍼는 도 1에 도시된 바와 같이, 데이터를 저장하기 위한 라이트신호선(write)과 데이터를 출력하기 위한 리드신호선(read)이 기본적으로 구비되어 있고, 버퍼에 저장된 데이터의 량을 외부로 알려주기 위한 풀(full), 엠프티(empty), 하프(half) 신호선이 있다.
풀(full)신호선은 버퍼에 데이터가 꽉찬 상태를 알려주는 신호선으로 더 이상의 라이트동작을 금지시키도록 하며, 엠프티(empty)신호는 버퍼에 저장된 데이터가 없음을 나타내는 신호로서 더 이상의 리드동작을 금지시키는데 사용될 수 있다. 하프(half) 신호선은 데이터가 버퍼에 반쯤 찼음을 알려준다.
이와 같이 대부분의 FIFO는 버퍼에 저장된 데이터의 량에 대한 정보를 알려주기 위하여 풀(full), 엠프티(empty), 하프(half) 신호선을 구바하고 있으나 보다 더 자세하게 데이터 량을 알려주는 신호선이 없다. 즉, FIFO를 이용하는 회로에 따라서는 앞서 설명한 풀(full), 엠프티(empty), 하프(half) 이외에 보다 더 자세한 데이터 충만 정보를 알 필요가 있는데, 종래의 FIFO에서는 더 이상의 자세한 정보를 제공하지 못하는 문제점이 있다.
이에 본 발명은 상기와 같은 종래의 문제점을 해소하기 위하여 안출된 것으로, 사용자가 설정한 만큼 데이터가 차면 이를 알려주도록 된 선입선출(FIFO) 버퍼를 제공하는데 그 목적이 있다.
상기와 같은 목적을 달성하기 위하여 본 발명은 라이트신호가 입력되면 입력 데이터 버스통해 입력되는 데이터를 저장하고, 리드신호가 입력되면 출력 데이터 버스를 통해 먼저 입력된 시간 순으로 데이터를 출력하며, 저장된 데이터의 량에 따라 풀(full), 하프(half), 엠프티(empty) 신호를 제공하도록 된 선입선출 저장부; FIFO에서 검출하고자하는 데이터량을 설정할 수 있도록 된 설정 스위치; 및 상기 선입선출 저장부의 라이트신호와 리드신호를 카운트한 후, 그 차가 산기 설정 스위치에 설정된 값보다 같거나 크면 검출 플래그를 제공하는 프로그래머블 데이터량 검출부를 포함하는 것을 특징으로 한다.
도 1은 일반적인 FIFO의 입출력 신호선을 도시한 블록도,
도 2는 본 발명에 따른 FIFO를 도시한 블록도,
도 3은 도 2에 도시된 FIFO의 동작을 설명하기 위하여 도시한 타이밍도이다.
* 도면의 주요부분에 대한 부호의 설명
210 : 선입선출 저장부 220 : 설정스위치
230 : 프로그래머블 데이터량 검출부 231 : 라이트 카운터
232 : 리드 카운터 233 : 감산기
234 : 비교기 235 : 레지스터
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 자세히 설명하기로 한다.
도 2는 본 발명에 따른 FIFO를 도시한 블록도이고, 도 3은 도 2에 도시된 FIFO의 동작을 설명하기 위하여 도시한 타이밍도이다.
본 발명에 따른 FIFO 버퍼는 라이트신호에 따라 데이터를 저장하고, 리드신호에 따라 데이터를 출력하며 저장된 데이터의 량에 따라 엠프티(empty), 하프(half), 풀(full) 신호를 발생하는 선입선출 저장부(210)와, 신호 발생을 위한 데이터 량을 설정하기 위한 설정 스위치(220), 리드신호와 라이트신호를 카운트하여 소정의 설정된 만큼 데이터가 차면 이를 알려주기 위한 신호를 제공하는 프로그래머블 데이터량 검출부(230)를 포함하고 있다. 그리고 프로그래머블 데이터량 검출부(230)는 라이트신호를 카운트하기 위한 라이트카운터(230)와, 리드신호를 카운트하기 위한 리드 카운터(232), 라이트 카운트값에서 리드카운트값을 감산하여 저장된 데이터량을 산출하기 위한 감산기(233), 설정 스위치에 의해 설정된 값을 저장하기 위한 레지스터(235), 감산기의 출력을 레지스터에 저장된 값과 비교하여 프로그래머블 데이터량 검출플래그를 출력하는 비교기(234)로 구성된다.
도 2를 참조하면, 선입선출 저장부(210)는 메모리와 제어신호 발생부를 구비하여 라이트신호(write)에 따라 입력 데이터 버스를 통해 입력되는 데이터를 메모리에 저장하고, 리드신호(read)가 입력되면 출력 데이터 버스를 통해 데이터를 출력한다. 이때 리드신호에 의해 출력되는 데이터는 시간순으로 가장 먼저 저장된 데이터부터 순서대로 출력된다. 그리고 선입선출 저장부(210)는 메모리에 데이터가 꽉찬 경우 풀(full)신호를 제공하고, 메모리에 데이터가 비어있을 경우에는 엠프티(empty)신호를 출력하며 반쯤 데이터가 찼으면 하프(half)신호를 출력한다. 이러한 선입선출 저장부(210)는 종래의 FIFO에 의해서도 구현될 수 있다.
설정 스위치(220)는 N비트 딥스위치로 구현되어 사용자가 원하는 데이터 량을 설정할 수 있다. 예컨대, FIFO의 용량을 2048(2K) 바이트라하고, FIFO 용량의 3/4이 충만될 경우에 검출신호를 인에이블시키고자 한다면, N비트 딥스위치를 1,536로 셋팅한다. 이와 같이 딥스위치에 설정된 바이너리 값은 레지스터(235)에 저장된다.
라이트 카운터(231)는 데이터를 FIFO에 저장하기 위해 입력되는 라이트신호(write)를 카운트하여 출력하고, 리드카운터(232)는 FIFO로부터 데이터를 읽어가기 위하여 입력되는 리드신호(read)를 카운트하여 출력한다. 따라서 FIFO에 저장된 데이터 량은 라이트 카운트값에서 리드 카운트값을 뺀값이다.
감산기(233)는 라이트 카운트값에서 리드 카운트값을 감산하여 현재 FIFO에 저장된 데이터 량을 계산한다. 비교기(234)는 감산기(233)가 출력하는 FIFO에 저장된 현재 데이터량의 바이너리값과 레지스터(235)에 설정된 바이너리값을 비교하여 감산기(233)가 출력하는 값이 레지스터(235)의 출력보다 같거나 크면 데이터량 검출플래그를 인에이블시킨다. 예컨대, 데이터량 검출플래그가 액티브 로우신호라면 비교기(234)는 감산기의 출력〈 레지스터의 출력이면 하이신호를 출력하고, 감산기의 출력 ≥ 레지스터의 출력이면 로우신호를 출력한다. 따라서 비교기(234)가 출력하는 데이터량 검출 플래그에 의해 사용자가 설정한 만큼 FIFO에 데이터가 저장되는 것을 감지하여 적절한 조치를 취하게 할 수 있다.
특히, 이와같이 FIFO에 저장된 데이터량의 검출점을 딥스위치를 이용하여 사용자가 임의로 설정할 수 있으므로 FIFO를 이용한 회로설계를 더욱 다양하게 할 수 있다.
도 3은 도 2에 도시된 FIFO 의 동작 타이밍을 도시한 타이밍도로서, (가)는 라이트신호(write)를 나타내고, (나) 리드신호(read)를 나타낸다. 이러한 라이트신호(write)는 데이터 버스를 통해 FIFO에 데이터를 저장하고자 하는 회로측에서 발생되어 FIFO로 입력되고, 한 클럭에 통상 한 바이트(데이터 버스가 8비트인 경우)의 데이터가 저장된다. 리드신호(read)는 데이터 버스를 통해 FIFO에 저장된 데이터를 읽어가고자 하는 회로측에서 발생되어 FIFO로 입력되고, 한 클럭에 통상 한 바이트(데이터 버스가 8비트인 경우)의 데이터가 출력된다. 도 3의 (다)는 라이트 카운터(231)가 라이트신호를 카운트한 카운트값(w_cnt)을 나타내고, 도 3의 (라)는 리드 카운터(232)가 리드신호를 카운트한 카운트값(r_cnt)을 나타낸다. 라이트 카운터의 카운트값은 라이트신호에 따라 1,2,3,....m,..으로 카운트 업되고, 리드카운터의 카운트값은 리드신호에 따라 1,2,3,....n,..으로 카운트 업된다. 그리고 라이트 카운터의 카운트값에서 리드 카운터의 카운트값을 뺀 값이 결국 FIFO에 저장된 데이터의 바이트 크기를 나타낸다.
도 3의 (마)는 비교기(234)가 감산기의 출력과 레지스터의 출력을 비교하여 출력하는 데이터량 검출플래그로서 딥스위치에 의해 설정된 데이터량만큼 FIFO에 데이터가 저장될 경우에 액티브된다. 본 발명의 실시예에서 FIFO의 용량을 2048 바이트라하고, FIFO 용량의 3/4을 검출하기 위하여 N비트 딥스위치가 1,536로 셋팅되었다고 하자. 그리고 검출 플래그가 액티브 로우신호라하면, 감산기의 출력이 1,536 미만일 경우 비교기는 하이를 출력하다가 감산기의 출력이 1,536 이상이 되면 로우신호를 출력한다.
이상에서 살펴본 바와 같이, 본 발명에 따른 FIFO는 저장된 데이터량에 대한 정보를 풀(full), 엠프티(empty), 하프(half) 등과 같은 고정된 신호에 의해서 제공할 뿐만 아니라 사용자가 임의로 설정한 데이터 량이 되어도, 이를 알려줄 수 있으므로 FIFO를 이용한 회로 설계가 용이하고, 데이터의 손실을 예방할 수 있는 효과가 있다.

Claims (3)

  1. 라이트신호가 입력되면 입력 데이터 버스통해 입력되는 데이터를 저장하고, 리드신호가 입력되면 출력 데이터 버스를 통해 먼저 입력된 시간 순으로 데이터를 출력하며, 저장된 데이터의 량에 따라 풀(full), 하프(half), 엠프티(empty) 신호를 제공하도록 된 선입선출 저장부(210); FIFO에서 검출하고자하는 데이터량을 설정할 수 있도록 된 설정 스위치(220); 및 상기 선입선출 저장부의 라이트신호와 리드신호를 카운트한 후, 그 차가 산기 설정 스위치에 설정된 값보다 같거나 크면 검출 플래그를 제공하는 프로그래머블 데이터량 검출부(230)를 포함하는 선입선출(FIFO) 버퍼.
  2. 제1항에 있어서, 상기 프로그래머블 데이터량 검출부가 라이트신호를 카운트하기 위한 라이트 카운터(231), 리드신호를 카운트하기 위한 리드 카운터(232), 상기 라이트 카운터의 출력을 리드 카운터의 출력과 감산하여 상기 선입선출 저장부에 저장된 데이터 량을 계산하기 위한 감산기(233), 상기 설정 스위치의 출력을 저장하기 위한 레지스터(235), 상기 감산기의 출력을 상기 레지스터의 출력과 비교하여 상기 감산기의 출력이 레지스터의 출력과 같거나 크면 액티브신호를 출력하는 비교기(234)를 포함하는 것을 특징으로 하는 선입선출(FIFO) 버퍼.
  3. 제1항에 있어서, 상기 설정 스위치는 n비트 딥스위치로 구성된 것을 특징으로 하는 선입선출(FIFO) 버퍼.
KR1019970027809A 1997-06-26 1997-06-26 선입선출버퍼 KR19990003846A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970027809A KR19990003846A (ko) 1997-06-26 1997-06-26 선입선출버퍼

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970027809A KR19990003846A (ko) 1997-06-26 1997-06-26 선입선출버퍼

Publications (1)

Publication Number Publication Date
KR19990003846A true KR19990003846A (ko) 1999-01-15

Family

ID=65987544

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970027809A KR19990003846A (ko) 1997-06-26 1997-06-26 선입선출버퍼

Country Status (1)

Country Link
KR (1) KR19990003846A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100684245B1 (ko) * 2005-02-24 2007-02-22 야마하 가부시키가이샤 데이터 전송 제어기 및 샘플링 주파수 변환기

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100684245B1 (ko) * 2005-02-24 2007-02-22 야마하 가부시키가이샤 데이터 전송 제어기 및 샘플링 주파수 변환기

Similar Documents

Publication Publication Date Title
US5587953A (en) First-in-first-out buffer memory
US5384744A (en) Look ahead flag for FIFO
US6845414B2 (en) Apparatus and method of asynchronous FIFO control
KR900014984A (ko) 2개 비동기 클럭신호간의 시간지연의 출력신호표시를 제공하는 회로소자와 방법
EP0395210A2 (en) Threshold detection circuits for digital storage buffers
US8458506B2 (en) Real time clock and method for recording data in real time clock
JP3815948B2 (ja) Fifoメモリ制御回路
EP0484652A2 (en) First-in-first-out buffer
JP2004062630A (ja) Fifoメモリ及び半導体装置
US6191992B1 (en) First-in-first-out storage device including synchronized full-state detention and empty-state detention
KR19990003846A (ko) 선입선출버퍼
US20030023787A1 (en) Glitch suppression circuit and method
US6996640B1 (en) Method and system for asynchronously transferring data
US6480912B1 (en) Method and apparatus for determining the number of empty memory locations in a FIFO memory device
KR19990005589A (ko) 선입선출버퍼의 상태 표시 회로
WO2000079378A1 (fr) Dispositif de memoire en liste directe (fifo)
KR0170213B1 (ko) 선입선출 버퍼 메모리 장치 및 그 상태 플래그 발생방법
US6201487B1 (en) Error detecting circuit in a line length decoding system
KR101123087B1 (ko) 데이터 전송회로
KR940007573B1 (ko) 선입선출 감시 시스템
US7116599B1 (en) High speed FIFO synchronous programmable full and empty flag generation
KR100268494B1 (ko) 선입선출메모리장치의플레그생성장치
JP3075898B2 (ja) Fifoメモリ容量の異常検出システム
KR0134711B1 (ko) 피포(fifo) 레벨 카운팅을 위한 쓰기/읽기 신호 중재회로
KR100247062B1 (ko) 링구조를 갖는 선입선출 방식 및 회로

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application