KR20070027215A - Dual port ram control method - Google Patents

Dual port ram control method Download PDF

Info

Publication number
KR20070027215A
KR20070027215A KR1020050082598A KR20050082598A KR20070027215A KR 20070027215 A KR20070027215 A KR 20070027215A KR 1020050082598 A KR1020050082598 A KR 1020050082598A KR 20050082598 A KR20050082598 A KR 20050082598A KR 20070027215 A KR20070027215 A KR 20070027215A
Authority
KR
South Korea
Prior art keywords
counter
cell
read
write
pointer
Prior art date
Application number
KR1020050082598A
Other languages
Korean (ko)
Other versions
KR100732084B1 (en
Inventor
최정훈
Original Assignee
엘지노텔 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지노텔 주식회사 filed Critical 엘지노텔 주식회사
Priority to KR1020050082598A priority Critical patent/KR100732084B1/en
Publication of KR20070027215A publication Critical patent/KR20070027215A/en
Application granted granted Critical
Publication of KR100732084B1 publication Critical patent/KR100732084B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

A method for controlling a DPRAM(Dual Port RAM) is provided to implement a FIFO(First Input First Output) function with a small capacity FPGA(Field Programmable Gate Array) by minimizing logic resources in case that the DPRAM is controlled through the FPGA by using HDL(Hardware Description Language). In case that a cell to be written is occurred in a cell pointer counter, the cell is written(S102). It is checked whether the last bit of the cell is written or not(S103). In the case that the cell is completely written, the next cell is written and an address area is jumped(S104). It is checked whether the next pointer counter is used up or not after address jump(S105). In the case that the counter is not used up, a write pointer counter value is output. In the case that the counter is used up, the write pointer counter value is output after a carry is inverted(S106).

Description

디피램 제어 방법{Dual port RAM control method}Dual port RAM control method

도 1은 종래 기술에서의 디피램(DPRAM)의 뱅크(Bank) 분할에 따른 주소(Address) 할당을 나타내는 도면이고,1 is a diagram illustrating an address allocation according to bank division of a DPRAM in the prior art;

도 2는 종래 기술의 디피램(DPRAM)의 특정 뱅크(Bank)에서의 카운터(Counter) 구성을 나타내는 도면이며,FIG. 2 is a diagram showing a counter configuration in a specific bank of a prior art DPRAM.

도 3은 종래 기술의 디피램(DPRAM)의 제어 방법을 나타내는 순서도이고,3 is a flowchart illustrating a method of controlling a conventional DRAM (DPRAM).

도 4는 본원 발명의 디피램(DPRAM) 제어를 위한 디피램의 특정 뱅크(Bank)에서의 카운터(counter) 구성을 나타내는 도면이며,FIG. 4 is a diagram illustrating a counter configuration in a specific bank of a dipram for the DPRAM control according to the present invention.

도 5는 본원 발명의 일 실시 예에 따르는 디피램(DPRAM) 제어 방법의 처리과정을 나타내는 순서도이고,FIG. 5 is a flowchart illustrating a process of a method for controlling a DPRAM according to an embodiment of the present invention.

도 6은 본원 발명의 디피램 제어 방법이 CDMA2000 1x 및 EV-DO 시스템에서 아비스 인터페이스(Abis interface) 기능을 하는 보드에 적용된 일 실시 예를 나타내는 도면이다.FIG. 6 is a diagram illustrating an embodiment in which the method for controlling a depiram of the present invention is applied to a board having an Abis interface function in a CDMA2000 1x and EV-DO system.

본원 발명은 디피램(DPRAM: Dual Port Ram)에 관한 것으로서, 더욱 상세하게 는 네트워크 노드(Network Node)에서 디피램(DPRAM)을 이용하여 FIFO를 구현하는 경우 디피램(DPRAM) 제어를 위한 포인터를 최소한의 로직 리소스(Logic Resource)를 통해 구현하기 위한 디피램 제어 방법에 관한 것이다.The present invention relates to a dual port ram (DPRAM), and more particularly, to a pointer for controlling a DPRAM when a FIFO is implemented using a DPRAM in a network node. The present invention relates to a method of controlling the depiram to be implemented through a minimum of logical resources.

디피램(DPRAM)은 쓰기 포트(Write Port)와 읽기 포트(Read Port)가 분리되어 있는 메모리(Memory)로서, FIFO(First In First Out)를 구성하기에 적합하다. 상술한 디피램(DPRAM)으로 구현된 FIFO(First In First Out)는 칩 밴더(Chip Vendor)에서 출시하는 상용 FIFO와 달리 디피램(DPRAM)을 제어하기 위한 기술이 필요한데, 주로 VHDL(Very High Speed Integrated IC(VHISC) hardware description language)을 사용한다.DPRAM is a memory in which a write port and a read port are separated, and is suitable for forming a first in first out (FIFO). First-in-first-out (FIFO) implemented with the above-mentioned deep-ramp (DPRAM) requires a technology for controlling the deep-ramp (DPRAM), unlike commercial FIFOs released by chip vendors, mainly VHDL (Very High Speed). Use the Integrated IC (VHISC) hardware description language.

상술한 바와 같은 제어 기술은 디피램(DPRAM)을 주소(Address)영역으로 분할하여 여러 개의 뱅크(Bank)로 분리할 수 있어, n개의 FIFO를 구현할 수 있는 장점이 있다.As described above, the control technique may divide the DPRAM into an address area and divide the plurality of banks into banks, thereby implementing n FIFOs.

도 1은 종래기술에서의 디피램(DPRAM)의 뱅크(Bank) 분할에 따른 주소(Address) 할당을 나타낸다.1 illustrates an address allocation according to bank division of a DPRAM in the prior art.

폭(Width)이 m 개 비트(Bit)이고, 주소(address(entry))는 k 개인 디피램(DPRAM)을 이용하여 동일한 크기의 n개 뱅크(Bank)로 나누어 n개의 FIFO를 구성한다고 가정한다면, 첫 번째 뱅크(Bank)의 주소(Address) 영역은 0 ~ (k/n)*1이다. 두 번째 뱅크(Bank)의 주소(Address) 영역은 (k/n)*1 + 1 ~ (k/n)*2, 그리고 마지막 n번째 뱅크(Bank)의 주소(Address) 영역은 ((k/n)*(n-1) + 1 ~ k로 분할할 수 있다. 해당 영역들은 디피램(DPRAM)의 사이즈(size) 및 사용자의 뱅크(Bank) 구성 에 따라 달라질 수 있다.Suppose the width is m bits, and the address (entry) is divided into n banks of equal size using k private disks (DPRAMs) to form n FIFOs. The address of the first bank is 0 to (k / n) * 1. The address area of the second bank is (k / n) * 1 + 1 to (k / n) * 2, and the address area of the last nth bank is ((k / n) * (n-1) + 1 to k .. The corresponding areas may vary according to the size of the DPRAM and the bank configuration of the user.

도 2는 종래기술의 디피램(DPRAM)의 특정 뱅크(Bank)에서의 카운터(Counter) 구성을 나타낸다. 특정 뱅크(Bank)로는 뱅크(Bank) #0을 그 실시 예로 하였다.FIG. 2 shows a counter configuration in a specific bank of a prior art DPRAM. As a specific bank, bank # 0 is taken as an example.

뱅크(Bank) #0의 주소(Address) 영역은 0 ~ (k/n)*1이다. 디피램(DPRAM)의 저장소에 ATM 셀(cell)을 저장한다면, ATM 셀(cell)은 53Bytes로 구성되므로 첫 번째 ATM 셀(cell)은 해당 뱅크(Bank)의 주소(Address) 0 ~ 52 영역에 저장되고, 두 번째 셀(cell)은 53~104 영역에 저장된다. 디피램(DPRAM)에 ATM 셀(cell)이 쓰여지고 읽혀지는 경우, 각각의 쓰기 또는 읽기 포인터(Pointer)를 생성시켜 이 두 개의 포인터(Pointer)를 비교하여 디피램(DPRAM)에 저장된 ATM 셀(cell)의 현황을 파악할 수 있게 된다.The address area of bank # 0 is 0 to (k / n) * 1. If the ATM cell is stored in the storage of DPRAM, the ATM cell is composed of 53 bytes, so the first ATM cell is located in the address 0 to 52 of the corresponding bank. The second cell is stored in an area 53 to 104. When an ATM cell is written and read in the DPRAM, each write or read pointer is created and the two pointers are compared and the ATM cells stored in the DPRAM are stored. You can grasp the current situation.

상술한 바와 같은 종래 기술의 경우에서의 포인터 관리는 다음과 같다.The pointer management in the case of the prior art as described above is as follows.

먼저, 첫 번째 ATM 셀(cell)이 뱅크(Bank) #0에 쓰여지면(또는 읽혀지면) 디피램(DPRAM) 외부에 카운터(Counter)를 두어 카운터(Counter)를 한 개 증가시킨다. 또한, 캐리 비트(CARRY Bit)를 두어 카운터(Counter)가 순환하여 동작하는 과정을 제어한다.First, when the first ATM cell is written to (or read from) Bank # 0, a counter is incremented by one counter outside the DPRAM. In addition, the carry bit (CARRY Bit) is placed to control the counter (cyclic counter) operation.

이러한 구성은 쓰기(Write)와 읽기(Read) 포트(Port)에서 각각 동시에 동일한 방법으로 수행되며 도 2는 그 중 한 개의 포트(Port)만을 나타내고 있다.Such a configuration is performed in the same way at the same time in each of the Write and Read ports, and FIG. 2 shows only one port.

도 3은 종래 기술의 디피램(DPRAM)의 제어 방법을 나타내는 순서도이다.3 is a flowchart illustrating a method of controlling a conventional DRAM (DPRAM).

도 3의 디피램(DPRAM) 제어 방법(Algorithm)은 디피램(DPRAM)의 특정 뱅크(Bank)에서의 동작을 나타낸 것으로서, 기타 다른 뱅크(Bank)에서도 동일한 절차로 동작한다. 그리고 상술한 디피램(DPRAM) 제어 방법은 디피램(DPRAM) 및 디피램(DPRAM)을 제어하기 위한 FPGA 등이 초기화되면 처리과정이 시작된다.A method of controlling a DPRAM of FIG. 3 illustrates an operation in a specific bank of the DPRAM, and operates in the same procedure in other banks. In the above-described method for controlling a DPRAM, a process is started when the DPRAM and the FPGA for controlling the DPRAM are initialized.

도 3에 도시된 바와 같이 디피램(DPRAM)의 제어 과정은 디피램(DPRAM)에 데이터(data)를 기록하기 위한 쓰기 기능(Write Function)에 의한 쓰기 과정과 읽기 기능(Read Function)에 따른 읽기 과정, 그리고 쓰기 포인터(Write Pointer)와 읽기 포인터(Read Pointer)를 비교(Compare)하기 위한 카운터 비교(Counter Compare) 과정으로 구성된다.As shown in FIG. 3, the control process of the DPRAM includes a write process by a write function and a read function by a write function for writing data to the DPRAM. Process, and a counter compare process to compare the write pointer and the read pointer.

먼저, 쓰기 기능(Write Function)에 의한 쓰기 과정에서는 디피램(DPRAM)에 기록(쓰기: Write)할 ATM 셀(cell)이 발생할 때까지 대기하다가 쓰기(Write)할 ATM 셀( cell)이 발생하면(S11) ATM 셀쓰기(cell Write)를 수행한다(S12).First, in the writing process by the write function, wait until an ATM cell to write (write) to DPRAM occurs and then generate an ATM cell to write. (S11) ATM cell write is performed (S12).

이 후 ATM 셀쓰기(cell write)에 의해 디피램(DPRAM)에 ATM 셀(cell)의 바이트들을 기록하면서 기록되는 ATM 셀(cell)의 바이트가 마지막 바이트(Byte) 즉, 53번째 바이트(Byte)인지를 검사하여 마지막 바이트가 아닌 경우에는 ATM 셀쓰기를 계속한다(S13).After that, the byte of the ATM cell to be recorded while writing the bytes of the ATM cell to the DPRAM by ATM cell write is the last byte, that is, the 53rd byte. The acknowledgment is checked, and if it is not the last byte, ATM cell writing is continued (S13).

S13과정의 검사 결과 ATM 셀쓰기에 의해 디피램(DPRAM)에 기록되는 ATM 셀(cell)의 바이트가 53번째 바이트이고, 53번째의 바이트가 기록되어서 한 개의 ATM 셀이 쓰여지면 S11과정으로 이동하여 다음 ATM 셀의 쓰기 과정을 다시 수행하도록 하고, 동시에 쓰기 카운터(Write Counter)를 제어하기 위해 쓰기 카운터 업데이트(Write Counter Update)를 수행하여 쓰기 카운터를 1 증가시킨다. 즉, 한 개의 ATM 셀이 쓰여질 때마다 쓰기 카운터를 1씩 증가시킨다. 여기서 쓰기 카운터( Write Counter)는 해당 FPGA의 로직 리소스(Logic Resource)를 이용하여 (k/n)-1 개의 카운터(Counter)와 1비트(bit)의 캐리(Carry)로 구성되어 한 개의 ATM 셀(cell)이 해당 뱅크(Bank)에 쓰여질 때마다 카운터(Counter)를 1개씩 증가시킨다(S14).As a result of the check in S13, when the ATM cell is written in the DPRAM by the ATM cell write, the 53th byte is written and the 53th byte is written, and one ATM cell is written. The write process of the next ATM cell is performed again, and at the same time, a write counter update is performed to increase the write counter by 1 to control the write counter. That is, each write of one ATM cell increments the write counter by one. Here, the write counter is composed of (k / n) -1 counters and 1 bit carry using one logic cell of the FPGA. Each time a cell is written to the bank, the counter is increased by one (S14).

이후 (k/n)-1개의 카운터(Counter)가 다 소진되었는 지를 판단한다(S15).Thereafter, it is determined whether (k / n) -1 counters are exhausted (S15).

S15과정의 판단 결과 카운터가 다 소진되지 않은 경우에는 하기의 S30과정으로 이동하고, 카운터가 다 소진된 경우에는 캐리를 반전시킨다.As a result of the determination in step S15, if the counter is not exhausted, the process moves to the step S30, and if the counter is exhausted, carry is reversed.

상기 캐리(Carry)는 (k/n)-1개의 카운터(Counter)가 다 소진되었을 때, 카운터(Counter)를 순환하기 위한 비트(Bit)로서 카운터(Counter)가 소진되면 캐리(Carry)는 0에서 1로, 또는 1에서 0으로 반전된다. 따라서 쓰기 카운터(Write Counter)가 증가할 때마다 카운터(Counter)가 (k/n)-1번째인지 검사하여 그렇지 않으면 캐리(Carry)를 반전시키지 않고, 카운터(Counter)가 (k/n)-1 번째이면 쓰기 캐리(Write Carry)를 반전시킨다(S16).The carry is a bit for circulating the counter when (k / n) -1 counters are exhausted. When the counter is exhausted, the carry is 0. Is reversed from 1 to 1 or from 1 to 0. Therefore, each time the write counter is incremented, it checks whether the counter is (k / n) -1st, otherwise it does not reverse the carry and the counter is (k / n)-. If it is the first time, the write carry is inverted (S16).

도 3에서 읽기 기능에 의한 읽기 과정은 쓰기 기능에 의한 쓰기 과정과 동시에 동작하게 되며, 그 기능은 ATM 셀을 읽어 들인 후 읽기 카운터를 업데이트하고, 읽기 카운터가 소진된 경우 캐리를 반전시키도록 동작(S21~S26)하는 것으로서 상술한 쓰기 기능(Write Function)에 의한 쓰기 기능의 동작과 동일하게 동작하므로 그 상세한 설명은 생략한다.In FIG. 3, the read process by the read function is operated simultaneously with the write process by the write function, and the function is to update the read counter after reading the ATM cell and to reverse the carry when the read counter is exhausted. S21 to S26), and the same operation as that of the write function by the write function described above is omitted.

도 3에서 S11 내지 S16과정의 디피램(DPRAM)의 쓰기 기능 및 S21 내지 S26과정의 디피램(DPRAM)의 읽기 기능이 수행된 후에는 카운터 비교부(Counter Compare)에 해당 쓰기 포인터(Write Pointer) 및 쓰기 캐리(Write Carry)와 읽기 포인터(Read Pointer) 및 읽기 캐리(Read Carry)를 전달함으로써 카운터 비교과정을 수행한다. 즉 쓰기 포인터(Write Pointer) 및 쓰기 캐리(Write Carry)와 읽기 포인터(Read Pointer) 및 읽기 캐리(Read Carry)를 계산하여 디피램(DPRAM)에 저장된 ATM 셀(cell)의 현황을 파악한다(S30).In FIG. 3, after the write function of the DPRAM in steps S11 to S16 and the read function of the DPRAM in steps S21 to S26 are performed, a write pointer corresponding to the counter compare unit may be written. The counter comparison process is performed by passing a write carry, a read pointer, and a read carry. That is, the current state of ATM cells stored in the DPRAM is determined by calculating a write pointer and a write carry, a read pointer, and a read carry (S30). ).

S30과정의 카운터 비교(Counter Compare) 과정은 디피램(DPRAM)에 저장된 ATM 셀(cell)에 대하여 데이터 엠프티(Data Empty), 데이터 풀(Data Full), 프로그래머블 풀( Programmable Full) 등의 정보를 제공하여 디피램(DPRAM)을 제어할 수 있도록 한다.The counter compare process of S30 processes information such as data empty, data full, and programmable full of ATM cells stored in DPRAM. To control DPRAM.

여기서 데이터 엠프티(Data Empty)는 디피램(DPRAM)의 해당 뱅크(Bank)에 쓰여진 ATM 셀(cell)이 없는 상태를 나타내며, 데이터 풀(Data Full)은 디피램(DPRAM)의 해당 뱅크(Bank)의 전 영역의 메모리(memory)에 ATM 셀(cell)이 기록되고 아직 읽혀지지 않아 더 이상 ATM 셀(cell)이 쓰여질 메모리(memory)가 없는 상태를 나타내고, 프로그래머블 풀( Programmable Full)은 사용자가 정의한 데이터 풀(Data Full)의 수준을 넘은 상태를 말한다.In this case, the data empty indicates that there is no ATM cell written in the corresponding bank of the DPRAM, and the data pool indicates the corresponding bank of the DPRAM. ATM cell is recorded in the memory of the whole area of) and it is not read yet, so there is no memory for ATM cell to be written anymore. It is the state that exceeds the level of defined data pool.

상술한 바와 같은 종래 기술의 디피램(DPRAM) 제어 방법은 한 개의 ATM 셀(cell)이 쓰여지면 쓰기 카운터 업데이트(Write Counter Update)과정을 수행하는데, 이때 쓰기 카운터(Write Counter)는 FPGA 로직 리소스(Logic Resource)를 이용하여 구성하게 된다. 따라서, ATM 셀(cell)이 쓰여 질 때마다 카운터(Counter)를 증가시키기 위한 기능을 로직 리소스(Logic Resource)를 이용하여 수행하게 되므로, 디피램(DPRAM)의 사이즈(Size)가 커지거나, 한 개의 디피램(DPRAM)으로 많은 뱅크(Bank)로 분할하여 사용하게 되는 경우 관리되어야 하는 카운터(Counter)는 그만큼 증가하게 되므로 로직 리소스(Logic Resource)의 낭비 또한 증가하게 되는 문제점을 가진다.The prior art DPRAM control method as described above performs a write counter update process when one ATM cell is written, wherein the write counter is an FPGA logic resource ( Logic Resource). Therefore, the function of increasing the counter every time an ATM cell is written is performed using a Logic Resource, so that the size of the DPRAM becomes large, or When divided into a number of banks (DPRAMs), the number of counters to be managed increases, so that the waste of logic resources also increases.

그리고 읽기 기능(Read Function)에서도 쓰기 기능(Write Function)에서와 동일하게 해당 로직 리소스(Logic Resource)를 낭비하게 되므로 리소스(Resource)의 낭비는 두 배로 증가하여 FPGA 로직(Logic)이 방대해져 대용량의 FPGA가 필요하게 되고, 결국은 해당 기능을 구현할 시에 용량이 큰 고가의 FPGA가 필요하게 되는 문제점을 가진다.Also, in the read function, the corresponding logical resource is wasted as in the write function, so the waste of the resource is doubled and the FPGA logic is enormous. FPGAs are required, and eventually, expensive FPGAs with large capacities are needed to implement the functions.

상술한 바와 같은 종래 기술의 디피램(DPRAM)의 제어 방법은 디피램(DPRAM)의 사이즈(Size) 및 뱅크(Bank)의 수가 늘어남에 따라 문제는 더욱 커지게 되며, 이에 더하여 쓰기 카운터(Write Counter)(또는 읽기 카운터(Read Counter))를 ATM 셀(cell)이 쓰여질 때마다 (또는 읽혀질 때마다) 별도로 업데이트(Update)해야 하므로 기능 구현이 복잡하게 되는 문제점을 가진다.As described above, the control method of the conventional DPRAM has a larger problem as the size of the DPRAM and the number of banks increase, and in addition, the write counter. (Or a read counter) has to be updated separately each time an ATM cell is written (or read each time), thereby complicating the function implementation.

따라서, 본원 발명은 상술한 종래 기술의 문제점을 해결하기 위한 것으로서, 네트워크 노드(Network Node)에서 디피램(DPRAM)을 이용하여 FIFO를 구현하는 경우 디피램(DPRAM) 제어를 위한 포인터를 최소한의 로직 리소스(Logic Resource)를 가지도록 구현함으로써 FPGA를 통해 HDL로 디피램(DPRAM)을 제어하는 경우 로직 리소스(Logic Resource)를 최소화하여 작은 용량의 FPGA로 FIFO기능을 구현할 수 있도록 하는 디피램 제어 방법을 제공하는 것을 그 목적으로 한다.Accordingly, the present invention is to solve the above-mentioned problems of the prior art, when implementing a FIFO by using a DPRAM in a network node (Network Node), a pointer for controlling the DPRAM (DPRAM) to a minimum logic If you control the DPRAM with HDL through the FPGA by implementing the resource (Logic Resource), a method of controlling the depiram to implement the FIFO function with a small capacity FPGA by minimizing the logic resource. Its purpose is to provide.

상술한 본원 발명의 목적은 디피램(DPRAM)의 카운터 기능을 별도의 카운터로 구현하지 않고 해당 디피램(DPRAM)의 주소(ADDRESS)를 이용하는 것에 의해 달성된다.The object of the present invention described above is achieved by using the address ADDRESS of the corresponding DPRAM without implementing the counter function of the DPRAM as a separate counter.

즉, 상술한 목적을 달성하기 위한 본원 발명은 주소영역을 셀 포인터 카운터 영역과 셀 바이트 카운터 영역으로 분할한 디피램과 캐리를 가지는 디피램에 의한 FIFO에 있어서, 상기 셀 포인터 카운터에 써야할 셀이 발생된 경우 셀을 기록하는 쓰기 과정과; 상기 쓰기 과정에 의해 기록되는 셀의 마지막 바이트가 기록되는지를 판단하는 쓰기 완료 판단 과정과; 상기 쓰기 완료 판단 과정의 판단 결과 하나의 셀에 대한 쓰기가 완료된 경우 상기 쓰기 과정으로 이동하여 다음 셀의 쓰기를 수행하고 주소영역을 점프하는 주소영역점프과정과; 상기 주소영역점프과정 이후 포인터 카운터가 소진되었는지를 판단하는 포인터카운터소진판단과정과; 상기 포인터카운터소진판단과정의 판단결과 카운터가 소진되지 않은 경우 쓰기 포인터 카운터 값을 출력하는 쓰기 포인터 카운터 출력과정과; 상기 포인터카운터소진판단과정의 판단결과 카운터가 소진된 경우 캐리를 반전시킨 후 쓰기 포인터 카운터 값을 출력하는 캐리제어과정을 포함하여 이루어지는 것을 특징으로 한다.That is, the present invention for achieving the above object is a FIFO by a defiram having a depiram and a carry by dividing an address area into a cell pointer counter area and a cell byte counter area. A writing process of writing a cell if it occurs; A write completion determination step of determining whether the last byte of a cell to be written by the writing process is recorded; An address area jumping process of moving to the writing process to perform writing of the next cell and jumping to an address area when writing to one cell is completed as a result of the determination of the write completion determination process; A pointer counter exhaustion determining step of determining whether the pointer counter is exhausted after the address area jump process; A write pointer counter outputting step of outputting a write pointer counter value when the counter is not exhausted as a result of the determination of the pointer counter exhaustion determination process; And a carry control process of inverting the carry and outputting a write pointer counter value when the counter is exhausted as a result of the determination of the pointer counter exhaustion determination process.

상술한 목적을 달성하기 위한 또 다른 본원 발명은 주소영역을 셀 포인터 카운터 영역과 셀 바이트 카운터 영역으로 분할한 디피램과 캐리를 가지는 디피램에 의한 FIFO에 있어서, 상기 셀 포인터 카운터에서 읽어야 할 셀이 발생된 경우 셀을 읽어내는 읽기 과정과; 상기 읽기 과정에 의해 읽혀 지는 셀의 마지막 바이트가 읽 혀지는 지를 판단하는 읽기 완료 판단 과정과; 상기 읽기 완료 판단 과정의 판단 결과 하나의 셀에 대한 읽기가 완료된 경우 다음 셀의 읽기를 수행하고 주소영역을 점프하는 주소영역점프과정과; 상기 주소영역점프과정 이 후 포인터카운터가 소진되었는지를 판단하는 포인터카운터소진판단과정과; 상기 포인터카운터소진판단과정의 판단결과 카운터가 소진되지 않은 경우 읽기 포인터 카운터 값을 출력하는 읽기 포인터 카운터 출력과정과; 상기 포인터카운터소진판단과정의 판단결과 카운터가 소진된 경우 캐리를 반전시킨 후 상기 읽기 포인터 카운터 값을 출력하는 캐리제어과정을 포함하여 이루어지는 것을 특징으로 한다.Another object of the present invention for achieving the above object is a FIFO by a defiram having a depiram and a carry having an address area divided into a cell pointer counter area and a cell byte counter area. A reading process of reading a cell if it occurs; A read completion determination step of determining whether the last byte of the cell to be read by the read step is read; An address area jump process of reading a next cell and jumping an address area when reading of one cell is completed as a result of the determination of the read completion determination process; A pointer counter exhaustion determining process of determining whether the pointer counter is exhausted after the address area jump process; A read pointer counter outputting step of outputting a read pointer counter value when the counter is not exhausted as a result of the determination of the pointer counter exhaustion determination process; And a carry control process of inverting the carry and outputting the read pointer counter value when the counter is exhausted as a result of the determination of the pointer counter exhaustion determination process.

상술한 처리과정에서 상기 디피램의 주소영역은, 쓰기의 경우 적어도 하나 이상의 M개의 비트 폭을 가지는 뱅크를 가지며, 쓰기 포인터 카운터(pointer counter)는 6 번째 비트부터 m 번째 비트로 구성되고, 셀 바이트 카운터(cell byte counter)는 0 번째 비트부터 5 번째 비트로 구성되는 것을 특징으로 한다.In the above process, the address area of the depiram has a bank having at least one or more M bit widths in the case of writing, and a write pointer counter is composed of sixth to mth bits, and a cell byte counter. (cell byte counter) is characterized by consisting of the 0 th bit to the fifth bit.

그리고 상술한 처리과정에서 상기 디피램의 주소영역은 읽기의 경우 적어도 하나 이상의 M개의 비트 폭을 가지는 뱅크를 가지며, 읽기 포인터 카운터(pointer counter)는 6 번째 비트부터 m 번째 비트로 구성되고, 읽기 또는 쓰기를 위한 디피램에서 셀 바이트 카운터(cell byte counter)는 0 번째 비트부터 5 번째 비트로 구성되는 것을 특징으로 한다. In the above process, the address area of the depiram has at least one or more M bit banks in case of reading, and a read pointer counter is composed of sixth to mth bits, and read or write. The cell byte counter in the defiram for is characterized by consisting of the 0 th bit to the fifth bit.

상술한 처리과정에서 상기 주소영역점프과정은, 하나의 셀(cell)이 52 번째 비트까지 다 쓰여지거나 읽혀진 경우 주소영역에서 12비트를 점프하는 것을 특징으로 하는 비트영역점프과정과; 상기 비트영역점프과정 이후 상기 포인터 카운터를 카운터 값으로 설정하는 카운터설정과정을 포함하여 이루어지는 것을 특징으로 한다.In the above-described processing, the address area jumping process includes: a bit area jumping process characterized by jumping 12 bits in the address area when one cell has been written or read up to the 52nd bit; And a counter setting step of setting the pointer counter to a counter value after the bit area jump process.

상기 셀은 53 바이트 ATM 셀인 것을 특징으로 한다.The cell is characterized by being a 53 byte ATM cell.

이하, 첨부도면을 참조하여 본원 발명을 더욱 상세히 설명한다.Hereinafter, the present invention will be described in more detail with reference to the accompanying drawings.

도 4는 본원 발명의 디피램(DPRAM) 제어를 위한 디피램의 특정 뱅크(Bank)에서의 카운터(counter) 구성을 나타내는 도면이다.FIG. 4 is a diagram illustrating a counter configuration in a specific bank of the depiram for controlling the DPRAM of the present invention.

도 4에 도시된 바와 같이 M개의 비트로 이루어지는 폭(width)을 가지고 (k/n)-1 개의 주소(address(entry))를 가지는 디피램(DPRAM)의 뱅크(bank) #0에서 53 바이트(byte)의 ATM 셀(cell)이 적혀지기 위한 ATM 셀 바이트 카운터부(cell byte counter)와 포인터(pointer) 관리를 위한 포인터 카운터부(pointer counter)로 나뉘어 구성된다.As shown in FIG. 4, 53 bytes (from bank # 0 of the DPRAM having a width of M bits and a (k / n) -1 address (entry)) It consists of an ATM cell byte counter for writing an ATM cell of a byte and a pointer counter for managing a pointer.

53 바이트를 쓰기 위해서는 6개의 비트(bit)(2의 6승 = 64)가 필요하므로 디피램(DPRAM)의 0번 비트(bit)부터 5번째 비트(bit)까지가 ATM 셀 바이트 카운터부(cell byte counter)로 구성되고, 나머지 부분인 6번째 비트(bit)부터 m번째 비트(bit)까지가 포인터 카운터부(pointer counter)로 구성된다. 카운터(counter)의 순환 동작을 위해 디피램(DPRAM) 외부에 별도의 캐리(Carry)를 구성한다. 상술한 캐리(carry)는 쓰기 포트(write port)와 읽기 포트(read port)를 위한 각각의 한 개의 비트로 구성되고, 캐리(carry)의 동작은 종래 기술의 동작과 같다.Since 6 bits (6 powers of 2 = 64) are required to write 53 bytes, bits 0 through 5 of the DPRAM are the ATM cell byte counter. byte counter), and the rest of the sixth bit (bit) to m-th bit (bit) is composed of a pointer counter (pointer counter). A separate carry is configured outside the DPRAM for the cyclic operation of the counter. The above-mentioned carry is composed of one bit each for a write port and a read port, and the operation of the carry is the same as that of the prior art.

도 5는 본원 발명의 일 실시 예에 따르는 디피램(DPRAM) 제어 방법의 처리과정을 나타내는 순서도이다.FIG. 5 is a flowchart illustrating a process of a method for controlling a DPRAM according to an embodiment of the present invention.

도 5에 도시된 본원 발명의 일 실시 예에 따르는 디피램(DPRMA) 제어 방법은 도 3의 종래 기술의 디피램(DPRAM) 제어 방법의 설명에서와 같이 디피램(DPRAM)의 특정 뱅크(Bank)에서의 동작을 나타낸 것으로서, 기타 다른 뱅크(Bank)에서도 동일한 절차로 동작한다. 그리고 디피램(DPRAM) 및 디피램(DPRAM)을 제어하기 위한 FPGA 등이 초기화되면 처리과정이 시작되며, 디피램(DPRAM)의 제어 과정은 디피램(DPRAM)에 데이터(data)를 기록하기 위한 쓰기 기능(Write Function)에 의한 쓰기 과정과 읽기 기능(Read Function)에 의한 읽기 과정, 그리고 쓰기 포인터(Write Pointer)와 읽기 포인터(Read Pointer)를 비교(Compare)하기 위한 카운터 비교(Counter Compare) 과정으로 구성된다.According to an embodiment of the present invention, a method for controlling a dephram (DPRMA) according to an exemplary embodiment of the present invention is illustrated in the description of the method for controlling a dephram (DPRAM) of the prior art of FIG. 3. This is the same procedure as the other banks. When the DPRAM and the FPGA for controlling the DPRAM are initialized, the process starts. The process of controlling the DPRAM is for writing data to the DPRAM. Writing process by Write Function, Reading process by Read Function, and Counter Compare process to compare Write Pointer and Read Pointer It consists of.

쓰기 기능에 의한 쓰기 과정과 읽기 기능에 의한 읽기 과정은 동일한 방식으로 동작되므로 쓰기 기능(Write Function)을 대표하여 도 5의 처리과정을 설명한다.Since the write process by the write function and the read process by the read function are operated in the same manner, the process of FIG. 5 will be described on behalf of the write function.

쓰기 기능(Write Function)에서는 디피램(DPRAM)에 기록(쓰기: Write)될 ATM 셀(cell)이 발생할 때까지 대기하다가(S101) 쓰기(Write)할 ATM 셀( cell)이 발생하면(S11), ATM 셀쓰기(cell Write)과정을 수행하여 ATM 셀쓰기를 수행한다(셀쓰기 과정)(S102).The write function waits until an ATM cell to be written (write) to a DPRAM occurs (S101) and if an ATM cell to write occurs (S11). ATM cell write is performed by performing an ATM cell write process (cell writing process) (S102).

이 후 ATM 셀쓰기(cell write)과정에 의해 디피램(DPRAM)에 ATM 셀(cell)을 기록하면서 해당 ATM 셀(cell)이 기록되고 있는 ATM 셀의 바이트가 ATM 셀의 마지막 바이트(Byte) 즉, 53번째 바이트(Byte)인지를 검사하여 마지막 바이트가 아닌 경우에는 ATM 셀쓰기를 계속한다(S103).After that, the ATM cell in which the ATM cell is being written while writing the ATM cell to DPRAM by ATM cell write process is the last byte of the ATM cell, If it is not the last byte, it checks whether or not the 53 th byte is used (S103).

이와 달리 S103과정의 판단 결과 ATM 셀쓰기(cell write)에 의해 디피램(DPRAM)에 기록되는 ATM 셀의 바이트가 ATM 셀(cell)의 마지막 바이트(Byte) 즉, 53번째 바이트(Byte)인 경우에는 53번째의 바이트가 기록되어서 한 개의 ATM 셀(cell)이 다 쓰여지면 S101과정으로 이동하여 다음 ATM 셀의 셀쓰기 과정을 다시 수행하도록 하고, 동시에 주소 점프(address jump)를 수행한다(S104).On the contrary, when the determination result of step S103 indicates that the byte of the ATM cell written to the DPRAM by ATM cell write is the last byte of the ATM cell, that is, the 53 th byte. When the 53 th byte is written and one ATM cell is used up, the process moves to step S101 to perform the cell writing process of the next ATM cell again and simultaneously performs an address jump (S104). .

상술한 주소 점프(address jump)는 도 4에 도시된 첫 번째 셀(cell)이 52 번째 비트까지 다 쓰여지면 두 번째 셀(cell)이 쓰여질 저장소인 64번째 비트로 12개의 주소 영역을 점프(jump)는 것을 말한다. 상술한 64번째 비트는 0000..0001 000000로 표시된다. 여기서, 쓰기 포인터 카운터(pointer counter)는 6 번째 비트부터 m 번째 비트로 구성된 0000..0001이고, 셀 바이트 카운터(cell byte counter)는 0 번째 비트부터 5 번째 비트로 구성된 000000이다. 따라서 이 주소(address)의 포인터 카운터(pointer counter)를 카운터(counter)로 사용하게 된다. 즉 이 과정에서 쓰기 포인터 카운터가 생성된다.The above-mentioned address jump jumps 12 address regions to the 64th bit where the second cell is written when the first cell shown in FIG. 4 is used up to the 52nd bit. Says that. The above 64 th bit is represented by 0000..0001 000000. Here, the write pointer counter is 0000..0001 consisting of the 6th bit to the mth bit, and the cell byte counter is 000000 consisting of the 0th bit to the 5th bit. Therefore, a pointer counter of this address is used as a counter. In other words, a write pointer counter is created in this process.

위와 같은 동작이 반복되어 (k/n)-1개의 포인터 카운터(pointer counter)가 다 소진되었는지를 판단한다(S105).The above operation is repeated to determine whether the (k / n) -1 pointer counter is exhausted (S105).

상술한 S105 과정의 판단 결과 쓰기 포인터 카운터가 소진되지 않은 경우에는 카운터 비교과정을 위해 S104과정에서 생성된 쓰기 포인터를 출력한다. 이와 달리 S105과정의 판단 결과 포인터 카운터(pointer counter)가 다 소진된 경우에는 포인터 카운터(pointer counter)의 순환을 위해 캐리(carry)를 반전시킨다. 상기 캐리(Carry)는 (k/n)-1개의 카운터(Counter)가 다 소진되었을 때, 카운터(Counter) 를 순환하기 위한 비트(Bit)로서 카운터(Counter)가 소진되면 캐리(Carry)는 0에서 1로, 또는 1에서 0으로 반전된다. 따라서 쓰기 포인터 카운터(Write Pointer Counter)가 증가할 때마다 카운터(Counter)가 (k/n)-1번째인지 검사하여 그렇지 않으면 캐리(Carry)를 반전시키지 않고, 카운터(Counter)가 (k/n)-1 번째이면 쓰기 캐리(Write Carry)를 반전시킨다(S106).If the write pointer counter is not exhausted as a result of the above-described determination in step S105, the write pointer generated in step S104 is output for the counter comparison process. In contrast, when the pointer counter is exhausted as a result of the determination in step S105, the carry is inverted for the circulation of the pointer counter. The carry is a bit for circulating the counter when (k / n) -1 counters are exhausted. When the counter is exhausted, the carry is 0. Is reversed from 1 to 1 or from 1 to 0. Therefore, each time the Write Pointer Counter is incremented, it checks whether the counter is (k / n) -1st, otherwise the counter does not invert Carry, and the counter is (k / n). In step S106, the write carry is inverted (S106).

디피램(DPRAM)에 대한 쓰기 기능(write function)에 의한 쓰기 과정은 위와 같은 처리 과정으로 동작하여 주소 점프(address jump) 과정에서 생성된 쓰기 포인터 카운터(counter)를 카운터 비교(counter compare) 과정의 수행을 위해 출력하고, 또한 캐리 비트(carry bit)의 반전 유무를 파악하여 카운터 업데이트를 수행하게 된다.The write process using the write function for the DPRAM operates as the above process, and the write pointer counter generated during the address jump process is compared with the counter compare process. It outputs for execution and checks whether the carry bit is inverted and performs counter update.

도 5에서 읽기 기능에 의한 읽기 과정은 도 3에서와 같이 쓰기 기능에 의한 쓰기 과정과 동시에 동작하게 되며, 그 처리 과정은 ATM 셀을 읽어 들인 후 디피램(DPRAM)의 주소 영역에 할당된 읽기 카운터 포인터를 업데이트하고, 읽기 카운터가 소진된 경우 읽기 캐리를 반전시키도록 동작(S111~S116)하는 것으로서 상술한 쓰기 기능(Write Function)에 의한 쓰기 과정과 동일하게 동작하므로 그 상세한 설명은 생략한다.In FIG. 5, the read process by the read function is operated simultaneously with the write process by the write function as in FIG. 3, and the process is performed by reading an ATM cell and then reading a counter allocated to an address area of a DPRAM. Since the pointer is updated and the read counter is exhausted, the operation of inverting the read carry (S111 ˜ S116) is performed in the same manner as the write process by the write function described above, and thus the detailed description thereof will be omitted.

도 5에서 S101 내지 S106과정의 디피램(DPRAM)의 쓰기 기능 및 S111 내지 S116 과정의 디피램(DPRAM)의 읽기 기능이 수행된 후에는 카운터 비교(Counter Compare) 과정으로 해당 쓰기 포인터 카운터(Write Pointer Counter) 및 읽기 포인터 카운터(Read Pointer Counter)를 전달하고, S120 과정의 카운터 비교(Counter Compare) 과정에서는 쓰기 포인터 카운터(Write Pointer Counter) 및 읽기 포인터 카운터(Read Pointer Counter)를 계산하여 디피램(DPRAM)에 저장된 ATM 셀(cell)의 현황을 파악한다(S120).In FIG. 5, after the write function of the DPRAM in steps S101 to S106 and the read function of the DPRAM in steps S111 to S116 are performed, the corresponding write pointer counter is written as a counter compare process. Counter and Read Pointer Counter, and in the Counter Compare process of S120, the Write Pointer Counter and Read Pointer Counter are calculated to calculate the DPRAM. Determine the current state of the ATM cell stored in step (S120).

S120과정의 카운터 비교(Counter Compare) 과정은 디피램(DPRAM)에 저장된 ATM 셀(cell)에 대하여 데이터 엠프티(Data Empty), 데이터 풀(Data Full), 프로그래머블 풀( Programmable Full) 등의 정보를 제공하여 DPRAM을 제어할 수 있도록 함은 종래기술에서와 동일하다.The counter compare process of S120 processes information such as data empty, data full, and programmable full of ATM cells stored in DPRAM. To provide control of the DPRAM is the same as in the prior art.

도 6은 본원 발명의 디피램 제어 방법이 적용되는 일 실시 예로서 ALPA-B의 블록 다이어 그램이다. 즉, 상술한 본원 발명은 도 6에 도시된 바와 같이 CDMA2000 1x 및 EV-DO 시스템에서 아비스 인터페이스(Abis interface) 기능을 하는 보드에 적용될 수 있다.Figure 6 is a block diagram of ALPA-B as an embodiment to which the diffiram control method of the present invention is applied. That is, the present invention described above may be applied to a board having an Abis interface function in the CDMA2000 1x and EV-DO systems as shown in FIG. 6.

도 6의 ALPA-B의 구성 중 A부분이 본원 발명의 디피램 제어 방법이 적용된 디피램(DPRAM)을 이용하여 FIFO를 구현한 예로서 FPGA(LINK_UP)는 디피램(DPRAM)을 제어한다. 또한, 본원 발명의 동작의 설명에서 설명된 디피램 제어 방법은 FPGA(LINK_UP)에 포함되어 동작하도록 구성될 수도 있다.As an example in which part A of the configuration of ALPA-B of FIG. 6 implements FIFO by using a DPRAM to which the DEPRAM control method of the present invention is applied, the FPGA (LINK_UP) controls the DPRAM. In addition, the depiram control method described in the description of the operation of the present invention may be configured to be included in the FPGA LINK_UP to operate.

상술한 본원 발명은 ALPA-B 보드뿐만 아니라, ALPA-I, LICA-I, ALPA-A에도 동일하게 적용될 수 있다.The present invention described above can be equally applied to ALPA-I, LICA-I, ALPA-A as well as ALPA-B board.

상술한 본원 발명은 쓰기 포트(Write Port)와 읽기 포트(Read Port)의 카운터(Counter)를 구성함에 있어서 최소한의 로직 리소스(Logic Resource)로 구성되어 짐에 따라 보다 적은 용량의 FPGA로 구현할 수 있어 동일 기능을 가지는 FPGA를 구현함에 있어 단가를 낮출 수 있도록 하는 효과를 제공한다.As described above, the present invention can be implemented in a FPGA having a smaller capacity as it is composed of a minimum of logical resources in configuring a counter of a write port and a read port. It has the effect of lowering the unit cost in implementing the same function FPGA.

또한, 상술한 본원 발명은 별도의 카운터(Counter)를 구성하지 않고 디피램(DPRAM) 주소(address) 영역을 활용하여 포인터(Pointer) 기능을 구현함으로써 디피램(DPRAM) 사이즈(size) 및 뱅크(bank)의 수가 증가하는 것에 관계없이 디피램 제어를 위한 FPGA를 구성할 수 있어 로직 리소스(Logic Resource)를 최소화하여 사용할 수 있으므로 동일 기능을 가지는 FPGA를 구현할 때 최소의 단가로 구현할 수 있는 효과를 제공한다.In addition, the present invention described above implements a pointer function by utilizing a DPRAM address area without configuring a separate counter, thereby implementing a DPRAM size and a bank ( FPGA can be configured for the depiram control regardless of the number of banks, so the logic resource can be minimized to provide the minimum cost when implementing the FPGA with the same function. do.

Claims (5)

주소영역을 셀 포인터 카운터 영역과 셀 바이트 카운터 영역으로 분할한 디피램과 캐리를 가지는 디피램에 의한 FIFO에 있어서,In a FIFO by a defiram having a depiram and a carry divided into an address area and a cell byte counter area, 상기 셀 포인터 카운터에 써야할 셀이 발생된 경우 셀을 기록하는 쓰기 과정과;Writing a cell when a cell to be written to the cell pointer counter is generated; 상기 쓰기 과정에 의해 기록되는 셀의 마지막 바이트가 기록되는지를 판단하는 쓰기 완료 판단 과정과;A write completion determination step of determining whether the last byte of a cell to be written by the writing process is recorded; 상기 쓰기 완료 판단 과정의 판단 결과 하나의 셀에 대한 쓰기가 완료된 경우 상기 쓰기 과정으로 이동하여 다음 셀의 쓰기를 수행하고 주소영역을 점프하는 주소영역점프과정과;An address area jumping process of moving to the writing process to perform writing of the next cell and jumping to an address area when writing to one cell is completed as a result of the determination of the write completion determination process; 상기 주소영역점프과정 이후 포인터 카운터가 소진되었는지를 판단하는 포인터카운터소진판단과정과;A pointer counter exhaustion determining step of determining whether the pointer counter is exhausted after the address area jump process; 상기 포인터카운터소진판단과정의 판단결과 카운터가 소진되지 않은 경우 쓰기 포인터 카운터 값을 출력하는 쓰기 포인터 카운터 출력과정과;A write pointer counter outputting step of outputting a write pointer counter value when the counter is not exhausted as a result of the determination of the pointer counter exhaustion determination process; 상기 포인터카운터소진판단과정의 판단결과 카운터가 소진된 경우 캐리를 반전시킨 후 쓰기 포인터 카운터 값을 출력하는 캐리제어과정을 포함하여 이루어지는 것을 특징으로 하는 디피램 제어 방법.And a carry control process of inverting the carry and outputting a write pointer counter value when the counter is exhausted as a result of the determination of the pointer counter exhaustion determination process. 주소영역을 셀 포인터 카운터 영역과 셀 바이트 카운터 영역으로 분할한 디 피램과 캐리를 가지는 디피램에 의한 FIFO에 있어서,In a FIFO by a defiram having a decode and a carry in which an address area is divided into a cell pointer counter area and a cell byte counter area, 상기 셀 포인터 카운터에서 읽어야 할 셀이 발생된 경우 셀을 읽어내는 읽기 과정과;Reading a cell when a cell to be read is generated by the cell pointer counter; 상기 읽기 과정에 의해 읽혀 지는 셀의 마지막 바이트가 읽혀지는 지를 판단하는 읽기 완료 판단 과정과;A read completion determination step of determining whether the last byte of the cell read by the read step is read; 상기 읽기 완료 판단 과정의 판단 결과 하나의 셀에 대한 읽기가 완료된 경우 다음 셀의 읽기를 수행하고 주소영역을 점프하는 주소영역점프과정과;An address area jump process of reading a next cell and jumping an address area when reading of one cell is completed as a result of the determination of the read completion determination process; 상기 주소영역점프과정 이후, 포인터 카운터가 소진되었는지를 판단하는 포인터카운터소진판단과정과;A pointer counter exhaustion determining step of determining whether the pointer counter is exhausted after the address area jump process; 상기 포인터 카운터소진판단과정의 판단결과 카운터가 소진되지 않은 경우 읽기 포인터 카운터 값을 출력하는 읽기 포인터 카운터 출력과정과;A read pointer counter outputting step of outputting a read pointer counter value when the counter is not exhausted as a result of the determination of the pointer counter exhaustion determination process; 상기 포인터카운터소진판단과정의 판단결과 카운터가 소진된 경우 캐리를 반전시킨 후 상기 읽기 포인터 카운터 값을 출력하는 캐리제어과정을 포함하여 이루어지는 것을 특징으로 하는 디피램 제어 방법.And a carry control process of inverting the carry and outputting the read pointer counter value when the counter is exhausted as a result of the determination of the pointer counter exhaustion determination process. 제 1항 또는 제 2항 중 어느 한 항에 있어서, 상기 디피램의 주소영역은,The address area of claim 1 or 2, wherein 적어도 하나 이상의 M개의 비트 폭을 가지는 뱅크를 가지며, 쓰기와 읽기 포인터 카운터(pointer counter)는 6 번째 비트부터 m 번째 비트로 구성되고, 쓰기와 읽기의 셀 바이트 카운터(cell byte counter)는 0 번째 비트부터 5 번째 비트로 구성되는 것을 특징으로 하는 디피램 제어 방법.Has a bank of at least one or more M bit widths, the write and read pointer counters consist of the sixth to mth bits, and the write and read cell byte counters from the zeroth bit. Depiram control method characterized in that consisting of the fifth bit. 제 1항 또는 제 2항 중 어느 한 항에 있어서, 상기 주소영역점프과정은,The method of claim 1 or 2, wherein the address region jumping process is performed by: 하나의 셀(cell)이 다 쓰여지거나 읽혀진 경우 주소영역에서 12비트를 점프하는 것을 특징으로 하는 비트영역점프과정과;A bit area jumping process characterized by jumping 12 bits in an address area when one cell is used up or read; 상기 비트영역점프과정 이후 상기 포인터 카운터를 카운터 값으로 설정하는 카운터설정과정을 포함하여 이루어지는 것을 특징으로 하는 디피램 제어 방법.And a counter setting step of setting the pointer counter to a counter value after the bit area jump process. 제 1항 또는 제 2항 중 어느 한 항에 있어서, 상기 셀은 ATM 셀인 것을 특징으로 하는 디피램 제어 방법.The method of claim 1 or 2, wherein the cell is an ATM cell.
KR1020050082598A 2005-09-06 2005-09-06 Dual port RAM control method KR100732084B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050082598A KR100732084B1 (en) 2005-09-06 2005-09-06 Dual port RAM control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050082598A KR100732084B1 (en) 2005-09-06 2005-09-06 Dual port RAM control method

Publications (2)

Publication Number Publication Date
KR20070027215A true KR20070027215A (en) 2007-03-09
KR100732084B1 KR100732084B1 (en) 2007-06-27

Family

ID=38100525

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050082598A KR100732084B1 (en) 2005-09-06 2005-09-06 Dual port RAM control method

Country Status (1)

Country Link
KR (1) KR100732084B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110120922A (en) * 2019-05-14 2019-08-13 中国核动力研究设计院 A kind of data interaction Network Management System and method based on FPGA

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000024812A (en) * 1998-10-02 2000-05-06 전주범 Method for detecting memory status of first-in first-out circuit

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110120922A (en) * 2019-05-14 2019-08-13 中国核动力研究设计院 A kind of data interaction Network Management System and method based on FPGA
CN110120922B (en) * 2019-05-14 2022-09-20 中核控制系统工程有限公司 FPGA-based data interaction network management system and method

Also Published As

Publication number Publication date
KR100732084B1 (en) 2007-06-27

Similar Documents

Publication Publication Date Title
KR102380776B1 (en) Accelerator controller and loading method thereof
KR102496680B1 (en) Dram-based reconfigurable logic
KR102446825B1 (en) Circuits and methods for controlling operation of a hybrid memory system
KR100908542B1 (en) Nonvolatile Memory Device and Its Program Method
US7904674B2 (en) Method for controlling semiconductor memory device
CN106502922B (en) Data reading and writing method of FIFO data buffer and data buffer
US9582224B2 (en) Memory control circuit unit, memory storage apparatus and data accessing method
KR102467847B1 (en) Method of operating memory device, memory device using the same and memory system including the device
CN101630289A (en) Memory controller, memory system, and control method for memory system
KR20210035909A (en) Access control for processor registers based on execution domain
US8339865B2 (en) Non binary flash array architecture and method of operation
JP7132043B2 (en) reconfigurable processor
KR20090087689A (en) Multi channel flash memory system and access method thereof
US20240169192A1 (en) Neural network accelerator run-time reconfigurability
JP2011013829A (en) Configuration device, configuration method, and configuration program
KR100732084B1 (en) Dual port RAM control method
JP2023533795A (en) Erasing register data
US9478272B1 (en) Configurable storage blocks with embedded first-in first-out and last-in first-out circuitry
JP2007066118A (en) Memory controller, flash memory system and control method of flash memory
JP2007188552A (en) Semiconductor memory device
CN102236615B (en) Systems and methods to control multiple peripherals with a single-peripheral application code
US20210013885A1 (en) Logic fabric based on microsector infrastructure
US7683665B1 (en) Multiple parallel programmable finite state machines using a shared transition table
US10997087B2 (en) Direct memory access
US10412046B2 (en) Method of, and a device for updating a multiple-processing entity packet management system, and associated computer program product

Legal Events

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

Payment date: 20120516

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130516

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee