[go: up one dir, main page]

KR100226025B1 - 비동기 선입선출메모리의 플래그발생회로 - Google Patents

비동기 선입선출메모리의 플래그발생회로 Download PDF

Info

Publication number
KR100226025B1
KR100226025B1 KR1019960074321A KR19960074321A KR100226025B1 KR 100226025 B1 KR100226025 B1 KR 100226025B1 KR 1019960074321 A KR1019960074321 A KR 1019960074321A KR 19960074321 A KR19960074321 A KR 19960074321A KR 100226025 B1 KR100226025 B1 KR 100226025B1
Authority
KR
South Korea
Prior art keywords
signal
counting
light
output
synchronization
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
KR1019960074321A
Other languages
English (en)
Other versions
KR19980055113A (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 KR1019960074321A priority Critical patent/KR100226025B1/ko
Publication of KR19980055113A publication Critical patent/KR19980055113A/ko
Application granted granted Critical
Publication of KR100226025B1 publication Critical patent/KR100226025B1/ko
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store

Landscapes

  • Dram (AREA)

Abstract

본 발명은 서로 다른 주기의 클락으로 동작되는 각 블록들간에도 고속으로 데이터의 선입 선출 동작이 가능한 선입선출메모리(FIFO; first in first out memory)의 플래그발생회로에 관한 것으로, 소정의 라이트인에이블신호(WEN)를 입력받고, 소정의 주기를 갖는 제1 클락신호(CLK1)에 동기되어 카운팅 하고, 소정의 주기를 갖는 제2 클락신호(CLK2)에 동기하여 제1 라이트카운팅신호를 출력하는 제1 라이트감지부(110)와; 소정의 리드인에이블신호(REN)를 입력받고, 상기 제2 클락신호(CLK2)의 입력에 동기되어 카운트하여 제1리드카운팅신호 및 넥스트리드카운팅신호를 출력하는 제1 리드감지부(120)와; 상기 제1 라이트카운팅신호와 상기 제1 리드카운팅신호 및 넥스트리드카운팅신호를 입력받아 판단하여 현재 상기 선입선출메모리의 메모리영역에 데이터가 엠프티 상태인 경우 엠프티플래그(EF)를 발생하는 엠프티플레그발생판단부(130)와; 상기 엠프티플레그발생판단부(130)의 출력을 입력받아 상기 제2 클락신호(CLK2)에 동기하여 상기 엠프티플래그(EF)를 출력하는 엠프티플레그출력부(140)와; 상기 리드인에이블신호(REN)를 입력받고, 상기 제2 클락신호(CLK2)에 동기되어 카운팅 하고, 상기 제1 클락신호(CLK1)에 동기하여 제2 리드카운팅신호를 출력하는 제2 리드감지부(210)와; 상기 라이트인에이블신호(WEN)를 입력받고, 상기 제1 클락신호(CLK1)의 입력에 동기되어 카운트하여 제2 라이트카운팅신호 및 넥스트라이트카운팅신호를 출력하는 제2 라이트감지부(220)와; 상기 제2 리드카운팅신호와 상기 제2 라이트카운팅신호 및 넥스트라이트카운팅신호를 입력받아 판단하여 현재 상기 선입선출메모리의 메모리영역에 데이터가 풀 상태인 경우 풀플래그(FF)를 발생하는 풀플레그발생판단부(230)와; 상기 풀플레그발생판단부(230)의 출력을 입력받아 상기 제1 클락신호(CLK1)에 동기하여 상기 풀플래그(FF)를 출력하는 풀플레그출력부(240)를 포함한다.

Description

비동기 선입선출메모리의 플래그발생회로
본 발명은 선입선출메모리(FIFO; first in first out memory)에 관한 것으로서, 구체적으로는 서로 다른 주기의 클락으로 동작되는 각 블록들간에도 고속으로 데이터의 선입 선출 동작이 가능한 선입선출메모리의 플래그발생회로에 관한 것이다.
현재, 반도체 칩의 제조공정의 발전에 따라 그 집적도 또한 증가되고 있고, 다양한 기능을 하나의 반도체 칩에 집적화한 단일칩(one chip)들이 많이 출현하고 있다. 그리고 이러한 단일칩의 내부에 구성된 각 블록간의 데이터 이동을 고속으로 하기 위한 목적으로 해당 블록간의 인터페이스(interface)를 위해 선입선출메모리를 사용하는 경우가 많다.
한편, 상기와 같은 단일칩 내에는 복수의 클락이 존재하는 경우가 빈번하다. 왜냐하면, 내부에 구성된 각 블록들이 서로 다른 동작 특성을 갖고 있어 이에 사용되는 클락도 서로 다른 주기를 갖게 되는 경우가 있을 수 있기 때문이다.
이때, 선입선출메모리는 자신의 상태를 각 블록에게 알려주어야 하며, 이 경우 서로 다른 클락으로 동작하는 리드/라이트 카운터(read/write counter)를 비교하여 그 결과를 각 블록이 동작하는 클락에 동기시켜 제공하여야 한다. 이와 같이 동작되는 특성으로 인하여 딜레이가 발생되어 원하는 동작 속도 얻지 못하는 경우가 발생하는 문제점이 있어 왔다. 또한 각 블록이 일정 간격 이상으로 떨어져 있는 경우 와이어 딜레이(wire delay)에 의한 악영향이 발생되기도 하는 문제점도 있어 왔다.
본 발명의 목적은 상술한 문제점을 해결하기 위해 제안된 것으로서, 서로 다른 동작 주파수를 갖는 블록간에도 고속의 인터페이싱이 가능하도록 하는 선입선출메모리의 플래그발생회로를 제공하는데 있다.
도 1은 본 발명의 실시예에 따른 엠프티·풀플레그발생부의 계략적인 구성을 보여주는 블록도,
도 2는 도 1에 도시된 엠프티플레그발생부의 상세 회로도,
도 3은 도 1에 도시된 풀플레그발생부의 상세 회로도,
도 4는 도 2에 도시된 엠프티플레그발생부의 중요 부분의 동작에 따른 타이밍도,
도 5는 도 3에 도시된 풀플레그발생부의 중요 부분의 동작에 따른 타이밍도.
*도면의 주요 부분에 대한 부호의 설명*
100 : 엠프티플레그발생부110 : 라이트감지부
112, 222 : 라이트카운터114, 142, 214, 242 : 플리플롭
120 : 리드감지부122, 212 : 리드카운터
124, 224 : 멀티플렉서126 : 넥스트리드카운터
130 : 엠프티플레그발생판단부132, 134 : 비교부
136, 138, 236, 238 : 논리회로부140 : 엠프티플레그출력부
200 : 풀플레그발생부210 : 리드감지부
220 : 라이트감지부226 : 넥스트라이트카운터
230 : 풀플레그발생판단부232, 234 : 판단부
240 : 풀플레그출력부
(구성)
상술한 목적을 달성하기 위한 본 발명의 일 특징에 의하면, 선입선출메모리의 플래그 발생회로는 : 소정의 라이트인에이블신호를 입력받고, 소정의 주기를 갖는 제1 클락신호에 동기되어 카운팅 하고, 소정의 주기를 갖는 제2 클락신호에 동기하여 제1 라이트카운팅신호를 출력하는 제1 라이트감지부와; 소정의 리드인에이블신호를 입력받고, 상기 제2 클락신호의 입력에 동기되어 카운트하여 제1리드카운팅신호 및 넥스트리드카운팅신호를 출력하는 제1 리드감지부와; 상기 제1 라이트카운팅신호와 상기 제1 리드카운팅신호 및 넥스트리드카운팅신호를 입력받아 판단하여 현재 상기 선입선출메모리의 메모리영역에 데이터가 엠프티 상태인 경우 엠프티플래그를 발생하는 엠프티플레그발생판단부와; 상기 엠프티플레그발생판단부의 출력을 입력받아 상기 제2 클락신호에 동기하여 상기 엠프티플래그를 출력하는 엠프티플레그출력부와; 상기 리드인에이블신호를 입력받고, 상기 제2 클락신호에 동기되어 카운팅 하고, 상기 제1 클락신호에 동기하여 제2 리드카운팅신호를 출력하는 제2 리드감지부와; 상기 라이트인에이블신호를 입력받고, 상기 제1 클락신호의 입력에 동기되어 카운트하여 제2 라이트카운팅신호 및 넥스트라이트카운팅신호를 출력하는 제2 라이트감지부와; 상기 제2 리드카운팅신호와 상기 제2 라이트카운팅신호 및 넥스트라이트카운팅신호를 입력받아 판단하여 현재 상기 선입선출메모리의 메모리영역에 데이터가 풀 상태인 경우 풀플래그를 발생하는 풀플레그발생판단부와; 상기 풀플레그발생판단부의 출력을 입력받아 상기 제1 클락신호에 동기하여 상기 풀플래그를 출력하는 풀플레그출력부를 포함한다.
이 실시예에 있어서, 상기 제1 라이트감지부는 상기 라이트인에이블신호을 입력받고, 상기 제1 클락신호에 동기되어 카운팅 결과를 출력하는 라이트카운터와; 상기 카운팅 결과를 상기 제2 클락신호에 동기하여 상기 제1 라이트카운팅신호를 출력하는 플리플롭을 포함한다.
이 실시예에 있어서, 상기 라이트카운터는 그레이 코드 카운터로 구성된다.
이 실시예에 있어서, 상기 제1 리드감지부는 상기 제2 클락신호에 동기하여 상기 제1 리드카운팅신호를 출력하는 리드카운터와; 상기 제1 리드카운팅신호를 입력받아 소정수 증가하여 상기 넥스트리드카운팅신호를 출력하는 넥스트리드카운터와; 상기 제1 리드카운팅신호 및 상기 넥스트리드카운팅신호를 입력받고, 상기 리드인에이블신호의 입력에 따라 해당되는 입력을 상기 리드카운터로 출력하는 멀티플렉서를 포함한다.
이 실시예에 있어서, 상기 리드카운터는 그레이 코드 카운터로 구성된다.
이 실시예에 있어서, 상기 엠프티플레그발생판단부는 상기 제1 라이트카운팅신호 및 상기 넥스트리드카운팅신호를 입력받아 비교하여 그 결과에 해당되는 소정의 신호를 출력하는 제1 비교부와; 상기 제1 라이트카운팅신호 및 상기 제1 리드카운팅신호를 입력받아 비교하여 그 결과에 해당되는 소정의 신호를 출력하는 제2 비교부와; 상기 제1 비교부의 출력 및 상기 리드인에이블신호를 입력하여 소정의 논리 연산을 수행하여 출력하는 제1 논리회로부와; 상기 제1 논리회로부의 출력 및 상기 제2 비교부의 출력을 입력받아 논리 연산하여 출력하는 제2 논리회로부를 포함한다.
이 실시예에 있어서, 상기 제1 논리회로부는 앤드게이트로 구성된다.
이 실시예에 있어서, 상기 제2 논리회로부는 오아게이트로 구성된다.
이 실시예에 있어서, 상기 엠프티플레그출력부는 상기 제2 클락신호에 동기되어 엠프티플래그를 출력하는 플리플롭으로 구성된다.
이 실시예에 있어서, 상기 제2 리드감지부는 상기 리드인에이블신호을 입력받고, 상기 제2 클락신호에 동기되어 카운팅 결과를 출력하는 리드카운터와; 상기 카운팅 결과를 상기 제1 클락신호에 동기하여 상기 제2 리드카운팅신호를 출력하는 플리플롭을 포함한다.
이 실시예에 있어서, 상기 리드카운터는 그레이 코드 카운터로 구성된다.
이 실시예에 있어서, 상기 제2 라이트감지부는 상기 제1 클락신호에 동기하여 상기 제2 라이트카운팅신호를 출력하는 라이트카운터와; 상기 제2 라이트카운팅신호를 입력받아 소정수 증가하여 상기 넥스트라이트카운팅신호를 출력하는 넥스트라이트카운터와; 상기 제2 라이트카운팅신호 및 상기 넥스트라이트카운팅신호를 입력받고, 상기 라이트인에이블신호의 입력에 따라 해당되는 입력을 상기 라이트카운터로 출력하는 멀티플렉서를 포함한다.
이 실시예에 있어서, 상기 라이트카운터는 그레이 코드 카운터로 구성된다.
이 실시예에 있어서, 상기 풀플레그발생판단부는 상기 제2 리드카운팅신호 및 상기 넥스트라이트카운팅신호를 입력받아 카운팅 상태를 판단하여 그 결과에 해당되는 소정의 신호를 출력하는 제1 판단부와; 상기 제2 리드카운팅신호 및 상기 제2 라이트카운팅신호를 입력받아 카운팅 상태를 판단하여 그 결과에 해당되는 소정의 신호를 출력하는 제2 판단부와; 상기 제1 판단부의 출력 및 상기 라이트인에이블신호를 입력하여 소정의 논리 연산을 수행하여 출력하는 제1 논리회로부와; 상기 제1 논리회로부의 출력 및 상기 제2 판단부의 출력을 입력받아 논리 연산하여 출력하는 제2 논리회로부를 포함한다.
이 실시예에 있어서, 상기 제1 논리회로부는 앤드게이트로 구성된다.
이 실시예에 있어서, 상기 제2 논리회로부는 오아게이트로 구성된다.
이 실시예에 있어서, 상기 풀플레그출력부는 상기 제1 클락신호에 동기되어 풀플래그를 출력하는 플리플롭으로 구성된다.
(작용)
이상과 같은 본 발명에 의하면, 선입선출메모리의 상태를 알려주는 풀·엠프티플레그를 플리플롭에서 바로 출력함으로 해당 블록의 동작 주파수가 높아진다.
(실시예)
이하 본 발명의 실시예를 첨부된 도면에 의거하여 상세히 설명한다.
도 1은 본 발명의 실시예에 따른 엠프티·풀플레그발생부의 계략적인 구성을 보여주는 블록도이고, 도 2는 도 1에 도시된 엠프티플레그발생부의 상세 회로도이고, 도 3은 도 1에 도시된 풀플레그발생부의 상세 회로도이다.
도 1에 도시된바와 같이, 본 발명의 실시예에 따른 엠프티·풀플레그 발생부는 크게 엠프티플레그발생부(100)와 풀플레그발생부(200)로 구성된다.
상기 엠프티플레그발생부(100)는 서로 다른 주기를 갖는 제1 클락신호(CLK1)와, 제2 클락신호(CLK2) 그리고 라이트인에이블신호(WEN) 및 리드인에이블신호(REN)를 입력받고, 선입선출메모리의 소정의 메모리영역에 데이터가 모두 리드된 경우 엠프티플레그(EF)를 출력하게 된다. 그리고 상기 풀플레그발생부(200)는 상기 제1 및 제2 클락신호(CLK1, CLK2), 라이트인에이블신호(WEN) 및 리드인에이블신호(REN)를 입력받고, 선입선출메모리의 소정의 메모리영역에 데이터가 모두 라이트된 경우 풀플레그(EF)를 출력하게 된다.
구체적으로, 도 2 및 도 3을 참조하여 상기 엠프티플레그발생부(100) 및 풀플레그발생부(200)에 대하여 설명한다.
먼저, 도 2에 도시된바와 같이, 상기 엠프티플레그발생부(100)는 크게 라이트감지부(110)와, 리드감지부(120)와, 엠프티플레그발생판단부(130)와, 엠프티플레그출력부(140)를 포함하여 구성된다.
상기 라이트감지부(110)는 라이트카운터(112)와 플리플롭(114)으로 구성된다. 상기 라이트카운터(112)는 그레이 코드 카운터(gray code counter)로 구성되며, 상기 라이트인에이블신호(WEN)를 입력받고 상기 제1 클락신호(CLK1)에 의해 동기되어 카운팅 결과를 출력한다. 그리고 상기 플리플롭(114)은 상기 제2 클락신호(CLK2)에 동기되어 그 출력을 입력받아 출력한다. 상기 라이트카운터(112)는 그레이 코드 카운터로 구성되어 1비트씩의 변화를 갖게 되므로 상기 플리플롭(114)에서 클락킹(clocking)될 때 에러가 발생되는 것을 방지할 수 있다.
상기 리드감지부(120)는 리드카운터(122)와, 멀티플렉서(124)와, 넥스트리드카운터(next read counter, 126)로 구성된다. 상기 리드카운터(122)는 그레이 코드 카운터로 구성되며, 상기 멀티플렉서(124)의 입력 및 상기 제2 클락신호(CKL2)에 동기되어 카운팅 결과를 출력한다. 상기 리드카운터(122)의 출력은 상기 멀티플렉서(124) 및 상기 넥스트리드카운터(126)로 제공된다. 상기 멀티플렉서(124)는 상기 넥스트리드카운터(126)의 출력 및 상기 리드카운터(122)의 출력을 입력받고, 상기 리드인에이블신호(REN)의 입력에 따라 해당되는 신호를 출력하여 상기 리드카운터(122)로 제공한다.
상기 엠프티플레그발생판단부(130)는 제1 및 제2 비교부(132, 134)와, 제1 및 제2 논리회로(136, 138)로 구성된다. 상기 제1 및 제2 논리회로(136, 138)는 각기 앤드게이트(AND gate)와 오아게이트(OR gate)로 구성될 수 있다.
상기 제1 비교부(132)는 상기 플리플롭(114)의 출력과 상기 넥스트리드카운터(126)의 출력을 비교하여 해당 결과를 상기 제1 논리회로(136)로 출력하고, 상기 제1 논리회로(136)는 상기 리드인에이블신호(REN)의 입력에 따라 해당되는 신호를 앤드연산(AND)하여 상기 제2 논리회로(138)로 출력한다. 상기 제2 비교부(134)는 상기 플리플롭(114)의 출력과 상기 리드카운터(122)의 출력을 비교하여 그 결과를 상기 제2 논리회로(138)로 출력한다. 상기 제2 논리회로(138)는 이를 오아연산(OR)하여 출력한다.
상기 엠프티플레그출력부(140)는 플리플롭(142)으로 구성되며, 상기 제2 논리회로(138)의 출력을 입력받아 상기 제2 클락신호(CLK2)에 동기되어 엠프티플레그(EF)를 출력하게 된다.
이상과 같이, 상기 엠프티플레그발생판단부(130)는 상기 라이트카운터(112)와 상기 리드카운터(122)의 모든 값이 같은 경우나, 상기 넥스트리드카운터(126)와 상기 라이트카운터(112)의 값이 같고 상기 리드인에이블신호(REN)가 소정의 하이레벨 '1'인 경우 상기 제2 클락신호(CLK2)에 동기되어 엠프티플레그(empty flag, EF)가 출력된다.
다음, 도 3에 도시된바와 같이, 상기 풀플레그발생부(200)는 크게 리드감지부(210)와, 라이트감지부(220)와, 풀플레그발생판단부(230)와, 풀플레그출력부(240)를 포함하여 구성된다.
상기 리드감지부(210)는 리드카운터(212)와 플리플롭(214)으로 구성된다. 상기 리드카운터(212)는 그레이 코드 카운터로 구성되며, 상기 리드인에이블신호(REN)를 입력받고 상기 제2 클락신호(CLK2)에 의해 동기되어 카운팅 결과를 출력한다. 그리고 상기 플리플롭(214)은 상기 제1 클락신호(CLK1)에 동기되어 그 출력을 입력받아 출력한다. 상기 리드카운터(212)는 그레이 코드 카운터로 구성되어 1비트씩의 변화를 갖게 되므로 상기 플리플롭(214)에서 클락킹 될 때 에러가 발생되는 것을 방지할 수 있다.
상기 라이트감지부(220)는 라이트카운터(222)와, 멀티플렉서(224)와, 넥스트라이트카운터(next write counter, 226)로 구성된다. 상기 라이트카운터(222)는 그레이 코드 카운터로 구성되며, 상기 멀티플렉서(224)의 입력 및 상기 제1 클락신호(CKL1)에 동기되어 카운팅 결과를 출력한다. 상기 라이트카운터(222)의 출력은 상기 멀티플렉서(224) 및 상기 넥스트라이트카운터(226)로 제공된다. 상기 멀티플렉서(224)는 상기 넥스트라이트카운터(226)의 출력 및 상기 라이트카운터(222)의 출력을 입력받고, 상기 라이트인에이블신호(WEN)의 입력에 따라 해당되는 신호를 출력하여 상기 라이트카운터(222)로 제공한다.
상기 풀플레그발생판단부(230)는 제1 및 제2 판단부(232, 234)와, 제1 및 제2 논리회로(236, 238)로 구성된다. 상기 제1 및 제2 논리회로(236, 238)는 각기 앤드게이트(AND gate)와 오아게이트(OR gate)로 구성될 수 있다.
상기 제1 판단부(232)는 상기 플리플롭(214)의 출력과 상기 넥스트라이트카운터(226)의 출력을 비교하여 해당 결과를 상기 제1 논리회로(236)로 출력하고, 상기 제1 논리회로(236)는 상기 라이트인에이블신호(WEN)의 입력에 따라 해당되는 신호를 앤드연산(AND)하여 상기 제2 논리회로(238)로 출력한다. 상기 제2 비교부(234)는 상기 플리플롭(214)의 출력과 상기 리드카운터(222)의 출력을 비교하여 그 결과를 상기 제2 논리회로(238)로 출력한다. 상기 제2 논리회로(238)는 이를 오아연산(OR)하여 출력한다.
상기 풀플레그출력부(240)는 플리플롭(242)으로 구성되며, 상기 제2 논리회로(238)의 출력을 입력받아 상기 제1 클락신호(CLK1)에 동기되어 풀플레그(full flag, FF)를 출력하게 된다.
이상과 같이, 상기 풀플레그발생판단부(230)는 상기 라이트카운터(212)와 상기 리드카운터(222)의 그레이 코드 풀(full) 조건을 만족하는 경우나, 상기 넥스트라이트카운터(226)와 상기 라이트카운터(222)의 값이 그레이 코드 풀 조건을 만족하고 상기 라이트인에이블신호(WEN)가 소정의 하이레벨 '1'인 경우 상기 제1 클락신호(CLK1)에 동기되어 풀플레그(FF)가 출력된다.
다음은 이상과 같은 엠프티플래그발생부(100)와 풀플래그발생부(200)의 동작을 첨부도면 도 4 및 도 5의 타이밍도를 참조하여 설명한다.
도 4는 도 2에 도시된 엠프티플레그발생부의 중요 부분의 동작에 따른 타이밍도이고, 도 5는 도 3에 도시된 풀플레그발생부의 중요 부분의 동작에 따른 타이밍도이다.
도 4 및 도 5의 타이밍도는 상기 라이트인에이블신호(WEN), 리드인에이블신호(REN)가 하이레벨 '1'로 될 때 엠프티플래그(EF), 풀플래그(FF)가 상기 제1 및 제2 클락신호(CLK1, CLK2)에 각각 동기되어 발생되는 파형을 나타내고 있다. 이 예에서는 상기 리드카운터(122, 212)와 상기 라이트카운터(112, 222)는 #4까지 증가된다고 가정하였다. 즉, 선입선출메모리의 뎁스(depth) 4인 경우를 예로하고 있다.
먼저, 도 3 및 도 4를 참조하여, 상기 풀플레그발생부(200)에서 라이트인에이블신호(WEN)가 '1'인 상태에서 상기 제1 클락신호(CLK1)의 상승에지(rising edge)에서 상기 리드카운터(212)는 #0, 라이트카운터(222)는 #4이므로 풀플래그(FF)는 '1'로 출력된다. 상기 풀플래그(FF)가 '1'인 상태에서 선입선출메모리의 메모리영역에서 데이터가 리드되어지면 상기 리드카운터(212)는 #1로 증가되면, 상기 풀플래그(FF)는 상기 제1 클락신호(CLK1)에 동기되어 '0'으로 변경된다.
다음은, 도 2 및 도 5를 참조하여, 상기 엠프티플래그발생부(100)에서 상기 라이트카운터(112)가 #3이고 상기 리드카운터(122)가 #2일 때, 즉 선입선출메모리에 데이터가 1개 남아 있는 경우 리드인에이블신호(REN)가 '1'이 되는 경우 그 1개의 데이터가 리드되어 지고, 상기 제2 클락신호(CLK2)에 동기되어 엠프티플래그(EF)는 '1'이 된다. 이 상태에서 선입선출메모리에 데이터가 라이트되어 상기 라이트카운터(112)가 #4가 되면 엠프티 상태가 아니므로 상기 제2 클락신호(CLK2)의 라이징에지(rising edge)에서 상기 엠프티플래그(EF)가 '0'로 된다.
이상과 같은 본 발명에 의하면, 선입선출메모리의 상태를 알려주는 풀·엠프티플레그를 플리플롭에서 바로 출력함으로 해당 블록의 동작 주파수가 높아진다. 그리고 집적화시 레이아웃(lay out) 상에서 선입선출메모리의 인접 두 블록이 떨어져 있는 경우라도 와이어 딜레이에 의한 영향을 받지 않고 안정하게 회로가 동작한다.

Claims (17)

  1. 선입선출메모리의 플래그발생회로에 있어서:
    소정의 라이트인에이블신호(WEN)를 입력받고, 소정의 주기를 갖는 제1 클락신호(CLK1)에 동기되어 카운팅 하고, 소정의 주기를 갖는 제2 클락신호(CLK2)에 동기하여 제1 라이트카운팅신호를 출력하는 제1 라이트감지부(110)와;
    소정의 리드인에이블신호(REN)를 입력받고, 상기 제2 클락신호(CLK2)의 입력에 동기되어 카운트하여 제1리드카운팅신호 및 넥스트리드카운팅신호를 출력하는 제1 리드감지부(120)와;
    상기 제1 라이트카운팅신호와 상기 제1 리드카운팅신호 및 넥스트리드카운팅신호를 입력받아 판단하여 현재 상기 선입선출메모리의 메모리영역에 데이터가 엠프티 상태인 경우 엠프티플래그(EF)를 발생하는 엠프티플레그발생판단부(130)와;
    상기 엠프티플레그발생판단부(130)의 출력을 입력받아 상기 제2 클락신호(CLK2)에 동기하여 상기 엠프티플래그(EF)를 출력하는 엠프티플레그출력부(140)와;
    상기 리드인에이블신호(REN)를 입력받고, 상기 제2 클락신호(CLK2)에 동기되어 카운팅 하고, 상기 제1 클락신호(CLK1)에 동기하여 제2 리드카운팅신호를 출력하는 제2 리드감지부(210)와;
    상기 라이트인에이블신호(WEN)를 입력받고, 상기 제1 클락신호(CLK1)의 입력에 동기되어 카운트하여 제2 라이트카운팅신호 및 넥스트라이트카운팅신호를 출력하는 제2 라이트감지부(220)와;
    상기 제2 리드카운팅신호와 상기 제2 라이트카운팅신호 및 넥스트라이트카운팅신호를 입력받아 판단하여 현재 상기 선입선출메모리의 메모리영역에 데이터가 풀 상태인 경우 풀플래그(FF)를 발생하는 풀플레그발생판단부(230)와;
    상기 풀플레그발생판단부(230)의 출력을 입력받아 상기 제1 클락신호(CLK1)에 동기하여 상기 풀플래그(FF)를 출력하는 풀플레그출력부(240)를 포함하는 것을 특징으로 하는 선입선출메모리의 플래그발생회로.
  2. 제 1 항에 있어서,
    상기 제1 라이트감지부(110)는
    상기 라이트인에이블신호(WEN)를 입력받고, 상기 제1 클락신호(CLK1)에 동기되어 카운팅 결과를 출력하는 라이트카운터(112)와;
    상기 카운팅 결과를 상기 제2 클락신호(CLK2)에 동기하여 상기 제1 라이트카운팅신호를 출력하는 플리플롭(114)을 포함하는 것을 특징으로 하는 선입선출메모리의 플래그발생회로.
  3. 제 2 항에 있어서,
    상기 라이트카운터(112)는 그레이 코드 카운터로 구성되는 것을 특징으로 하는 선입선출메모리의 플래그발생회로.
  4. 제 1 항에 있어서,
    상기 제1 리드감지부(120)는
    상기 제2 클락신호(CLK2)에 동기하여 상기 제1 리드카운팅신호를 출력하는 리드카운터(122)와;
    상기 제1 리드카운팅신호를 입력받아 소정수 증가하여 상기 넥스트리드카운팅신호를 출력하는 넥스트리드카운터(126)와;
    상기 제1 리드카운팅신호 및 상기 넥스트리드카운팅신호를 입력받고, 상기 리드인에이블신호(REN)의 입력에 따라 해당되는 입력을 상기 리드카운터(122)로 출력하는 멀티플렉서(124)를 포함하는 것을 특징으로 하는 선입선출메모리의 플래그발생회로.
  5. 제 4 항에 있어서,
    상기 리드카운터(122)는 그레이 코드 카운터로 구성되는 것을 특징으로 하는 선입선출메모리의 플래그발생회로.
  6. 제 1 항에 있어서,
    상기 엠프티플레그발생판단부(130)는
    상기 제1 라이트카운팅신호 및 상기 넥스트리드카운팅신호를 입력받아 비교하여 그 결과에 해당되는 소정의 신호를 출력하는 제1 비교부(132)와;
    상기 제1 라이트카운팅신호 및 상기 제1 리드카운팅신호를 입력받아 비교하여 그 결과에 해당되는 소정의 신호를 출력하는 제2 비교부(134)와;
    상기 제1 비교부(132)의 출력 및 상기 리드인에이블신호(REN)를 입력하여 소정의 논리 연산을 수행하여 출력하는 제1 논리회로부(136)와;
    상기 제1 논리회로부(136)의 출력 및 상기 제2 비교부(134)의 출력을 입력받아 논리 연산하여 출력하는 제2 논리회로부(138)를 포함하는 것을 특징으로 하는 선입선출메모리의 플래그발생회로.
  7. 제 6 항에 있어서,
    상기 제1 논리회로부(136)는 앤드게이트로 구성되는 것을 특징으로 하는 선입선출메모리의 플래그발생회로.
  8. 제 6 항에 있어서,
    상기 제2 논리회로부(138)는 오아게이트로 구성되는 것을 특징으로 하는 선입선출메모리의 플래그발생회로.
  9. 제 1 항에 있어서,
    상기 엠프티플레그출력부(140)는 상기 제2 클락신호(CLK2)에 동기되어 엠프티플래그(EF)를 출력하는 플리플롭(142)으로 구성되는 것을 특징으로 하는 선입선출메모리의 플래그발생회로.
  10. 제 1 항에 있어서,
    상기 제2 리드감지부(210)는
    상기 리드인에이블신호(REN)를 입력받고, 상기 제2 클락신호(CLK2)에 동기되어 카운팅 결과를 출력하는 리드카운터(212)와;
    상기 카운팅 결과를 상기 제1 클락신호(CLK1)에 동기하여 상기 제2 리드카운팅신호를 출력하는 플리플롭(214)을 포함하는 것을 특징으로 하는 선입선출메모리의 플래그발생회로.
  11. 제 10 항에 있어서,
    상기 리드카운터(212)는 그레이 코드 카운터로 구성되는 것을 특징으로 하는 선입선출메모리의 플래그발생회로.
  12. 제 1 항에 있어서,
    상기 제2 라이트감지부(220)는
    상기 제1 클락신호(CLK1)에 동기하여 상기 제2 라이트카운팅신호를 출력하는 라이트카운터(222)와;
    상기 제2 라이트카운팅신호를 입력받아 소정수 증가하여 상기 넥스트라이트카운팅신호를 출력하는 넥스트라이트카운터(226)와;
    상기 제2 라이트카운팅신호 및 상기 넥스트라이트카운팅신호를 입력받고, 상기 라이트인에이블신호(WEN)의 입력에 따라 해당되는 입력을 상기 라이트카운터(222)로 출력하는 멀티플렉서(224)를 포함하는 것을 특징으로 하는 선입선출메모리의 플래그발생회로.
  13. 제 12 항에 있어서,
    상기 라이트카운터(222)는 그레이 코드 카운터로 구성되는 것을 특징으로 하는 선입선출메모리의 플래그발생회로.
  14. 제 1 항에 있어서,
    상기 풀플레그발생판단부(230)는
    상기 제2 리드카운팅신호 및 상기 넥스트라이트카운팅신호를 입력받아 카운팅 상태를 판단하여 그 결과에 해당되는 소정의 신호를 출력하는 제1 판단부(232)와;
    상기 제2 리드카운팅신호 및 상기 제2 라이트카운팅신호를 입력받아 카운팅 상태를 판단하여 그 결과에 해당되는 소정의 신호를 출력하는 제2 판단부(234)와;
    상기 제1 판단부(232)의 출력 및 상기 라이트인에이블신호(WEN)를 입력하여 소정의 논리 연산을 수행하여 출력하는 제1 논리회로부(236)와;
    상기 제1 논리회로부(236)의 출력 및 상기 제2 판단부(234)의 출력을 입력받아 논리 연산하여 출력하는 제2 논리회로부(238)를 포함하는 것을 특징으로 하는 선입선출메모리의 플래그발생회로.
  15. 제 14 항에 있어서,
    상기 제1 논리회로부(236)는 앤드게이트로 구성되는 것을 특징으로 하는 선입선출메모리의 플래그발생회로.
  16. 제 14 항에 있어서,
    상기 제2 논리회로부(238)는 오아게이트로 구성되는 것을 특징으로 하는 선입선출메모리의 플래그발생회로.
  17. 제 1 항에 있어서,
    상기 풀플레그출력부(240)는 상기 제1 클락신호(CLK1)에 동기되어 풀플래그(FF)를 출력하는 플리플롭(242)으로 구성되는 것을 특징으로 하는 선입선출메모리의 플래그발생회로.
KR1019960074321A 1996-12-28 1996-12-28 비동기 선입선출메모리의 플래그발생회로 Expired - Fee Related KR100226025B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960074321A KR100226025B1 (ko) 1996-12-28 1996-12-28 비동기 선입선출메모리의 플래그발생회로

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960074321A KR100226025B1 (ko) 1996-12-28 1996-12-28 비동기 선입선출메모리의 플래그발생회로

Publications (2)

Publication Number Publication Date
KR19980055113A KR19980055113A (ko) 1998-09-25
KR100226025B1 true KR100226025B1 (ko) 1999-10-15

Family

ID=19491623

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960074321A Expired - Fee Related KR100226025B1 (ko) 1996-12-28 1996-12-28 비동기 선입선출메모리의 플래그발생회로

Country Status (1)

Country Link
KR (1) KR100226025B1 (ko)

Also Published As

Publication number Publication date
KR19980055113A (ko) 1998-09-25

Similar Documents

Publication Publication Date Title
US6263410B1 (en) Apparatus and method for asynchronous dual port FIFO
US5811998A (en) State machine phase lock loop
US5555524A (en) Semi-synchronous dual port FIFO
KR101089153B1 (ko) 상이한 클록 도메인 간에서의 데이터 신호 전송 방법 및 집적 회로
US5987081A (en) Method and apparatus for a testable high frequency synchronizer
US7003423B1 (en) Programmable logic resource with data transfer synchronization
US5459855A (en) Frequency ratio detector for determining fixed frequency ratios in a computer system
US4949361A (en) Digital data transfer synchronization circuit and method
KR900014984A (ko) 2개 비동기 클럭신호간의 시간지연의 출력신호표시를 제공하는 회로소자와 방법
US6266780B1 (en) Glitchless clock switch
JP2007108172A (ja) 半導体回路のオンチップ特性を測定するための装置及びそれに関する方法
US7295139B2 (en) Triggered data generator
KR100226025B1 (ko) 비동기 선입선출메모리의 플래그발생회로
JP3990892B2 (ja) Sonet送受信器上で使用する自動ビットレート検出方式
Huemer et al. Timing domain crossing using Muller pipelines
JPH10133768A (ja) クロックシステム、半導体装置、半導体装置のテスト方法、及びcad装置
US5274628A (en) Multisignal synchronizer with shared last stage
US6519311B2 (en) Overflow detector for FIFO
KR200223987Y1 (ko) 선입선출 메모리의 플래그 발생 회로
EP0572135A2 (en) State machine phase lock loop
JP2778527B2 (ja) 計数回路
CN108763783A (zh) 一种基于lfsr的高频率低开销的奇数分频电路
US6989696B2 (en) System and method for synchronizing divide-by counters
Hoppe et al. A 440 MHz 16 bit counter in CMOS standard cells
JP4189729B2 (ja) タイマーカウント値の非同期読み出し方法及びタイマー

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 19961228

PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 19961228

Comment text: Request for Examination of Application

PG1501 Laying open of application
E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 19990628

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 19990723

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 19990724

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20020605

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20030609

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 20040329

Start annual number: 6

End annual number: 6

PR1001 Payment of annual fee

Payment date: 20050607

Start annual number: 7

End annual number: 7

PR1001 Payment of annual fee

Payment date: 20060630

Start annual number: 8

End annual number: 8

FPAY Annual fee payment

Payment date: 20070612

Year of fee payment: 9

PR1001 Payment of annual fee

Payment date: 20070612

Start annual number: 9

End annual number: 9

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

Termination category: Default of registration fee

Termination date: 20090610