KR100239702B1 - Linear fifo memory - Google Patents
Linear fifo memory Download PDFInfo
- Publication number
- KR100239702B1 KR100239702B1 KR1019960047072A KR19960047072A KR100239702B1 KR 100239702 B1 KR100239702 B1 KR 100239702B1 KR 1019960047072 A KR1019960047072 A KR 1019960047072A KR 19960047072 A KR19960047072 A KR 19960047072A KR 100239702 B1 KR100239702 B1 KR 100239702B1
- Authority
- KR
- South Korea
- Prior art keywords
- signal
- enable signal
- nand gate
- output
- input
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/20—Memory cell initialisation circuits, e.g. when powering up or down, memory clear, latent image memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/22—Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/08—Word line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, for word lines
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/18—Address timing or clocking circuits; Address control signal generation or management, e.g. for row address strobe [RAS] or column address strobe [CAS] signals
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Static Random-Access Memory (AREA)
Abstract
본 발명은 선형 선입선출 메모리에 관한 것으로 특히, 기존의 어드레스 발생부 및 상태 신호 생성부를 링 카운터로 대체함은 물론 듀얼 포트 메모리의 디코더 부분을 1개의 링 카운터로 대체시킴으로써 회로 구성이 간단하고 규칙적이 되도록 창안한 선형선입선출 메모리를 제공함에 목적이 있다. 이러한 본 발명은 워드 라인 신호(WLO~WLn)중 해당 워드 라인 신호가 액티브되면 클럭(CLK)에 동기되어 해당 워드 라인의 영역에 입력 데이타를 순차적으로 저장하고 리드 인에이블 신호(RE)가 액티브되면 클럭(CLK)에 따라 상기 저장 데이타를 순차적으로 출력하는 데이타 저장부(210)와, 리드 인에이블 신호(RE) 또는 라이트 인에이블 신호(WE)가 액티브되면 클럭(CLK)에 따라 상기 데이타 저장부(210)의 상태 신호(FULL, Almost-FULL, Almost-EMPTY, EMPYT)를 출력하고 동시에 워드 라인 신호(WLO~WLn-1)를 상기 데이타 저장부(210)에 출력하는 데이타 입출력 제어부(220)로 구성한다.The present invention relates to a linear first-in first-out memory, and more particularly, to an apparatus and a method for replacing a conventional address generator and a state signal generator with a ring counter and replacing a decoder portion of a dual- And a linear first-in-first-out memory. When the corresponding word line signal of the word line signals WLO to WLn is activated, the present invention sequentially stores the input data in the area of the corresponding word line in synchronization with the clock (CLK), and when the read enable signal RE is activated A data storage unit 210 for sequentially outputting the storage data in accordance with a clock CLK and a data storage unit 210 for outputting the data stored in the data storage unit 210 according to a clock CLK when a read enable signal RE or a write enable signal WE is active. A data input / output control unit 220 which outputs status signals (FULL, Almost-FULL, Almost-EMPTY, and EMPYT) of the word line signals 210 and simultaneously outputs the word line signals WLO to WLn-1 to the data storage unit 210, .
Description
본 발명은 선입선출 메모리에 관한 것으로 특히, 회로를 간단하고 규칙적이 되도록 구성한 선형 선입선출 메모리에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a first-in first-out memory, and more particularly to a linear first-in-first-out memory in which a circuit is configured to be simple and regular.
도1은 일반적인 듀얼 포트 메모리를 이용한 선입선출 메모리의 블럭도로서 이에 도시된 바와 같이, 라이트 인에이블 신호(WE)가 액티브되면 라이트 어드레스(WADDR)가 지정하는 영역에 데이타를 저장하고 리드 신호(RE)가 액티브되면 리드 어드레스(RADER)가 지정하는 영역의 데이타를 출력하는 듀얼 포트 메모리(10)와, 라이트 인에이블 신호(WE)가 액티브되면 클럭(CLK)을 계수하여 n비트의 라이트 어드레스(WADDR)를 생성하고 리드 인에이블 신호(RE)가 액티브되면 클럭(CLK)을 계수하여 n비트의 리드 어드레스(RADDR)를 생성하는 어드레스 생성부(120)와, 이 어드레스 생성부(120)의 출력 신호(WADDR)(RADDR)를 입력으로 상기 듀얼 포트 메모리(110)의 데이타 저장 상태를 판별하는 상태 신호 생성부(130)으로 구성된다.FIG. 1 is a block diagram of a first-in first-out memory using a general dual port memory. As shown in FIG. 1, when a write enable signal WE is active, data is stored in an area designated by a write address WADDR, A dual port memory 10 for outputting data of an area designated by the read address RADER when the write enable signal WE is active; An address generator 120 for generating an n-bit read address RADDR by counting the clock CLK when the read enable signal RE is active, And a status signal generator 130 for receiving the data WADDR (RADDR) and determining the data storage state of the dual port memory 110.
상기 어드레스 생성부(120)는 라이트 인에이블 신호(WE) 또는 리드 인에이블 신호(RE)가 액티브되면 클럭을 계수하여 라이트 계수 인에이블 신호(WCE) 또는 리드 계수 인에이블 신호(RCE)를 출력하는 계수 인에이블 생성기(121)와, 이 계수 인에이블 생성기(121)의 라이트 계수 인에이블 신호(WCE)가 액티브되면 라이트 포인터를 증가시켜 라이트 어드레스(WADDR)를 출력하는 라이트 카운터(123)와, 상기 계수 인에이블 생성기(121)의 리드 계수 인에이블 신호(RCE)가 액티브되면 리드 포인터를 증가시켜 리드 어드레스(RADDR)를 출력하는 리드 카운터(122)로 구성된다.When the write enable signal WE or the read enable signal RE is active, the address generating unit 120 counts the clock and outputs the write coefficient enable signal WCE or the read coefficient enable signal RCE A write counter 123 for increasing a write pointer and outputting a write address WADDR when a write coefficient enable signal WCE of the coefficient enable generator 121 is active, And a read counter 122 for increasing the read pointer and outputting the read address RADDR when the read coefficient enable signal RCE of the coefficient enable generator 121 is activated.
상기 상태 신호 생성부(130)는 어드레스 생성부(120)의 출력 신호(WADDR)(RADDR)를 비교하여 듀얼 포드 메모리(110)의 상태(EMPTY, Almost-EMPTY, Almost-FULL, FULL)를 판별하는 비교기로 구성된다.The status signal generator 130 compares the output signals WADDR and RADDR of the address generator 120 to determine the state of the dual pod memory 110 (EMPTY, Almost-EMPTY, Almost-FULL, and FULL) .
이와같은 종래 기술의 동작 과정을 설명하면 다음과 같다.The operation of the conventional art will be described as follows.
먼저, 리셋 신호(RST)가 인액티브된 후 선입선출 메모리의 라이트 모드가 설정되면 어드레스 생성부(120)는 라이트 인에이블 신호(WE)의 액티브될 때 계수 인에이블 생성기(121)가 클럭(CLK)에 동기되어 라이트 계수 인에이블 신호(WCE)를 액티브시키고, 이 라이트 계수 인에이블 신호(WCE)를 입력으로 라이트 카운터(123)가 n비트의 어드레스(WADDR)를 생성하게 된다.First, when the write mode of the first-in first-out memory is set to be inactive after the reset signal RST is inactive, the address generator 120 generates the count enable controller 121 when the write enable signal WE is active, The write counter enable signal WCE is activated in synchronization with the write enable signal WCE and the write counter 123 generates the address WADDR of n bits by inputting the write enable signal WCE.
이에 따라, 라이트 인에이블 신호(WE)에 인에이블된 듀얼 포트 메모리(110)는 라이트 어드레스(WADDR)가 지정하는 영역에 입력 데이타를 저장하게 된다.Accordingly, the dual port memory 110 enabled by the write enable signal WE stores the input data in the area designated by the write address WADDR.
이후, 라이트 인에이블 신호(WE)가 인액티브되었다가 액티브되면 어드레스 생성부(120)는 계수 인에이블 신호(121)가 라이트 계수 인에이블 신호(WCE)를 다시 액티브시키고 이 라이트 계수 인에이블 신호(WCE)를 입력받은 라이트 카운터(123)는 라이트 포인터를 "1" 증가시켜 라이트 어드레스(WADDR)를 생성하게 된다.Thereafter, when the write enable signal WE is inactive and then active, the address generating unit 120 activates the write enable signal WCE again and sets the write enable signal (WCE) The write counter 123 receiving the write address WCE generates the write address WADDR by incrementing the write pointer by "1 ".
이에 따라, 듀얼 포트 메모리(110)는 어드레스 생성부(120)에서 생성된 라이트 어드레스(WADDR)가 지정하는 영역에 입력 데이타를 저장하게 된다.Accordingly, the dual port memory 110 stores the input data in the area designated by the write address WADDR generated by the address generator 120. [
만일, 선입선출 메모리의 리드 모드가 설정되면 어드레스 생성부(120)는 계수 인에이블 생성기(121)가 클럭(CLK)에 동기되어 리드 계수 인에이블 신호(RCE)를 액티브시키고, 이 리드 계수 인에이블 신호(RCE)를 입력받은 리드 카운터(122)가 n비트의 리드어드레스(RADDR)를 생성하게 된다.If the read mode of the first-in first-out memory is set, the address generator 120 causes the count enable controller 121 to activate the read count enable signal RCE in synchronization with the clock CLK, The read counter 122 receiving the signal RCE generates the n-bit read address RADDR.
이에 따라, 리드 인에이블 신호(RE)에 인에이블된 듀얼 포트 메모리(110)는 리드 어드레스(RADDR)가 지정하는 영역에 저장된 데이타를 출력하게 된다.Accordingly, the dual port memory 110 enabled to the read enable signal RE outputs the data stored in the area designated by the read address RADDR.
이후, 리드 인에이블 신호(RE)가 인액티브되었다가 액티브되면 어드레스 생성부(120)는 계수 인에이블 신호(121)가 리드 계수 인에이블 신호(RCE)를 다시 액티브시키고 이 리드 계수 인에이블 신호(RCE)를 입력받은 리드 카운터(122)는 리드 포인터를 "1"증가시켜 리드 어드레스(RADDR)를 생성하게 된다.Thereafter, when the read enable signal RE is inactive and then active, the address generating unit 120 activates the count enable signal 121 again to activate the read count enable signal RCE, The read counter 122 receiving the RCE generates the read address RADDR by incrementing the read pointer by "1 ".
이에 따라, 듀얼 포트 메모리(110)는 어드레스 생성부(120)에서 생성된 리드 어드레스(RADDR)가 지정하는 영역에 저장된 데이타를 출력하게 된다.Accordingly, the dual port memory 110 outputs the data stored in the area designated by the read address RADDR generated by the address generator 120.
상기와 같은 리드/라이트 동작은 동시에 발생할 수 있다.The read / write operation as described above may occur simultaneously.
또한, 상기와 같은 리드/라이트 동작을 수행할 때 상태 신호 생성부(130)는 어드레스 생성부(120)에서 생성된 리드/라이트 어드레스(EADDR)(WADDR)를 입력으로 크기를 비교함으로써 듀얼 포트 메모리(110)의 상태를 판별하게 된다.When performing the read / write operation as described above, the status signal generator 130 compares the read / write address EADDR (WADDR) generated by the address generator 120 with the size of the read / write address EADDR The state of the display unit 110 is determined.
즉, 비교 결과가 "0"이면 EMPTY, "1"이면 Almost-EMPTY, 그리고 선입선출 메모리의크기가 'n'이라고 한다면 비교 결과가 'n'일 경우 FULL, 'n-1'인 경우 Almost-FULL 라는 신호를 출력하게 된다.That is, if the comparison result is "0", EMPTY, "1", Almost-EMPTY, and if the size of the first-in first-out memory is "n", the comparison result is FULL, And outputs a signal FULL.
상기에서 리드/라이트가 동시에 발생하는 경우 라이트 어드레스(WADDR)에서 리드 어드레스(RADDR)를 뺀 값이 비교 결과가 된다.In the above case, when a read / write operation occurs at the same time, a value obtained by subtracting the read address RADDR from the write address WADDR is a comparison result.
그러나, 선입선출(FIFO) 메모리의 동작 특성은 듀얼 포트 메모리와는 상이하다.However, the operating characteristics of first-in-first-out (FIFO) memories are different from dual-port memories.
따라서, 종래의 기술은 듀얼 포트 메모리를 이용하는 경우로서 어드레스 생성부와 상태 신호 생성부를 추가하여 선입선출 메모리를 구성함으로서 회로 구성이 복잡하고 회로 구성상의 규칙성이 저하되는 단점이 있다.Therefore, the prior art has a disadvantage in that the circuit configuration is complicated and the regularity in the circuit configuration is lowered by constructing the first-in first-out memory by adding the address generator and the state signal generator as the case of using the dual port memory.
이러한 종래 기술은 데이타-경로 컴파일러(data-compiler)와 같은 레이-아웃 생성 툴에는 적합하지 않다.This prior art is not suitable for a lay-out generation tool such as a data-path compiler (data-compiler).
만일, 듀얼 포트 메모리의 동작 구조가 링-버퍼(ring-buffer)라고 한다면 선입선출 메모리를 선형-버퍼(linear-buffer)의 구조로 변경하는 경우 선입선출 메모리의 제어 부분이 단순해지고 규칙적으로 변하여 레이-아웃 생성 기술인 데이타-경로 컴파일러에 쉽게 적용할 수 있다.If the operation structure of the dual port memory is a ring-buffer, if the first-in first-out memory is changed to a linear-buffer structure, the control portion of the first-in first-out memory becomes simple and regularly changed, It can be easily applied to a data-path compiler, which is a generation technique.
따라서, 본 발명은 종래 기술의 단점을 개선하기 위하여 기존의 어드레스 발생부 및 상태 신호 생성부를 링 카운터로 대체함은 물론 듀얼 포트 메모리의 디코더 부분을 1개의 링 카운터로 대체시킴으로써 회로 구성이 간단하고 규칙적이 되도록 창안한 선형 선입선출 메모리를 제공함에 목적이 있다.Therefore, in order to solve the disadvantages of the related art, the present invention replaces the existing address generator and the state signal generator with the ring counter, and substitutes a single ring counter for the decoder portion of the dual port memory, And a linear first-in-first-out memory.
도1은 종래의 듀얼 포트 메모리를 이용한 선입선출 메모리의 블럭도.1 is a block diagram of a first-in first-out memory using a conventional dual-port memory.
도2는 본 발명의 선형 선입선출 메모리의 블럭도.2 is a block diagram of a linear first-in-first-out memory of the present invention.
도3은 본 발명에서의 타이밍도.3 is a timing chart in the present invention.
도4는 본 발명의 상세 회로도.4 is a detailed circuit diagram of the present invention.
도5는 도4에서 메모리 셀의 상세 회로도.5 is a detailed circuit diagram of a memory cell in FIG.
도6 및 도7은 도4에서 링 카운터의 상세 회로도.6 and 7 are detailed circuit diagrams of the ring counter in Fig.
도8은 본 발명의 동작을 보인 예시도.8 is an exemplary diagram showing the operation of the present invention.
* 도면의 주요부분에 대한 부호의 설명DESCRIPTION OF THE REFERENCE NUMERALS
210 : 데이타 저장부 220 : 데이타 입출력 제어부210: Data storage unit 220: Data input / output control unit
221 : 제어 신호 생성기 222 : 상태 신호 생성기221: control signal generator 222: status signal generator
223 : 워드 라인 선택기 Co~Cn : 링 카운터223: Word line selector Co ~ Cn: Ring counter
Bo,o~Bn-1,n-1: 메모리 셀Bo, o ~ B n-1, n-1 : memory cell
본 발명의 실시예는 도2 및 도4의 블럭도에 도시한 바와 같이, 워드 라인 신호(WLO~WLn)중 해당 워드 라인 신호가 액티브되면 클럭(CLK)에 동기되어 해당 워드 라인의 영역에 입력 데이타를 순차적으로 저장하고 리드 인에이블 신호(RE)가 액티브되면 클럭(CLK)에 따라 상기 저장 데이타를 순차적으로 출력하는 데이타 저장부(210)와, 리드 인에이블 신호(RE) 또는 라이트 인에이블 신호(WE)가 액티브되면 클럭(CLK)에 따라 상기 데이타 저장부(210)의 상태 신호(FULL, Almost-FULL, Almost-EMPTY, EMPYT)를 출력하고 동시에 워드 라인 신호(WLO~WLn-1)를 상기 데이타 저장부(210)에 출력하는 데이타 입출력 제어부(220)로 구성한다.As shown in the block diagram of FIG. 2 and FIG. 4, when the corresponding word line signal of the word line signals WLO to WLn is activated, the embodiment of the present invention synchronizes with the clock CLK to input A data storage unit 210 for sequentially storing data and sequentially outputting the stored data in response to a clock CLK when the read enable signal RE is activated, a read enable signal RE or a write enable signal RE, (FULL, Almost-FULL, Almost-EMPTY, and EMPYT) of the data storage unit 210 according to the clock CLK and simultaneously outputs the word line signals WLO to WLn-1 And a data input / output control unit 220 for outputting the data to the data storage unit 210.
상기 데이타 저장부(210)는 클럭(CLK)과 리드 인에이블 신호(RE)가 공통 인가된 메모리 셀(BO,O~Bn-1, 0~BO, n-1~Bn-1, n-1)의 입력 단자(DN)에 데이타 단자(DO~Dn-1)를 각기 접속하고, 상기 메모리 셀(Bn-1, 0~BO,0~ Bn-1, n-1~BO,, n-1)은 출력 단자(Q)를 다음단의 입력 단자(DS)에 순차적으로 직렬 접속하며, 상기 메모리 셀(BO,O~BO,n-1~Bn-1,0~Bn-1,n-1)에 데이타 입출력 제어부(220)의 워드 라인 신호(WLO~WLn-1)를 각기 공통 접속하고, 상기 메모리 셀(Bn-1, 0~Bn-1, n-1)의 입력 단자(DS)에 '0'신호를 인가하며, 상기 메모리 셀(B0,0~B0,n-1)의 출력 단자에서 데이타가 출력하도록 구성한다.The data storage unit 210 includes memory cells (BO, 0 to Bn-1, 0 to BO, n-1 to Bn-1, n-1) in which a clock CLK and a read- 0 to BOn, 0 to Bn-1, n-1 to BO, n-1) are connected to the input terminals DN of the memory cells Bn- 1 to Bn-1, 0 to Bn-1, and n-1) are sequentially connected in series to the input terminal DS of the next stage, and the output terminals Q of the memory cells And the word line signals WLO to WLn-1 of the data input / output control unit 220 are commonly connected to the input terminals DS of the memory cells Bn-1, 0 to Bn-1, 0 ', and data is outputted from the output terminals of the memory cells B0, 0 to B0, and n-1.
상기 메모리 셀(B0,0~Bn-1,n-1)은 도5에 도시한 바와 같이, 라이트 인에이블 신호(WE)와 입력 신호(DN)를 낸딩하는 낸드 게이트(212)와, 라이트 인에이블 신호(WE)의 반전 신호, 입력 신호(DS) 및 리드 인에이블 신호(RE)를 낸딩하는 낸드 게이트(213)와, 리드, 라이트 인에이블 신호(RE)(WE) 및 반전 출력 신호(QN)를 논리합하는 오아게이트(211)와, 이 오아 게이트(211) 및 상기 제1, 제2 낸드 게이트(212)(213)의 출력 신호를 낸딩하는 낸드 게이트(214)와, 클럭(CLK)에 동기되어 상기 낸드 게이트(214)의 출력 신호를 래치하여 비반전 출력 신호(Q)와 반전 출력 신호(QN)를 출력하는 디플립플롭(215)으로 구성한다.As shown in FIG. 5, the memory cells B0,0 to Bn-1, n-1 include a NAND gate 212 for transferring a write enable signal WE and an input signal DN, A NAND gate 213 for inverting an inverted signal of the enable signal WE and an input signal DS and a read enable signal RE and a NAND gate 213 for inputting a read enable signal RE and an inverted output signal QN A NAND gate 214 for outputting the output signals of the O gate 211 and the first and second NAND gates 212 and 213 and a NAND gate 214 for outputting a clock signal CLK And a D flip-flop 215 for latching the output signal of the NAND gate 214 in synchronization with each other and outputting a non-inverted output signal Q and an inverted output signal QN.
상기 데이타 입출력 제어부(220)는 리드 인에이블 신호(RE)와 라이트 인에이블 신호(WE)를 논리 조합하여 리드 계수 인에이블 신호(RCE) 또는 라이트 계수 인에이블 신호(WCE)를 생성하는 제어 신호 생성기(221)와, 이 제어 신호(221)의 출력 신호(RCE)(WCE)에 따라 연산 동작을 수행하여 데이타 저장부(210)의 상태 신호(FULL, Almost-FULL, Almost-EMPTY, EMPYT)를 출력하는 상태 신호 생성기(222)와, 이 상태 신호 생성기(222)의 n비트의 출력 신호와 라이트 인에이블 신호(WE)를 논리곱하여 상기 데이타 저장부(210)에 워드 라인 신호(WLO~WLn-1)를 출력하는 워드 라인 선택기(223)로 구성한다.The data input / output control unit 220 generates a control signal for generating a read coefficient enable signal RCE or a write coefficient enable signal WCE by logically combining a read enable signal RE and a write enable signal WE, Almost-FULL, Almost-EMPTY, and EMPYT) of the data storage unit 210 by performing an arithmetic operation according to the output signal RCE (WCE) of the control signal 221, And outputs the word line signals WLO to WLn-1 to the data storage unit 210. The state-signal generator 222 outputs the n-bit output signals of the state signal generator 222 and the write enable signal WE, And a word line selector 223 for outputting the word line selector 223.
상기 제어 신호 생성기(221)는 라이트 인에이블 신호(WE)의 반전 신호와 리드 인에이블 신호(RE)를 논리곱하여 리드 계수 인에이블 신호(RCE)를 출력하는 앤드 게이트(221-1)와, 리드 인에이블 신호(RE)의 반전 신호와 라이트 인에이블 신호(WE)를 논리곱하여 라이트 계수 인에이블 신호(WCE)를 출력하는 앤드 게이트(221-2)로 구성한다.The control signal generator 221 includes an AND gate 221-1 for outputting a lead coefficient enable signal RCE by logically multiplying the inverted signal of the write enable signal WE and the read enable signal RE, And an AND gate 221-2 for logically multiplying the inverted signal of the enable signal RE and the write enable signal WE and outputting the write coefficient enable signal WCE.
상기 상태 신호 생성기(222)는 제어 신호 생성기(221)의 출력 신호(RCE)(WCE) 및 클럭(CLK)을 (n+1)개의 링 카운터(CO~Cn)에 공통 인가하여 상기 링 카운터(CO)의 입력 단자(INC)에 '0' 신호를 인가하고 상기 링 카운터(Cn)의 입력 단자(DEC)에 '0' 신호를 인가하며, 상기 링 카운터(Cn~C1)의 출력 단자(Qn~Q1)를 상기 링 카운터(Cn-1~CO)의 입력 단자(DEC)에 각기 접속하고 동시에 상기 링 카운터(CO~Cn-1)의 출력 단자(QO~Qn-1)를 상기 링 카운터(C1~Cn)의 입력단자(INC)에 각기 접속하며, 상기 링 카운터(CO, C1, Cn-1, Cn)의 출력 단자(Q0, Q1, Qn-1, Qn)에서 상태 신호(EMPTY, Almost-EMPTY, Almost-FULL,FULL)를 각기 출력하고, 상기 링 카운터(CO~Cn-1)의 출력 신호(Q0~Qn-1)를 워드 라인 선택기(223)에 출력하도록 구성한다.The state signal generator 222 applies the output signal RCE (WCE) and the clock signal CLK of the control signal generator 221 to (n + 1) ring counters CO to Cn in common, A signal '0' is applied to the input terminal INC of the ring counter Cn and a signal '0' is applied to the input terminal DEC of the ring counter Cn, and the output terminals Qn To Q1 of the ring counters CO to Cn-1 are connected to the input terminals DEC of the ring counters Cn-1 to Cn-1, respectively, and the output terminals Q0 to Qn- Qn-1, and Qn of the ring counters CO, C1, Cn-1, and Cn are connected to the input terminals INC of the switches C1 to Cn, -EMPTY, Almost-FULL and FULL) and outputs the output signals (Q0 to Qn-1) of the ring counters CO to Cn-1 to the word line selector 223.
상기 링 카운터(Co)는 도6에 도시한 바와 같이, 라이트 계수 인에이블 신호(WCE)와 입력 신호(INC)를 낸딩하는 낸드 게이트(242)와, 리드 계수 인에이블 신호(RCE)와 입력 신호(DEC)를 낸딩하는 낸드 게이트(243)와, 리드 , 라이트 계수 인에이블 신호(RCE)(WCE) 및 반전 출력 신호(QN)를 논리합하는 오아 게이트(241)와, 이 오아 게이트(241) 및 상기 낸드 게이트(242)(243)의 출력 신호를 낸딩하는 낸드 게이트(244)와, 세트 단자(SET)에 리셋 신호(RST)가 인가되며 클럭(CLK)에 따라 상기 낸드 게이트(244)의 출력 신호를 래치하여 비반전 출력 신호(Q)와 반전 출력 신호(QN)를 출력하는 디플립플롭(245)으로 구성한다.6, the ring counter Co includes a NAND gate 242 for nailing a write coefficient enable signal WCE and an input signal INC, a NAND gate 242 for inputting a read coefficient enable signal RCE, An OR gate 241 for performing a logical AND operation on the NAND gate 243 for outputting the read enable signal RCE (WD), the write enable signal RCE (WCE) and the inverted output signal (QN) A NAND gate 244 for NANDing the output signals of the NAND gates 242 and 243 and a reset signal RST applied to the set terminal SET for output of the NAND gate 244 And a D flip-flop 245 for latching the signal and outputting the non-inverted output signal Q and the inverted output signal QN.
상기 링 카운터(C1~Cn)는 도7에 도시한 바와 같이, 라이트 계수 인에이블 신호(WCE)와 입력 신호(INC)를 낸딩하는 낸드 게이트(252)와, 리드 계수 인에이블 신호(RCE)와 입력 신호(DEC)를 낸딩하는 낸드 게이트(253)와, 리드, 라이트 계수 인에이블 신호(RCE)(WCE) 및 반전 출력 신호(QN)를 논리합하는 오아 게이트(251)와, 이 오아 게이트(251) 및 상기 낸드 게이트(252)(253)의 출력 신호를 낸딩하는 낸드 게이트(254)와, 클리어 단자(CLEAR)에 리셋 신호(RST)가 인가되며 클럭(CLK)에 따라 상기 낸드 게이트(254)의 출력 신호를 래치하여 비반전 출력 신호(Q)와 반전 출력 신호(QN)를 출력하는 디플립플롭(255)으로 구성한다.7, the ring counter C 1 to Cn includes a NAND gate 252 for nailing a write coefficient enable signal WCE and an input signal INC, a read count enable signal RCE, An OR gate 251 for performing a logical AND operation on the NAND gate 253 for nANDing the input signal DEC and the read and write coefficient enable signal RCE (WCE) and the inverted output signal QN, A reset signal RST is applied to the clear terminal CLEAR and a reset signal RST is applied to the NAND gate 254 and the NAND gate 254 according to the clock CLK, And a D flip-flop 255 for latching the output signal of the non-inverted output signal Q and outputting the inverted output signal QN.
상기 워드 라인 선택기(223)는 라이트 인에이블 신호(WE)와 상태 신호 생성기(222)의 출력 신호(Q0~Qn-1)를 각기 논리곱하여 워드 라인 신호(WLO~WLn-1)를 각기 출력하는 n개의 앤드 게이트(AN0~ANn-1)로 구성한다.The word line selector 223 performs logical multiplication of the write enable signal WE and the output signals Q0 to Qn-1 of the status signal generator 222 to output the word line signals WLO to WLn-1, respectively n AND gates (AN 0 to ANn- 1 ).
이와같이 구성한 본 발명의 동작 및 작용 효과를 설명하면 다음과 같다.The operation and effect of the present invention will be described as follows.
리셋 신호(RST)에 의해 초기화되면 데이타 입출력 제어부(220)는 상태 신호 생성기(222)에서 링 카운터(CO)의 출력값만이 '1'로 되고 나머지 링 카운터(C1~Cn)의 출력 값은 '0'이 된다.When the reset signal RST is initialized by the reset signal RST, the data input / output control unit 220 sets the output value of the ring counter CO to '1' in the state signal generator 222 and the output value of the remaining ring counters C1 to Cn to ' 0 '.
상기에서 링 카운터(C0~Cn)의 출력값은 라이트가 발생할 때 데이타의 저장 위치를 지정하는 신호이다.In the above, the output values of the ring counters C0 to Cn designate a storage position of data when a write occurs.
여기서, 링 카운터(Co)의 출력값(Qo)은 '1'이므로 데이타 저장부(210)의 상태가 'EMPTY'임을 나타낸다.Here, since the output value Qo of the ring counter Co is '1', it indicates that the state of the data storage unit 210 is 'EMPTY'.
이후, 데이타(Do~Dn-1)가 입력되고 라이트 인에이블 신호(WE)만이 액티브되면 데이타 입출력 제어부(220)에서 워드 라인 선택기(223)의 앤드 게이트(AN1)가 상태 신호 생성기(222)의 '1'인 출력 신호(Qo)와 상기 '1'인 라이트 인에이블 신호(WE)를 논리곱하여 워드 라인 신호(WLo)를 '1'로 출력하게 된다.When the data (Do ~ D n-1 ) is input and only the write enable signal WE is active, the AND gate AN 1 of the word line selector 223 in the data input / output control unit 220 is activated by the state signal generator 222 And outputs the word line signal WLo as '1', as shown in FIG. 5B. The output enable signal WE is '1'.
이때, 데이타 저장부(210)는 메모리 셀(Bo,o~Bo,n-1)이 선택되어진다.At this time, the data storage unit 210 selects the memory cells Bo, o ~ Bo, n-1.
이에 따라, 클럭(CLK)의 상승 에지에서 메모리 셀(Bo,o~Bo,n-1)의 입력 단자(DN)로 입력 단자(Do~Dn-1)의 데이타가 입력되어 저장된다.Accordingly, the data of the input terminals Do ~ Dn- 1 are input to the input terminals DN of the memory cells Bo, o ~ Bo, n- 1 at the rising edge of the clock CLK.
그리고, 라이트 인에이블 신호(WE)가 '1'인 액티브 상태이므로 데이타 입출력 제어부(220)는 제어 신호 발생기(221)에서 앤드 게이트(221-2)의 출력 신호(WCE)가 '1'이 되어 상태 신호 생성기(222)에 입력되어진다.Since the write enable signal WE is in the active state of '1', the data input / output control unit 220 sets the output signal WCE of the AND gate 221-2 to '1' in the control signal generator 221 And is input to the status signal generator 222.
이에 따라, 상태 신호 생성기(222)는 링 카운터(Co~Cn)가 입력단(INC)의 신호를 출력단(Q)으로 래치하므로 상기 링 카운터(C1)의 출력 신호(Q1)만이 '1'이 된다.Accordingly, the state signal generator 222 latches only the output signal Q 1 of the ring counter C 1 to '1' because the ring counter Co to Cn latches the signal of the input terminal INC to the output terminal Q, .
여기서, 링 카운터(C1)의 출력값(Q0)은 '1'이므로 데이타 저장부(210)의 상태가 'Almost-EMPTY'임을 나타낸다.Here, since the output value Q 0 of the ring counter C 1 is '1', it indicates that the state of the data storage unit 210 is 'Almost-EMPTY'.
이후, 라이트 인에이블 신호(WE)와 리드 인에이블 신호(RE)가 액티브되어 입력 단자(Do~Dn-1)에 다음 데이타가 저장되고, 상기 라이트 인에이블 신호(WE)와 리드 인에이블 신호(RE)는 인액티브된다.Thereafter, the write enable signal WE and the read enable signal RE are activated so that the next data is stored in the input terminals Do ~ Dn-1, and the write enable signal WE and the read enable signal RE) is inactive.
이때, 라이트 인에이블 신호(WE)와 리드 인에이블 신호(RE)가 동시에 액티브되면 상태 신호 생성기(222)의 링 카운터(CO~Cn)에는 아무런 변화가 없다.At this time, if the write enable signal WE and the read enable signal RE are simultaneously activated, there is no change in the ring counters CO to Cn of the state signal generator 222.
이 후, 라이트 인에이블 신호(WE)만이 액티브되면 데이타 입출력부(220)는 워드 라인 선택기(223)의 앤드 게이트(AN2)가 상태 신호 생성기(222)의 '1'인 출력 신호(Q0)와 상기 '1'인 라이트 인에이블 신호(WE)를 논리곱하여 워드 라인 신호(WLo)를 '1'로 출력하게 된다Thereafter, when only the write enable signal WE is active, the data input / output unit 220 outputs the output signal Q 0 (1) of the state signal generator 222 to the AND gate (AN 2 ) of the word line selector 223, ) And the write enable signal WE of '1' to output the word line signal WLo as '1'
이때, 데이타 저장부(210)는 메모리 셀(B1,0~B1,n-1)이 선택되어진다.At this time, the data storage unit 210 selects the memory cells B 1 , 0 to B 1, n-1 .
이에 따라, 클럭(CLK)의 상승 에지에서 메모리 셀(B1,0~B1,n-1)의 입력 단자(DN)로 입력 단자(D0~Dn-1)의 데이타가 입력되어 저장된다.Accordingly, the data of the input terminals D 0 to D n-1 are input to the input terminals DN of the memory cells B 1 , 0 to B 1, n-1 at the rising edge of the clock CLK , do.
상기에서 라이트 인에이블 신호(WE)만이 '1'이 되어 데이타의 저장 동작을 수행하고 라이트 인에이블 신호(WE)와 리드 인에이블 신호(RE)가 모두 '1'이 되어 입력 단자(D0~Dn-1)에 새로운 데이타가 입력되며 이어서, 라이트 인에이블 신호(WE)와 리드 인에이블 신호(RE)가 모두 '0'으로 인액티브되고 이후, 다시 라이트 인에이블 신호(WE)만이 '1'이 되어 데이타의 저장 동작을 수행하는 과정을 반복적으로 수행하게 된다.Performing a storage operation of the data, only the write enable signal (WE) is a "1" in the above, and the write enable signal (WE) and read enable signal (RE) all of which are '1' input terminals (D 0 ~ D n-1), a new data input to, and then, only the write enable signal (WE) and read enable signal (rE) is after all is inactive "0" again in the write enable signal (WE), 1 'And performs a process of storing data repeatedly.
따라서, 상기와 같은 과정을 반복함에 의해 상태 신호 생성기(222)의 출력 신호(Qn-1)가 '1'이 되면 데이타 저장부(210)가 'Almost-FULL' 상태임을 나타나게 된다.Accordingly, when the output signal Q n-1 of the status signal generator 222 becomes '1' by repeating the above process, the data storage unit 210 shows 'Almost-FULL' state.
이후, 라이트 인에이블 신호(WE)와 리드 인에이블 신호(RE)가 액티브되어 입력 단자(D0~Dn-1)에 다음 데이타가 저장되고, 상기 라이트 인에이블 신호(WE)와 리드 인에이블 신호(RE)는 인액티브된다.Thereafter, the write enable signal WE and the read enable signal RE are activated so that the next data is stored in the input terminals D 0 to D n-1 , and the write enable signal WE and the read enable The signal RE is inactive.
이 후, 라이트 인에이블 신호(WE)만이 액티브되면 워드 라인 생성기(223)는 앤드 게이트(ANn-1)의 출력 신호(WLn-1)가 '1'이 되어 데이타 저장부(210)의 메모리 셀(Bn-1, 0~Bn-1, n-1)이 선택되어진다. 이에 따라, 클럭(CLK)의 상승 에지에서 메모리 셀(Bn-1,o ∼ Bn-1,n-1)의 입력 단자(DN)로 입력단자(D0~Dn-1)의 데이타가 입력되어 저장된다.Thereafter, when only the write enable signal WE is active, the word line generator 223 outputs the output signal WL n-1 of the AND gate AN n-1 to '1' The memory cells B n-1, 0 to B n-1, n-1 are selected. In this way, the memory cell at the rising edge of the clock (CLK) (Bn- 1, o ~ Bn- 1, n- 1) is the input data of the input terminal (DN) to the input terminals (D 0 ~ D n-1 ) of And stored.
그리고, 라이트 인에이블 신호(WE)가 '1'인 액티브 상태이므로 데이타 입출력 제어부(220)는 제어 신호 발생기(221)에서 앤드 게이트(221-2)의 출력 신호(WCE)가 '1'이 되어 상태 신호 생성기(222)에 입력되어진다.Since the write enable signal WE is in the active state of '1', the data input / output control unit 220 sets the output signal WCE of the AND gate 221-2 to '1' in the control signal generator 221 And is input to the status signal generator 222.
이에 따라, 상태 신호 생성기(222)는 링 카운터(C0~Cn)가 입력단(INC)의 신호를 출력단(Q)으로 래치하므로 상기 링 카운터(Cn)의 출력 신호(Qn)이 '1'이 된다.Accordingly, the state signal generator 222 latches the output signal Qn of the ring counter Cn to '1' because the ring counter C 0 to C n latches the signal of the input terminal INC to the output terminal Q, .
여기서, 링 카운터(Cn)의 출력값(Qn)이 '1'이므로 데이타 저장부(210)의 상태가 'FULL'임을 나타낸다.Here, since the output value Qn of the ring counter Cn is '1', it indicates that the state of the data storage unit 210 is 'FULL'.
상기에서 메모리 셀(B0,0~Bn-1,0)~(B0,n-1~Bn-1,n-1)은 각기 도5와 같이 구성된다.The memory cells B 0,0 to B n-1,0 to B 0, n-1 to B n-1, n-1 are configured as shown in FIG.
따라서, 라이트 동작시 라이트 인에이블 신호(WE)만이 '1'로 액티브되므로 오아 게이트(211)와 낸드 게이트(213)의 출력 신호가 '1'이 되어 낸드 게이트(212)의 출력값이 입력 신호(DN)에 의해 결정되고, 낸드 게이트(214)의 출력값은 상기 낸드 게이트(212)의 출력값에 의해 결정된다.Accordingly, only the write enable signal WE is activated to '1' during the write operation, so that the output signals of the OR gate 211 and the NAND gate 213 become '1' and the output value of the NAND gate 212 becomes the input signal DN), and the output value of the NAND gate 214 is determined by the output value of the NAND gate 212.
예들 들어, 입력 데이타가 '1'이라면 낸드 게이트(212)의 출력 신호는 '0'이 되고 낸드 게이트(214)의 출력 신호는 '1'이 된다.For example, if the input data is '1', the output signal of the NAND gate 212 becomes '0' and the output signal of the NAND gate 214 becomes '1'.
따라서, 클럭(CLK)의 상승 에지에서 디플립플롭(215)이 낸드 게이트(214)의출력 신호를 래치하여 입력 데이타(DN)를 저장하게 된다.Therefore, the D flip-flop 215 latches the output signal of the NAND gate 214 at the rising edge of the clock CLK to store the input data DN.
그리고, 링 카운터(Co)는 도6과 같이 구성되며, 링 카운터(C1~Cn)는 도7과 같이 각기 구성된다.The ring counter Co is configured as shown in FIG. 6, and the ring counters C 1 to C n are configured as shown in FIG.
따라서, 리셋 신호(RST)가 '0'으로 액티브되면 링 카운터(Co)는 디플립플롭(245)이 세트되어 '1'인 신호를 출력하며 링 카운터(C1~Cn)는 각기 디플립플롭(255)이 리셋되어 '0'인 신호를 출력하게 된다.Accordingly, when the reset signal RST is activated to '0', the ring counter Co outputs a signal of '1' to the D flip-flop 245, and the ring counters C 1 to C n , Flop 255 is reset to output a signal of " 0 ".
이후, 라이트 동작을 위해 라이트 인에이블 신호(WE)가 '1'로 액티브되면 라이트 계수 인에이블 신호(WCE)만이 '1'로 액티브되므로 링 카운터(Co)는 오아 게이트(241)와 낸드 게이트(243)의 출력 신호가 '1'이 되고, 낸드 게이트(242)는 입력 신호(INC)에 의해 출력값이 결정된다.Then, when the write enable signal WE is activated to '1' for a write operation, only the write coefficient enable signal WCE is activated to '1', so that the ring counter Co receives the OR gate 241 and the NAND gate The output signal of the NAND gate 242 becomes '1', and the output value of the NAND gate 242 is determined by the input signal INC.
이때, 입력 신호(INC)가 '0'이므로 낸드 게이트(242)의 출력값은 '1'이 되고, 오아 게이트(241) 및 낸드 게이트(242)(243)의 출력값이 모두 '1'이므로 낸드 게이트(244)의 출력값은 '0'이 된다.At this time, since the input signal INC is '0', the output value of the NAND gate 242 becomes '1' and the output values of the OR gate 241 and the NAND gates 242 and 243 are '1' And the output value of the adder 244 becomes '0'.
이에 따라, 클럭(CLK)의 상승 에지에서 디플립플롭(245)이 낸드 게이트(244)의 '0'인 출력 신호를 래치하므로 비반전 출력 단자(Q)로 '0'인 신호를 출력하고 반전 단자(QN)로 '1'인 신호를 출력하게 된다.Accordingly, the D flip-flop 245 latches the output signal of '0' of the NAND gate 244 at the rising edge of the clock signal CLK so that a signal of '0' is outputted to the non-inverted output terminal Q, And outputs a signal of '1' to the terminal QN.
따라서, 링 카운터(Co)는 초기에 '1'인 신호를 출력한 후 라이트 동작이 수행되는 동안 계속 '0'인 신호를 출력하게 된다.Therefore, the ring counter Co initially outputs a signal of '1' and then continuously outputs a signal of '0' during a write operation.
그리고, 각각의 링 카운터(C1~Cn)는 라이트 계수 인에이블 신호(WCE)만이 '1'이므로 오아 게이트(251)와 낸드 게이트(253)의 출력 신호가 '1'이 되고, 낸드 게이트(252)는 입력 신호(INC)에 의해 출력값이 결정된다.Since only the write coefficient enable signal WCE is' 1 ', the output signals of the OR gate 251 and the NAND gate 253 become' 1 ', and each of the ring counters C 1 to C n becomes' The output value is determined by the input signal INC.
이때, 낸드 게이트(252)의 출력값은 입력 신호(INC)에 의해 결정되고, 오아 게이트(251) 및 낸드 게이트(253)의 출력값이 모두 '1'이므로 낸드 게이트(254)의 출력값은 상기 낸드 게이트(252)의 출력값에 의해 결정된다.Since the output value of the NAND gate 252 is determined by the input signal INC and the output values of the OR gate 251 and the NAND gate 253 are both '1', the output value of the NAND gate 254 is' (252).
이에 따라, 디플립플롭(255)은 클럭(CLK)의 상승 에지에서 낸드 게이트(254)의 출력 신호를 래치하게 된다.Thus, the D flip-flop 255 latches the output signal of the NAND gate 254 at the rising edge of the clock (CLK).
따라서, 라이트 계수 인에이블 신호(WCE)가 '1'이 될 때마다 링 카운터(C1~Cn)는 하위 링 카운터의 출력 신호가 입력되므로 초기의 링 카운터(Co)의 '1'인 출력 신호가 좌로 시프트되어 데이타 저장부(210)의 상태를 나타내게 된다.Therefore, every time the write coefficient enable signal WCE becomes '1', the ring counter C 1 to C n receives the output signal of the lower ring counter. Therefore, the output of the initial ring counter Co '1' The signal is shifted to the left to indicate the state of the data storage unit 210.
반대로, 리드 동작을 설명하면 다음과 같다.Conversely, the read operation will be described as follows.
여기서, 리드 동작은 데이타 저장부(210)가 'FULL' 상태임을 가정하여 설명하기로 한다.Here, the read operation will be described on the assumption that the data storage unit 210 is in the 'FULL' state.
먼저, 리드 인에이블 신호(RE)만이 액티브되며, 데이타 저장부(210)는 메모리 셀(Bn-1,0~B0,0)~(Bn-1,n-1~B0,n-1)이 각기 우(Right)로 시프트 동작을 수행하게 되어 상기 메모리 셀(B0,0-~B0,n-1)의 저장 데이타가 출력되어진다.First, only the read enable signal RE is active, and the data storage unit 210 stores the data of the memory cells B n-1 to B 0,0 to B n-1, n-1 to B 0, n -1 ) perform a shift operation to the right, and the stored data of the memory cells B 0,0- to B 0, n-1 are output.
상기에서 메모리 셀(Bn-1,0~B0,0)~(Bn-1,n-1~B0,n-1)은 각기 전단 메모리 셀의 저장 데이타가 시프트되어 저장된다.In the memory cells B n-1 to B 0,0 to B n-1, n-1 to B 0, n-1 , the storage data of the previous stage memory cells are shifted and stored.
예를 들어, 메모리 셀(B0,0~B0,n-1)에는 메모리 셀(B1,0~B1,n-1)에 저장되었던 데이타가 시프트되어 저장된다.For example, data stored in the memory cells (B 1,0 -B 1, n-1 ) are shifted and stored in the memory cells (B 0,0 to B 0, n-1 ).
이때, 상기 메모리 셀(Bn-1,0~Bn-1,n-1)의 입력 단자(DS)에는 '0'가 입력되어 저장된다.At this time, '0' is inputted and stored in the input terminal DS of the memory cells B n-1,0 to B n-1, n-1 .
그리고, 리드 인에이블 신호(RE)가 '1'로 액티브 상태이므로 데이타 입출력 제어부(220)에서 제어 신호 발생기(221)는 앤드 게이트(221-1)의 출력 신호가 '1'이 된다.Since the read enable signal RE is active at '1', the output signal of the AND gate 221-1 of the control signal generator 221 in the data input / output control unit 220 becomes '1'.
이에 따라, 상태 신호 생성기(222)는 링 카운터(Cn~C0)가 시프트 동작을 수행하므로 상기 링 카운터(Cn)의 '1'인 출력 신호(Qn)를 상기 링 카운터(Cn-1)가 래치하여 데이타 저장부(210)의 상태가 'Almost-FULL'임을 나타나게 된다.Accordingly, the state signal generator 222 is a ring counter (n C ~ C 0) performs the shift operation, because the ring counter (C n) of "1" output signal (Qn) of the counter ring (C n- 1 ) latches and the state of the data storage unit 210 is 'Almost-FULL'.
상기 링 카운터(Cn)는 입력 단자(DEC)에 인가된 '0'신호를 래치하게 된다.The ring counter C n latches the '0' signal applied to the input terminal DEC.
이후, 리드 인에이블 신호(RE)와 라이트 인에이블 신호(WE)가 모두 '0'으로 인액티브된다.Thereafter, both the read enable signal RE and the write enable signal WE are activated to "0".
이후, 리드 인에이블 신호(RE)만이 액티브되면 데이타 저장부(210)는 메모리 셀(Bn-1,0~B0,0)~(Bn-1,n-1~B0,n-1)이 각기 우(Right)로 시프트 동작을 수행하게 되어 상기 메모리 셀(B0,0~B0,n-1)의 저장 데이타가 출력되어진다.When only the read enable signal RE is active, the data storage unit 210 stores the data in the memory cells B n-1 to B 0,0 to B n-1, n-1 to B 0, n- 1 ) perform the shift operation to the right, and the stored data of the memory cells B 0,0 to B 0, n-1 are output.
상기에서 시프트 동작에 의해 메모리 셀(Bn-1,0~B0,0)~(Bn-1,n-1~B0,n-1)은 각기 전단 메모리 셀의 저장 데이타를 저장하게 된다.The memory cells B n-1,0 to B 0,0 to B n-1, n-1 to B 0, n-1 store the storage data of the previous stage memory cells by the shift operation do.
이때, 상기 메모리 셀(Bn-1,o ∼ Bn-1,n-1)의 입력 단자(DS)에는 'O'가 입력되어 저장되며, 메모리 셀(Bn-2,o ∼ Bn-2,n-1)에는 상기 메모리 셀(Bn-1,o ∼ Bn-1,n-1)에 저장된 'O' 신호가 시프트되어 저장된다.At this time, the memory cell (Bn- 1, o ~ Bn- 1 , n-1) input terminals (DS) is stored is 'O' is input, the memory cells (Bn- 2, o ~ Bn- 2 , the n -1), 'O' signals stored in the memory cells Bn- 1 , o to Bn- 1 , n- 1 are shifted and stored.
그리고, 리드 인에이블 신호(RE)가 '1'로 액티브 상태이므로 데이타 입출력 제어부(220)에서 제어 신호 발생기(221)는 앤드 게이트(221-1)의 출력 신호가 '1'이 된다.Since the read enable signal RE is active at '1', the output signal of the AND gate 221-1 of the control signal generator 221 in the data input / output control unit 220 becomes '1'.
이에 따라, 상태 신호 생성기(222)는 링 카운터(Cn~C0)가 시프트 동작을 수행하므로 상기 링 카운터(Cn-1)의 '1'인 출력 신호(Qn-1)가 시프트되어 상기 링 카운터(Cn-2)의 출력 신호(Qn-2)가 '1'이 된다.Accordingly, the state signal generator 222 shifts the output signal Q n-1 of '1' of the ring counter C n-1 because the ring counter C n to C 0 performs the shift operation The output signal Q n-2 of the ring counter C n-2 becomes '1'.
이때, 링 카운터(Cn-1)에는 링 카운터(Cn)에서 시프트된 '0' 신호가 래치되어진다.At this time, a '0' signal shifted by the ring counter Cn is latched in the ring counter (C n-1 ).
즉, 리드 인에이블 신호(RE)가 액티브될 때마다 데이타 저장부(210)의 메모리 셀(Bn-1,0~B0,0)~(Bn-1,n-1~B0,n-1)이 각기 시프트 동작을 수행하여 저장 데이타를 출력하고 동시에 데이타 입출력 제어부(220)는 상태 신호 생성기(222)에서 링 카운터(Cn~C0)가 시프트 동작을 수행하여 상기 데이타 저장부(210)의 상태를 표시하게 된다.That is, each time the read enable signal RE is activated, the memory cells B n-1,0 to B 0,0 to B n-1, n-1 to B 0, n-1) are each performing a shift operation to save the output data and at the same time, the data input-output control unit 220 is a state signal generator 222 is a ring counter (C n ~ C 0) have to perform a shift operation of the data storage unit in the The state of the display unit 210 is displayed.
따라서, 상기와 같이 리드 인에이블 신호(RE)가 반복됨에 의해 상태 신호 생성기(222)에서 링 카운터(C1)의 출력 신호(Q1)가 '1'이 되면 데이타 저장부(210)의 상태가 'Almost-EMPTY'임을 나타내며, 상기 데이타 저장부(210)는 메모리 셀(B0,0~B0,n-1)에만 데이타가 저장된 상태이다.Accordingly, when the output signal Q 1 of the ring counter C 1 becomes '1' in the state signal generator 222 due to the repetition of the read enable signal RE as described above, the state of the data storage unit 210 Is 'Almost-EMPTY', and the data storage unit 210 stores data only in the memory cells B 0,0 to B 0 and n-1 .
이 후, 리드 인에이블 신호(RE)가 인액티브되었다가 액티브되면 데이타 저장부(210)의 메모리 셀(B0,0~B0,n-1)에서 데이타가 출력되어진다.Thereafter, when the read enable signal RE is inactive and active, data is output from the memory cells B 0,0 to B 0, n-1 of the data storage unit 210.
이에 따라, 메모리 셀(Bn-1,0~B0,0)~(Bn-1,n-1~B0,n-1)에는 모두 '0'가 저장되어진다.Accordingly, '0' is stored in all of the memory cells (B n-1,0 to B 0,0 ) to (B n-1, n-1 to B 0, n-1 ).
이때, 데이타 입출력 제어부(220)의 상태 신호 생성기(222)는 링 카운터(C1)의 '1'인 신호가 링 카운터(Co)에 시프트되어 데이타 저장부(210)가 'EMPTY'상태임을 나타내게 된다.At this time, the data status signal generator 222 of the input-output control unit 220 is '1' of the ring counter (C1) signal is shifted to the ring counter (C o) exhibits that the data storage unit 210 is "EMPTY" status do.
상기에서 도5와 같이 각각 구성한 메모리 셀(Bo,o ∼ Bn-1,o)∼(Bo,n-1∼Bn-1,n-1)은 리드 동작시 리드 인에이블 신호(RE)만이 '1'로 액티브되므로 오아 게이트(211)와 낸드 게이트(212)의 출력 신호는 항상'1'이 되며, 낸드 게이트(213)의 출력값은 입력 신호(DS)에 의해 결정되고, 낸드 게이트(214)의 출력값는 상기 낸드 게이트(212)의 출력값에 의해 결정된다.In the memory cells (Bo, o to Bn- 1 , o) to (Bo, n- 1 to Bn- 1 , n- 1 ) configured as shown in FIG. 5, only the read enable signal RE, 1 ', the output signal of the NAND gate 213 is determined by the input signal DS, and the output signal of the NAND gate 214 is set to' 1 ', so that the output signal of the OR gate 211 and the NAND gate 212 is always' The output value of the NAND gate 212 is determined by the output value of the NAND gate 212.
예를 들어, 입력 데이타가 '1'이라면 낸드 게이트(213)의 출력 신호는 '0'이 되고, 낸드 게이트(214)의 출력 신호는 '1'이 된다.For example, if the input data is '1', the output signal of the NAND gate 213 becomes '0' and the output signal of the NAND gate 214 becomes '1'.
이에 따라, 클럭(CLK)의 상승 에지에서 디플립플롭(215)이 낸드 게이트(214)의 출력 신호를 래치하여 입력 데이타(DN)를 저장하게 된다.Thus, the D flip-flop 215 latches the output signal of the NAND gate 214 at the rising edge of the clock CLK to store the input data DN.
따라서, 리드 동작시 메모리 셀(Bn-1,0~B0,0)~(Bn-1,n-1~B0,n-1)은 각기 우로 시프트 동작을 수행하므로 리드 인에이블 신호(RE)가 액티브될 때마다 전단 메모리 셀의 출력 데이타를 래치하여 우로 전달하게 된다.Therefore, in the read operation, the memory cells B n-1 to B 0,0 to B n-1, n-1 to B 0, n-1 perform the right shift operation, The output data of the previous stage memory cell is latched and transferred to the right whenever RE is activated.
그리고, 링 카운터(Co)는 도6과 같이 구성되며, 링 카운터(C1~Cn)는 도7과 같이 각기 구성된다.The ring counter C o is configured as shown in FIG. 6, and the ring counters C 1 to C n are configured as shown in FIG.
상기 링 카운터(Co)는 오아 게이트(241)와 낸드 게이트(242)의 출력 신호가 '1'이 되고, 낸드 게이트(242)의 출력값은 입력 신호(DEC)에 의해 결정된다.The output signal of the OR gate 241 and the output signal of the NAND gate 242 become '1' and the output value of the NAND gate 242 is determined by the input signal DEC.
이때, 입력 신호(DEC)는 링 카운터(C1)의 출력 신호(Q1)이므로 데이타 저장부(210)가 'Almost-EMPTY' 상태가 될때까지는 낸드 게이트(242)의 출력값은 '0'이 되고, 오아 게이트(241)및 낸드 게이트(242)(243)의 출력값이 모두 '1'이므로 낸드 게이트(244)의 출력값은 '1'이 된다.Since the input signal DEC is the output signal Q 1 of the ring counter C 1 , the output value of the NAND gate 242 is '0' until the data storage unit 210 becomes 'Almost-EMPTY' And the output value of the NAND gate 244 is '1' because the output values of the OR gate 241 and the NAND gates 242 and 243 are all '1'.
이에 따라, 클럭(CLK)의 상승 에지에서 디플롭플롭(245)이 낸드 게이트(244)의 '1'인 출력 신호를 래치하므로 상기 디플립플롭(245)은 데이타 저장부(210)가 'Almost-EMPTY' 상태가 될때까지는 비반전 출력 단자(Q)로 '1'인 신호를 출력하고 반전 단자(QN)로 '0'인 신호를 출력하게 된다.Accordingly, the D flip-flop 245 latches the output signal '1' of the NAND gate 244 at the rising edge of the clock CLK, 1 'to the non-inverting output terminal Q and outputs a signal of' 0 'to the inverting terminal QN until the -EMPTY state is reached.
그리고, 각각의 링 카운터(C1~Cn)는 리드 계수 인에이블 신호(RCE)만이 '1'이므로 오아 게이트(251)와 낸드 게이트(252)의 출력 신호가 '1'이 되고, 낸드 게이트(253)의 출력값은 입력 신호(DEC)에 의해 결정된다.Since only the read count enable signal RCE is' 1 ', the output signals of the OR gate 251 and the NAND gate 252 become' 1 ', and each of the ring counters C 1 to C n becomes' The output value of the adder 253 is determined by the input signal DEC.
이때, 낸드 게이트(253)의 출력값은 입력 신호(DEC)에 의해 결정되고, 오아 게이트(251) 및 낸드 게이트(252)의 출력값은 항상 '1'이므로 낸드 게이트(254)의 출력값은 상기 낸드 게이트(253)의 출력값에 의해 결정된다.Since the output value of the NAND gate 253 is determined by the input signal DEC and the output value of the OR gate 251 and the NAND gate 252 is always' 1 ', the output value of the NAND gate 254 is' (253).
이에 따라, 디플립플롭(255)은 클럭(CLK)의 상승 에지에서 낸드 게이트(254)의 출력 신호를 래치하게 된다.Thus, the D flip-flop 255 latches the output signal of the NAND gate 254 at the rising edge of the clock (CLK).
즉, 링 카운터(C1~Cn)는 우로 시프트하는 동작을 수행하게 된다.That is, the ring counters C 1 to C n perform a right shift operation.
상기 링 카운터(Cn)는 리드 계수 인에이블 신호(RCE)가 액티브될 때마다 입력단자(DEC)의 '0'값을 우로 시프트시킨다.The ring counter C n shifts the '0' value of the input terminal DEC to the right every time the read coefficient enable signal RCE is activated.
따라서, 데이타 저장부(210)가 'FULL'상태로서 상태 신호 생성기(222)의 링 카운터(C1~Cn)는 모두 '1'인 신호를 출력하고 있는 경우를 예를 들면, 리드 동작이 시작되어 리드 계수 인에이블 신호(RCE)가 액티브될 때마다 링 카운터(C1~Cn)의 출력 신호는 순차적으로 '0'이 된다.Therefore, when the ring counter (C 1 to C n ) of the state signal generator 222 outputs a signal of '1' as the data storage unit 210 is 'FULL' state, for example, The output signals of the ring counters C 1 to C n sequentially become '0' each time the read count enable signal RCE is activated.
이 후, 링 카운터(C1)의 출력 신호(Q1)가 '0'이 되면 데이타 저장부(210)의 상태를 'Almost-EMPTY'임을 나타내게 된다.Thereafter, when the output signal Q1 of the ring counter C 1 becomes '0', the state of the data storage unit 210 is 'Almost-EMPTY'.
상기와 같은 라이트, 리드 동자은 도3의 타이밍도와 동일하게 수행된다.The above-described write and read operations are performed in the same manner as the timing of FIG.
예로, 4*4의 선입선출 메모리라면 도8의 예시도와 같이 라이트 인에이블 신호(WE)가 액티브될 때마다 데이타를 라이트하면서 데이타 저장 상태를 나타내고 이 후, 리드 인에블 신호(RE)가 액티브될 때마다 저장 데이타를 출력하면서 남은 데이타의 상태를 나타내게 된다.For example, as shown in the example of FIG. 8, when the write enable signal WE is 4 * 4, the data is stored and the data storage state is indicated every time the write enable signal WE is activated. Whenever data is stored, it shows the state of the remaining data.
상기에서 상세히 설명한 바와 같이 본 발명은 기존의 어드레스 생성부 및 상태 신호 생성부를 링 카운터로 대체함은 물론 듀얼 포트 메모리의 2개의 디코더 부분을 1개의 링 카운터로 대체하므로 회로 구성이 간단해짐은 물론 규칙적이 되어 확장이 용이해기는 효과가 있다.As described in detail above, the present invention not only replaces the existing address generator and state signal generator with a ring counter, but also replaces two decoder portions of the dual port memory with one ring counter, So that it is easy to expand.
Claims (7)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960047072A KR100239702B1 (en) | 1996-10-21 | 1996-10-21 | Linear fifo memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960047072A KR100239702B1 (en) | 1996-10-21 | 1996-10-21 | Linear fifo memory |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19980028086A KR19980028086A (en) | 1998-07-15 |
KR100239702B1 true KR100239702B1 (en) | 2000-01-15 |
Family
ID=19478166
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019960047072A KR100239702B1 (en) | 1996-10-21 | 1996-10-21 | Linear fifo memory |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100239702B1 (en) |
-
1996
- 1996-10-21 KR KR1019960047072A patent/KR100239702B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR19980028086A (en) | 1998-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5365485A (en) | Fifo with fast retransmit mode | |
EP0511408B1 (en) | Synchronous semiconductor memory | |
US4873666A (en) | Message FIFO buffer controller | |
US5088061A (en) | Routing independent circuit components | |
KR950012022B1 (en) | Random access memory based buffer memory and associated method utilizing pipe lined look-ahead reading | |
US5267191A (en) | FIFO memory system | |
US20100174877A1 (en) | Ring buffer circuit and control circuit for ring buffer circuit | |
US4095283A (en) | First in-first out memory array containing special bits for replacement addressing | |
CN112578661A (en) | Delay line calibration circuit for FPGA type time-to-digital converter | |
JPS59157811A (en) | Data interpolating circuit | |
EP0481751B1 (en) | Pipeline circuitry and method for allowing the comparison of the relative difference between two asynchronous pointers and a programmable value | |
JP3201335B2 (en) | Memory address generation circuit and semiconductor memory device | |
US5594700A (en) | Sequential memory | |
US6463000B2 (en) | First-in first-out memory device and method of generating flag signal in the same | |
KR100239702B1 (en) | Linear fifo memory | |
CA2150151A1 (en) | First-in first-out memory | |
US6480912B1 (en) | Method and apparatus for determining the number of empty memory locations in a FIFO memory device | |
KR100275183B1 (en) | Method for memorizing sequential memory and unit | |
KR960032217A (en) | Serial Data Output Method of Dual Port Memory Device and Dual Port Memory Device | |
US3641330A (en) | Microprogrammed digital computer providing various operations by word circulation | |
JP2841456B2 (en) | Data transfer method and data buffer device | |
JP3598702B2 (en) | Transmission delay setting device | |
US20020129219A1 (en) | Method and device for sequential readout of a memory with address jump | |
RU1803919C (en) | Device for processing messages | |
ITRM960315A1 (en) | HIGH SPEED PRECISION COUNTER, ESPECIALLY FOR DETERMINES = NATIONS OF TIME. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
J201 | Request for trial against refusal decision | ||
B701 | Decision to grant | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20050923 Year of fee payment: 7 |
|
LAPS | Lapse due to unpaid annual fee |