KR100449033B1 - the apparatus and the method for symmetrical data relay using inbuilted memory in PLD - Google Patents

the apparatus and the method for symmetrical data relay using inbuilted memory in PLD Download PDF

Info

Publication number
KR100449033B1
KR100449033B1 KR10-2002-0000824A KR20020000824A KR100449033B1 KR 100449033 B1 KR100449033 B1 KR 100449033B1 KR 20020000824 A KR20020000824 A KR 20020000824A KR 100449033 B1 KR100449033 B1 KR 100449033B1
Authority
KR
South Korea
Prior art keywords
data
relay
memory
write
pld
Prior art date
Application number
KR10-2002-0000824A
Other languages
Korean (ko)
Other versions
KR20030061033A (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 KR10-2002-0000824A priority Critical patent/KR100449033B1/en
Publication of KR20030061033A publication Critical patent/KR20030061033A/en
Application granted granted Critical
Publication of KR100449033B1 publication Critical patent/KR100449033B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/04Arrangements for selecting an address in a digital store using a sequential addressing device, e.g. shift register, counter
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13109Pld programmable logic device software for plc

Abstract

본 발명에 따른 내장 메모리를 이용한 PLD내의 대칭형 데이터 릴레이 장치는, PLD내에 내장된 DPRAM과, 그 DPRAM에 연결되어 외부의 PLD 기능블럭과 데이터를 릴레이하기 위한 리드 릴레이 FIFO 및 라이트 릴레이 FIFO를 이용하여 유저로부터 제공된 데이터가 특정기능모듈과의 데이터 리드 및 라이트 릴레이식 인터페이스가 가능하도록 함으로써, 종래에 로직셀을 통해 데이터 릴레이를 수행할 때보다 장치의 신뢰성 및 성능이 보장될 뿐 아니라, 불필요한 회로요소를 절감할 수 있으므로 PLD최적화 설계환경을 이루는데 효과적이다.A symmetrical data relay device in a PLD using an internal memory according to the present invention uses a DPRAM embedded in a PLD, a read relay FIFO and a write relay FIFO connected to the DPRAM to relay external PLD function blocks and data. By enabling data read and write relay interface with specific function modules, data reliability from the device is not only guaranteed reliability and performance, but also unnecessary circuit elements compared to conventional data relaying through logic cells. It is effective to achieve PLD optimization design environment.

Description

내장 메모리를 이용한 피엘디내의 대칭형 데이터 릴레이 장치 및 그 릴레이 방법{the apparatus and the method for symmetrical data relay using inbuilted memory in PLD}The apparatus and the method for symmetrical data relay using inbuilt memory in PLD}

본 발명은 내장 메모리를 이용한 PLD(Programmable logc device)내의 대칭형 데이터 릴레이 장치 및 그 릴레이 방법에 관한 것으로, 상세하게는 PLD내 내장된 메모리 뱅크를 이용하여 유저로부터 제공된 데이터가 특정 기능 모듈과의 데이터 리드 및 라이트 릴레이식 인터페이스가 가능하도록 하는 내장 메모리를 이용한 PLD내의 대칭형 데이터 릴레이 장치 및 그 릴레이 방법에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a symmetrical data relay device in a programmable logc device (PLD) using a built-in memory and a relay method thereof. Specifically, data provided from a user is read from a user using a memory bank built in the PLD. And a symmetrical data relay device in a PLD using an internal memory for enabling a write relay interface and a relay method thereof.

회로집적기술을 통해 최근 여러 분야의 칩셋들은 기능 계통화되고 집적화되면서 유니트내의 하드웨어 구조 또한 단순집적화 되어가고 있다. 이와 더불어 유니트의 단가를 줄이고, 상용화되지 않은 특정기능들을 구현할 뿐 만 아니라, CPU버스 인터페이스와 같은 범용적 기능구현을 위해서도 상용 PLD가 자주 사용되고 있다.With integrated circuit technology, chipsets in various fields have been systematically integrated and integrated, and the hardware structure in the unit has also been simplified. In addition, to reduce the unit cost, implement specific functions not commercialized, commercial PLDs are frequently used to implement general functions such as the CPU bus interface.

일반적으로 PLD내에는 외부의 MCU 유니트로부터 전달되는 유저 제어신호에 따라 유저로부터 또는 PLD의 특정 기능모듈과 연결되어 데이터를 입출력하기 위한 메모리 및 인터페이스 요소들이 구비된다.In general, the PLD includes memory and interface elements for inputting and outputting data from a user or connected to a specific function module of the PLD according to a user control signal transmitted from an external MCU unit.

도 1은 종래에 PLD내에서 데이터 릴레이를 수행하기 위한 장치의 구성 블록도이다. 도 1를 참조하여 종래에 PLD내에서 데이터 릴레이를 수행하는 장치를 살펴 보면, 크게 로직으로 메모리셀을 형성하여 데이터를 저장하는 로직 메모리(1)와, 이 로직 메모리(1)에 저장되어 있는 데이터를 특정주소의 영역에 전달하기 위한 어드레스 지정하기 위한 디코더/MUX(2)와, 디코더/MUX(2)에 의해 로직 메모리(1)에 저장되어 있던 데이터를 PLD 외부의 특정 기능모듈에 래치하여 전달하기 위한 외부 데이터 래치 및 삽입부(3)와, PLD 외부의 특정 기능모듈로부터 데이터를 추출하여 로직 메모리(1)에 라이트하기 위한 외부 데이터 래치 및 추출부(4)를 포함하여 구성되어 있다.1 is a block diagram of a conventional device for performing data relay in a PLD. Referring to FIG. 1, a conventional apparatus for performing data relay in a PLD includes a logic memory 1 for largely forming memory cells and storing data, and data stored in the logic memory 1. The decoder / MUX (2) for addressing to transfer the data to a specific address area, and the data stored in the logic memory 1 by the decoder / MUX (2) by latching the data to a specific function module outside the PLD. And an external data latch and insertion section 3 for extracting data from a specific function module external to the PLD and writing it to the logic memory 1.

로직 메모리(1)는, 일측으로는 외부의 사용자 인터페이스 버스와 연결되어 외부로부터 전달되는 유저 제어신호를 수신하고, 그 제어 신호에 따라 특정영역으로부터 데이터를 읽어와서 외부의 유저측으로 전달하거나, 유저측으로부터 전달되는 데이터를 수신하는 기능을 한다. 한편, PLD 내부측으로는 외부로부터 전달된 유저 제어신호에 따라 특정영역의 데이터를 저장하거나, 저장되어 있는 데이터를 특정영역으로 전달하는 기능을 수행한다.The logic memory 1 is connected to an external user interface bus on one side and receives a user control signal transmitted from the outside, and reads data from a specific area and transmits the data to an external user side according to the control signal, or the user side. It serves to receive data from. On the other hand, the inside of the PLD performs a function of storing data of a specific region or transferring stored data to a specific region according to a user control signal transmitted from the outside.

따라서, 로직 메모리(1)의 메모리 영역은 PLD 내부측을 기준으로 할 경우, 외부 데이터 래치 및 추출부(4)를 통해 데이터가 라이트되는 라이트 영역과, 외부데이터 래치 및 삽입부(3)를 통해 데이터를 외부로 전달하기 위해서 데이터가 리드되는 리드영역으로 구성될 수 있다.Therefore, when the memory area of the logic memory 1 is based on the inside of the PLD, the memory area of the logic memory 1 is written through the external data latch and extractor 4 and the write area and the external data latch and inserter 3. In order to transfer data to the outside, it may be configured as a lead region to which data is read.

디코더/MUX(2)는, 로직 메모리(1)에 저장되어 있는 데이터를 외부 데이터 래치 및 삽입부(3)로 저장할 때 각각의 저장될 어드레스를 디코딩하기 위한 디코더와 MUX이다. 각각의 로직 메모리(1)에 구비되어 있는 메모리 셀의 개수에 상응하여 디코더 및 MUX가 필요하게 된다.The decoder / MUX 2 is a decoder and a MUX for decoding respective addresses to be stored when storing the data stored in the logic memory 1 to the external data latch and inserting section 3. The decoder and the MUX are required corresponding to the number of memory cells included in each logic memory 1.

외부 데이터 래치 및 삽입부(3)는 디코더/MUX(2)를 통하여 로직 메모리에 저장된 데이터를 래치받아 그 데이터를 필요로 하는 PLD의 기능 블록에 전달하는 기능을 수행한다.The external data latch and inserter 3 receives the data stored in the logic memory through the decoder / MUX 2 and delivers the data to the functional block of the PLD that needs the data.

외부 데이터 래치 및 추출부(4)는, PLD의 기능수행을 위해 로직 메모리(1)를 통해 유저 인터페이스 버스로 전송되는 데이터 또는 로직 메모리(1)에 저장이 될 데이터가 외부로부터 래치되고 추출되기 위한 인터페이스 기능을 수행한다.The external data latch and extractor 4 is used for latching and extracting data transmitted to the user interface bus through the logic memory 1 or data to be stored in the logic memory 1 from the outside for performing the function of the PLD. Perform the interface function.

이와 같이 종래에는 PLD내에 제한된 로직셀 및 게이트를 이용하여 메모리셀을 만들고 이들 각각의 셀위치를 지정할 수 있도록 어드레스 디코딩이 되어야 함으로써 비교적 큰용량의 데이터 릴레이 기능이 요구될 때에는 큰용량의 먹스(MUX) 및 많은 양의 플립플롭(F-F)이 충당될 수 밖에 없다.As such, in the related art, memory cells are formed using limited logic cells and gates in a PLD, and address decoding is required to designate each cell position thereof. Thus, when a large data relay function is required, a large MUX is required. And a large amount of flip-flop (FF) is bound to be covered.

따라서, PLD내에 내장된 메모리블럭을 이용하지 않고 로직을 통해 메모리셀을 구성하여 큰 규모의 데이터 릴레이 기능을 구현한다면 PLD내에 허용되는 로직 엘리먼트의 낭비는 물론이고 거대한 먹스들이 필요로 하게 되고, 이로 인한 게이트의 낭비와 무리한 라우팅이 동반되어 결과적으로 성능이 저하되는 악순환을 초래하는 문제점이 있다.Therefore, if a memory cell is configured through logic without using a memory block embedded in the PLD to implement a large-scale data relay function, huge muxes are required as well as a waste of logic elements allowed in the PLD. There is a problem in that a waste of gates and excessive routing are accompanied by a vicious cycle in which performance is degraded.

본 발명은 이러한 종래의 문제점을 해결하기 위하여 안출된 것으로, PLD내 내장된 메모리 뱅크를 이용하여 유저로부터 제공된 데이터가 특정기능모듈과의 데이터 리드 및 라이트 릴레이식 인터페이스가 가능하도록 하는 내장 메모리를 이용한 PLD내의 대칭형 데이터 릴레이 장치 및 그 방법을 제공하는데 그 목적이 있다.SUMMARY OF THE INVENTION The present invention has been made to solve such a conventional problem, and uses a built-in memory bank to enable data read from a user to read data and a write relay interface with a specific function module. It is an object of the present invention to provide a symmetric data relay device and a method thereof.

도 1은 종래에 PLD내에 구현되는 데이터 릴레이 장치의 구성 블록도.1 is a configuration block diagram of a data relay device conventionally implemented in a PLD.

도 2는 본 발명에 따른 내장 메모리를 이용한 PLD내의 대칭형 데이터 릴레이 장치의 구성 블록도.2 is a block diagram of a symmetrical data relay device in a PLD using an internal memory according to the present invention;

도 3은 도 2에 도시된 DPRAM과 릴레이 FIFO간의 데이터 저장 형태를 보여주는 개념도.3 is a conceptual diagram illustrating a data storage form between a DPRAM and a relay FIFO shown in FIG. 2.

도 4는 도 2에 도시된 라이트 릴레이 FIFO 및 래치부의 구성 블록도.4 is a block diagram illustrating a configuration of a write relay FIFO and a latch unit shown in FIG. 2.

도 5는 도 4에 도시된 라이트 릴레이 FIFO 및 래치부의 상세 구성 블록도.5 is a detailed block diagram of the write relay FIFO and latch unit shown in FIG. 4;

도 6은 도 2에 도시된 어드레스 생성 및 제어부의 상세 구성 블록도.FIG. 6 is a detailed block diagram of the address generation and control unit shown in FIG. 2; FIG.

도 7은 본 발명에 따른 PLD내의 대칭형 데이터 릴레이 장치의 동작을 타임바로 나타낸 개념도.7 is a conceptual diagram illustrating the operation of a symmetrical data relay device in a PLD according to the present invention.

도 8은 본 발명에 따른 내장 메모리를 이용한 데이터 릴레이 장치의 동작중에서 리드 릴레이 사이클동안의 동작을 설명하기 위한 타이밍도.8 is a timing diagram for explaining an operation during a read relay cycle during operation of a data relay device using an internal memory according to the present invention;

도 9는 본 발명에 따른 내장 메모리를 이용한 데이터 릴레이 장치의 동작중에서 라이트 릴레이 사이클동안의 동작을 설명하기 위한 타이밍도.9 is a timing diagram for explaining an operation during a write relay cycle during operation of a data relay device using an internal memory according to the present invention;

*도면의 주요부분에 대한 부호의 설명** Description of the symbols for the main parts of the drawings *

10 : DPRAM 11 : 리드 영역10: DPRAM 11: lead area

12 : 라이트 영역 20 : 어드레스 생성 및 메모리 제어부12: write area 20: address generation and memory control unit

30 : 리드 릴레이 FIFO 40 : 라이트 릴레이 FIFO30: reed relay FIFO 40: light relay FIFO

50 : 데이터 선택부 60 : 외부 데이터 래치 및 삽입부50: data selection section 60: external data latch and insertion section

70 : 외부 데이터 래치 및 추출부70: external data latch and extract section

이러한 목적을 달성하기 위한 본 발명에 따른 내장 메모리를 이용한 PLD내의 대칭형 데이터 릴레이 장치의 일측면에 의하면, PLD내의 데이터 릴레이 장치에 있어서, 리드영역 및 라이트영역을 할당하여 PLD내에 내장된 내장 메모리와, 라이트 영역과 동일한 메모리 크기를 가지며, 외부로부터 데이터를 래치받아 저장하고, 그 저장된 데이터를 순차적으로 쉬프트시키는 제 1 저장부와, 리드 영역과 동일한 메모리 크기를 가지며, 내장 메모리의 리드영역으로부터 입력되는 데이터를 쉬프트하며 저장하고, 그 저장된 데이터를 래치하는 제 2 저장부와, 제 1 저장부에 외부의 데이터를 래치하게 하거나, 그 래치된 데이터를 쉬프트하게 하기 위하여 제 1 저장부에 입력되는 데이터를 선택하기 위한 데이터 선택부와, a)리드 릴레이 사이클 동안 내장 메모리의 리드 영역에 저장된 데이터를 리드하여 제 2 저장부에 저장하기 위한 어드레스를 생성하고, 제 1 저장부에 외부의 데이터를 래치하기 위한 제어신호를 발생하고, b) 라이트 릴레이 사이클동안 제 1저장부에 저장된 데이터를 내장 메모리의 라이트 영역에 데이터를 순차적으로 라이트하여 저장하기 위한 어드레스를 생성하고, 제 2 저장부에 저장된 데이터를 외부로 래치하기 위한 제어신호를 발생하는 어드레스 생성 및 메모리 제어부를 포함하여 구성된다.According to one aspect of the symmetrical data relay device in the PLD using the built-in memory according to the present invention for achieving this object, in the data relay device in the PLD, an internal memory embedded in the PLD by allocating a lead area and a write area, A first storage unit having the same memory size as the write area, latching and storing data from the outside, and sequentially shifting the stored data, and having the same memory size as the read area, and data input from the lead area of the internal memory. Selects a second storage unit for shifting and storing the data, latching the stored data, and data input to the first storage unit to latch external data to the first storage unit or to shift the latched data. A data selection section for reproducing the internal memory during a read relay cycle. Reads the data stored in the area, generates an address for storing in the second storage, generates a control signal for latching external data in the first storage, and b) stores in the first storage during the write relay cycle. And an address generation and a memory controller for generating an address for sequentially writing and storing data in the write area of the internal memory and generating a control signal for latching data stored in the second storage to the outside. .

한편, 본 발명에 따른 내장 메모리를 이용한 PLD내의 대칭형 데이터 릴레이 방법의 일측면에 의하면, PLD내의 데이터 릴레이 방법에 있어서, PLD내에 내장된 내장 메모리에 할당된 리드 영역과 라이트 영역을 이용하여 리드 사이클 동작 모드 및 라이트 동작 모드를 수행하여 데이터를 릴레이하되, 리드 사이클 동작 모드에서는, 외부의 데이터를 라이트 영역과 동일한 크기의 메모리를 가지는 제 1 저장부에 래치하여 저장하는 단계와, 내장 메모리의 리드 영역에 저장된 데이터를 리드하여 리드 영역과 동일한 메모리 크기를 가지는 제 2 저장부에 쉬프트 동작을 통해 저장하는 단계와, 라이트 사이클 동작 모드에서는, 제 2 저장부에 저장된 데이터를 외부로 래치하는 단계와, 제 1 저장부에 저장된 데이터를 내장 메모리의 라이트 영역에 쉬프트하여 라이트하는 단계를 수행한다.On the other hand, according to one aspect of the symmetrical data relay method in the PLD using the built-in memory according to the present invention, in the data relay method in the PLD, the read cycle operation using the read area and the write area allocated to the built-in memory built in the PLD In the read cycle operation mode, the external data is latched and stored in a first storage unit having a memory having the same size as that of the write area, and in the read area of the internal memory. Reading stored data and storing the shifted data in a second storage unit having a memory size identical to that of the read area through a shift operation; in a write cycle operation mode, latching data stored in the second storage unit to the outside; Write data by shifting the data stored in the storage to the light area of the internal memory Performs steps.

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

본 발명의 설명을 좀더 명확하게 하기 위해 다음 몇 가지 사항에 대하여 정의하기로 한다.To make the description of the present invention more clear, the following several items will be defined.

먼저, ATM셀이나 SDH프레임상에서 특정 타임슬롯 위치에 메인 메모리의 유저 데이터를 삽입하는 것을 데이터를 리드한다고 하고, 프레임으로부터 추출된 데이터를 유저 또는 메인 메모리로 공급하기 위해 데이터를 메인 메모리로 공급하는 것을 라이트한다고 하기로 하자.First of all, inserting user data of main memory into a specific timeslot position on an ATM cell or SDH frame is referred to as reading data, and supplying data to main memory to supply data extracted from a frame to a user or main memory. Let's say it's a light.

또한, 메인메모리를 기준으로 하여 유저 데이터가 데이터 릴레이측으로 혹은 릴레이로부터 공급되는 방향을 각각 리드방향, 라이트방향이라고 하고, 이 두 방향의 버퍼 용량을 동일하게 하여, 생성되는 어드레스 및 속도가 동일하게 동작하는 구조를 대칭(Symmetrical)형이라고 정의하기로 하자.In addition, the direction in which the user data is supplied to or from the data relay on the basis of the main memory is referred to as the read direction and the write direction, respectively, and the buffer capacity in the two directions is the same, and the generated address and the speed are the same. Let's define the structure that is called symmetrical.

아울러, DPRAM의 유저측 인터페이스는 외부 데이터 추출부로부터 발생한 데이터나 삽입부로의 공급을 위한 데이터는 DPRAM의 각 해당영역에 존재해야 하는데, 이러한 데이터들의 입출력은 DPRAM의 유저측 포트를 통해 제공된다. 이에 대한 기능 및 방법은 일반적인 메모리 인터페이스이므로 본문에서는 생략하기로 한다.In addition, in the user interface of the DPRAM, data generated from an external data extractor or data for supply to the inserter must exist in respective regions of the DPRAM, and input / output of such data is provided through a user side port of the DPRAM. Since the functions and methods for this are general memory interfaces, they will be omitted.

이와 같은 정의하에 본 발명에 따른 내장 메모리를 이용한 PLD내의 대칭형 데이터 릴레이 장치를 살펴보자.With this definition, let's look at a symmetric data relay device in a PLD using an internal memory according to the present invention.

도 2는 본 발명에 따른 내장 메모리를 이용한 PLD내의 대칭형 데이터 릴레이 장치의 구성 블록도이다. 도 2를 참조하면, DPRAM(10)과, 어드레스 생성 및 메모리 제어부(20)와, 리드 릴레이 FIFO(30)와, 라이트 릴레이 FIFO(40)와, 데이터 선택부(50)와, 외부 데이터 래치 및 추출부(60)와, 외부 데이터 래치 및 삽입부(70)를 포함하여 구성된다.2 is a block diagram illustrating a configuration of a symmetrical data relay device in a PLD using an internal memory according to the present invention. 2, a DPRAM 10, an address generation and memory control unit 20, a read relay FIFO 30, a write relay FIFO 40, a data selector 50, an external data latch, And an extracting unit 60 and an external data latch and inserting unit 70.

DPRAM(10)은 PLD 안에 내장되어 있는 메모리로, 그 크기는 구성된 메모리 뱅크의 조합으로 조절할 수 있다. 또한, DPRAM(10)의 사용영역 구분상에 있어서 유저 인터페이스측 기준으로 편의를 위하여 각각 리드영역 및 라이트 영역으로 구분할 수 있다. 데이터 릴레이측의 어드레스 생성규칙을 달리한다면 설계자가 원하는 여러 형태로의 메모리 영역 구성이 가능할 수 도 있다.The DPRAM 10 is a memory embedded in the PLD, and its size can be adjusted by a combination of configured memory banks. In addition, in the use area division of the DPRAM 10, the lead area and the write area may be divided for convenience of reference on the user interface side. If the address generation rule on the data relay side is different, the memory area may be configured in various forms desired by the designer.

어드레스 생성 및 메모리 제어부(20)는 리드 릴레이 FIFO(30)와, 라이트 릴레이 FIFO(40) 및 MUX(50)의 제어뿐만 아니라 DPRAM(10)으로부터 외부로의 데이터 리드 혹은 외부로부터 DPRAM(10)으로 데이터가 라이트될 수 있도록 제반 제어신호 및 어드레스를 생성하여 메모리 제어기능을 수행한다.The address generation and memory control unit 20 controls the read relay FIFO 30, the write relay FIFO 40 and the MUX 50, as well as the data read from the DPRAM 10 to the outside or the DPRAM 10 from the outside. A memory control function is performed by generating various control signals and addresses so that data can be written.

이를 위해서, 자동적으로 메모리와의 데이터 리드 및 라이트의 동작을 수행할 수 있도록, 이에 필요한 어드레스, 칩선택(CHIP-SELECT), 리드/라이트, 데이터 인에블, 구동클럭, 단위 버스 사이클, 사이클 진행신호 등의 제어신호들을 생성한다.For this purpose, the address, chip select, read / write, data enable, drive clock, unit bus cycle, and cycle progress are required to automatically perform data read and write operations with the memory. Generate control signals such as signals.

리드 릴레이 FIFO(30)은 DPRAM(10)의 리드 영역(11)에 있는 데이터를 읽어서 외부 데이터 래치 및 삽입부(70)로 인터페이스하는 기능을 수행한다. 즉, 어드레스 생성 및 메모리 제어부(20)의 제어신호에 의해 DPRAM(10)의 리드 영역(11)으로부터 데이터를 리드하여 리드 사이클 진행시에 직렬 쉬프트로 동작하여 쉬프트하며, 약속된 데이터양이 DPRAM(10)내 리드영역(11)과 동일한 크기로 모두 채워지면, 라이트 사이클 진행중에 구동클럭에 의해 데이터 래치 및 삽입부(70)의 해당 래치로 데이터를 공급한다.The read relay FIFO 30 reads data in the read area 11 of the DPRAM 10 to interface with the external data latch and insertion unit 70. That is, data is read from the read area 11 of the DPRAM 10 by the address generation and the control signal of the memory control unit 20, and shifts by a serial shift during a read cycle. 10, when the lead region 11 is filled with the same size, the data is supplied to the corresponding latch of the data latch and the inserting portion 70 by the drive clock during the write cycle.

라이트 릴레이 FIFO(40)는 DPRAM(10)의 라이트 영역(12)에 외부 데이터 래치 및 추출부(60)에 저장된 데이터를 라이트하는데 인터페이스하는 기능을 수행한다.The write relay FIFO 40 performs a function of interfacing to write data stored in the external data latch and extracting unit 60 in the write area 12 of the DPRAM 10.

데이터 선택부(50)는 2:1 먹스로 이루어져, 데이터 릴레이의 라이트 방향 인터페이스측으로 라이트 릴레이 FIFO(40)의 쉬프트 출력과 외부 데이터 래치 및 추출부(60)를 통해 외부로부터 추출된 데이터가 들어있는 래치출력을 선택한다.The data selector 50 is composed of a 2: 1 mux, and includes a shift output of the light relay FIFO 40 and data extracted from the outside through the external data latch and extractor 60 to the light direction interface side of the data relay. Select latch output.

외부 데이터 래치 및 추출부(60)는, 그 내부를 구성하고 있는 래치들의 수가 라이트 릴레이 FIFO(40)의 기본셀 개수와 반드시 동일하다는 조건이 만족되어야만 한다. 그 이유는 데이터 진행방향에 있어서 각 FIFO의 기본셀들은 메모리내 해당 번지를 갖는 라이트 릴레이 FIFO(40)에 데이터를 전달하기 위해서는 라이트 릴레이 FIFO(40)의 기본셀들과 서로 대응되어야 하기 때문이다.The external data latch and extractor 60 must satisfy the condition that the number of latches constituting the internal data is the same as the number of basic cells of the write relay FIFO 40. This is because the base cells of each FIFO in the data progress direction must correspond to the base cells of the write relay FIFO 40 in order to transfer data to the write relay FIFO 40 having the corresponding address in the memory.

외부 데이터 래치 및 삽입부(70)는 그 내부에 구비하고 있는 래치들이 리드 릴레이 FIFO(30)의 크기와 반드시 동일하다는 조건이 만족되어야만 한다. 그 이유는 데이터 진행방향에 있어서 리드 릴레이 FIFO(30)내에 채워진 데이터를 전달받기 위해서는 리드 릴레이 FIFO(30)의 기본셀들과 서로 대응되어야 하기 때문이다.The external data latch and insertion unit 70 must satisfy the condition that the latches provided therein are identical to the size of the read relay FIFO 30. The reason is that in order to receive the data filled in the read relay FIFO 30 in the data progress direction, the base cells of the read relay FIFO 30 must correspond to each other.

이와 같이 구성된 본 발명에 따른 내장 메모리를 이용한 PLD내의 대칭형 데이터 릴레이 장치에서 수행되는 데이터 릴레이 동작을 살펴보면, 리드 사이클이 시작되는 경우, 리드 릴레이 FIFO(30)의 쉬프트 동작에 따른 데이터 리드 동작과, 라이트 릴레이 FIFO(40)의 외부데이터 로드 동작이 수행된다. 메모리내 리드영역의 데이터가 리드 릴레이 FIFO(30)로 모두 읽혀지면 리드 릴레이 사이클이 종료되고, 이때 리드 릴레이 FIFO(30)의 쉬프트 동작과 라이트 릴레이 FIFO(40)의 외부데이터 로드 동작도 종료된다. 이어서, 어드레스 증가와 함께 라이트 릴레이 사이클이 시작되면 라이트 릴레이 FIFO(40)는 자신의 데이터를 버스 사이클 단위로 쉬프트하면서 DRAM(10)의 라이트 영역(12)에 데이터라이트를 시작하고 동시에, 리드 릴레이 FIFO(11)내의 데이터들은 외부 데이터 래치 및 삽입부(70)를 통해 외부로 전달되기 시작한다.Referring to the data relay operation performed in the symmetrical data relay device in the PLD using the built-in memory according to the present invention configured as described above, when the read cycle starts, the data read operation according to the shift operation of the read relay FIFO 30, and write The external data load operation of the relay FIFO 40 is performed. When all data of the read area in the memory is read into the read relay FIFO 30, the read relay cycle ends, and at this time, the shift operation of the read relay FIFO 30 and the external data load operation of the write relay FIFO 40 are also terminated. Subsequently, when the write relay cycle starts with the address increase, the write relay FIFO 40 starts to write data to the write area 12 of the DRAM 10 while shifting its data in units of bus cycles, and at the same time, the read relay FIFO Data in 11 begins to be transferred to the outside through an external data latch and insert 70.

도 3은 도 2에 도시된 DPRAM과 릴레이 FIFO간의 데이터 저장 형태를 보여주는 개념도이다. 도 3을 참조하여 DPRAM(10)의 구성을 좀더 상세히 설명해 보자.3 is a conceptual diagram illustrating a data storage type between a DPRAM and a relay FIFO shown in FIG. 2. The configuration of the DPRAM 10 will be described in more detail with reference to FIG. 3.

DPRAM(10)은 리드 및 라이트영역(11, 12)의 메모리 크기는 각각의 해당 리드 릴레이 FIFO(30) 및 라이트 릴레이 FIFO(40)의 크기와 반드시 동일하다는 조건이 만족되어야만 한다. 그 이유는 데이터 진행방향에 있어서 서로 반대인 리드 릴레이 및 라이트 릴레이는 자체 FIFO내에 데이터가 모두 채워지면 메모리의 일정한 위치로 해당 데이터가 저장되거나 반대로, 외부 데이터 삽입부내 일정한 위치의 래치들에게 해당 데이터가 전달되도록 하기 위해 각 FIFO의 기본셀들은 메모리내 해당 번지를 갖는 기본 셀들과 혹은 외부 데이터 삽입부내의 래치들과 서로 대응되어야 하기 때문이다.The DPRAM 10 must satisfy the condition that the memory sizes of the read and write regions 11 and 12 are the same as the sizes of the corresponding read relay FIFO 30 and the write relay FIFO 40, respectively. The reason is that when the data is filled in its own FIFO, the read relay and the write relay, which are opposite to each other in the data progress direction, are stored in a certain position in the memory or vice versa. This is because the base cells of each FIFO must correspond to the base cells having the corresponding address in memory or the latches in the external data insert to be delivered.

따라서, 이러한 데이터, 메모리 영역의 크기, 생성되는 어드레스 신호 및 제반 사이클신호들, 각각의 FIFO 크기 등의 모든 항목들은 정해진 위치에 데이터가 전달될 수 있도록 대칭적으로 설계시, 동시에 동일하게 고려되어야 한다.Therefore, all items such as the data, the size of the memory area, the generated address signal and all cycle signals, the size of each FIFO, etc. should be considered at the same time when designing symmetrically so that the data can be delivered to a predetermined position. .

도 4는 도 2에 도시된 라이트 릴레이 FIFO 및 래치부의 구성 블록도이다. 도 4를 참조하여 좀더 상세히 설명해 보면, 라이트 릴레이 FIFO(40)는 외부 데이터 래치 및 추출부(60)에서 발생된 데이터를 리드사이클 진행중에 해당 래치로부터 버스 사이클 신호에 의해 전달받아 대기상태로 저장하고 있다가, 일단 라이트 사이클이 진행되면, 직렬 쉬프트 모드로 전환되어 라이트사이클 신호에 의해 데이터를 DPRAM(10)내 라이트 영역(12)에 라이트한다.FIG. 4 is a block diagram illustrating a write relay FIFO and a latch unit illustrated in FIG. 2. Referring to FIG. 4, the write relay FIFO 40 receives data generated by the external data latch and extractor 60 from the latch during the read cycle and stores the data in the standby state. Then, once the write cycle proceeds, the mode is switched to the serial shift mode, and data is written to the write area 12 in the DPRAM 10 by the write cycle signal.

도 5는 도 4에 도시된 라이트 릴레이 FIFO 및 래치부의 상세 구성 블록도이다. 도 5를 참조하면, 다단으로 배열되어 직렬로 연결된 D플립플롭과, 전단 플립플롭의 Q출력을 하나의 입력으로 하고, 외부 데이터 래치 및 추출부(60)의 출력을 다른 하나의 입력으로 하고, 그 중에서 하나의 입력을 선택하여 다음단 D플립플롭의 D입력으로 출력하도록 연결된 2:1 먹스로 구성되어 있다.FIG. 5 is a detailed block diagram illustrating the write relay FIFO and the latch unit illustrated in FIG. 4. Referring to FIG. 5, the D-flop flops arranged in series and connected in series, the Q output of the front-side flip-flop as one input, and the outputs of the external data latch and extraction unit 60 as one input, It consists of a 2: 1 mux connected to select one input and output it to the D input of the next D flip-flop.

도 6은 도 2에 도시된 어드레스 생성 및 제어부를 구성하는 일실시예의 의 상세 구성 블록도이다. 도 6을 참조하여 어드레스 생성 및 제어부의 구성을 살펴보자. 실시예에서는 0xFF (256바이트)의 영역을 갖는 데이터 릴레이를 구현하는 경우를 들어 설명해 보자.FIG. 6 is a detailed block diagram of an embodiment of the address generation and control unit illustrated in FIG. 2. A configuration of an address generation and a controller will be described with reference to FIG. 6. In the embodiment, a case of implementing a data relay having an area of 0xFF (256 bytes) will be described.

도시된 바와 같이 어드레스 생성 및 제어부(20)는 11비트 이진 카운터(21)와, 11비트 이진 카운터(21)의 제 0 - 2포트의 출력으로 이루어지는 3비트 출력을 입력받아 NAND 연산을 수행하여 tc8을 출력으로 하는 NAND 연산기(22)와, tc8출력을 반전시키는 반전 연산기(23)와, 카운터(21)의 제 3포트- 제 10포트의 출력으로 이루어지는 7비트 출력을 입력받아 tc4 제어신호로 출력하는 논리곱 연산자(24)와, tc4신호를 제어신호로 하여, tc8신호를 한 입력으로 하고 그 출력을 wrb제어신호로 사용하는 2:1먹스(25)로 구성된다.As shown, the address generation and control unit 20 receives a 3-bit output consisting of an 11-bit binary counter 21 and outputs of the 0-2 ports of the 11-bit binary counter 21 and performs a NAND operation to perform tc8. A 7-bit output consisting of a NAND operator 22 for outputting the output, an inverting operator 23 for inverting the tc8 output, and an output of the third to tenth ports of the counter 21 and being output as a tc4 control signal. A logical product operator 24 and a 2: 1 mux 25 using the tc4 signal as a control signal, the tc8 signal as one input, and the output as a wrb control signal.

tc4신호는 R/W 릴레이 사이클 신호로 사용된다. 즉, 외부 데이터 래치 및 삽입부(70)와 외부 데이터 래치 및 추출부(60)내에 존재하는 각각의 래치들과 이와 대응된 리드 릴레이 FIFO(30) 및 라이트 릴레이 FIFO(40)와의 데이터 전달은 해당 메모리영역과의 크기가 동일한 FIFO에 데이터 갯수만큼 채워질 때 까지 대기한 후 이루어져야 하므로 이를 위한 제어신호가 필요하다.The tc4 signal is used as an R / W relay cycle signal. That is, the data transfer between the respective latches present in the external data latch and insertion unit 70 and the external data latch and extraction unit 60, and the corresponding read relay FIFO 30 and the write relay FIFO 40 corresponding thereto is performed. It is necessary to wait until the data area is filled with the same number of data in the same FIFO, so a control signal is required.

도 5에는 이 신호가 R/W사이클 종료신호로 도시되어 있다. 이는 리드 릴레이 FIFO에서 외부래치로 혹은 외부래치에서 라이트 릴레이 FIFO로의 데이터 전달시점을 제어하며 특히, 2:1 MUX를 통하여 라이트 릴레이 FIFO(40)의 외부래치 선택모드를 제어한다.This signal is shown as an R / W cycle end signal in FIG. This controls the point of data transfer from the read relay FIFO to the external latch or from the external latch to the write relay FIFO. In particular, it controls the external latch selection mode of the write relay FIFO 40 via 2: 1 MUX.

외부 데이터 래치 및 삽입부(70)와의 데이터 전달클럭은 리드 데이터 릴레이시에 기준클럭인 시스템 클럭을 이용하고, 라이트 데이터 릴레이시에는 버스 사이클신호를 이용한다.The data transfer clock with the external data latch and insertion unit 70 uses a system clock that is a reference clock for read data relay and a bus cycle signal for write data relay.

11비트 이진 카운터(21)의 제 0 - 2포트의 출력으로 이루어지는 3비트 출력은 3비트 카운터로 사용된다. 단위버스 사이클로는 tc8의 반전값을 사용하도록 한다. 카운터의 제 4 -11포트의 출력으로 이루어지는 8비트의 출력은 어드레스를 카운트하는데 사용된다. 제 2포트의 출력신호 비트는 리드 릴레이 FIFO(30)의 쉬프트 클럭(rdck)으로 사용된다. wrb제어신호는 R/W STROBE 신호로 사용된다.The 3-bit output, which consists of the outputs of the 0-2 ports of the 11-bit binary counter 21, is used as a 3-bit counter. For the unit bus cycle, use the inverted value of tc8. An eight-bit output consisting of the outputs of the fourth through 11th ports of the counter is used to count the addresses. The output signal bit of the second port is used as the shift clock rdck of the read relay FIFO 30. The wrb control signal is used as the R / W STROBE signal.

어드레스는 지정된 영역의 시작에서 종점까지 버스 사이클단위로 증가되고 그 외 신호들도 규칙적이고 동기된 상태로 반복된다.The address is incremented in bus cycles from the start to the end of the specified area, and other signals are repeated in a regular and synchronized state.

도 7은 본 발명에 따른 PLD내의 대칭형 데이터 릴레이 장치의 동작을 타임바로 나타낸 개념도이다. 여기에서, n = m ( n, m 은 각각 리드 및 라이트영역의 바이트 수 )이므로 tm=2tn이 된다. 도 7을 참조하여 리드 릴레이 사이클과 라이트 릴레이 사이클에 이루어지는 데이터의 릴레이 동작을 간략하게 살펴보자.7 is a conceptual diagram illustrating an operation of a symmetrical data relay device in a PLD according to the present invention. Here, since n = m (n and m are the number of bytes of the read and write regions, respectively), t m = 2tn . Referring to FIG. 7, a brief description will be given of a relay operation of data in a read relay cycle and a write relay cycle.

우선, 리드 릴레이 사이클로 동작하는 경우(a), 리드 릴레이 FIFO(30)에서는쉬프트 동작을 수행하여 DRAM(10)의 리드영역(11)으로 부터 해당 데이터를 리드한다(b). 아울러, 라이트 릴레이 FIFO(40)는 외부래치 모드로 동작하고(c), 외부 데이터 래치 및 추출부(60)에서 라이트 릴레이 FIFO(40)로 데이터를 전달한다(d). 즉, 즉, 리드 릴레이 사이클이 시작하면, 리드 릴레이 FIFO(30)의 쉬프트 동작에 따른 데이터 리드와, 라이트 릴레이 FIFO(40)의 외부데이터 로드 동작이 수행된다. DRAM(10)의 리드 영역(11)의 데이터가 리드 릴레이 FIFO(30)로 모두 읽혀지면 리드 릴레이 사이클이 종료되고, 이때 리드 릴레이 FIFO(30)의 쉬프트 동작과 라이트 릴레이 FIFO(40)의 외부데이터 로드 동작도 종료된다.First, when operating in a read relay cycle (a), the read relay FIFO 30 performs a shift operation to read the corresponding data from the lead region 11 of the DRAM 10 (b). In addition, the write relay FIFO 40 operates in the external latch mode (c), and transmits data from the external data latch and extractor 60 to the write relay FIFO 40 (d). That is, when the read relay cycle starts, the data read according to the shift operation of the read relay FIFO 30 and the external data load operation of the write relay FIFO 40 are performed. When all data of the read area 11 of the DRAM 10 is read into the read relay FIFO 30, the read relay cycle ends, and at this time, a shift operation of the read relay FIFO 30 and external data of the write relay FIFO 40 are performed. The load operation is also terminated.

한편, 라이트 릴레이 사이클로 동작하는 경우(e) 라이트 릴레이 FIFO(40)에서는 DRAM(10)의 라이트 영역(12)에 해당 데이터를 라이트한다(f). 이때, 라이트 릴레이 FIFO(40)는 쉬프트 모드로 동작하고(g), 리드 릴레이 FIFO(30)에서 외부 데이터 래치 및 삽입부(60)로 데이터를 전달한다(h). 즉, 어드레스 증가와 함께 라이트 릴레이 사이클이 시작되면, 라이트 릴레이 FIFO(40)는 자신의 데이터를 버스 사이클 단위로 쉬프트하면서 DRAM(10)의 라이트 영역(12)에 데이터라이트를 시작하고 동시에, 리드 릴레이 FIFO(11)내의 데이터들은 외부 데이터 래치 및 삽입부(70)를 통해 외부로 전달되기 시작한다.On the other hand, when operating in the write relay cycle (e) The write relay FIFO 40 writes the corresponding data in the write area 12 of the DRAM 10 (f). At this time, the write relay FIFO 40 operates in the shift mode (g), and transfers data from the read relay FIFO 30 to the external data latch and insertion unit 60 (h). That is, when the write relay cycle starts with the address increase, the write relay FIFO 40 starts to write data to the write area 12 of the DRAM 10 while shifting its data in units of bus cycles, and at the same time, the read relay Data in the FIFO 11 begins to be transferred to the outside through an external data latch and insert 70.

도 8은 본 발명에 따른 내장 메모리를 이용한 데이터 릴레이 장치의 동작중에서 리드 릴레이 사이클동안의 동작을 설명하기 위한 타이밍도이다. 도 8을 참조하여 본 발명에 따른 내장 메모리를 이용한 데이터 릴레이 장치의 리드 릴레이 사이클 동작을 살펴보자.8 is a timing diagram illustrating an operation during a read relay cycle during operation of a data relay device using an internal memory according to the present invention. A read relay cycle operation of a data relay device using an internal memory according to the present invention will be described with reference to FIG. 8.

시스템 클럭(ck20)(110)이 제공되면, 11비트 이진 카운터(21)가 동작하게 되고, 11비트 이진 카운터(21)의 제 4포트로부터 제 11포트의 입력의 논리곱 연산 결과로서 R/W 릴레이 사이클 신호인 tc4가 출력된다. 이 tc4신호가 하이 상태일 경우에는 리드 릴레이 사이클로 동작하게 되고, tc4신호가 로우 상태일 경우에는 라이트 릴레이 사이클로 동작하게 된다. 도면에서는 로우 상태에서 하이상태로 상승하는 시점(121)으로부터 시작하여 하이상태에서 로우상태로 하강하는 시점(122)까지 리드 릴레이 사이클로 동작하게 된다.When the system clock (ck20) 110 is provided, the 11-bit binary counter 21 is operated, and R / W as a result of the logical product operation of the input from the fourth port to the eleventh port of the 11-bit binary counter 21. The relay cycle signal tc4 is output. When the tc4 signal is in a high state, it operates in a read relay cycle, and when the tc4 signal is in a low state, it operates in a write relay cycle. In the drawing, the operation is performed in a reed relay cycle starting from the time 121 rising from the low state to the high state to the time 122 falling from the high state to the low state.

11비트 이진 카운터(21)의 제 1포트로부터 제 3포트의 출력인 3비트 출력은 3비트 카운터(130)로 동작하여 어드레스를 변경시키는데 필요한 단위 버스 사이클(140)의 발생시점을 카운트한다. 즉, 3비트 카운터의 비트값이 한번의 사이클을 완료할 때마다 단위 버스 사이클(140)로 발생되어진다. 어드레스를 변경시키는 클럭은 not tc8 신호가 사용된다. 따라서, 도면에서는 3비트 카운터가 0을 카운트하는 시점에서 로우 상태를 유지하다가 한주기를 완료하여 7비트 시점에서 하이상태로 상승했다가 다음 비트에서 로우상태로 된다. 어드레스 카운터(150)는 11비트 이진 카운터(21)의 제 4포트로부터 제 11포트의 출력 비트값으로 단위 버스 사이클을 클럭이 발생되는 시점에서 어드레스값을 변경하여 어드레스를 카운트하게 된다. 즉, 단위 버스 사이클의 제 1시점(141)에서 0x00의 어드레스 번지를 카운트하고, 제 2 시점(142)에서 0x01의 어드레스 번지를 카운트하고, 제 3시점(143)에서 0x80의 어드레스 번지를 카운트하게 된다. 이때의 어드레스 카운트는 리드 릴레이 FIFO의 어드레스를 카운트하는 것이 된다. 한편, R/W STROBE 신호는 tc4 신호가 하이 상태일 경우에는 로우 상태값을 출력하고, tc4 신호가 로우 상태일 경우에는 tc8신호를 출력하게 된다. 따라서, 도면에서는 로우 상태를 보여주고 있다.The 3-bit output, which is the output from the first port to the third port of the 11-bit binary counter 21, acts as the 3-bit counter 130 to count the time of occurrence of the unit bus cycle 140 required to change the address. That is, the bit value of the 3-bit counter is generated in the unit bus cycle 140 each time one cycle is completed. The clock for changing the address is used not tc8 signal. Therefore, in the drawing, the low state is maintained at the time when the 3-bit counter counts 0, the cycle is completed, the high state is raised to the high state at the 7-bit time, and then low. The address counter 150 counts an address by changing an address value at a time when a unit bus cycle is clocked from the fourth port of the 11-bit binary counter 21 to the output bit value of the eleventh port. That is, the address address of 0x00 is counted at the first time point 141 of the unit bus cycle, the address address of 0x01 is counted at the second time point 142, and the address address of 0x80 is counted at the third time point 143. do. The address count at this time counts the address of the read relay FIFO. On the other hand, the R / W STROBE signal outputs a low state value when the tc4 signal is high and outputs a tc8 signal when the tc4 signal is low. Thus, the figure shows a low state.

한편, 리드 릴레이 FIFO 쉬프트 클럭인 rdck 신호는 11비트 카운터(21)의 제 3포트 출력값이므로 8비트의 주기를 가지고 클럭을 발생하게 된다. 이에 rd_ck클럭이 상승하는 시점(171)에서 DPRAM(10)의 리드영역(11)에 저장되어 있던 데이터가 순차적으로 리드 릴레이 FIFO(30)에 쉬프트된다.On the other hand, the rdck signal, which is a read relay FIFO shift clock, is a third port output value of the 11-bit counter 21 and generates a clock with a period of 8 bits. At this point, when the rd_ck clock rises, the data stored in the read area 11 of the DPRAM 10 is sequentially shifted to the read relay FIFO 30.

한편, 라이트 릴레이 FIFO 래치 클럭(190)으로 tc8이 사용되므로 라이트 릴레이 FIFO 래치 클럭의 상승시점(191, 192)마다 외부 데이터 래치 및 추출부(70)로부터 라이트 릴레이 FIFO(40)에 데이터가 래치되고, 이에 따라 외부 데이터 래치 및 추출부(70)로부터 라이트 FIFO(40)데이터 업그레이드가 이루어지게 된다.On the other hand, since tc8 is used as the write relay FIFO latch clock 190, data is latched from the external data latch and extractor 70 to the write relay FIFO 40 at each of the rising points 191 and 192 of the write relay FIFO latch clock. Accordingly, the data upgrade of the write FIFO 40 is performed from the external data latch and extractor 70.

도 9는 본 발명에 따른 내장 메모리를 이용한 데이터 릴레이 장치의 동작중에서 라이트 릴레이 사이클동안의 동작을 설명하기 위한 타이밍도이다. 도 9을 참조하여 본 발명에 따른 내장 메모리를 이용한 데이터 릴레이 장치의 라이트 릴레이 사이클 동작을 살펴보자.9 is a timing diagram illustrating an operation during a write relay cycle during operation of a data relay device using an internal memory according to the present invention. 9, a write relay cycle operation of a data relay device using an internal memory according to the present invention will be described.

시스템 클럭(ck20)(110)이 제공되면, 11비트 이진 카운터(21)가 동작하게 되고, 11비트 이진 카운터(21)의 제 4포트로부터 제 11포트의 입력의 논리곱 연산 결과로서 R/W 릴레이 사이클 신호인 tc4가 출력된다. tc4신호가 로우 상태임에 따라 라이트 릴레이 사이클로 동작하게 된다. 도면에서는 하이 상태에서 로우상태로 하강하는 시점(122)으로부터 시작하여 로우상태에서 하이상태로 상승하는 시점까지 라이트 릴레이 사이클로 동작하게 된다.When the system clock (ck20) 110 is provided, the 11-bit binary counter 21 is operated, and R / W as a result of the logical product operation of the input from the fourth port to the eleventh port of the 11-bit binary counter 21. The relay cycle signal tc4 is output. As the tc4 signal is low, it operates in a write relay cycle. In the drawing, the light relay cycle is operated from the time point 122 when the high state falls to the low state until the time point when the state rises from the low state to the high state.

어드레스 카운터 클럭(150)은 11비트 이진 카운터(21)의 제 4포트로부터 제 11포트의 출력 비트값으로 단위 버스 사이클의 클럭이 발생되는 시점에서 어드레스값을 변경하여 어드레스를 카운트하게 된다. 즉, 단위 버스 사이클의 제 1시점(144)에서 0x80의 어드레스 번지를 카운트하고, 제 2 시점(145)에서 0x81의 어드레스 번지를 카운트하고, 제 3시점(146)에서 0x00의 어드레스 번지를 카운트하게 된다. 이 때의 어드레스 카운트는 라이트 릴레이 FIFO(40)의 어드레스를 카운트하게 되는 것이다. 한편, R/W STROBE 신호는 tc4 신호가 로우 상태일 경우에는 tc8신호를 출력함에 따라 도면에서는 tc4 신호의 클럭을 보여주고 있다.The address counter clock 150 counts the address by changing the address value at the time when the clock of the unit bus cycle is generated from the fourth port to the eleventh port of the 11-bit binary counter 21. That is, the address address of 0x80 is counted at the first time point 144 of the unit bus cycle, the address address of 0x81 is counted at the second time point 145, and the address address of 0x00 is counted at the third time point 146. do. The address count at this time counts the addresses of the write relay FIFOs 40. Meanwhile, the R / W STROBE signal outputs the tc8 signal when the tc4 signal is in a low state, and thus the clock of the tc4 signal is shown in the drawing.

한편, 라이트 릴레이 FIFO 쉬프트 클럭(200)은 tc8신호가 사용되므로, tc8의 상승시점(201, 202)에서 라이트 릴레이 FIFO(30)에 저장되어 있던 데이터가 순차적으로 DPRAM(10)의 리드영역(11)에 쉬프트된다.On the other hand, since the tc8 signal is used for the write relay FIFO shift clock 200, the data stored in the write relay FIFO 30 at the time of the rise of the tc8 201 and 202 are sequentially read out of the read area 11 of the DPRAM 10. Shifts to).

한편, 리드 릴레이 FIFO 래치 클럭(220)으로 시스템 클럭(ck20)을 사용함에 따라 매클럭(221, 222)마다 리드 릴레이 FIFO(30)의 해당 어드레스에 저장된 데이터는 외부 데이터 래치 및 삽입부(60)로 래치되어 외부 데이터 래치 및 삽입부(60)추출부(70)에 대한 리드 릴레이 FIFO 데이터를 공급하게 된다.Meanwhile, as the system clock ck20 is used as the read relay FIFO latch clock 220, data stored at the corresponding address of the read relay FIFO 30 for each of the clocks 221 and 222 is external data latch and insertion unit 60. Is latched to supply the read relay FIFO data to the external data latch and the inserter 60 and the extractor 70.

상술한 바와 같이, 사용 PLD를 이용하여 내부 메모리와 임의의 타기능모듈과의 데이터 릴레이 동작을 살펴보았다. 본 발명에 사용되는 시스템클럭은 성능을 가늠하는 중요한 요소이지만, 메모리의 처리속도나 PLD의 성능에 따라 제한될 수 있다. 본시험에서는 20MHz의 클럭을 사용하였으므로 단위버스 사이클을 200ns로 가정한다면 256바이트의 데이터를 처리하는데 소요되는 시간은 50㎲정도이다.As described above, the data relay operation between the internal memory and any other function module using the PLD has been described. The system clock used in the present invention is an important factor for measuring performance, but may be limited depending on the processing speed of the memory or the performance of the PLD. In this test, a clock of 20MHz is used, so assuming unit bus cycle of 200ns, it takes about 50ms to process 256 bytes of data.

만약, 내장된 메모리블럭을 이용하지 않고 로직을 통해 메모리셀을 구성하여 큰규모의 데이터 릴레이 기능을 구현한다면 PLD내에 허용되는 로직 엘리먼트의 낭비는 물론이고 거대한 MUX들이 필요로 하게 되고, 이로 인한 게이트의 낭비와 무리한 라우팅이 동반되어 결과적으로 성능이 저하되는 악순환이 초래될 수 있다.If a memory cell is configured through logic without using the built-in memory block to implement a large data relay function, huge MUXs are required as well as a waste of logic elements allowed in the PLD. This can be accompanied by waste and excessive routing, resulting in a vicious cycle of performance degradation.

본 발명에서는 이러한 요소들을 배제하기 위하여 내장 메모리 및 각종 FIFO, 외부데이터 삽입 및 추출부와의 모든 데이터 입출력이 플립플롭을 통해 이루어지므로 동기화된 동작이 가능하여 기능에 큰 신뢰성을 가질 수가 있다.In the present invention, all data input and output to and from the internal memory, various FIFOs, and external data insertion and extraction units are performed through flip-flops in order to exclude such elements, thereby enabling synchronized operation and having great reliability.

이러한 방법은 내장된 RAM을 이용하므로 로직셀을 통해 구현할 때보다 장치의 신뢰성 및 성능이 보장될 뿐 아니라 불필요한 회로요소를 절감할 수 있으므로 PLD최적화 설계환경을 이루는데 효과적이다.This method uses built-in RAM, which not only guarantees the reliability and performance of the device but also saves unnecessary circuit elements, compared with logic cells, and is effective in achieving PLD-optimized design environment.

Claims (8)

PLD내의 데이터 릴레이 장치에 있어서,In the data relay device in the PLD, 리드영역 및 라이트영역을 할당하여 PLD내에 내장된 내장 메모리와,Internal memory built into the PLD by allocating lead and write areas; 상기 라이트 영역과 동일한 메모리 크기를 가지며, 외부로부터 데이터를 래치받아 저장하고, 그 저장된 데이터를 순차적으로 쉬프트시키는 제 1 저장부와,A first storage unit having the same memory size as the write area, receiving and storing data from an external source, and sequentially shifting the stored data; 상기 리드 영역과 동일한 메모리 크기를 가지며, 상기 내장 메모리의 리드영역으로부터 입력되는 데이터를 쉬프트하며 저장하고, 그 저장된 데이터를 래치하는 제 2 저장부와,A second storage unit having the same memory size as the lead region, shifting and storing data input from the lead region of the internal memory, and latching the stored data; 상기 제 1 저장부에 외부의 데이터를 래치하게 하거나, 그 래치된 데이터를 쉬프트하게 하기 위하여 상기 제 1 저장부에 입력되는 데이터를 선택하기 위한 데이터 선택부와,A data selector for selecting data input to the first storage to cause the first storage to latch external data or to shift the latched data; a)리드 릴레이 사이클 동안 상기 내장 메모리의 리드 영역에 저장된 데이터를 리드하여 상기 제 2 저장부에 저장하기 위한 어드레스를 생성하고,상기 제 1 저장부에 외부의 데이터를 래치하기 위한 제어신호를 발생하고,a) generates an address for reading data stored in a read area of the internal memory during the read relay cycle and storing the data in the second storage unit; and generating a control signal for latching external data in the first storage unit; , b) 라이트 릴레이 사이클동안 상기 제 1저장부에 저장된 데이터를 상기 내장 메모리의 라이트 영역에 데이터를 순차적으로 라이트하여 저장하기 위한 어드레스를 생성하고, 상기 제 2 저장부에 저장된 데이터를 외부로 래치하기 위한 제어신호를 발생하는 어드레스 생성 및 메모리 제어부를 포함하는 내장 메모리를 이용한 PLD내의 대칭형 데이터 릴레이 장치.b) generating an address for sequentially writing and storing data stored in the first storage unit in the write area of the internal memory during a write relay cycle, and externally latching data stored in the second storage unit. A symmetrical data relay device in a PLD using an internal memory including an address generator for generating a control signal and a memory controller. 제 1항에 있어서, 상기 내장 메모리는, 듀얼 포트 메모리인 내장 메모리를 이용한 PLD내의 대칭형 데이터 릴레이 장치.The symmetrical data relay device according to claim 1, wherein said internal memory is a dual port memory. 삭제delete 제 1항에 있어서, 상기 제 1 저장부 및 제 2 저장부는 선입선출력 메모리인The memory of claim 1, wherein the first storage unit and the second storage unit are first-in first-out output memory. 내장 메모리를 이용한 PLD내의 대칭형 데이터 릴레이 장치.Symmetrical data relay device in PLD using built-in memory. 제 1항에 있어서, 상기 데이터 선택부는 다단으로 배열된 2:1 먹스를 포함하는 내장 메모리를 이용한 PLD내의 대칭형 데이터 릴레이 장치.The symmetric data relay device of claim 1, wherein the data selector comprises a 2: 1 mux arranged in multiple stages. PLD내의 데이터 릴레이 방법에 있어서,In the data relay method in the PLD, 상기 PLD내에 내장된 내장 메모리에 할당된 리드 영역과 라이트 영역을 이용하여 리드 사이클 동작 모드 및 라이트 동작 모드를 수행하여 데이터를 릴레이하되,Relay the data by performing the read cycle operation mode and the write operation mode by using the read area and the write area allocated to the internal memory embedded in the PLD, 상기 리드 사이클 동작 모드에서는,In the read cycle operation mode, 외부의 데이터를 상기 라이트 영역과 동일한 크기의 메모리를 가지는 제 1 저장부에 래치하여 저장하는 단계와,Latching and storing external data in a first storage unit having a memory having the same size as that of the write area; 상기 내장 메모리의 리드 영역에 저장된 데이터를 리드하여 상기 리드 영역과 동일한 메모리 크기를 가지는 제 2 저장부에 쉬프트 동작을 통해 저장하는 단계와,Reading data stored in a read area of the internal memory and storing the data in a second storage part having a same memory size as the read area by a shift operation; 라이트 사이클 동작 모드에서는,In the light cycle operation mode, 상기 제 2 저장부에 저장된 데이터를 외부로 래치하는 단계와,Latching data stored in the second storage unit to the outside; 상기 제 1 저장부에 저장된 데이터를 상기 내장 메모리의 라이트 영역에 쉬프트하여 라이트하는 단계를 수행하는 내장 메모리를 이용한 PLD내의 대칭형 데이터 릴레이 방법.And shifting the data stored in the first storage into the write area of the internal memory to write the data to the write area of the internal memory. 제 6항에 있어서, 상기 내장 메모리는, 듀얼 포트 메모리인 내장 메모리를 이용한 PLD내의 대칭형 데이터 릴레이 방법.The symmetric data relay method according to claim 6, wherein the internal memory is a dual port memory. 제 6항에 있어서, 상기 제 1 저장부 및 제 2 저장부는 선입선출력 메모리인7. The first and second storage units of claim 6, wherein the first storage unit and the second storage unit are first-in first-out output memory. 내장 메모리를 이용한 PLD내의 대칭형 데이터 릴레이 방법.Symmetrical data relay method in PLD using internal memory.
KR10-2002-0000824A 2002-01-07 2002-01-07 the apparatus and the method for symmetrical data relay using inbuilted memory in PLD KR100449033B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2002-0000824A KR100449033B1 (en) 2002-01-07 2002-01-07 the apparatus and the method for symmetrical data relay using inbuilted memory in PLD

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0000824A KR100449033B1 (en) 2002-01-07 2002-01-07 the apparatus and the method for symmetrical data relay using inbuilted memory in PLD

Publications (2)

Publication Number Publication Date
KR20030061033A KR20030061033A (en) 2003-07-18
KR100449033B1 true KR100449033B1 (en) 2004-09-16

Family

ID=32217217

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0000824A KR100449033B1 (en) 2002-01-07 2002-01-07 the apparatus and the method for symmetrical data relay using inbuilted memory in PLD

Country Status (1)

Country Link
KR (1) KR100449033B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0677319A (en) * 1992-08-25 1994-03-18 Kawasaki Steel Corp Programmable logic device
JPH0855469A (en) * 1994-08-09 1996-02-27 Mitsubishi Electric Corp Fifo memory device
US6242946B1 (en) * 1996-04-15 2001-06-05 Altera Corporation Embedded memory block with FIFO mode for programmable logic device
KR20010066694A (en) * 1999-12-31 2001-07-11 송재인 Apparatus for bidirectional dynamic bus sizing

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0677319A (en) * 1992-08-25 1994-03-18 Kawasaki Steel Corp Programmable logic device
JPH0855469A (en) * 1994-08-09 1996-02-27 Mitsubishi Electric Corp Fifo memory device
US6242946B1 (en) * 1996-04-15 2001-06-05 Altera Corporation Embedded memory block with FIFO mode for programmable logic device
KR20010066694A (en) * 1999-12-31 2001-07-11 송재인 Apparatus for bidirectional dynamic bus sizing

Also Published As

Publication number Publication date
KR20030061033A (en) 2003-07-18

Similar Documents

Publication Publication Date Title
US5596540A (en) Serial to parallel and parallel to serial architecture for a RAM based FIFO memory
KR100694440B1 (en) A semiconductor memory
EP2965429B1 (en) Integrated circuit devices having memory and methods of implementing memory in an integrated circuit device
US5430687A (en) Programmable logic device including a parallel input device for loading memory cells
US20080092002A1 (en) Semiconductor integrated circuit and control method thereof
KR100840030B1 (en) Programmable logic circuit
JPH04301290A (en) Pushup memory circuit
CN108958700A (en) A kind of first in first out data buffer and data cached method
US5787273A (en) Multiple parallel identical finite state machines which share combinatorial logic
KR100498233B1 (en) First-in first-out memory circuit and method for executing the same
CN110097902B (en) Read-write control module and method for same port and dual-port memory
CN111240244B (en) Programmable pulse generation device, circuit and method suitable for FPGA
KR100449033B1 (en) the apparatus and the method for symmetrical data relay using inbuilted memory in PLD
CN106133838B (en) A kind of expansible configurable FPGA storage organization and FPGA device
CN109766293B (en) Circuit and system chip for connecting FPGA and artificial intelligence module on chip
US5732011A (en) Digital system having high speed buffering
CN218100209U (en) Multi-bit asynchronous interface circuit
US6442657B1 (en) Flag generation scheme for FIFOs
JP3305975B2 (en) Address counter circuit and semiconductor memory device
JP2013093092A (en) Dual-port memory and method thereof
CN112650468B (en) Zero-delay FIFO circuit and electronic equipment
JPH11134863A (en) Semiconductor memory and data writing method
KR940009821B1 (en) Address-extended circuit
US20010005373A1 (en) Virtual channel DRAM
KR950007044Y1 (en) A circuit for high speed data processing

Legal Events

Date Code Title Description
A201 Request for examination
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: 20080804

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee