CN100409201C - First-in first-out type storage based on RAM and FPGA and its control method - Google Patents
First-in first-out type storage based on RAM and FPGA and its control method Download PDFInfo
- Publication number
- CN100409201C CN100409201C CNB2005100099569A CN200510009956A CN100409201C CN 100409201 C CN100409201 C CN 100409201C CN B2005100099569 A CNB2005100099569 A CN B2005100099569A CN 200510009956 A CN200510009956 A CN 200510009956A CN 100409201 C CN100409201 C CN 100409201C
- Authority
- CN
- China
- Prior art keywords
- fpga
- random access
- access memory
- matrix
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Logic Circuits (AREA)
Abstract
The present invention relates to a first-in first-out (FIFO) type memory based on an RAM and an FPGA and a control method thereof, and the present invention relates to the technical field of memories. The present invention solves the problem that the existing FIFO memory has a small memory capacity and has a high price. A data address bus end of a first RIM random access memory (1) is connected with a first bus end of an FPGA programmable logic matrix (3), and a data address bus end of a second RIM random access memory (2) is connected with a second bus end of the FPGA programmable logic matrix (3). A read-write control signal input end of the first RIM random access memory (1) is connected with a first read-write control signal output end of the FPGA programmable logic matrix (3), and a read-write control signal input end of the second RIM random access memory (2) is connected with a second read-write control signal output end of the FPGA programmable logic matrix (3). The left side of the FPGA programmable logic matrix (3) is a data output bus end, and the right side of the FPGA programmable logic matrix (3) is a data input bus end. The control method of the FPGA programmable logic matrix (3) has the steps that the data input from the data bus end of the right side of the FPGA programmable logic matrix (3) is respectively stored into the first RIM random access memory (1) or the second RIM random access memory (2); after the data in the first RIM random access memory (1) or the second RIM random access memory (2) is read, the data the second RIM random access memory (2) or the first RIM random access memory (1) is read, and the data is output from the data bus end of the left side of the FPGA programmable logic matrix (3). The present invention can replace the existing FIFO, and has the advantages of large capacity, high speed and low price.
Description
Technical field:
What the present invention relates to is the memory technology field, specifically is a kind of first-in first-out type storer and control method thereof based on RAM and FPGA.
Background technology:
The first-in first-out type storeies (FIFO) that adopt as buffer unit more in the available data communication (transmission).And the memory capacity of first-in first-out type storer (FIFO) is very little, its price is but very expensive, want to increase memory capacity and must use high capacity and expensive first-in first-out type storer (FIFO), make that its cost is huge to be increased, so just limited the fast development and the popularization of data communication technology.
Summary of the invention:
The purpose of this invention is to provide a kind of first-in first-out type storer and control method thereof based on RAM and FPGA.It is very little that the present invention can solve existing first-in first-out type storer (FIFO) memory capacity, the problem that its price is but very expensive.It is made up of a RAM random access memory 1, the 2nd RAM random access memory 2, FPGA FPGA (Field Programmable Gate Array) matrix 3; The data address output input bus end of the one RAM random access memory 1 connects the first data address input/output bus end of FPGA FPGA (Field Programmable Gate Array) matrix 3, the data address output input bus end of the 2nd RAM random access memory 2 connects the second data address input/output bus end of FPGA FPGA (Field Programmable Gate Array) matrix 3, the read-write control signal input end of the one RAM random access memory 1 connects the first read-write control signal output terminal of FPGA FPGA (Field Programmable Gate Array) matrix 3, the read-write control signal input end of the 2nd RAM random access memory 2 connects the second reading write control signal output terminal of FPGA FPGA (Field Programmable Gate Array) matrix 3, the left side of FPGA FPGA (Field Programmable Gate Array) matrix 3 is the data-out bus end, and the right side of FPGA FPGA (Field Programmable Gate Array) matrix 3 is the data input bus (DIB) end; After in a RAM random access memory 1, storing the data of a constant volume, FPGA FPGA (Field Programmable Gate Array) matrix 3 is controlled a RAM random access memory 1 by the first read-write control signal output terminal and is in the state of reading, and controls the 2nd RAM random access memory 2 by second reading write control signal output terminal and is in the state of writing; When the data read in the RAM random access memory 1 is intact, FPGA FPGA (Field Programmable Gate Array) matrix 3 is controlled a RAM random access memory (1) by the first read-write control signal output terminal and is in the state of writing, and controls the 2nd RAM random access memory (2) by second reading write control signal output terminal and is in the state of reading; When the data read in the 2nd RAM random access memory 2 is intact, FPGA FPGA (Field Programmable Gate Array) matrix 3 is controlled a RAM random access memory 1 by the first read-write control signal output terminal and is in the state of reading, and controls the 2nd RAM random access memory 2 by second reading write control signal output terminal and is in the state of writing.
The internal control method step of its FPGA FPGA (Field Programmable Gate Array) matrix 3 is: when FPGA FPGA (Field Programmable Gate Array) matrix 3 right side data input bus (DIB) ends have the data input, FPGA FPGA (Field Programmable Gate Array) matrix 3 is controlled a RAM random access memory 1 by the first read-write control signal output terminal and is in the state of writing, control the 2nd RAM random access memory 2 by second reading write control signal output terminal and be in the state of reading, and will write in the RAM random access memory 1 001 after the above-mentioned data processing; After in a RAM random access memory 1, storing the data of a constant volume, FPGA FPGA (Field Programmable Gate Array) matrix 3 is controlled a RAM random access memory 1 by the first read-write control signal output terminal and is in the state of reading, control the 2nd RAM random access memory 2 by second reading write control signal output terminal and be in the state of writing, FPGA FPGA (Field Programmable Gate Array) matrix 3 sense data and handle the left data output bus end output of back from a RAM random access memory 1 from FPGA FPGA (Field Programmable Gate Array) matrix 3, FPGA FPGA (Field Programmable Gate Array) matrix 3 writes in the 2nd RAM random access memory 2 002 with the data of its right side data input bus (DIB) end input simultaneously; When the data read in the RAM random access memory 1 is intact, FPGA FPGA (Field Programmable Gate Array) matrix 3 is controlled a RAM random access memory 1 by the first read-write control signal output terminal and is in the state of writing, and controls the 2nd RAM random access memory 2 by second reading write control signal output terminal and is in the state of reading 003; FPGA FPGA (Field Programmable Gate Array) matrix 3 sense data and handle the left data output bus end output of back from the 2nd RAM random access memory 2 from FPGA FPGA (Field Programmable Gate Array) matrix 3, FPGA FPGA (Field Programmable Gate Array) matrix 3 continues to write in the RAM random access memory 1 004 with the data of its right side data input bus (DIB) end input simultaneously; When the data read in the 2nd RAM random access memory 2 is intact, FPGA FPGA (Field Programmable Gate Array) matrix 3 is controlled a RAM random access memory 1 by the first read-write control signal output terminal and is in the state of reading, control the 2nd RAM random access memory 2 by second reading write control signal output terminal and be in the state of writing, FPGA FPGA (Field Programmable Gate Array) matrix 3 sense data from a RAM random access memory 1 is also handled the left data output bus end output of back from FPGA FPGA (Field Programmable Gate Array) matrix 3, and the data that while FPGA FPGA (Field Programmable Gate Array) matrix 3 is imported its right side data input bus (DIB) end write in the 2nd RAM random access memory 2 and return operation 003 step 005.The present invention can replace existing first-in first-out type storer (FIFO), and its capacity is big, price is low, speed is high, and the advantage that has simple in structure, stable performance, makes easily.
Description of drawings:
Fig. 1 is an one-piece construction synoptic diagram of the present invention, and Fig. 2 is the schematic flow sheet of FPGA FPGA (Field Programmable Gate Array) matrix 3 internal control method steps among the present invention.
Embodiment:
In conjunction with Fig. 1, Fig. 2 present embodiment is described, it is made up of a RAM random access memory 1, the 2nd RAM random access memory 2, FPGA FPGA (Field Programmable Gate Array) matrix 3; The data address output input bus end of the one RAM random access memory 1 connects the first data address input/output bus end of FPGA FPGA (Field Programmable Gate Array) matrix 3, the data address output input bus end of the 2nd RAM random access memory 2 connects the second data address input/output bus end of FPGA FPGA (Field Programmable Gate Array) matrix 3, the read-write control signal input end of the one RAM random access memory 1 connects the first read-write control signal output terminal of FPGA FPGA (Field Programmable Gate Array) matrix 3, the read-write control signal input end of the 2nd RAM random access memory 2 connects the second reading write control signal output terminal of FPGA FPGA (Field Programmable Gate Array) matrix 3, the left side of FPGA FPGA (Field Programmable Gate Array) matrix 3 is the data-out bus end, and the right side of FPGA FPGA (Field Programmable Gate Array) matrix 3 is the data input bus (DIB) end.The model that the one RAM random access memory 1, the 2nd RAM random access memory 2 are selected for use is CY7C1049CV33, and the model that FPGA FPGA (Field Programmable Gate Array) matrix is selected for use is the EP1C6Q240C8 of Cyclone company.The internal control method step of FPGA FPGA (Field Programmable Gate Array) matrix 3 is: when FPGA FPGA (Field Programmable Gate Array) matrix 3 right side data input bus (DIB) ends have the data input, FPGA FPGA (Field Programmable Gate Array) matrix 3 is controlled a RAM random access memory 1 by the first read-write control signal output terminal and is in the state of writing, control the 2nd RAM random access memory 2 by second reading write control signal output terminal and be in the state of reading, and will write in the RAM random access memory 1 001 after the above-mentioned data processing; After in a RAM random access memory 1, storing the data of a constant volume, FPGA FPGA (Field Programmable Gate Array) matrix 3 is controlled a RAM random access memory 1 by the first read-write control signal output terminal and is in the state of reading, control the 2nd RAM random access memory 2 by second reading write control signal output terminal and be in the state of writing, FPGA FPGA (Field Programmable Gate Array) matrix 3 sense data and handle the left data output bus end output of back from a RAM random access memory 1 from FPGA FPGA (Field Programmable Gate Array) matrix 3, FPGA FPGA (Field Programmable Gate Array) matrix 3 writes in the 2nd RAM random access memory 2 002 with the data of its right side data input bus (DIB) end input simultaneously; When the data read in the RAM random access memory 1 is intact, FPGA FPGA (Field Programmable Gate Array) matrix 3 is controlled a RAM random access memory 1 by the first read-write control signal output terminal and is in the state of writing, and controls the 2nd RAM random access memory 2 by second reading write control signal output terminal and is in the state of reading 003; FPGA FPGA (Field Programmable Gate Array) matrix 3 sense data and handle the left data output bus end output of back from the 2nd RAM random access memory 2 from FPGA FPGA (Field Programmable Gate Array) matrix 3, FPGA FPGA (Field Programmable Gate Array) matrix 3 continues to write in the RAM random access memory 1 004 with the data of its right side data input bus (DIB) end input simultaneously; When the data read in the 2nd RAM random access memory 2 is intact, FPGA FPGA (Field Programmable Gate Array) matrix 3 is controlled a RAM random access memory 1 by the first read-write control signal output terminal and is in the state of reading, control the 2nd RAM random access memory 2 by second reading write control signal output terminal and be in the state of writing, FPGA FPGA (Field Programmable Gate Array) matrix 3 sense data from a RAM random access memory 1 is also handled the left data output bus end output of back from FPGA FPGA (Field Programmable Gate Array) matrix 3, and the data that while FPGA FPGA (Field Programmable Gate Array) matrix 3 is imported its right side data input bus (DIB) end write in the 2nd RAM random access memory 2 and return operation 003 step 005.
Claims (2)
1. based on the first-in first-out type storer of RAM and FPGA, it is characterized in that it is made up of a RAM random access memory (1), the 2nd RAM random access memory (2), FPGA FPGA (Field Programmable Gate Array) matrix (3); The data address output input bus end of the one RAM random access memory (1) connects the first data address input/output bus end of FPGA FPGA (Field Programmable Gate Array) matrix (3), the data address output input bus end of the 2nd RAM random access memory (2) connects the second data address input/output bus end of FPGA FPGA (Field Programmable Gate Array) matrix (3), the read-write control signal input end of the one RAM random access memory (1) connects the first read-write control signal output terminal of FPGA FPGA (Field Programmable Gate Array) matrix (3), the read-write control signal input end of the 2nd RAM random access memory (2) connects the second reading write control signal output terminal of FPGA FPGA (Field Programmable Gate Array) matrix (3), the left side of FPGA FPGA (Field Programmable Gate Array) matrix (3) is the data-out bus end, and the right side of FPGA FPGA (Field Programmable Gate Array) matrix (3) is the data input bus (DIB) end; After in a RAM random access memory (1), storing the data of a constant volume, FPGA FPGA (Field Programmable Gate Array) matrix (3) is controlled a RAM random access memory (1) by the first read-write control signal output terminal and is in the state of reading, and controls the 2nd RAM random access memory (2) by second reading write control signal output terminal and is in the state of writing; When the data read in the RAM random access memory (1) is intact, FPGA FPGA (Field Programmable Gate Array) matrix (3) is controlled a RAM random access memory (1) by the first read-write control signal output terminal and is in the state of writing, and controls the 2nd RAM random access memory (2) by second reading write control signal output terminal and is in the state of reading; When the data read in the 2nd RAM random access memory (2) is intact, FPGA FPGA (Field Programmable Gate Array) matrix (3) is controlled a RAM random access memory (1) by the first read-write control signal output terminal and is in the state of reading, and controls the 2nd RAM random access memory (2) by second reading write control signal output terminal and is in the state of writing.
2. based on the control method of the first-in first-out type storer of RAM and FPGA, the internal control method step that it is characterized in that FPGA FPGA (Field Programmable Gate Array) matrix (3) is: when FPGA FPGA (Field Programmable Gate Array) matrix (3) right side data input bus (DIB) end has the data input, FPGA FPGA (Field Programmable Gate Array) matrix (3) is controlled a RAM random access memory (1) by the first read-write control signal output terminal and is in the state of writing, control the 2nd RAM random access memory (2) by second reading write control signal output terminal and be in the state of reading, and will write after the above-mentioned data processing in the RAM random access memory (1) (001); After in a RAM random access memory (1), storing the data of a constant volume, FPGA FPGA (Field Programmable Gate Array) matrix (3) is controlled a RAM random access memory (1) by the first read-write control signal output terminal and is in the state of reading, control the 2nd RAM random access memory (2) by second reading write control signal output terminal and be in the state of writing, FPGA FPGA (Field Programmable Gate Array) matrix (3) sense data from a RAM random access memory (1) is also handled the left data output bus end output of back from FPGA FPGA (Field Programmable Gate Array) matrix (3), and the data that while FPGA FPGA (Field Programmable Gate Array) matrix (3) is imported its right side data input bus (DIB) end write in the 2nd RAM random access memory (2) (002); When the data read in the RAM random access memory (1) is intact, FPGA FPGA (Field Programmable Gate Array) matrix (3) is controlled a RAM random access memory (1) by the first read-write control signal output terminal and is in the state of writing, and controls the 2nd RAM random access memory (2) by second reading write control signal output terminal and is in the state of reading (003); FPGA FPGA (Field Programmable Gate Array) matrix (3) sense data from the 2nd RAM random access memory (2) is also handled the left data output bus end output of back from FPGA FPGA (Field Programmable Gate Array) matrix (3), and the data that while FPGA FPGA (Field Programmable Gate Array) matrix (3) is imported its right side data input bus (DIB) end continue to write in the RAM random access memory (1) (004); When the data read in the 2nd RAM random access memory (2) is intact, FPGA FPGA (Field Programmable Gate Array) matrix (3) is controlled a RAM random access memory (1) by the first read-write control signal output terminal and is in the state of reading, control the 2nd RAM random access memory (2) by second reading write control signal output terminal and be in the state of writing, FPGA FPGA (Field Programmable Gate Array) matrix (3) sense data from a RAM random access memory (1) is also handled the left data output bus end output of back from FPGA FPGA (Field Programmable Gate Array) matrix (3), and the data that while FPGA FPGA (Field Programmable Gate Array) matrix (3) is imported its right side data input bus (DIB) end write in the 2nd RAM random access memory (2) and return operation (003) step (005).
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100099569A CN100409201C (en) | 2005-04-29 | 2005-04-29 | First-in first-out type storage based on RAM and FPGA and its control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100099569A CN100409201C (en) | 2005-04-29 | 2005-04-29 | First-in first-out type storage based on RAM and FPGA and its control method |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1716213A CN1716213A (en) | 2006-01-04 |
CN100409201C true CN100409201C (en) | 2008-08-06 |
Family
ID=35822066
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100099569A Expired - Fee Related CN100409201C (en) | 2005-04-29 | 2005-04-29 | First-in first-out type storage based on RAM and FPGA and its control method |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100409201C (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1094525A (en) * | 1993-04-19 | 1994-11-02 | 电子科技大学 | A kind of high-capacity and high-speed data acquisition caching method and equipment |
CN1147676A (en) * | 1994-08-05 | 1997-04-16 | 美国电报电话公司 | First-in first-out memory |
-
2005
- 2005-04-29 CN CNB2005100099569A patent/CN100409201C/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1094525A (en) * | 1993-04-19 | 1994-11-02 | 电子科技大学 | A kind of high-capacity and high-speed data acquisition caching method and equipment |
CN1147676A (en) * | 1994-08-05 | 1997-04-16 | 美国电报电话公司 | First-in first-out memory |
Non-Patent Citations (2)
Title |
---|
基于FPGA和PCI总线的数据采集板设计. 何文波,孙德宝,吴新建.微机发展,第14卷第11期. 2004 |
基于FPGA和PCI总线的数据采集板设计. 何文波,孙德宝,吴新建.微机发展,第14卷第11期. 2004 * |
Also Published As
Publication number | Publication date |
---|---|
CN1716213A (en) | 2006-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN206557767U (en) | A kind of caching system based on ping-pong operation structure control data buffer storage | |
CN101916227B (en) | RLDRAM SIO storage access control method and device | |
CN103559146B (en) | A kind of method improving NAND flash controller read or write speed | |
CN101515898B (en) | Method and device for managing statistical data of chip | |
CN202453864U (en) | Large-capacity asynchronous first in first out (FIFO) buffer memory based on field programmable gate array (FPGA) and double data rate (DDR) 2 synchronous dynamic random access memory (SDRAM) | |
US8122199B2 (en) | Multi port memory device with shared memory area using latch type memory cells and driving method | |
CN102541458B (en) | A kind of method improving data writing speed of electronic hard disk | |
US11379136B2 (en) | Adjustable access energy and access latency memory system and devices | |
CN101740102A (en) | Multi-channel flash memory chip array structure and write-in and read-out methods thereof | |
CN209842608U (en) | DDR3 memory control based on FPGA FIFO module | |
CN102610269B (en) | Write-once read-many disc internal memory | |
CN102541778A (en) | Ultra-high speed and ultra-large capacity storage device and implementation method thereof | |
CN110232029B (en) | Method for realizing DDR4 packet cache in FPGA based on index | |
CN104409099A (en) | FPGA (field programmable gate array) based high-speed eMMC (embedded multimedia card) array controller | |
CN101562045A (en) | Data erasing method and device and solid-state disk thereof | |
CN102629914A (en) | Method and device for buffering Ethernet data packets | |
CN100409201C (en) | First-in first-out type storage based on RAM and FPGA and its control method | |
CN102760487A (en) | Method and framework for optimum grading of the inside of high performance static state random access memory | |
CN102930898B (en) | Method of structuring multiport asynchronous storage module | |
CN113220616B (en) | FPGA-based interface conversion system and method from SDRAM to MRAM | |
CN102571535B (en) | Device and method for delaying data and communication system | |
CN101237546A (en) | High-speed audio and video magnitude storage method and device for vehicular environment | |
CN212084122U (en) | NVMe controller | |
CN113886287A (en) | Self-adaptive real-time caching system and method based on SoC | |
CN102571314B (en) | A kind of SPRAM full-duplex communication control circuit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080806 |