CN102096648B - System and method for realizing multipath burst data business caching based on FPGA (Field Programmable Gate Array) - Google Patents

System and method for realizing multipath burst data business caching based on FPGA (Field Programmable Gate Array) Download PDF

Info

Publication number
CN102096648B
CN102096648B CN 201010580752 CN201010580752A CN102096648B CN 102096648 B CN102096648 B CN 102096648B CN 201010580752 CN201010580752 CN 201010580752 CN 201010580752 A CN201010580752 A CN 201010580752A CN 102096648 B CN102096648 B CN 102096648B
Authority
CN
China
Prior art keywords
packet
data
read
buffer
multichannel
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.)
Active
Application number
CN 201010580752
Other languages
Chinese (zh)
Other versions
CN102096648A (en
Inventor
林彬
周学兵
宋海波
郑楠
黄良静
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen ZTE Netview Technology Co Ltd
Original Assignee
Shenzhen ZTE Netview Technology Co Ltd
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 Shenzhen ZTE Netview Technology Co Ltd filed Critical Shenzhen ZTE Netview Technology Co Ltd
Priority to CN 201010580752 priority Critical patent/CN102096648B/en
Publication of CN102096648A publication Critical patent/CN102096648A/en
Application granted granted Critical
Publication of CN102096648B publication Critical patent/CN102096648B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The invention discloses a system and method for realizing multipath burst data business caching based on an FPGA (Field Programmable Gate Array), wherein the system comprises an off-chip cache and an FPGA chip, wherein the off-chip cache is used for caching multipath burst data, and the FPGA chip is used for providing an RAM (Random Access Memory) resource; the FPGA chip also comprises an off-chip cache controller, a multipath burst data caching management circuit, packet receiving and buffering circuits with the same number as that of data channels, a packet write control circuit, a packet read control circuit and a packet buffering and transmitting circuit, wherein the multipath burst data caching management circuit is used for processing request arbitration and channel authorization of the multipath burst data, generating line address information of current read/write operation and writing a packet into the off-chip cache or reading the packet from the off-chip cache. By adopting the invention, the number of the channels can be simply increased or reduced, and each path of burst data business can be relatively and evenly cached so that bottleneck caused by internal RAM shortage of an FPGA chip can be avoided.

Description

System and method based on the realization multichannel bursty data service buffer of FPGA
Technical field
The present invention relates to communication technical field, relate in particular to a kind of system and method for realizing multichannel bursty data service buffer based on FPGA.
Background technology
In communication technical field, the telecommunications data traffic that often need have characteristics such as burst, elongated, non-timed to multichannel carries out caching process, with the processing of level module fixed rate after an action of the bowels; For the protocol conversion of different rates, more need multichannel bursty data business is carried out caching process especially; In existing technology, to the buffer memory of multichannel bursty data business, multiple caching method is arranged, its implementation is respectively.
(1) adopt the special ASIC chip to realize in the mode of piling up; But the port number that the special ASIC chip provides is limited, and every asic chip needs independent plug-in memory chip; Realizing that more multichannel (N〉2) when bursty data is professional, just needs more asic chip and memory chip, cause the hardware cost height, veneer wiring difficulty is big.
(2) adopt the FPGA ram in slice to realize; Present FPGA inside generally all provides some, and the RAM of fixed capacity size utilizes the combination of these RAM resources, and the mode of data queue is independently adopted on every road, realizes the buffer memory (see figure 1) of multichannel data business; But the ram in slice resource that FPGA provides is very limited, causes data queue's degree of depth of distributing to multichannel data limited on the one hand, can't tackle the bursty data as video data; If satisfy the certain depth of data queue, it is limited that the number of channels of buffer memory multichannel data just becomes, and can't realize the more situation of port number on the other hand.
(3) adopt the outer RAM chip of FPGA ram in slice engagement tabs to realize; The mode that adopts as Fig. 2, the moderator that multichannel bursty data business is realized by the FPGA internal logic is cached in the outer RAM chip of sheet in the fixed priority mode, and each data packet length information of every road bursty data is stored among the data packet length RAM that is made up of the FPGA ram in slice; Want flexibly this mode phase ratio method (1), (2), but still there is defective: one, data packet length RAM by the realization of FPGA ram in slice, its degree of depth has determined to be cached to the packet number of the outer RAM chip of sheet, because FPGA ram in slice resource-constrained, limit the degree of depth of data packet length RAM on the one hand, namely limited the number that is cached to the outer RAM packet of sheet; When satisfying the requirement of the data packet length RAM degree of depth, limited the port number number again on the other hand; Two, when the multichannel bursty data adopted the fixed priority mode to be cached to the outer RAM of sheet, the high passage of priority can cause the data service of the low passage of priority to can not get timely processing under the big situation of data business volume, occurs " hungry full " phenomenon easily.
Summary of the invention
The objective of the invention is to overcome the existing shortcoming of said method, a kind of system and method for realizing multichannel bursty data service buffer based on FPGA is provided.
The embodiment of the invention is achieved in that a kind of system of the realization multichannel bursty data service buffer based on FPGA, comprises for the sheet External Registers of buffer memory multichannel bursty data and the fpga chip of RAM resource is provided; Described fpga chip comprises: the outer cache controller of sheet, multichannel bursty data cache management circuit, and the packet reception consistent with the data channel number and buffer circuit, packet write control circuit, packet buffering and transtation mission circuit, packet are read control circuit; Wherein,
Described packet receives and buffer circuit, its input end receives extraneous bursty data input, output terminal and is connected with the packet write control circuit, comprise the packet reception control circuit and receive buffer zone, be used for when the reception buffer zone is sky, receiving the extraneous bursty data of importing and it is write the reception buffer zone, and the bag zone bit is put in order in set when writing complete packet;
Described packet write control circuit, its input end receives with packet and buffer circuit is connected, output terminal is connected with multichannel bursty data cache management circuit, be used for being set and the buffer area of sheet External Registers respective channel when being non-full state at described whole bag zone bit, under the application of multichannel bursty data cache management circuit and authorized situation, read and receive packet complete in the buffer zone and itself and its length information is combined in the buffer area of new data flow cache respective channel in the sheet External Registers, generate the row address information of next write operation simultaneously;
Described packet buffering and transtation mission circuit, its input end read with packet that control circuit is connected, output terminal is connected with extraneous port, comprise sending buffer zone and packet sending controling circuit, are used for the complete packet of buffering and send it to extraneous port;
Described packet is read control circuit, its input end is connected with multichannel bursty data cache management circuit, output terminal is connected with packet buffering and transtation mission circuit, when the buffer area that be used for to send buffer zone and be sky and sheet External Registers respective channel is non-dummy status, after under the application of multichannel bursty data cache management circuit and authorized situation, from the sheet External Registers, reading complete packet in the buffer area of respective channel, write and send in the buffer zone, generate the row address information of next read operation simultaneously;
Described multichannel bursty data cache management circuit, be connected to multichannel data bag write control circuit and packet respectively and read control circuit, and be connected with the outer cache controller of sheet, be used for receive the multichannel bursty data read to wrap the bursty data passage that sends application is arbitrated when applying for/writing the bag application and authorize, the concrete read operation/write operation of channel grant to authorizing again, generate the column address information of current read/write operation, packet is read out or write the data packet the sheet External Registers from the sheet External Registers;
Described outer cache controller is connected respectively with the sheet External Registers with multichannel bursty data cache management circuit, is used for the sheet External Registers is controlled.
Wherein, described multichannel bursty data cache management circuit comprises: multichannel bursty data combined arbitration device, read-write arbitration circuit, burst management circuit, cache user interface, buffer state management circuit, write end data and address selector, read end data and address selector, read authority control circuit, write the authorization control circuit.
Wherein, described multichannel bursty data combined arbitration device, be used for mode that single channel request adopts fixed priority only to be arranged or greater than the mode that adopted circular priority at 1 o'clock each bursty data passage being arbitrated and being authorized in the quantity of current channel request current, and the bursty data channel information of authorizing offered the read-write arbitration circuit, authorize concrete read operation or write operation by it.
Described burst management circuit is used in read operation or write operation process, generates the column address of the sheet External Registers of current operation, finishes the conversion of sheet External Registers address and the interface signal of the outer cache controller of generation sheet accordingly by the cache user interface simultaneously.
Described buffer state management circuit, comprise the N consistent with a bursty data port number package counting facility, be used for the sheet External Registers is carried out real-time statistics respectively corresponding to the number of the packet in each bursty data passage buffer storage district, road, in the package counting facility value of every road correspondence during greater than max-thresholds, notice is corresponding writes the authorization control circuit and its corresponding buffer area of packet write control circuit is full state, multichannel bursty data combined arbitration device the writing of packet write control circuit of state termination response respective channel accordingly wraps application, and the data write control circuit of respective channel termination simultaneously sends to write wraps application; In the package counting facility value of every road correspondence during less than minimum threshold, it is dummy status that the read authority control circuit that notice is corresponding and packet are read its corresponding buffer area of control circuit, multichannel bursty data combined arbitration device will be accordingly the state packet of ending the response respective channel read control circuit read the bag application, the packet of respective channel is read control circuit and is ended to send and read the bag application simultaneously;
Describedly write end data and address selector/read end data and address selector are used for selecting according to the arbitration result of multichannel bursty data combined arbitration device institute's authorised channel when write operation/read operation corresponding packet and row address.
Wherein, described reception buffer zone is made up of the ram in slice storer with ping-pong work of 2 dual-ports; Described transmission buffer zone is made up of the ram in slice storer of 1 dual-port.
Wherein, it is 8 that the address wire with the write port of the ram in slice storer of ping-pong work of 2 dual-ports of described reception buffer zone has 11, input data width, and it is 64 that the address wire of read port has 8, output data width.
The address wire of the write port of the ram in slice storer of 1 dual-port of described transmission buffer zone has 8, writes data width is 64, and it is 8 that the address wire of read port has 11, read data width.
Wherein, described External Registers is made up of 2 16 memory chip.
Wherein, described memory chip is divided into the storage block of a plurality of same capability sizes, and wherein continuous a plurality of storage blocks are formed buffer areas and distributed to each road bursty data passage.
Wherein, described memory chip is divided into the storage block of a plurality of 2048 byte-sized.
A kind of method of realization multichannel bursty data service buffer of system as mentioned above comprises: receive step, the step of writing the data application, the step of multichannel bursty data arbitration management, the step of read data application and the step that sends the data processing that data are handled; Wherein,
The step that described reception data are handled comprises: when the bursty data input is arranged in the external world, judge that whether receive buffer zone is whether the buffer area of respective channel in sky and the sheet External Registers is non-full, if not, then abandons the packet of current input; If, then this packet is write by byte and receives in the buffer zone, add up the byte number of this packet simultaneously, and when receiving a complete packet the whole bag of set zone bit;
The step of write data application comprises: inquiry in real time receives the whole bag zone bit in the buffer zone, when detecting set, initiate to write the bag application to multichannel bursty data cache management circuit, and by application and when authorized, read receive packet content complete in the buffer zone and with the data flow cache of itself and this length of data package information combination Cheng Xin in the sheet External Registers corresponding in this bursty data passage buffer storage district;
The step of described multichannel bursty data arbitration management comprises: inquire about the read of each paths in real time, carry out earlier the arbitration of request and the mandate of passage are read and write arbitration to the passage of authorizing again, generate read operation mandate or write operation mandate;
The step of described read data application comprises: whether the buffer area that detect to send buffer zone and whether be respective channel in sky and the sheet External Registers non-NULL, if, then initiate to read the bag application to multichannel bursty data cache management circuit, and by application and when authorized, from the sheet External Registers, read complete packet in the buffer area of respective channel and from wherein isolating packet content and data length information, the record data length information writes packet content in the transmission buffer zone;
The step that described transmission data are handled comprises: detect to send in the buffer zone whether complete packet is arranged, then read data packet and send it to extraneous output terminal from send buffer zone.
Wherein, in the step of described multichannel bursty data arbitration management, according to the quantity of current channel request, adopt the mode of circular priority or fixed priority to realize the arbitration of request and the mandate of passage.
Wherein, if current only have a single channel request, then adopt the mode of fixed priority to realize the arbitration of request and the mandate of passage; If the quantity of current channel request greater than 1, then adopts the mode of circular priority to realize the arbitration of request and the mandate of passage.
Wherein, described method also comprises the step of system initialization, and this step further comprises:
Behind the electrification reset, system carries out initialization procedure immediately, row, column address zero clearing with each passage in the fpga chip, package counting facility, length counter zero clearing in the buffer state management, RAM read/write address, the whole zero clearings of passage read-write requests, each buffer zone, buffer area are made as dummy status, and each road buffer area pipeline depth is set, and each steering logic of inside is located at idle condition.
The embodiment of the invention compared with prior art, beneficial effect is:
1) the present invention adopts FPGA to realize the buffer memory of multichannel bursty data business, be particularly suitable for the caching process of the multichannel communication multiple telecommunication data in the data communications equipment, can realize the buffer memory of multichannel (N〉2) bursty data business, realize flexibly relatively, can dispose more passage as requested.
2) the present invention's mode of adopting circular priority to combine with fixed priority realizes the operation arbitration to the multichannel bursty data, makes the bursty data business on each road can obtain the buffer memory of relative equilibrium.
3) the present invention is combined into new data stream with data length information and date content, leaves in the outer storer of sheet, has avoided the data length record sheet to cause the bottleneck of FPGA ram in slice shortage of resources.
4) the present invention adopts unique system architecture, reaches the FPGA resource situation according to demand, can simply increase or reduce the passage number in modular mode, to be fit to different applicable cases.
5) the present invention adopts the simple address generting machanism to the visit of sheet External Registers, does not need to adopt complicated chained list, make the BANK of sheet External Registers, row, column address independently to produce, and the generation of column address is not subjected to the influence of passage number.
Description of drawings
Fig. 1 adopts the FPGA ram in slice to realize the system chart of the multi-channel data buffer memory of data queue.
Fig. 2 adopts the outer RAM of FPGA ram in slice and sheet to combine to realize the system chart of multi-channel data buffer memory.
Fig. 3 is the system chart that the employing FPGA that provides of the embodiment of the invention realizes multichannel bursty data service buffer.
Fig. 4 is the storage block that provides of the embodiment of the invention and the division synoptic diagram of multichannel bursty data buffer area.
Fig. 5 is the circular priority distribution method synoptic diagram that the embodiment of the invention provides
Fig. 6 is that the single channel bursty data that the embodiment of the invention provides receives processing flow chart.
Fig. 7 is that the single channel bursty data that the embodiment of the invention provides is write the control processing flow chart.
Fig. 8 is the multichannel bursty data cache management process flow diagram that the embodiment of the invention provides.
Fig. 9 is that the single channel bursty data that the embodiment of the invention provides reads to control processing flow chart.
Figure 10 is that the single channel bursty data that the embodiment of the invention provides sends control flow chart.
Embodiment
In order to make purpose of the present invention, technical scheme and advantage clearer, below in conjunction with drawings and Examples, the present invention is further elaborated.Should be appreciated that specific embodiment described herein only in order to explaining the present invention, and be not used in restriction the present invention.
(1) as shown in Figure 3, adopt FPGA to realize that the system of multichannel bursty data service buffer comprises: fpga chip 1 and sheet External Registers 2 that the block RAM resource is provided in the present embodiment.
Fpga chip wherein further comprises: the packet reception consistent with the data channel number and buffer circuit 11, packet write control circuit 12, packet are read control circuit 13, packet buffering and transtation mission circuit 14, multichannel bursty data cache management circuit 15, the outer cache controller 16 of sheet.
The annexation of above-mentioned each ingredient and principle of work are as described below respectively.
(1) packet receives and buffer circuit 11, the bursty data input that its input comes from the outside, output is connected to packet write control circuit 12, be used for being responsible for receiving the data of input end and data buffering being got up, and will receive the full state of sky in the buffer zone and whether have the sign of whole bag to feed back to packet write control circuit 12.It includes the ping-pong buffer with ping-pong work that 2 two-port RAMs are formed, and buffering produces the full status signal of buffer empty simultaneously from the bursty data of external world's input.Address wire, the data line width difference of forming 2 two-port RAM reading-writing port of ping-pong buffer, the address wire of write port are that 11, data width are 8, and the address wire of read port be 8, data width is 64.
(2) the packet write control circuit 12, input receives and buffer circuit 11 from the packet of prime, output is connected to multichannel bursty data cache management circuit 15, and the full status signal in each passage buffer storage zone state management also offers packet write control circuit 12 as input.It is used for being responsible under by application and authorized situation, with a complete data pack buffer in sheet External Registers corresponding cache district.
(3) packet is read control circuit 13, and its input is from multichannel bursty data cache management circuit 15, and output is connected to packet buffering and transtation mission circuit 14.It is responsible for packet and reads, and under by application and authorization conditions, reads a complete packet and be written in the transmission buffer zone from sheet External Registers corresponding cache district.
(4) packet buffering and transtation mission circuit 14, its input is read control circuit 13 from packet, and output is connected to extraneous port.It is responsible for cushioning the whole packet that reads, and sends to the external world then.It includes the transmission data buffer of being made up of 1 two-port RAM, the address wire of the reading-writing port of two-port RAM, data line width difference, the address wire of write port is that 8, data line width are 64, is 8 and the address wire of read port is 11, data line width.
(5) multichannel bursty data cache management circuit 15, and its input and output read control circuit 13 with packet write control circuit 12, the packet on every road and the outer cache controller 16 of sheet links to each other.It is responsible for request, arbitration and the channel grant of multichannel bursty data, select data, address, the status information of authorised channel, the state of statistics buffer area generates column address, writes the data packet to the sheet External Registers or packet is read out from the sheet External Registers.It includes buffer state management circuit 151, multichannel bursty data combined arbitration device 152, read-write arbitration circuit 153, burst management circuit 154, cache user interface 155, writes end data and address selector 156, reads end data and address selector 157, writes functional modules such as authorization control circuit 158 and read authority control circuit.
Wherein: multichannel bursty data combined arbitration device 152 is the modes that adopt fixed priority to combine with circular priority, realizes request, arbitration, mandate to the multichannel bursty data.
Read that end data and address selector 156/ are write end data and address selector 157 all is that N selects 1 X position MUX, the size of N is with the bursty data port number correspondence of design, and for data selector, X is 2 times of total data bit width of sheet External Registers 2; For address selector, row, column address bit length and the data bit width of the figure place heel piece External Registers 2 of X are relevant.
Buffer state management circuit 151 contains the package counting facility of N K position, and the size of N is with bursty data port number correspondence, and the size of K is relevant with the degree of depth of the buffer area of respective channel; When corresponding buffer area write a bag on certain road, corresponding package counting facility added 1, and when taking a bag away, corresponding package counting facility subtracts 1; When the package counting facility value surpassed max-thresholds, the buffer area of respective channel was judged to dummy status, read this moment to hold no longer to send and read application; When the package counting facility value surpassed minimum threshold, the buffer area of respective channel was judged to full state, write end this moment and will no longer send and write application; Simultaneously, under the empty or full situation of buffer area, multichannel bursty data combined arbitration device 152 will no longer respond the request of reading or writing.
(6) the outer cache controller 16 of sheet, its input end, output terminal are connected with sheet External Registers 2 and multichannel bursty data cache management circuit 15 respectively; Soft the examining now of IP that the outer cache controller 16 of sheet adopts fpga chip manufacturer to provide.
(7) the sheet External Registers 2, and its input end, output terminal link to each other with the outer cache controller 16 of sheet, and it is the sheet External Registers that is independent of FPGA.
Sheet External Registers 2 is made up of the outer memory chip of sheet, according to the storage organization of storage chip inside, the memory block can be divided into the storage block of a plurality of 2048 byte-sized, and the memory unit address of each storage block is continuous.Continuous a plurality of storage blocks are formed buffer area, and each road bursty data passage is given in reallocation; Storage block can be divided according to row, column address, the data bit width of storage chip, if column address width is 10, the data bit width is 16, and then just in time delegation is divided into a storage block, complete packet of corresponding each storage block storage.And if that the size of each road buffer area is all distributed is identical, then can divide according to the BANK address of storage chip and the high address of row.If multichannel bursty data passage is 32, and storage chip BANK address width is 3, and then buffer area can be by 8 BANK, and each BANK is divided into four districts and divides, high 2 bit address at once are used for doing the division of four buffer areas in the BANK, and dividing mode can be with reference to the accompanying drawings 4.Therefore the address on every road produces, and just becomes very simple, and the address of row is generated by the burst administration module in the multichannel bursty data cache management circuit, and after each burst operation, column address increases by burst-length automatically; And the address of row is produced by the packet Writing/Reading control circuit on every road, namely each past buffer area writes a complete packet, (high 2 bit address are used for the buffer area dividing region to row low (N-2) bit address, constant after distributing) add 1 automatically, read a complete packet from buffer area, the row low order address subtracts 1 automatically at every turn.
In addition, packet receives and buffer circuit 11 contains data reception control circuit and data packet buffer, data reception control circuit wherein is used for being responsible for the ablation process of the extraneous input of control data to data bag buffer zone, generation write address (wr_ram_adr) and relevant writing enable (wr_ram_en) signal, contain 2 data packet length registers (pkt_length_reg), 2 whole bag zone bits (full_pkt_flag), wherein: data packet length register (pkt_length_reg) is used for when a complete packet is written to the bag buffer zone, latch current write address (wr_ram_adr) value, when the record length information of current data packet and packet write buffer area by the required burst number of times information of certain burst-length; Whether whole bag zone bit (full_pkt_flag) indicates buffer zone complete packet.
Packet write control circuit 12 is realized by internal logic, detect whole the bag when indicating (full_pkt_flag) set, initiate write request (ch_wr_req) to multichannel bursty data cache management circuit 15, etc. mandate to be written (ch_wr_gnt), the data query bag receives and the dummy status signal of the ping-pong buffer that buffer circuit 11 provides then, judge which buffer zone has whole bag, and in write data requests (ch_wdata_req) effectively under the situation, read the data of buffer zone and the data stream of itself and data packet length information combination Cheng Xin is exported to multichannel bursty data cache management circuit 15; And every write a complete data packet to buffer area after, row address (ch_wr_row_adr) adds 1 automatically, points to the line position that next packet is wanted buffer memory.
Multichannel bursty data cache management circuit 15 is realized by internal logic, and the read-write arbitration that the arbitration of a plurality of passages is authorized passage is authorized from function separately.Whether the multichannel bursty data combined arbitration device 152 real-time detections that include have channel request, and adopt the mode of circular priority or fixed priority to arbitrate according to a plurality of requests or single request and authorize which passage, and the passage of authorizing offered read-write arbitration circuit 153, read-write arbitration circuit 153 is with concrete the reading or write operation of authorised channel.Read or the write operation process in, burst management circuit 154 generates the column address (col_adr) of current operation, and column address (col_adr) increases by burst-length after each burst operation, wants burst position next time to point to; Cache user interface 155 is finished the conversion of sheet External Registers address simultaneously, and generates the interface signal of the outer cache controller 16 of sheet.The priority method of circular priority as shown in Figure 5, the bursty data passage that current priority is the highest is distributing medium priority minimum next time.
Packet is read control circuit 13, realized by internal logic control, when detecting the transmission buffer empty, and the outer buffer area of sheet is when having packet, initiate read request (ch_rd_req) to multichannel bursty data cache management circuit 15, and wait read authority (ch_rd_gnt), when read data useful signal (ch_rdata_valid) is effective, the data that read are written in the transmission buffer zone, latch the data packet length information (pkt_length_info) that reads simultaneously, data packet length information (pkt_length_info) provides current read data packet by the required burst number of times of certain burst-length.
Packet buffering and transtation mission circuit 14 contain data and read control circuit and send buffer zone, and data are read control circuit when the transmission buffer area has complete data packet, generate read control signal, and control sends the data read of buffer zone.
(2) course of work of said system is:
(1) initialization procedure.
Behind the electrification reset, system carries out initialization procedure immediately, all zero clearings such as the row address of each passage in the FPGA sheet, length counter, RAM read/write address, passage read, column address, package counting facility, each buffer state in the buffer state management is empty, each road buffer area pipeline depth is set, and each inner control logic is in idle condition.
(2) receiving data handles.
With reference to the accompanying drawings 6, the concrete treatment scheme in this process is: if extraneous data input is arranged, check whether ping-pong buffer is empty, check whether the outer buffer state of corresponding sheet is non-full, if condition is false, then abandons the packet of current input; If condition is set up, then will import data is written in the ping-pong buffer by byte, the byte number of the data of counting input simultaneously, after receiving a complete packet, latch the write address (wr_ram_adr) of ping-pong buffers in data packet length register (pkt_length_reg), set simultaneously is whole bag sign (full_pkt_flag) accordingly.
(3) write the data application.
With reference to the accompanying drawings 7, concrete treatment scheme in this process is: the packet write control circuit is inquired about whole bag sign (full_pkt_flag) under the clock period, when detecting whole bag flag set, known ping-pong buffer has a complete packet, initiate to write bag application (ch_wr_req) to multichannel bursty data cache management circuit immediately, and wait for multichannel bursty data combined arbitration device write mandate (ch_wr_gnt), when write data requests useful signal (ch_wdata_req) arrives, the packet write control circuit reads the complete data packet content of ping-pong buffer, and the value in itself and this length of data package information (pkt_length_reg) is combined into new data flow cache in the sheet External Registers in the corresponding cache district; Row address under the write operation (ch_wr_col_adr) writes in the sheet External Registers behind its corresponding cache district a complete data packet, adds 1 automatically, points to the position that next packet will write; The abort signal (ch_wr_term) of writing of packet is to be produced by the burst number of times in more current column address (col_adr) and the whole packet length (pkt_length_reg) by the burst management circuit in the multichannel bursty data cache management circuit.
(4) multichannel bursty data arbitration management.
With reference to the accompanying drawings 8, concrete treatment scheme in this process is: whether the detection in real time under the clock period of multichannel bursty data combined arbitration device has passage (reading or writing) request (chx_req), and according to the quantity of current channel request, determine to adopt circular priority (the channel request number is greater than 1) or fixed priority (having only single request) mode to realize the poll of asking and the mandate (chx_gnt) of passage, the passage of authorizing by the read-write arbitration, generates read operation mandate (chx_rd_gnt) or write operation mandate (chx_wr_gnt) again.Select data, row address, burst number of times, the control signal of institute's authorised channel correspondence simultaneously according to the result of arbitration, the selection of the data of authorised channel, row address, burst number of times, control signal is by reading to hold/write end address and data selector to finish; When writing a complete data packet to corresponding passage buffer storage district, corresponding package counting facility adds 1 automatically in the buffer state management circuit, when reading a complete data packet from corresponding passage buffer storage district, corresponding package counting facility subtracts 1 automatically in the buffer state management circuit; When the package counting facility value surpasses max-thresholds or minimum threshold, with the full or dummy status signal of buffer area that produces respective channel.
(5) read data application.
With reference to the accompanying drawings 9, concrete treatment scheme in this process is: data read whether control circuit detection transmission buffer zone is empty, detect whether non-NULL of the outer buffer area of corresponding sheet again, then send to multichannel bursty data cache management circuit then and read bag application (ch_rd_req), and the read authority (ch_rd_gnt) of wait multichannel bursty data combined arbitration device, reading data useful signal (ch_rdata_valid) effectively the time, isolate packet content and data length information, data length is recorded in the length information register (pkt_length_info), and data content is written to chronologically and sends in the buffer zone.After a complete data packet was read, the row address under the read operation (ch_rd_col_adr) added 1 automatically, pointed to the next packet position that will read.The abort signal (ch_rd_term) of reading of packet relatively produces by burst number of times in the length information register (pkt_length_info) and when top address (col_adr).The concrete visible accompanying drawing 9 for the treatment of scheme.
(6) sending data handles.
With reference to the accompanying drawings 10, the concrete treatment scheme in this process is: packet buffering and transtation mission circuit detect and send buffer zone whether complete packet is arranged, and send to extraneous output terminal after reading data with the byte form from send buffer zone then.In the process of transmitting, byte number (tx_bytes) with the record transmission, and compare with current data packet length information (pkt_length_info), whether the specified data bag sends, after being sent completely, send byte number and current data packet length information and all be cleared, wait for reading and sending of next packet.
The above only is preferred embodiment of the present invention, not in order to limiting the present invention, all any modifications of doing within the spirit and principles in the present invention, is equal to and replaces and improvement etc., all should be included within protection scope of the present invention.

Claims (11)

1. the system based on the realization multichannel bursty data service buffer of FPGA is characterized in that, this system comprises the sheet External Registers and the fpga chip that the RAM resource is provided for buffer memory multichannel bursty data; Described fpga chip comprises: the outer cache controller of sheet, multichannel bursty data cache management circuit, and the packet reception consistent with the data channel number and buffer circuit, packet write control circuit, packet buffering and transtation mission circuit, packet are read control circuit; Wherein,
Described packet receives and buffer circuit, its input end receives extraneous bursty data input, output terminal and is connected with the packet write control circuit, comprise the packet reception control circuit and receive buffer zone, be used for when the reception buffer zone is sky, receiving the extraneous bursty data of importing and it is write the reception buffer zone, and the bag zone bit is put in order in set when writing complete packet;
Described packet write control circuit, its input end receives with packet and buffer circuit is connected, output terminal is connected with multichannel bursty data cache management circuit, be used for being set and the buffer area of sheet External Registers respective channel when being non-full state at described whole bag zone bit, under the application of multichannel bursty data cache management circuit and authorized situation, read and receive packet complete in the buffer zone and itself and its length information is combined in the buffer area of new data flow cache respective channel in the sheet External Registers, generate the row address information of next write operation simultaneously;
Described packet buffering and transtation mission circuit, its input end read with packet that control circuit is connected, output terminal is connected with extraneous port, comprise sending buffer zone and packet sending controling circuit, are used for the complete packet of buffering and send it to extraneous port;
Described packet is read control circuit, its input end is connected with multichannel bursty data cache management circuit, output terminal is connected with packet buffering and transtation mission circuit, when the buffer area that be used for to send buffer zone and be sky and sheet External Registers respective channel is non-dummy status, after under the application of multichannel bursty data cache management circuit and authorized situation, from the sheet External Registers, reading complete packet in the buffer area of respective channel, write and send in the buffer zone, generate the row address information of next read operation simultaneously;
Described multichannel bursty data cache management circuit, be connected to multichannel data bag write control circuit and packet respectively and read control circuit, and be connected with the outer cache controller of sheet, be used for receive the multichannel bursty data read to wrap application or write the bag application time to the bursty data passage that sends application arbitrate and authorize, concrete read operation or the write operation of channel grant to authorizing again, generate the column address information of current read operation or write operation, packet is read out or write the data packet the sheet External Registers from the sheet External Registers;
Described outer cache controller is connected between multichannel bursty data cache management circuit and the sheet External Registers, is used for the sheet External Registers is controlled.
2. the system of the realization multichannel bursty data service buffer based on FPGA as claimed in claim 1, it is characterized in that described multichannel bursty data cache management circuit comprises: multichannel bursty data combined arbitration device, read-write arbitration circuit, burst management circuit, cache user interface, buffer state management circuit, write end data and address selector, read end data and address selector, read authority control circuit, write the authorization control circuit; Wherein,
Described multichannel bursty data combined arbitration device, be used for mode that single channel request adopts fixed priority only to be arranged or greater than the mode that adopted circular priority at 1 o'clock each bursty data passage being arbitrated and being authorized in the quantity of current channel request current, and the bursty data channel information of authorizing offered the read-write arbitration circuit, authorize concrete read operation or write operation by it;
Described burst management circuit is used in read operation or write operation process, generates the column address of the sheet External Registers of current operation, finishes the conversion of sheet External Registers address and the interface signal of the outer cache controller of generation sheet accordingly by the cache user interface simultaneously;
Described buffer state management circuit, comprise the N consistent with a bursty data port number package counting facility, be used for the sheet External Registers is carried out real-time statistics respectively corresponding to the number of the packet in each bursty data passage buffer storage district, road, in the package counting facility value of every road correspondence during greater than max-thresholds, notice is corresponding writes the authorization control circuit and its corresponding buffer area of packet write control circuit is full state, multichannel bursty data combined arbitration device the writing of packet write control circuit of state termination response respective channel accordingly wraps application, and the data write control circuit of respective channel termination simultaneously sends to write wraps application; In the package counting facility value of every road correspondence during less than minimum threshold, it is dummy status that the read authority control circuit that notice is corresponding and packet are read its corresponding buffer area of control circuit, multichannel bursty data combined arbitration device will be accordingly the state packet of ending the response respective channel read control circuit read the bag application, the packet of respective channel is read control circuit and is ended to send and read the bag application simultaneously;
Describedly write end data and address selector/read end data and address selector are used for selecting according to the arbitration result of multichannel bursty data combined arbitration device institute's authorised channel when write operation/read operation corresponding packet and row address.
3. the system of the realization multichannel bursty data service buffer based on FPGA as claimed in claim 1 or 2 is characterized in that described reception buffer zone is made up of the ram in slice storer with ping-pong work of 2 dual-ports; Described transmission buffer zone is made up of the ram in slice storer of 1 dual-port.
4. the system of the realization multichannel bursty data service buffer based on FPGA as claimed in claim 3, it is characterized in that, it is 8 that the address wire with the write port of the ram in slice storer of ping-pong work of 2 dual-ports of described reception buffer zone has 11, input data width, and it is 64 that the address wire of read port has 8, output data width;
The address wire of the write port of the ram in slice storer of 1 dual-port of described transmission buffer zone has 8, writes data width is 64, and it is 8 that the address wire of read port has 11, read data width.
5. the system of the realization multichannel bursty data service buffer based on FPGA as claimed in claim 1 is characterized in that described External Registers is made up of 2 16 memory chip.
6. the system of the realization multichannel bursty data service buffer based on FPGA as claimed in claim 5, it is characterized in that, described memory chip is divided into the storage block of a plurality of same capability sizes, and wherein continuous a plurality of storage blocks are formed buffer areas and distributed to each road bursty data passage.
7. the system of the realization multichannel bursty data service buffer based on FPGA as claimed in claim 6 is characterized in that described memory chip is divided into the storage block of a plurality of 2048 byte-sized.
8. method of the realization multichannel bursty data service buffer of system according to claim 1, it is characterized in that this method comprises: receive step, the step of writing the data application, the step of multichannel bursty data arbitration management, the step of read data application and the step that sends the data processing that data are handled; Wherein,
The step that described reception data are handled comprises: when the bursty data input is arranged in the external world, judge that whether receive buffer zone is whether the buffer area of respective channel in sky and the sheet External Registers is non-full, if not, then abandons the packet of current input; If, then this packet is write by byte and receives in the buffer zone, add up the byte number of this packet simultaneously, and when receiving a complete packet the whole bag of set zone bit;
The step of write data application comprises: inquiry in real time receives the whole bag zone bit in the buffer zone, when detecting set, initiate to write the bag application to multichannel bursty data cache management circuit, and by application and when authorized, read receive packet content complete in the buffer zone and with its with the data flow cache of this length of data package information combination Cheng Xin in the sheet External Registers in the corresponding bursty data passage buffer storage district;
The step of described multichannel bursty data arbitration management comprises: inquire about the read of each paths in real time, carry out earlier the arbitration of request and the mandate of passage are read and write arbitration to the passage of authorizing again, generate read operation mandate or write operation mandate;
The step of described read data application comprises: whether the buffer area that detect to send buffer zone and whether be respective channel in sky and the sheet External Registers non-NULL, if, then initiate to read the bag application to multichannel bursty data cache management circuit, and by application and when authorized, from the sheet External Registers, read complete packet in the buffer area of respective channel and from wherein isolating packet content and data length information, the record data length information writes packet content in the transmission buffer zone;
The step that described transmission data are handled comprises: detect to send in the buffer zone whether complete packet is arranged, then read data packet and send it to extraneous output terminal from send buffer zone.
9. the method for realization multichannel bursty data service buffer as claimed in claim 8, it is characterized in that, in the step of described multichannel bursty data arbitration management, according to the quantity of current channel request, adopt the mode of circular priority or fixed priority to realize the arbitration of request and the mandate of passage.
10. the method for realization multichannel bursty data service buffer as claimed in claim 9 is characterized in that,
If current only have a single channel request, then adopt the mode of fixed priority to realize the arbitration of request and the mandate of passage;
If the quantity of current channel request greater than 1, then adopts the mode of circular priority to realize the arbitration of request and the mandate of passage.
11. the method as the described realization multichannel of the arbitrary claim of claim 8 to 10 bursty data service buffer is characterized in that this method also comprises the step of system initialization, this step further comprises:
Behind the electrification reset, system carries out initialization procedure immediately, row, column address zero clearing with each passage in the fpga chip, package counting facility, length counter zero clearing in the buffer state management, RAM read/write address, the whole zero clearings of passage read-write requests, each buffer zone, buffer area are made as dummy status, and each road buffer area pipeline depth is set, and each steering logic of inside is located at idle condition.
CN 201010580752 2010-12-09 2010-12-09 System and method for realizing multipath burst data business caching based on FPGA (Field Programmable Gate Array) Active CN102096648B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010580752 CN102096648B (en) 2010-12-09 2010-12-09 System and method for realizing multipath burst data business caching based on FPGA (Field Programmable Gate Array)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010580752 CN102096648B (en) 2010-12-09 2010-12-09 System and method for realizing multipath burst data business caching based on FPGA (Field Programmable Gate Array)

Publications (2)

Publication Number Publication Date
CN102096648A CN102096648A (en) 2011-06-15
CN102096648B true CN102096648B (en) 2013-08-14

Family

ID=44129748

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010580752 Active CN102096648B (en) 2010-12-09 2010-12-09 System and method for realizing multipath burst data business caching based on FPGA (Field Programmable Gate Array)

Country Status (1)

Country Link
CN (1) CN102096648B (en)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103077136B (en) * 2011-10-25 2017-07-14 广东新岸线计算机系统芯片有限公司 The method and apparatus of write-in data in a kind of AXI buses
CN102347910B (en) * 2011-11-24 2014-05-28 中国航空工业集团公司第六三一研究所 Dual-redundancy real-time network selection system
CN102646084A (en) * 2012-03-06 2012-08-22 上海纳轩电子科技有限公司 Efficient network packet storage method implemented based on FPGA (field programmable gate array)
CN103686314B (en) * 2012-09-04 2017-05-24 深圳中兴力维技术有限公司 Demultiplex device and method adopting HD (high definition) video channel to transmit SD (standard definition) videos
CN105335323B (en) * 2015-11-26 2019-04-30 浙江宇视科技有限公司 A kind of buffer storage and method of data burst
CN105573923A (en) * 2015-12-11 2016-05-11 中国航空工业集团公司西安航空计算技术研究所 Control circuit for accessing multi-block storage space
CN107959694B (en) * 2016-10-14 2021-04-06 中兴通讯股份有限公司 Data synchronization caching method and device
CN106844256B (en) * 2017-02-22 2020-09-11 天津大学 Active power distribution network real-time simulator internal interface design method based on multiple FPGAs
CN107426180B (en) * 2017-06-15 2020-05-05 西安微电子技术研究所 Detection apparatus for data frame coverage of ethernet
CN107248892B (en) * 2017-07-20 2023-06-06 中国检验检疫科学研究院 Monitoring system of security inspection equipment
CN111694777B (en) * 2019-03-11 2022-03-29 苏州微影激光技术有限公司 DMA transmission method based on PCIe interface
CN110493928B (en) * 2019-09-12 2022-01-11 洛阳银杏科技有限公司 Large-scale LED control system and control method
CN110536512B (en) * 2019-09-12 2022-03-29 洛阳银杏科技有限公司 Data buffer device for multipath control, multipath LED control system and control method
CN112765054A (en) * 2019-11-01 2021-05-07 中国科学院声学研究所 High-speed data acquisition system and method based on FPGA
CN110968534B (en) * 2019-11-26 2021-11-30 航天恒星科技有限公司 Multi-channel fragment merging processing method and system based on FPGA
CN111124961A (en) * 2019-12-30 2020-05-08 武汉先同科技有限公司 Method for realizing conversion from single-port RAM to pseudo-dual-port RAM in continuous read-write mode
CN111813717B (en) * 2020-06-10 2022-03-01 烽火通信科技股份有限公司 Device and method for data frame storage switching
CN111756650A (en) * 2020-06-11 2020-10-09 广东浪潮大数据研究有限公司 Data processing method and device, operation chip and storage medium
CN111857999B (en) * 2020-07-10 2023-01-10 苏州浪潮智能科技有限公司 Data scheduling method, device and equipment and computer readable storage medium
CN113296731B (en) * 2021-05-25 2023-04-11 电子科技大学 Multichannel data acquisition data caching method based on network on chip
CN114974390B (en) * 2022-07-28 2022-09-30 天津智芯半导体科技有限公司 RAM array self-checking and initialization circuit and chip
CN116719755B (en) * 2023-08-10 2023-11-07 浪潮电子信息产业股份有限公司 Method, device and equipment for multi-application memory access

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN2632767Y (en) * 2003-03-28 2004-08-11 港湾网络有限公司 Multichannel firist-in last-out data buffering memory
CN1783030A (en) * 2004-11-30 2006-06-07 中兴通讯股份有限公司 Method and device for managing transmitting buffer area in field programmable gate array
CN101771809A (en) * 2009-10-20 2010-07-07 大连捷成实业发展有限公司 Method for realizing multipath digital video synchronous processing on basis of FPGA

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070116465A1 (en) * 2005-11-21 2007-05-24 Tellabs Operations, Inc. Systems and methods for dynamic alignment of data bursts conveyed over a passive optical net work

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN2632767Y (en) * 2003-03-28 2004-08-11 港湾网络有限公司 Multichannel firist-in last-out data buffering memory
CN1783030A (en) * 2004-11-30 2006-06-07 中兴通讯股份有限公司 Method and device for managing transmitting buffer area in field programmable gate array
CN101771809A (en) * 2009-10-20 2010-07-07 大连捷成实业发展有限公司 Method for realizing multipath digital video synchronous processing on basis of FPGA

Also Published As

Publication number Publication date
CN102096648A (en) 2011-06-15

Similar Documents

Publication Publication Date Title
CN102096648B (en) System and method for realizing multipath burst data business caching based on FPGA (Field Programmable Gate Array)
US8397010B1 (en) Convenient, flexible, and efficient management of memory space and bandwidth
CN102143056B (en) Package
CN102185750B (en) Packaging body
CN102122652B (en) Tube core in package, package and method thereof
US7627672B2 (en) Network packet storage method and network packet transmitting apparatus using the same
CN102130100B (en) Packaging body, the tube core being used in the method in packaging body and being used in packaging body
KR100814904B1 (en) On-Chip Communication architecture
CN107783727B (en) Access method, device and system of memory device
CN105335323B (en) A kind of buffer storage and method of data burst
CN101004674B (en) Data processing system and high-definition TV including the data processing system
CN102347902B (en) Transmission interval regulation method and device and network equipment
CA2323930A1 (en) Ampic dram system in a telecommunication switch
CN103117962B (en) A kind of spaceborne Shared memory switch device
CN104407992B (en) A kind of four port stores based on dual ported register array
CN101309194A (en) SPI4.2 bus bridging implementing method and SPI4.2 bus bridging device
CN102130099B (en) Packaging body and the method be used in packaging body and tube core
CN112286844B (en) DDR4 control method and device capable of adapting to service address mapping
KR100676982B1 (en) Arrangement with a plurality of processors having an interface for a collective memory
US10031884B2 (en) Storage apparatus and method for processing plurality of pieces of client data
CN101102303A (en) A method for realizing SDH adaptation to Ethernet rate with logic
US7159049B2 (en) Memory management system including on access flow regulator for a data processing system
KR20160109733A (en) Storage apparatus and method for processing a plurality of client data
CN104734873B (en) Management method, the system of buffer in a kind of exchange system and its switching equipment
KR20150090491A (en) Electronic device and method for accessing data in the electronic device

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
CP02 Change in the address of a patent holder

Address after: 518057 the six level of energy storage building 3099, Keyuan South Road, Nanshan District, Shenzhen, Guangdong.

Patentee after: Shenzhen ZTE NetView Technology Co., Ltd.

Address before: 518057 two floor, W1-A building, science and technology south road, Nanshan District hi tech Zone, Shenzhen, Guangdong.

Patentee before: Shenzhen ZTE NetView Technology Co., Ltd.

CP02 Change in the address of a patent holder