KR960014169B1 - 메모리의 데이타 입출력 상태 검출 회로 - Google Patents

메모리의 데이타 입출력 상태 검출 회로 Download PDF

Info

Publication number
KR960014169B1
KR960014169B1 KR1019940020302A KR19940020302A KR960014169B1 KR 960014169 B1 KR960014169 B1 KR 960014169B1 KR 1019940020302 A KR1019940020302 A KR 1019940020302A KR 19940020302 A KR19940020302 A KR 19940020302A KR 960014169 B1 KR960014169 B1 KR 960014169B1
Authority
KR
South Korea
Prior art keywords
output
signal
clock
flag
counting
Prior art date
Application number
KR1019940020302A
Other languages
English (en)
Other versions
KR950033791A (ko
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 KR1019940020302A priority Critical patent/KR960014169B1/ko
Publication of KR950033791A publication Critical patent/KR950033791A/ko
Application granted granted Critical
Publication of KR960014169B1 publication Critical patent/KR960014169B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Debugging And Monitoring (AREA)
  • Information Transfer Systems (AREA)
  • Memory System (AREA)
  • Dram (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

내용 없음.

Description

메모리의 데이터 입출력 상태 검출 회로
제1도는 종래 메모리의 입출력 상태 검출 회로의 블록도.
제2도는 본 발명의 메모리의 입출력 상태 검출 회로의 블록도.
제3도는 제2도에 있어서, 클럭 계수부의 상세 회로도.
제4도는 제2도에 있어서, 계수치 저장부의 상세 회로도.
제5도는 제2도에 있어서, 멀티플렉서의 상세 회로도.
제6도는 제2도에 있어서, 신호 비교부의 상세 회로도.
제7도는 제2도에 있어서, 디멀티플렉서의 상세 회로도.
제8도는 제2도에 있어서, 플래그 발생부의 상세 회로도.
제9도는 본 발명의 다른 실시예의 블록도.
제10도는 제9도에 있어서, 플래그 발생부의 상세 회로도.
제11도는 제9도에 있어서, 선택 신호 발생부의 상세 회로도.
* 도면의 주요부분에 대한 부호의 설명
1 : 클럭 계수부 2 : 계수치 저장부
3 : 멀티플렉서 4 : 신호 비교부
5 : 디멀티플렉서 6, 8 : 플래그발생부
7 : 제어신호 발생부 9 : 선택 신호 발생부
11-18 : 계수단 21-25 : 레지스터
31-38 : 다중 선택기 91 : 신호 선택 제어부
92 : 멀티플렉싱 로직 93 : 선택신호 결정부
본 발명은 메모리의 데이터 입출력 상태 검출에 관한 거승로 특히, 프로그램 가능한 메모리 칩에서 EMPTY, FULL 상태외에 저장되어 있는 데이터의 개수를 임의의 값과 비교하여 플래그를 발생시킬 필요가 있는 메모리칩에 적당하도록 한 메모리의 데이터 입출력 상태 검출 회로에 관한 것이다.
종래 메모리의 데이터 입축력 상태 검출 회로는 제1도에 도시된 바와 같이, 라이트 신호를 계수하는 라이트 카운터(101)와, 리드 신호를 계수하는 리드 카운터(102)와, 상기 라이트 카운터(101)의 출력(WQ)에서 사익 FVLEM 카운터(102)의 출력(RQN)을 감산하여 그 차값을 출력하는 제1 감산기 (103)와, 이 제1감산기(103)의 출력과 기 정의된 값(RHF) (PAF) (PF)를 비교하는 비교기(105~107)와, 리드신호와 라이트 신호를 연산하여 클럭을 발생시키는 클럭 발생기(115)와, 이 클럭 발생기(115)의 출력에 따라 상기 비교기(105-107)의 출력을 홀딩하여 플래그 신호(HFF) (AFF) (FF)를 출력하는 플립플롭(110-112)과, 상기 리드 카운터(102)의 출력(RQ)에서 상기 라이트 카운터(101)의 출력(WQN)을 감산하여 그 차값을 출력하는 제2감산기(104)와, 이 제2 감산기(104)의 출력과 기 정의된 값(PF) (PAF)을 비교하는 비교기(108)(109)와, 리드 신호와 라이트 신호를 연산하여 클럭을 발생시키는 클럭 발생기(116)와, 이 클럭 발생기(116)의 출력에 따라 상기 비교기(108)(109)의 출력을 홀딩하여 논리값을 출력하는 플립플롭(113)(114)과, 이 플립플롭(113)(114)의 출력을 반전시켜 플래그 신호(EF)(AEF)를 출력화는 반전기(IN2)(IN10)로 구성한다.
이와같은 종래 회로의 동작 과정을 설명하면 다음과 같다.
시스템이 동작을 시작하면 카운터(101)(102)는 각각 라이트 요구 신호(WR), 리드 요구 신호(RR)에 의해 초기화된다.
이후, 선입선출 메모리에 데이터 입출력이 수행되면 선입선출 메모리에 데이터를 기록하기 위한 라이트 클럭(WC)(WCB)에 의하여 상기 라이트 카운터(101)는 1씩 계수값이 증가시켜 현재까지 선입선출 메모리에 쓰여진 데아타의 개수를 저장하게 되고, 선입선출 메모리로부터 데이터를 읽기 랖나 리드 클럭(RC)(RCB)에 의하여 상기 리드 카운터(102)는 1씩 계수값을 증가시켜 현재까지 읽혀진 데이터의 개수를 저장하게 된다.
여기서, 각각의 라이트 카운터(101)와 리드 카운터(102)는 2개씩의 출력을 갖는데, 그 중 하나인 출력 신호(WQ)(RQ)는 클럭의 첫 번째 에지에서 값이 변하고 다른 하나의 출력 신호(WQN)(RQN)는 클럭의 두 번째 에지에서 값이 변한다.
이때, 제1 감산기(103)는 라이트 카운터(101)의 출력(WQ)과 리드 카운터(102)의 출력(RQN)의 차(WQ-RQN)에 의한 신호를 출력하며 이 출력값은 리드 동작이 끝나고 라이트 동작이 시작되는 시점에서 선입선출 메모리에 남아 있는 데이터의 개수를 나타낸다.
이에 따라, 비교기(107)는 제1 감산기(103)의 출력과 기 정의된 값(RF)을 비교하여 상기 신호(PF)보다 작은 값인지 판단하여 적절한 논릭값을 갖는 신호를 출력으로 내보내며 이는 레지스터(112)에 저장되어 최종 출력(FF)을 발생시키게 된다.
그리고, 비교기(106)는 제1 감산기(103)의 출력값과 기 정의된 값(PAF)를 비교하여 상기 신호(PAF)보다 작은값인지를 판단하여 적절한 논리값을 갖는 신호를 출력하여 레지스터(111)에 저장함에 의해 최종 출력(AFF)을 발생시키고 또한, 비교기(105)는 상기 제1 감산기(103)의 출력값과 기 정의도니 값(PFH)을 비교하여 상기 신호(PHF)보다 작은 값인지 판단하여 적절한 논리값을 출력하여 레지스터(110)에 저장함에 의해 최종 출력(HFF)을 발생시키게 된다.
이때, DEGLITCH 회로인 클럭 발생기(115)는 레지스터(110-112)가 비교기(105-107)의 출력을 적절한 시간에 저장할 수 있도록 적절한 지연 시간 후에 클럭 펄스를 발생시키게 된다.
여기서, 비교기(105)는 half full 비교 블록이고 비교기(106)는 almost full 비교 블록이며 비교기(107)는 full 비교 블록이다.
한편, 제2 감산기(104)는 라이트 카운터(101)의 출력(WQN)과 리드 카운터(102)의 출력(RQ)의 차(WQN-RQ)에 의한 신호를 출력하며 이는 라이트 동작이 끝나고 리드 동작이 시작된 시점에서 선입선출 메모리에 남아 있는 데이터의 개수를 나타낸다.
이에 따라, 비교기(109)는 제2 감산기(104)의 출력값과 기 정의된 값(PAF)을 비교하여 상기 신호(PAF)보다 작은 값인지 판단함에 의해 적절한 논리값을 갖는 신호를 출력하며 이는 레지스터(114)에 저장도니 후 반전기(IN1)를 통해 최종적으로 플래그 신호(AFF)를 발생시키게 된다.
그리고, 비교기(108)는 제2 감산기(104)의 출력값과 기 정의된 값(PE)을 비교하여 상기 신호(PE)보다 작은 값인지 판단함에 의해 적절한 논리값을 갖는 신호를 출력하며 이는 레지스터(113)에 저장된 후 반전기(IN2)를 통해 최종적으로 플래그 신호(EF)를 발생시키게 된다.
이때, DEGLITCH 회로인 클럭 발생기(116)는 레지스터(113(114)가 적절한 시간에 비교기(108(109)의 출력을 저장할 수 있도록 적절한 지연 시간후 클럭 펄스를 발생시키게 된다.
여기서, 비교기(108)는 empty 비교 블록이고 비교기(109)는 almost empty 블록이다.
그러나, 종래에는 메모리 칩의 FULL 및 EMRTY 상태를 검출하는 회로를 각기 구현함에 의해 임의의 레벨로 확장하기 곤란할 뿐만아니라 동작 중간에 FULL 레벨을 변화시킬 수 없고, FULL레벨이 많아질 경우 비교기가 많이 사용됨으로 회로가 복잡하게 되며, DEGLITCH 회로를 사용함으로 인해 실제 제조 공정에 따라 오동작할 가능성이 증가하는 문제점이 있었다.
본 발명은 이러한 종래의 문제점을 해결하기 위하여 선입선출 메모리의 저장 데이터를 초기에 설정하고 데이터의 입출력에 따라 초기 설정된 값과 비교하여 선입선출 메모리의 FULL 및 EMPTY 상태를 판별함에 따른 플래그를 발생시키는 선입선출 메모리의 데이터 입출력 상태 검출 회로를 창안한 것으로, 이를 첨부한 도면을 참조하여 상세히 설명하면 다음과 같다.
본 발명은 상기의 목적을 달성하기 위하여 로드 클럭, 리드 클럭 및 라이트 클럭을 연산하여 기준 클럭 및 모드 신호를 발생시키는 제어 신호 발생 수단과, 이 제어 신호 발생 수단의 출력에 따라 업 또는 다운 카운팅 모드로 동작하여 라이트 클럭 또는 리드 클럭을 계수하는 클럭 계수 수단과, 선입선출 메모리의 라이트 또는 리드 값을 저장하는 계수치 저장 수단과, 이 계수치 저장 수단의 출력을 선택하여 현재 상태의 FULL 레벨을 출력하는 멀티 플렉서와, 상기 클럭 계수 수단의 출려과 상기 멀티플렉서의 출력이 동일한지 비교하는 비교 수단과, 이 비교 수단의 출력중 적절한 상태값을 선택하는 디멀티플렉서와, 이 디멀티플렉서의 출력에 따라 현재 상태에 따른 플래그 신호를 발생시키는 플래그 발생 수단으로 구성한다.
또한, 본 발명은 상기의 목적을 달성하기 위하여 로드 클럭, 리드 클럭 및 라이트 클럭을 연산하여 기준 클럭 및 모드 신호를 발생시키는 제어 신호 발생 수단과, 이 제어 신호 발생 수단의 출력에 따라 업 또는 다운카운팅 모드로 동작하여 라이트 클럭 또는 리드 클럭을 계수하는 클럭 계수 수단과, 선입선출 메모리의 라이트 또는 리드 값을 저장하는 계수치 저장 수단과, 이 계수치 저장 수단의 출력을 선택하여 현재 상태의 FULL 레벨을 출력한은 멀티플렉서와, 상기 클럭 계수 수단의 출력과 상기 멀티플렉서의 출력이 동일한지 비교하는 비교 수단과, 이 비교 수단의 출력중 적절한 상태값을 선택하는 디멀티플레서와, 이 디멀티플렉서의 출력에 따라 현재 상태에 따른 플래그 신호를 발생시키는 플래그 발생 수단과, 이 플래그 발생 수단의 출력을 검출하여 상기 멀티플렉서 및 디멀티플렉서에 선택 신호를 발생시키고 상기 플래그 발생 수단의 플래그 신호를 클리어시키기 위한 리세트 신호를 발생시키는 선택 신호 발생 수단으로 구성한다.
제2도는 본 발명의 일실시예를 보인 블록도로서 이에 도시한 바와 같이, 로드 클럭(LDCLK), 리드 클럭(RCLK) 및 라이트 클럭(WCLK)을 연산하여 클럭(CLK) 및 모드 신호(MOD)를 발생시키는 제어 신호 발생부(7)와, 이 제어 신호 발생부(7)의 출력에 따라 업 또는 다운 카운팅 모드로 동작하여 라이트 클럭(WCLK) 또는 리드 클럭(RCLK)을 계수하는 클럭 계수부(1)와, 초기에 선입선출 메모리의 라이트 또는 리드 값을 저장하는 계수치 저장부(2)와, 선택신호(SEL[4:0])에 따라 상기 계수치 저장부(2)의 출력을 선택하여 현재 상태의 FULL 레벨을 출력하는 멀티플렉서(3)와, 상기 클럭 계수부(1)의 출력과 상기 멀티플렉서(3)의 출력이 동일한지 비교하는 신호 비교부(4)와, 상기 선택신호(SE[4:0])에 따라 상기 신호 비교부(4)의 출력중 적절한 상태값을 선택하는 디멀티플렉서(5)와, 이 디멀티플레서(5)의 출력에 따라 현재 상태에 따른 플래그 신호를 발생시키는 플랙그 발생부(6)로 구성한다.
상기 제어신호 발생부(7)는 로드 클럭(LDCLK), 리드 클럭(RCLK) 및 라이트 클럭(WCLK)을 노아링하여 클럭(CLK)을 발생시키는 노아게이트(NOR1)와, 상기 리드 클럭(RCLK)을 반전시키는 반전기(IN11)와, 리세트 신호(RST)와 라이트 클럭(WCLK)을 낸딩하는 낸드게이트(NA1)와, 이 낸드게이트(NA1) 상기 반전기(IN11)의 출력에 의해 모드 신호(MOD)를 출력하는 S-R 플립플롭(FF1)으로 구성한다.
상기 클럭 계수부(1)는 제3도에 도시한 바와 같이, 계수 출력(DQ1)을 반전시키는 반전기(IN12)와, 이 반전기(IN12)의 출력과 초기값(IN1TO)을 로드 인에이블신호(LDEN)에 따라 선택하는 선택기(111)와, 이 선택기(111)의 출력을 클럭(CLK)에 따라 홀딩시켜 계수 신호(DQ1)로 출력하는 플립플롭(112)으로 구성한 제1 계수단(11)과, 상기 제1계수단(11)의 출력(DQ1)(DQN1)을 모드신호(MOD)에 따라 선택하는 선택기(121)와, 이 선택기(121)의 출력과 계수 출력(DQ2)을 논리조합하는 배타적 오아게이트(XOR1)와, 초기값(INT1)과 상기 배타적 오아게이트(XOR1)의 출력을 로드 인에이블신호(LDEN)에 따라 선택하는 선택기(122)와, 이 선택기(122)의 출력을 상기 클럭(CLK)에 따라 홀딩시켜 계수신호(DQ2)로 출력하는 플립플롭(123)과, 이 플립플롭(123)의 출력(DQ2)(DQN2)과 상기 제1 계수부(11)의 출력(DQ1)(DQN1)을 각기 앤딩하여 다음단에 출력하는 제1, 제2 앤드게이트로 구성한 제2 계수단(12)과, 이 제2 계수단(12)과 동일하게 구성하여 순차적으로 접속한 제3-제7 계수단(13-17)와, 상기 제7 계수단(17)의 출력(DQ7)(DQN7)을 모드신호(MOD)에 따라 선택하는 선택기(181)와, 이 선택기(181)의 출력과 계수 출력(DQ8)을 논리조합하는 배타적 오아게이트(XOR7)와, 초기값(INIT7)과 상기 배타적 오아게이트(XOR7)의 출력을 로드신호(LOAD)에 따라 선택하는 선택기(182)와, 이 선택기(182)의 출력을 상기 클럭(CLK)에 따라 홀딩시켜 계수신호(DQ8)로 출력하는 플립플롭(183)으로 구성한 제8 계수단(18)으로 이루어진다.
상기 계수치 저장부(2)는 제4도에 도시한 바와 같이 초기치(INIT0-INIT7)를 각각의 로드 신호(LOAD0-LOAD4)에 따라 저장하는 5개의 8비트 레지스터(21-25)를 병렬로 접속하여 구성한 것으로, 상기 제1 레지스터(21)는 로드신호(LOAD0)를 클럭으로 하여 상기 초기치(INIT0-INIT7)을 각기 홀딩시키는 플립플롭(211-218)으로 구성하고, 상기 제2-제5레지스터(22-25)는 로드신호(LOAD1-LOAD4)를 각각의 클럭으로 하여 초기치(INIT0-INIT7)를 홀딩시키도록 상기 제1 레지스터(21)와 동일하게 구성한다.
상기 멀티플렉서(3)는 제5도에 도시한 바와 같이, 계수치 저장부(12)의 출력(Qn[0], n=0-4)과 선택신호(SEL0-SEL4)을 가기 낸딩하는 낸드게이트(NA11-NA15)와, 이 낸드게이트(NA11-NA15)의 출력을 낸딩하는 낸드게이트(NA16)로 구성한 제1 다중 선택기(31)와, 상기 계수치 저장부(12)의 출력(Qn[i], n=0-4, i=0-7)을 상기 선택신호(SEL0-SEL4)에 따라 선택하도록 상기 제1 다중 선택기(31)와 동일하게 구성한 제2-제8다중선택기(32-38)로 이루어진다.
상기 신호 비교부(4)는 제6도에 도시한 바와 같이, 클럭 계수부(1)의 출력(DQ1-DQ8)과 멀티플랙서(3)의 출력(MQ0-MQ7)을 각기 논리 조합하는 배타적 노아게이트(XNR1-XNR8)와, 이 배타적 노아게이트(XNR1-XNR4)(XNR5-XNR8)의 출력을 각기 낸딩하는 낸드게이트(NA2)(NA3)와, 이 낸드게이트(NA2)(NA3)의 출력을 노이링하는 노아게이트(NOR2)로 구성한다.
상기 디멀티플렉서(5)는 제7도에 도시한 바와 같이, 선택 신호(SEL(n), n=0-4)와 신호 비교부(4)의 출력(EQ)을 각기 논리곱하는 앤드게이트(51-55)로 구성한다.
상기 플래그 발생부(6)는 제8도에 도시한 바와 같이, 디멀티플렉서의 출력(STAT[n], n=0-4)을 클럭으로 하여 반전 출력을 홀딩하여 플래그 신호(FLAG[n], n=0-4)를 발생시키는 플립플롭(61-65)으로 구성한다.
이와 같이 구성한 본 발명 일실시예의 동작 및 작용 효과를 상세히 설명하면 다음과 같다.
선입선출 메모리가 초기화 동작을 하면 클럭 계수부(1)는 리세트 신호(RST)에 의해 계수 출력(DQ1-DQ8)을 0으로 크리어시킨 후 모드 신호(MOD)에 따라 제어 신호 발생부(7)의 클럭 출력(CLK)을 계수하는 동작을 수행하는데, 상기 모드 신호(MOD)가 0이면 업 카운팅 모드로서 라이트 동작을 하고, 1이면 다운 카운팅 모드로서 리드 동작을 하게 된다.
여기서, 클럭 계수부(1)는 초기값(INIT0-INIT7)으로 초기 계수값을 세팅할 수 있는데, 초기화의 경우 로드 인에이블 신호(LDEN)가 엑티브된과 아울러 로드 클럭(LDCLK)이 입력되고, 초기화가 아닌 경우에는 상기 로드 인에이블 신호(LDEN)가 디스에이블됨과 아울러 로드 클럭(LDCLK)이 입력되지 않는다.
또한, 계수치 저장부(2)는 8, 64, 128, 192, 248인 초기값(INIT0-INIT7)을 저장하는데, 제1레지스터(21)가 로드신호(LOAD0)를 클럭으로 하는 플립플롭(211/218)이 상기 초기치(INIT0-INIT7)울 각기 홀딩시키고 제2-제5 레지스터(22-25)는 로드신호(LOAD1-LOAD7)를 각각의 클럭으로 하여 상기 제1레지스터(21)와 동일한 동작을 통해 초기치(INIT0-INIT7)를 홀딩시킴에 의해 상기 제1-제5레지스터(21-25)는 각각의 초기값을 저장한 후 멀티플랙서(3)에 출력하게 된다.
이때, 선입선출 메모리의 데이터 입출력에 의해 로드 클럭(LDCLK), 라이트 클럭(WCLK) 및 리드 클럭(RCLK)이 제어신호 발생부(7)에 입력되면 노아게이트(NOR1)에서 노아링되어 클럭(CLK)으로 출력하고 상기 리드클럭(RCLK)을 반전시킨 반전기(IN11)의 출력과 상기 라이트 클럭(WCLK)과 리세트 신호(RST)를 낸딩한 낸드게이트(NA1)의 출력을 세트, 리세트 단자(S)(R)에 입력받은 플립플롭(FF1)이 모드신호(MOD)를 출력하게 된다.
여기서, 제어신호 발생부(7)는 초기에 리세트 신호(RST)가 인가되었을 때 라이트 모드로 만들어 주기 위하여 플립플롭(FF1)에서 0인 모드신호(MOD)를 발생시키게 된다.
이에 따라, 제어신호 발생부(7)의 출력(MOD)에 의해 라이트 또는 리드 모드가 결정되면 클럭 계수부(1)는 클럭(CLK)에 동기되어 라이트 클럭(WCLK) 또는 리드 클럭(RCLK)의 계수 동작을 제1-제8 계수부(11-18)가 순차적으로 수행함으로써 선입선출 메모리의 데이터 입출력에 따른 데이터의 저장 개수를 출력하게 된다.
즉, 클럭 계수부(1)가 초기화된 후 업-카운트 모드로 동작할 때 제1-제8계수단(11-18)의 선택기(111, 122-182)는 1로 로드 신호(LDEN)에 의해 제1입력단자(I0)로 입력되는 신호를 선택하여 출력하고 상기 제2-제8계수단(12-18)의 선택기(121-181)는 0인 모드신호(MOD)에 의해 제2입력단자(I1)로 입력되는 신호를 선택하여 출력하는데, 라이트 클럭(WCLK)이 하나 입력되면 상기 게1계수단(11)은 반전기(IN1)가 반전시킨 계수출력(DQ1)로 출력하고, 제2-제8 계수단(12-18)은 0인 자신의 출력과 전단의 출력을 배타적 오아링한 신호를 홀딩시킴으로 각각의 출력(DQ2-DQ8)을 0으로 유지하며, 상기 제2 계수단(12)은 상기 제1계수단(11)의 1인 출력)DQ1)과 자신의 0인 출력(DQ2)이 배타적 오아게이트(XOR1)에서 논리조합되어 1인 신호가 선택기(122)를 통해 플립플롭(123)에 인가된다. 이때, 하나의 라이트 클럭(WCLK)이 입력되면 제1 계수단(11)의 출력(DQ1)은 반전기(IN12)에서 반전되어 플립플롭(112)에서 홀딩됨으로 0으로 반전되고 제2계수단(12)은 선택기 (122)의 1인 출력을 홀딩함으로 출력신호(DQ2)가 1로 반전되며 제3-제8 계수단(13-18)은 각각의 출력을 0으로 유지하게 된다.
그리고, 하나의 라이트 클럭(WCLK)이 다시 입력되면 제1 계수단(11)은 0인 출력이 반전기(IN12)에서 반전됨으로 플립플롭(112)에서 1인 계수 신호(DQ1)를 출력하고 제2 계수단(12)은 상기 제1 계수단(11)의 0인 이전 출력(DQ1)과 자신의 1인 출력(DQ2)이 배타적 오아링을 통해 1로 논리조합되므로 플립플롭(123)에서 1인 계수 신호(DQ2)를 출력하며 제3-제8 계수단(13-18)은 0인 출력(DQ3-DQ8)을 유지하게 된다.
따라서, 제1 계수단(11)은 클럭(CLK)가 입력될 때마다 출력(DQ1)의 레벨을 반전시키고 제2 계수단(12)은 클럭(CLK)이 2번 입력될 때마다 출력(DQ2)의 레벨을 반전시키며 제3 계수단(13)은 클럭(CLK)이 4번 입력될 때마다 출력(DQ3)을 반전시키는데, 제4-제8 계수단(14-18)은 8,16,32,64,128번 입력될 때마다 출력(DQ4-DQ8)을 각기 반전시키게 된다.
즉, 업-카운트 모드에서 클럭 계수부(1)는 클럭(CLK)가 입력됨에 따라 2진수를 순차적으로 즈악시켜 선입선출 메모리에 저장되는 데이터의 개수를 표시하게 된다.
그리고, 클럭 계수부(1)가 다운 카운트 모드일 경우에는 업-카운트 모드와는 반대로 동작하여 제1-제8 계수단(11-18)의 출력(DQ1-DQ8)에 의해 표시된 2진수를 순차적으로 감소시켜 선입선출 메모리에 저장된 데이터의 개수를 표시하게 된다.
한편, 계수치 저장부(2)는 각각의 로드 신호(LOAD0-LOAD4)를 독립적인 클럭으로 하여 제1-제5 레지스터(21-25)가 8,64,128,192,248인 5개의 FULL 레벨을 선입선출 메모리의 초기화때 각기 저장하여 멀티플랙서(3)에 출력하면 상기 멀티플렉서(3)는 제1 다중 선택기(31)가 낸드게이트(NA11-NA15)에서 계수치 저장부(12)의 출력(Qn[0], n=0-4)과 선택신호(SEL0-SEL4)을 각기 낸딩하고 그 낸딩 신호를 낸드게이트(NA16)에서 낸딩하며, 제2-제8 다중 선택기(32-38)가 상기 제1 다중 선택기(31)와 동일한 동작을 통해 상기 계수치 저장부(12)의 출력(Qn[i], n=0-4, i=0-7)을 상기 선택신호(SEL0-SEL4)와 논리 조합하는데, 5비트의 상기 선택 신호(SEL0-SEL4)중 고정위인 해당 선택신호에 따라 상기 계수치 저장부(2)의 출력(Qn[7:0], n=0-4)중 해당 신호를 신호 비교부(4)에 출력하게 된다.
예로서, 선택신호(SEL0)가 1이면 나머지 선택 신호(SEL1-SEL4)는 모두 0으로서 계수치 저장부(2)의 첫 번째 출력신호(Q0[7:0])인 FULL 레벨을 선택하여 출력하게 된다.
여기서, 5개의 선택 신호(SEL0-SEL4)는 각각 오버랩되지 않아야 하며 외부의 하드웨어 또는 프로그랩에 의하여 전달받는다.
이때, 신호 비교부(4)는 배타적 노아게이트(XNR1-XNR8)에서 클럭 계수부(1)의 출력(DQ1-DQ8)과 멀티플렉서(3)의 출력(MQ0-MQ7)을 각기 논리 조합하고 상기 배타적 노아게이트(XNR1-XNR4)(XNR5-XNR8)의 출력을 낸드게이트(NA2)(NA3)에서 각기 낸딩하여 낸딩된 신호를 노아게이트(NOR2)에서 노아링함에 따라 비교신호(EQ)를 디멀티플렉서(5)에 출력하는데, 상기 클럭 계수부(1)의 출력(DQ8-DQ1)과 멀티플렉서(3)의 출력(MQ7-MQ0)을 각기 비교하여 일치하면 1 일치하지 않으면 0인 비교 신호(EQ)를 출력하게 된다.
따라서, 신호 비교부(4)의 출력(EQ)을 입력받은 디멀티플렉서(5)가 앤드게이트(51-55)에서 선택신호(SEL0-SEL4)와 각기 논리곱하여 상태 신호(FST0-ST4)를 출력하면 플래그 발생부(6)는 상기 디멀티플랙서(5)의 출력(STAT[n}, n=0-4)을 클럭으로 하는 플립플롭(61-65)아 반전 출력을 홀딩함에 의해 플래그신호(FLAG[n], n=0-4)를 발생시키는데, 현재의 선입선출 메모리의 상태를 알리는 플래그 신호(FLAG0-FLAG4)는 상태신호(ST0-ST4)중 1로 액티브된 신호에 해당하는 플래그 신호가 레벨이 반전되어진다.
상기와 같이 동작하는 본 발명의 일실시예는 기 설정된 임의의 레벨 값을 선택하고 멀티플랙서(3)와 비교기의 출력을 분산시켜 주기 위하여 디멀티플랙서(5)가 사용되며 이를 제어하기 위하여 소프트웨어적으로 선택신호를 발생시키게 된다.
본 발명의 다른 실시예에서는 선입선출 메모리의 저장 데이터를 초기에 설정하고 데이터의 입출력에 따라 초기 설정된 값과 비교하여 선입선출 메모리의 FULL 및 EMPTY 상태를 판별함에 따라 플래그를 발생시킬 때 멀티플랙서와 디멀티플랙서에 하드웨어적으로 발생된 선택 신호를 출력하게 구성한다.
즉, 본 발명의 다른 실시예는 제9도에 도시한 바와 같이, 제어신호 발생부(7), 클럭 계수부(1), 계수치 저장부(2), 멀티플레서(3), 신호 비교부(4) 및 디멀티플랙서(5)는 본 발명의 일실시예와 동일하게 제3도 내지 제8도와 같이 구성하고, 상기 디멀티플렉서(5)의 출력에 따라 현재 상태에 따른 플래그 신호를 발생시키고 클리어신호(FRST[4:0])에 의해 리세트되는 플래그 발생부(8)와, 리드, 라이트 클럭(RCLK)(WCLK)에 따라 상기 플래그 발생부(8)의 출력을 검출하여 상기 멀티플렉서(3) 및 디멀티플렉서(5)에 선택 신호(SEL[4:0])를 발생시킴과 아울러 상기 플래그 발생부(8)에 리세트 신호(FRST[4:0])를 출력하는 선택 신호 발생부(9)를 포함하여 구성한다.
상기 플래그 발생부(8)는 제10도에 도시한 바와 같이, 리세트 신호(RST)에 세트되어 디멀티플렉서(5)의 출력(STAT[n], n=0-4)을 클럭으로 하여 반전 출력을 홀딩시킴에 의해 플래그 신호(FLAG[n], n=0-4)를 발생시키는 플립플롭(81-85)과, 플래그 리세트 신호(FRSTO)를 반전하여 상기 플립플롭(81)을 클리어시키는 반전기(811)와, 리세트 신호(RST)를 반전시키는 반전기(812)와, 플래그 리세트 신호(FRST)와 상기 반전기(812)의 출력을 노아링하여 상기 플립플롭(82-85)을 클리어시키는 노아게이트(813-816)로 구성한다.
상기 선택 신호 발생부(9)는 제11도에 도시한 바와 같이, 리드 클럭(RCLK)과 라이트 클럭(WCLK)을 조합함에 의해 리드 신호(RE)와 라이트 신호(WE)를 발생시키는 신호 선택 제어부(91)와, 이 신호 선택 제어부(91)의 출력에 따라 플래그(FLAG[4:0])를 선택하는 멀티플렉싱 로직(92)과, 이 멀티플렉싱 로직(92)의 출력(SD[4:0])을 상기 신호 선택부(91)의 클럭(CLK)에 따라 홀딩하여 선택신호(SD[4:0])와 클리어 신호(FRST[4:0])를 출력하는 선택 신호 결정부(93)로 구성한다.
상기 신호 선택 제어부(91)는 리세트 신호(RST)를 반전시키는 반전기(911)와, 이 반전기(911)의 출력과 라이트 클럭(WCLK)을 논리합하는 오아게이트(912)와, 이 오아게이트(912)의 출력에 세트되고 리드 클럭(RCLK)에 클리어되어 라이트 신호(WE)와 리드 신호(RE)를 출력하는 RS-플립플롭(914)과, 라이트 클럭(WCLK)과 리드 클럭(RCLK)을 노아링하여 클럭(CLK)을 출력하는 노아게이트(913)로 구성한다.
상기 멀티플렉싱 로직(92)은 하위 비트의 플래그 신호와 라이트 신호를 논리곱하는 제1 앤드게이트와, 상위 비트의 플래그 신호와 리드 신호를 논리곱하여 플래그는 제2 앤드게이트와, 이 제1, 제2 앤드게이트의 출력을 노아링하는 노아게이트를 플래그 신호(FLAG[4:0])의 개수만큼 구성한다.
상기 선택 신호 결정부(93)는 리세트 신호(RST)에 클리어되어 신호 선택부(91)의 클럭(CLK)에 따라 멀티플렉싱 로직(92)의 출력을 홀딩하여 리세트 신호(FRST)와 선택 신호(SEL)를 출력하는 레지스터(931-935)로 구성한다.
이와같이 구성한 본 발명의 다른 실시예의 동작을 설명하면 다음과 같다.
먼저, 선입선출 메모리가 초기화 동작을 하면 클럭 계수부(1)는 리세트 신호(RST)에 의해 계수 출력(DQ1-DQ8)을 0으로 크리어시킨 후 제어신호 발생부(7)의 클럭 출력(CLK)을 계수하는 동작을 수행하는데, 상기 모드 신호(MOD)가 0이면 업 카운팅 모드로서 라이트 동작을 하고 1이면 다운 카운팅 모드로서 리드 동작을 하게 된다.
또한, 계수치 저장부(2)는 8, 64, 128, 192, 248과 같은 초기값(INIT0-INIT7)을 제1-제5 레지스터(21-25)에 저장한 후 멀티플렉서(3)에 출력하게 된다.
이때, 선입선출 메모리의 데이터 입출력에 의해 로드 클럭(LDCLK), 라이트 클럭(WCLK) 및 리드 클럭(RCLK)을 조합한 제어신호 발생부(7)에서 모드신호(MOD)를 출력하게 된다.
이에 따라, 제어신호 발생부(7)의 출력(MOD)에 의해 라이트 또는 리드 모드가 결정되면 클럭 계수부(1)는 클럭(CLK)에 동기되어 라이트 클럭(WCLK) 또는 리드 클럭(RCLK)의 계수 동작을 제1-제8 계수부(11-18)가 순차적으로 수행함으로써 선입선출 메모리의 데이터 입출력에 따른 데이터의 저장 개수를 출력하게 된다.
즉, 업-카운트 모드에서 클럭 계수부(1)는 클럭(CLK)가 입력됨에 따라 2진수를 순차적으로 증가시켜 선입선출 메모리에 저장되는 데이터의 개수를 표시하게 된다.
그리고, 클럭 계수부(1)가 다운 카운트 모드일 경우에는 업-카운트 모드와는 반대로 동작하여 제1-제8 계수단(11-18)의 출력(DQ1-DQ8)에 의해 표시된 2 진수를 순차적으로 감소시켜 선입선출 메모리에 저장된 데이터의 개수를 표시하게 된다.
한편, 계수치 저장부(2)는 각각의 로드 신호(LOAD0-LOAD4)를 독립적인 클럭으로 하여 제1-제5 레지스터(21-25)가 8, 64, 128, 192, 248인 6개의 FULL레벨을 선입선출 메모리의 초기화때 각기 저장하여 멀티플렉서(3)에 출력하면 상기 멀티플렉서(3)는 상기 계수치 저장부(12)의 출력(Qn[i], n=0-4, i7)을 선택 신호(SEL0-SEL4)와 논리 조합하는데, 5비트의 상기 선택 신호(SEL0-SEL4)중 고전위인 해당 선신호에 따라 상기 계수치 저장부(2)의 출력(Qn[7:0], n=0-4)중 해당 신호를 신호 비교부(4)에 출력하게 된다.
때, 신호 비교부(4)는 클럭 계수부(1)의 출력(DQ1-DQ8)과 멀티플렉서(3)의 출력(MQ0-MQ7)을 논리 조합하여 비교신호(EQ)를 디멀티플레서(5)에 출력하는데, 상기 클럭 계수부(1)의 출력(DQ8-DQ1)과 멀티플렉서(3)의 출력(MQ7-MQ0)을 각기 비교하여 일치하면 1, 일치하지 않으면 0인 비교 신호(EQ)를 출력하게 된다.
따라서, 신호 비교부(4)의 출력(EQ)을 입력받은 디멀티플렉서(5)가 앤드게이트(51-55)에서 선택신호(SEL0-SEL4)와 각기 논리곱하여 상태 신호(ST0-ST4)를 출력하면 플래그 발생부(8)는 클리어 신호가 인가되지 않은 경우 상기 디멀티플렉서(5)의 출력(ST0-ST4)을 클럭으로 하는 플립플롭(81-85)이 반전 출력을 홀딩함에 의해 플래그 신호(FLAG0~FLAG4)를 발생시키는데, 현재의 선입선출 메모리의 상태를 알리는 플래그 신호는 상기 상태 신호(ST0-ST4)중 1로 발생된 신호에 해당하는 신호의 레벨이 반전되어진다.
그리고, 이와는 상관없이 플래그 발생부(8)는 리세트 신호(RST)가 인가되면 반전기(812)를 통해 노아게이트(813-816)에 인가하거나 클리어 신호(FRST0, FRST[n], n=1~4)가 인가되면 반전기(811), 상기 노아게이트(813-816)에 각기 인가하므로써 해당 비트의 플립플롭(81-85)을 클리어 또는 세트시키게 된다.
이때, 선택 신호 발생부(9)는 라이트 클럭(WCLK)이 인에이블되면 쓰기 모드로 동작하게 되고 리드 클럭(RCLK)이 인에이블되면 읽기 모드로 동작하게 되며 리세트 신호(RST)가 인에이블되면 초기 상태인 쓰기 모드로 동작하게 된다.
즉, 선택 신호 발생부(9)는 라이트 클럭(WCLK)이 인에이블되어 신호 선택부(91)에서 상기 라이트(WCLK)이 오아게이트(912)를 통해 RS-플립플롭(914)의 세트 단자(S)에 인가되면 반전 단자로 저전위인 라이트 신호(WE)를 출력함과 동시에 비반전 단자로 고전위인 리드 신호(RE)를 출력하고 멀티플렉싱 로직(92)에서 상기 리드 신호(RE)에 의해 하위 비트의 플래그 신호가 일측 단자에 인가된 앤드게이트가 인에이블되어 플랙그 선택 신호(SD0-SD4)가 , 1인 신호로 출력한다. 이에 따라, 멀티플렉싱 로직(92)에서 , 1인 플래그 선택 신호(SD0-SD4)가 출력할 때 선택 신호 발생부(93)는 선택 신호 제어부(91)의 클럭(CLK)에 따라 플립플롭(9312-935)이 상기 플래그 선택 신호(SD0-SD4)를 홀딩시킴에 의해 비반전 단자로 플래그 리셋 신호(FRST0-FRST4)가 출력하고 동시에 반전 단자로 선택 신호(SEL0-SEL4)가 출력하게 된다. 그리고, 리드 클럭(RCLK)이 인에이블되어 신호 선택 제어부(91)에서 SR-플립플롭(914)의 입력단자(R)에 인가되면 반전 단자로 고전위인 라이트 신호(WE)를 출력함과 동시에 비반전 단자로 저전위인 리드 신호(RE)를 출력하게 되고 멀티플렉싱 로직(92)에서 상기 라이트 신호(WE)에 의해 상위 비트의 플래그 신호가 일측단자에 인가된 앤드게이트가 인에이블되어 플래그 선택 신호(SD0-SD4)가 1,로 출력된다. 이에 따라, 선택 신호 발생부(93)에서 선택 신호 제어부(91)의 클럭(CLK)에 따라 플립플롭(931-935)이 멀티플렉싱 로직(92)의 1,인 플래그 선택 신호(SD0-SD4)를 홀딩시키므로 비반전 단자로 플래그 레세트 신호(FRST0-FRST4)를 출력하고 동시에 반전 단자로 선택 신호(SEL0-SEL4)를 출력하게 된다.
즉, 선택 신호 발생부(9)는 라이트 클럭(WCLK) 또는 리드 클럭(RCLK)이 인에이블됨에 의해 SR-플립플롭(914)의 출력에 따라 쓰기 또는 일기 모드가 결정되고 이 결정된 모드에 따라 플래그 값이 세팅된 레벨의 상위 또는 하위 레벨이 선택되도록 플래그 신호 발생부(8)의 출력(FLAG0-FLAG4)중 해당 신호를 선택하여 홀딩하므로써 선택 신호(SEL0-SEL4)를 멀티플렉서(3) 및 디멀티플렉서(5)에 입력시키게 되고 동시에 선택되지 않은 플랙그를 클리어하기 이한 플래그 리세트(FRST0-FRST4)를 발생시켜 상기 플래그 신호 발생부(8)에 입력시키므로써 선택되지 않은 플래그를 클리어시키게 된다.
한편, 상기와 같은 동작을 수행하기 위하여 업-다운 카운터인 클럭 계수부(1)를 감산기로 대치함과 아울러 그 감산기에 업-카운터와 다운-카운터를 접속하므로써 라이트 클럭(WCLK)을 상기 업-카운터로 계수하고 리드 클럭(RCLK)을 상기 다운-카운터로 계수하여 그 계수치를 판별함에 따라 선입선출 메모리의 데이터 저장상태를 표시할 수 있다.
상기와 같은 본 발명 실시예의 동작을 라이트 모드를 예로 들어 설명하면 다음과 같다.
먼저, 초기화 상태에서 계수치 저장부(2)의 제1-제5레지스터(21-25)내의 각 레지스터 값이 Q0부터 Q4까지 8, 64, 128, 192, 248로 저장되고 클럭 계수부(1)의 출력(DQ1-DQ8)이 0으로 크리어되었으며 선택 신호의 초기치는 SEL0만이 1이고 나머지는 모두 0이라고 가정한다.
여기서, 클럭 계수부(1)의 출력(DQ1-DQ8)값이 0이거나 최대값을 갖는 경우 선입선출 메모리는 EMPTY이거나 FULL상태이다.
이후, 계수치 저장부(2)가 로드 신호(LOAD)의 액티브에 의해 8인 값(Q0[7:0])을 저장하여 출력할 때 라이트 클럭(WCLK)이 입력되면 클럭 계수부(1)는 업 카운팅 모드임으로 하나의 라이트 클럭(WCLK)이 입력됨에 의해 제1 계수단(11)의 출력(DQ1) 만이 고전위가 되므로 출력(DQ1-DQ8)값이 1이 되고 계속하여 6개의 라이트 클럭(WCLK)이 입력되면 제1-제3 계수단(11-13)의 출력이 모두 고전위가 되므로 상기 출력(DQ1-DQ8) 값은 7이 된다.
이때, 선택신호(SEL0-SEL4)중 선택신호(SEL0)를 1로 입력받은 멀티플렉서(3)가 계수치 저장부(2)의 출력(Q0[7:0])을 선택함에 의해 8을 출력함으로 신호 비교부(4)는 7인 클럭 계수부(1)의 출력(DQ1-DQ8)과 비교하여 상기 클럭 계수부(1)의 출력값이 8에 도달하지 못했으므로 0인 비교신호(EQ)를 유지하여 본 발명 실시예의 플래그 발생부(6) 또는 (8)가 초기값을 유지하게 된다.
그리고, 하나의 라이트 클럭(WCLK)이 다시 입력되면 클럭 계수부(1)의 출력(DQ1-DQ8)이 8이 됨으로 신호 비교부(4)의 출력(EQ)이 1이 되어 디멀티플렉서(5)가 상기 1인 신호 비교부(4)의 출력과 1인 선택 신호(SEL0)에 의하여 상태 신호(ST0)를 1로 출력하게 된다.
이에 따라, 1인 상태 신호(ST0)를 입력받은 플래그 발생부(6)(8)가 플래그(FLAG0)의 값 0에서 1로 반전시켜 선입선출 메모리의 데이터 저장 상태를 표시하게 되며, 상기 플래그 발생부(6) 또는 (8)의 출력(FLAG0-FLAG4)값이 바뀌면 본 발명의 일실시예의 경우 소프트웨어적으로 선택 신호(SEL0-SEL4)값은 선택 신호(SEL1)만을 1로 입력시키게 되고, 본 발명의 다른 실시예의 경우 상기 플래그 발생부(8)의 출력(FLAG0-FLAG4)중 세팅된 레벨의 상위 비트를 선택함에 의해 선택 신호(SEL1)를 1로 입력시키게 된다.
따라서, 계속하여 라이트 클럭(WCLK)이 입력됨에 따라 상기와 같은 동작을 반복 수행하여 클럭 계수부(1)의 출력(DQ-DQ8)값이 64가 되었을 때 신호 비교부(4)의 출력(EQ)이 1이 됨으로 플래그 발생부(6) 또는 (8)의 출력인 플래그신호(FLAG1)가 0에서 1로 반전된다.
즉, 상기와 같은 동작을 반복 수행함에 따라 각각의 선택 신호(SEL0-SEL4)가 순차적으로 1이 되며 클럭 계수부(1)가 라이트 동작에 다른 클럭(CLK)을 계수하여 출력하면 신호 비교부(4)가 멀티플렉서(3)의 출력(MQ0-MQ7)과 비교하여 일치할 때 플래그 발생부(6) 또는 (8)의 출력인 플래그 신호(FLAG0-FLAG4)가 순차적으로 반전되어 선입선출 메모리의 데이터 저장 상태를 표시하게 된다.
한편, 라이트 클럭(WCLK)의 입력을 계수한 클럭 계수부(1)의 출력(DQ1-DQ8)값이 64가 된 후 65가 될 때 상기 라이트 클럭(WCLK)이 입력되지 않고 리드 클럭(RCLK)이 입력되었다면 상기 클럭 계수부(1)는 1인 모드 신호(MOD)에 의해 다운 카운트 모드로 동작한다.
이때, 선택 신호(SEL0-SEL4)의 값에 의해 멀티플렉서(3)의 출력이 64가 되도록 조정되며 클럭 계수부(1)의 출력(DQ1-DQ8)이 다운카운팅에 의해 64가 되면 신호 비교부(4)의 출력(EQ)이 1이 된다.
이에 따라, 다운 카운팅에 의해 카운터(1)의 출력값이 64가 되면 비교기(4)의 출력이 다시 1이 되어 플래그 발생부(6) 또는 (8)의 출력인 플래그 시호(FLAG1)를 1에서 0으로 반전시키게 되고 선택 신호(SEL0-SEL4)의 값은 상기 멀티플렉서(3)의 출력값(MQ0-MQ7)이 8이 되도록 조정된다.
따라서, 다시 리드 클럭(RCLK)의 입력을 계수하여 선입선출 메모리의 데이터 저장 상태를 판별하여 플래그 신호(FLAG0)로 표시하게 된다.
여기서, 선택 신호(SEL0-SEL4)의 값은 클럭 계수부(1)의 동작 모드와 플래그(FLAG0-FLAG4)값에 의해 조절될 수 있는데, 본 발명 일실시예에의 경우에는 프로그램에 의해 선택 신호(SEL0-SEL4)의 값이 조정되고, 다른 실시예의 경우에는 하드웨어로 구현된 선택 신호 발생부(9)에 의해 선택 신호(SEL0-SEL4)의 값이 조정되어진다.
즉, 본 발명 다른 실시예의 경우 선택 신호 발생부(9)는 1로 되어 있는 플래그에 의하여 현재 어느 정도량의 데이터가 선입선출 메모리에 들어 있는지를 판별한 후 라이트 모드인 경우 한 레벨 윗부분인 상위 비트를 선택하고 리드 모드인 경우 한 레벨 아래 부분인 하위 비트를 선택하게 되며 동시에 선택 신호가 인가되지 않은 곳의 플래그 신호들은 모두 클리어 되어 현재 데이터가 차있는 양에 해당하는 플래그만을 1로 세팅하게 된다.
상기에서 상세히 설명한 바와 같이 본 발명은 회로를 간단히 구현하여 하나의 비교기로 여러 레벨의 상태를 판단함에 따라 플래그 신호를 발생시키므로 선입선출 메모리의 크기나 FULL레벨의 변화에 대하여 쉽게 수정, 적용이 가능하고, 선입선출 메모리에 저장되어 있는 데이터의 개수는 초기 지정할 수 잇는 카운터를 사용하기 때문에 여러개의 선입선출 메모리를 교대로 사용할 수 있으며, 초기에 FULL레벨을 레지스터에 저장하여 사용하기 때문에 응용 범위에 따른 FULL레벨의 조절이 언제라도 가능한 효과가 있다.
또한, 상태값을 저장함과 아울러 클럭 발생을 위해 지연기등을 사용하지 않았으므로 제조 공정에 따른 타이밍 오류 발생을 제거할 수 있는 효과가 있다.
또한, 본 발명은 일실시예의 경우 소프트웨어에 의한 선택 신호를 발생시킬 때 실제 사용상에서 씨피유(CPU)의 부담이 증가할 수 있는데 다른 실시예를 적용하면 선택 LS호를 간단히 구현한 하드웨어로 발생시키므로써 초기화부터 자동적으로 선입선출 메모리의 동작을 자동적으로 수행할 수 있고 또한, 선택 신호를 클리어 신호와 병행하여 상요하므로 잡음에 강하게 개선시키는 효과가 있다.

Claims (18)

  1. 로드 클럭(LCLK), 리드 클럭(RCLK) 및 라이트 클럭(WCLK)을 연산하여 클럭(CLK) 및 모드 신호(MOD)를 발생시키는 제어신호 발생수단과, 이 제어 신호 발생 수단의 출력(MOD)에 따라 업 또는 다운 카운팅 모드로 동작하여 라이트 클럭(WCLK) 또는 리드 클럭(RCLK)을 계수하는 클럭 계수 수단과, 선입선출 메모리의 라이트 또는 리드에 따른 초기값을 저장하는 계수치 저장 수단과, 선택 신호(SEL0-SEL4)에 따라 상기 계수치 저장 수단의 출력을 선택하여 현재 상태의 FULL레벨을 출력하는 멀티플렉서와, 상기 클럭 계수수단의 출력과 상기 멀티플렉서의 출력이 동일한지 비교하는 신호 비교수단과, 이 신호 비교 수단의 출력(EQ)에 따라 선택 신호(SEL0-SEL4)에 의한 적절한 상태값을 출력하는 디멀티플렉서와 이 디멀티플렉서의 출력에 따라 현재 상태에 따른 플래그 신호(FLAG0-FLAG4)를 발생시키는 플래그 발생 수단으로 구성한 것을 특징으로 하는 메모리의 데이터 입출력 상태 검출 회로.
  2. 제1항에 있어서, 제어신호 발생 수단은 로드 클럭(LCLK), 리드 클럭(RCLK) 및 라이트 클럭(WCLK)을 노아링하여 클럭(CLK)을 발생시크는 노아게이트(NOR1)와, 상기 리드 클럭(RCLK)을 반전시키는 반전기(IN11)와, 리세트 신호(RST)와 라이트 클럭(WCLK)을 낸딩하는 낸드게이트(NA1)와, 이 낸드게니트(NA1)와 상기 반전기(IN11)의 출력에 의해 모드 신호(MOD)를 출력하는 S-R플립플롭(FF1)으로 구성한 것을 특징으로 하는 메모리의 데이터 입출력 상태 검출 회로.
  3. 제1항에 있어서, 클럭 계수 수단은 모드 신호(MOD)가 0일 때 라이트 클럭(WCLK)에 따라 업-카운티하고, 1일 때 리드 클럭(RCLK)에 따라 다운-카운팅과 아울러 전단 출력과 자신의 이전 출력을 논리조합함에 따라 2진 값인 출력(DQ1-DQ8)을 증가시키거나 감소시키는 제1-제8 계수단(11-18)으로 구성한 것을 특징으로 하는 메모리의 데이터 입출력 상태 검출 회로.
  4. 제3항에 있어서, 제1계수단(11)은 계수 출력(DQ1)을 발전시키는 반전기(IN12)와, 이 반전기(IN12)의 출려과 초기값(INIT0)을 로드 신호(LOAD)에 따라 선택하는 선택기(111)와, 이 선택기(111)의 출력을 클럭(CLK)에 따라 홀딩시켜 계수 신호(DQ1)로 출력하는 플립플롭(112)으로 구성한 것을 특징으로 하는 메모리의 데이터 입출력상태 검출 회로.
  5. 제3항에 있어서, 제2 계수단(12)은 모드 신호(MOD)에 따라 제1 계수단(1)의 출력(DQ1)((DQN1) 중 하나를 선택하는 선택기(121)와, 이 선택기(121)의 출력과 자신의 계수 출력(DQ2)을 논리조합하는 배타적 오아게이트(XOR1)와, 로드 신호(LDEN)에 따라 초기값(INIT1)과 상기 배사적 오아게이트(XOR1)의 출력중 하나를 선택하는 선택기(122)와, 클럭(CLK)에 따라 상기 선택기(122)의 출력을 계수신호(DQ2)로 출력하는 플립플롭(123)과, 이 플립플롭(123)의 출력(DQ2)(DQN2)과 상기 제1계수부(11)의 출력(DQ1)(DQN1)을 각기 앤딩하여 다음단에 출력하는 제1, 제2앤드게이트로 구성하고, 제3-제7계수단(13-17)은 상기 제2계수단(12)과 동일하게 구성하며, 제8계수단(18)은 상기 제2계수단(12)에서 제1, 제2앤드게이트를 제거하여 구성한 것을 특징으로 하는 메모리의 데이터 입출력 상태 검출 회로.
  6. 제1항에 있어서, 계수치 저장 수단은 각각의 로드신호(LOAD0-LOAD4)에 따라 초기치(INIT0-INIT7)를 각기 저장하는 8비트 레지스터(21-25)로 구성한 것을 특징으로 하는 메모리의 데이터 입출력 상태 검출회로.
  7. 제6항에 있어서, 제1레지스터(21)는 로드신호(LOAD0)를 클럭으로 하여 상기 초기치(INITn, n=0-7)을 각기 홀딩시키는 플립플롭(211-218)을 구성하고, 상기 제2-제5 레지스터(22-25)는 로드신호(LOAD1-LOAD4)를 각각의 클럭으로 하여 초기치(INITn, n=0-7)를 홀딩시키도록 상기 제1레지스터(21)와 동일하게 구성한 것을 특징으로 하는 메모리의 데이터 입출력 상태 검출회로.
  8. 제1항에 있어서, 멀티플렉서는 선택 신호(SEL0-SEL4)와 계수치 저장 수단의 출력(Qn[7:0], n=0-4)을 각기 논리 조합하여 상기 계수치 저장 수단의 출력(Qn[7:0], n=0-4)중 하나를 출력하는 제1-제8다중 선택기(31-38)로 구성한 것을 특징으로 하는 메모리의 데이터 입출력 상태 검출회로.
  9. 제8항에 있어서, 제1 다중 선택기(31)는 선택 신호(SEL0-SEL4)와 계수치 저장 수단의 출력(Q11[0], n=0~4)을 각기 낸딩하는 낸드게이트(NA11-NA15)의 출력을 낸딩하는 낸드게이트(NA16)로 구성하고 제2-제8다중선택기)32-38)는 선택 신호(SEL0-SEL4)에 따라 상기 계수치 저장 수단의 출력(Qn[7:0], n=0-4)을 각기 선택하도록 상기 제1다중 선택기(31)와 동일하게 구성한 것을 특징으로 하는 메모리의 데이터 입출력 상태 검출 회로.
  10. 제1항에 있어서, 신호 비교 수단은 클럭 계수 수단의 출력(DQ0-DQ7)과 멀티플렉서의 출력(MQ0-MQ7)을 각기 논리 조합하는 배타적 노아게이트(XNR1-XNR8)와, 이 배타적 노아게이트(XNR1-XNR4)(XNR5-XNR8)의 출력을 각기 낸딩하는 낸드게이트(NA2)(NA3)와, 이 낸드게이트(NA2)(NA3)의 출력을 노아링하여 비교 신호(EQ)를 디멀티플렉서에 출력하는 노아게이트(NOR2)로 구성한 것을 특징으로 하는 메모리의 데이터 입출력 상태 검출 회로.
  11. 제1항에 있어서, 디멀티플렉서는 선택 신호(SEL[n], n=0-4)아 신호 비교 수단의 출력(EQ)을 각기 논리곱하여 상태 신호(ST[n], n=0-4)를 출력하는 앤드게이트(51-55)로 구성한 것을 특징으로 하는 메모리의 데이터 입출력 상태 검출 회로.
  12. 제1항에 있어서, 플래그 발생 수단은 디멀티플렉서의 출력(ST[n], n=0-4)을 클럭으로 하여 반전 출력을 홀딩함에 의해 플래그 신호(FLAG[n], n=0-4)를 발생시키는 플립플롭(61-65)으로 구성함 것을 특징으로 하는 메모리의 데이터 입출력 상태 검출 회로.
  13. 로드 클럭(LCLK), 리드 클럭(RCLK) 및 라이트 클럭(WCLK)을 연산하여 클럭(CLK) 및 모드 신호 (MOD)를 발생시키는 제어 신호 발생 수단과, 이 제어 신호 발생 수단의 출력(MOD)에 따라 업 또는 다운 카운팅 모드로 동작하여 라이트 클럭(WCLK) 또는 리드 클럭(RCLK)을 계수하는 클럭 계수 수단과, 선입선출 메모리의 라이트 또는 리드에 따른 초기값을 저장하는 계수치 저장 수단과, 선택 신호(SEL0-SLE4)에 따라 상기 계수치 저장 수단으로 출력을 선택하여 현재 상태의 FULL레벨을 출력하는 멀티플렉서와, 상기 클럭 계수 수단의 출력과 상기 멀티플렉서의 출력이 동일한지 비교하는 신호 비교 수단과, 이 신호 비교 수단의 출력(EQ)에 따라 선택신호(SEL0-SEL4)의 적절한 상태값을 출력하는 디멀티플렉서와, 이 디멀티플렉서의 출력에 따라 현재 상태에 따른 플래그 신호(FLAG0-FLAG4)를 발생시키는 플래그 발생 수단과, 이 플래그 발생 수단의 출력값인 플래그 신호(FLAG0~FLAG4)를 리드 클럭(RCLK)과 라이트 클럭(WCLK)에 따라 검출하여 선택 신호(SELO~SLE4)를 상기 멀티플렉서 및 디멀티플렉서에 출력하고 리세트 신호(FRST0~FRST4)를 상기 플래그 발생 수단에 출력하는 선택 신호 발생 수단으로 구성한 것을 특징으로 하는 메모리의 데이터 입출력 상태 검출 회로.
  14. 제13항에 있어서, 플래그 발생 수단은 디멀티플랙서의 출력(ST[n], n=0-4)을 클럭으로 하여 반전 출력을 홀딩함에 의해 플래그 신호(FLAG[n], n=0-4)를 발생시키는 플립플롭(81-85)과, 플래그 리세트 신호(FRST0)를 반전시켜 상기 플립플롭(81)을 클리어 시키는 반전기(811)와, 리세트 신호(RST)를 반전시키는 반전기(812)와, 플래그 리세트 신호(FRST)와 상기 반전기(812)의 출력을 노아링하여 상기 플립플롭(82-85)을 클리어시키는 노아게이트(813-816)로 구성한 것을 특징으로 하는 메모리의 데이터 입출력 상태 검출 회로.
  15. 제13항에 있어서, 선택 신호 수단을 리드 클럭(RCLK)과 라이트 클럭(WCLK)을 조합함에 의해 리드 신호(RE)와 라이트 신호(WE)를 발생시크는 신호 선택 제어부(91)와, 이 신호 선택 제어부(91)의 출력에 따라 플래그(FLAG[4:0])를 선택하는 멀티플렉싱 로직(92)과, 이 멀티플렉싱 로직(92)의 출력(SD[4:0])을 상기 신호 선택부(91)의 클럭(CLK)에 따라 홀딩하여 선택 신호(SEL[4:0])와 클리어 신호(FRST[4:0])를 출력하는 선택신호 결정부(93)로 구성한 것을 특징으로 하는 메모리의 데이터 입출력 상태 검출 회로.
  16. 제15항에 있어서, 신호 선택 제어부(91)는 리세트 신호(RST)를 반전시키는 반전기(911)와, 이 반전기(911)의 출력과 라이트 클럭(WCLK)을 논리합하는 오아게이트(912)와, 이 오아게이트(912)의 출력에 세트되고 리드 클럭(RCLK)에 클리어되어 라이트 신호(WE)와 리드 신호(RE)를 출력하는 RS-플립플롭(914)과, 라이트 클럭(WCLK)과 리드 클럭(RCLK)을 노아링하여 클럭(CLK)을 출력하는 노아게이트(913)로 구성한 것을 특징으로 하는 메모리의 데이터 입출력 상태 검출 회로.
  17. 제15항에 있어서, 멀티플렉싱 로직(92)은 하위 비트의 플래그 신호와 라이트 신호(WE)를 논리곱하는 제1앤드게이트와, 상위 비트의 플래그 신호와 리드 신호(RE)를 논리곱하는 제2 앤드게이트와, 이 제1, 제2앤드게이트의 출력을 노아링하여 플래그선택 신호(SD)를 출력하는 노아게이트로 하나의 플래그 신호(FLAG)를 선택하도록 구성한 게이트 로직을 플래그 신호(FLAG[4:0])의 개수만큼 구성한 것을 특징으로 하는 메모리의 데이터 입출력 상태 검출 회로.
  18. 제15항에 있어서, 선택 신호 결정부(93)는 리세트 신호(RST)에 클리어되어 신호 선택 제어부(91)의 클럭(CLK)에 따라 멀티 플렉싱 로직(92)의 출력을 홀딩하여 리세트 신호 및 선택 신호(FRSTn, SELn, n=0-4)를 각기 출력하는 플립플롭(931-935)으로 구성한 것을 특징으로 하는 메모리의 데이타 입출력 상태 검출회로.
KR1019940020302A 1994-05-17 1994-08-17 메모리의 데이타 입출력 상태 검출 회로 KR960014169B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019940020302A KR960014169B1 (ko) 1994-05-17 1994-08-17 메모리의 데이타 입출력 상태 검출 회로

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR94-10841 1994-05-17
KR19940010841 1994-05-17
KR1019940020302A KR960014169B1 (ko) 1994-05-17 1994-08-17 메모리의 데이타 입출력 상태 검출 회로

Publications (2)

Publication Number Publication Date
KR950033791A KR950033791A (ko) 1995-12-26
KR960014169B1 true KR960014169B1 (ko) 1996-10-14

Family

ID=19383307

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019940020302A KR960014169B1 (ko) 1994-05-17 1994-08-17 메모리의 데이타 입출력 상태 검출 회로

Country Status (4)

Country Link
US (1) US5495451A (ko)
JP (1) JP2729927B2 (ko)
KR (1) KR960014169B1 (ko)
DE (1) DE19507330C2 (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR960035283A (ko) * 1995-03-23 1996-10-24 김주용 이중 채널 선입 선출 회로
US5809339A (en) * 1995-12-06 1998-09-15 Cypress Semiconductor Corp. State machine design for generating half-full and half-empty flags in an asynchronous FIFO
US5712992A (en) * 1995-12-06 1998-01-27 Cypress Semiconductor Corporation State machine design for generating empty and full flags in an asynchronous FIFO
US5844423A (en) * 1995-12-14 1998-12-01 Cypress Semiconductor Corporation Half-full flag generator for synchronous FIFOs
US5963056A (en) * 1995-12-14 1999-10-05 Cypress Semiconductor Corp. Full and empty flag generator for synchronous FIFOs
US5850568A (en) * 1995-12-22 1998-12-15 Cypress Semiconductor Corporation Circuit having plurality of carry/sum adders having read count, write count, and offset inputs to generate an output flag in response to FIFO fullness
US5852748A (en) * 1995-12-29 1998-12-22 Cypress Semiconductor Corp. Programmable read-write word line equality signal generation for FIFOs
US5661418A (en) * 1996-03-13 1997-08-26 Cypress Semiconductor Corp. Signal generation decoder circuit and method
US5818847A (en) * 1996-06-06 1998-10-06 Sun Microsystems, Inc. System and method for providing real time values in digital data processing system
KR100232897B1 (ko) * 1996-12-31 1999-12-01 김영환 클럭 인에이블 신호의 제어를 통한 디램 상태 자동설정장치 및 그 구현방법
JP4061841B2 (ja) * 1998-06-25 2008-03-19 セイコーエプソン株式会社 半導体記憶装置
EP1714210B1 (en) * 2004-02-12 2009-10-28 Koninklijke Philips Electronics N.V. A fifo memory device with non-volatile storage stage
US9286004B1 (en) * 2014-03-31 2016-03-15 Emc Corporation Managing I/O operations in multi-core systems
KR102701819B1 (ko) * 2019-06-10 2024-09-03 에스케이하이닉스 주식회사 리드 클럭 생성 회로 및 이를 포함하는 데이터 처리 회로
CN116090029B (zh) * 2023-01-13 2023-06-06 无锡沐创集成电路设计有限公司 加密电路

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5255238A (en) * 1988-09-08 1993-10-19 Hitachi, Ltd. First-in first-out semiconductor memory device
US5206817A (en) * 1989-03-31 1993-04-27 Sgs-Thomson Microelectronics, Inc. Pipelined circuitry for allowing the comparison of the relative difference between two asynchronous pointers and a programmable value
US5228002A (en) * 1991-04-26 1993-07-13 Quality Semiconductor Inc. First-in first-out memory device and method for accessing the device
US5262996A (en) * 1991-08-27 1993-11-16 Industrial Technology Research Institute FIFO module
JPH0676559A (ja) * 1992-06-26 1994-03-18 Mitsubishi Electric Corp ファーストインファーストアウトメモリ装置

Also Published As

Publication number Publication date
JP2729927B2 (ja) 1998-03-18
JPH07319758A (ja) 1995-12-08
DE19507330A1 (de) 1995-11-23
KR950033791A (ko) 1995-12-26
DE19507330C2 (de) 1999-02-25
US5495451A (en) 1996-02-27

Similar Documents

Publication Publication Date Title
KR960014169B1 (ko) 메모리의 데이타 입출력 상태 검출 회로
KR0123239B1 (ko) 선입선출방식(fifo) 메모리
JP4315552B2 (ja) 半導体集積回路装置
US4486854A (en) First-in, first-out memory system
US5867672A (en) Triple-bus FIFO buffers that can be chained together to increase buffer depth
EP0226017A2 (en) Data synchronizer between a source system and a sink system
WO2008142610A1 (en) Fifo buffer
JP3645584B2 (ja) データ転送同期装置
US5557575A (en) Look ahead flag for FIFO
US9330740B1 (en) First-in first-out circuits and methods
JPH04301290A (ja) 先入れ先出しメモリ回路
JP2004062630A (ja) Fifoメモリ及び半導体装置
US6191992B1 (en) First-in-first-out storage device including synchronized full-state detention and empty-state detention
JP3803246B2 (ja) 非同期fifo回路
US6816979B1 (en) Configurable fast clock detection logic with programmable resolution
EP0342107B1 (en) Flag for a FIFO
US7321520B2 (en) Configurable length first-in first-out memory
US5214607A (en) Look-ahead FIFO byte count apparatus
US5355113A (en) Serialized difference flag circuit
US11748282B2 (en) Electronic device
JP4189729B2 (ja) タイマーカウント値の非同期読み出し方法及びタイマー
US6489805B1 (en) Circuits, architectures, and methods for generating a periodic signal in a memory
JP3114298B2 (ja) 先入先出記憶装置
JP7211676B2 (ja) 半導体装置
KR0179903B1 (ko) 선입선출 메모리

Legal Events

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

Payment date: 20050923

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee