WO2017156795A1 - 一种可编程可重构的帧处理器 - Google Patents

一种可编程可重构的帧处理器 Download PDF

Info

Publication number
WO2017156795A1
WO2017156795A1 PCT/CN2016/077369 CN2016077369W WO2017156795A1 WO 2017156795 A1 WO2017156795 A1 WO 2017156795A1 CN 2016077369 W CN2016077369 W CN 2016077369W WO 2017156795 A1 WO2017156795 A1 WO 2017156795A1
Authority
WO
WIPO (PCT)
Prior art keywords
frame
state machine
data processing
data
processing unit
Prior art date
Application number
PCT/CN2016/077369
Other languages
English (en)
French (fr)
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 武汉芯泰科技有限公司
Publication of WO2017156795A1 publication Critical patent/WO2017156795A1/zh
Priority to US16/114,291 priority Critical patent/US10785057B2/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/50Circuit switching systems, i.e. systems in which the path is physically permanent during the communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/06Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols

Definitions

  • the present invention relates to the field of data communication and digital integrated circuit technologies, and in particular, to a programmable reconfigurable frame processor.
  • the present invention provides a programmable reconfigurable frame processor.
  • a programmable reconfigurable frame processor including:
  • a first data processing unit configured to receive a frame/packet from a lower layer protocol and send the processed frame/packet to an upper layer protocol
  • a first state machine coupled to the first data processing unit, for controlling operation of the first data processing unit by a finite state transition table
  • a second data processing unit configured to receive a frame/packet from an upper layer protocol and send the processed frame/packet to a lower layer protocol
  • a second state machine coupled to the second data processing unit, for controlling operation of the second data processing unit by a finite state transition table
  • a main state machine respectively connected to the first state machine and the second state machine, for controlling operation of the first state machine and the second state machine by a finite state transition table
  • the first and second data processing units respectively include a frame structure description table for storing a frame header address pointer
  • the first state machine, the second state machine and the main state machine respectively comprise a protocol state structure description table for storing a head address pointer, a tail address pointer and a state transition value.
  • the programmable reconfigurable frame processor further includes:
  • an upper loopback bridge connected to the first data processing unit, the second data processing unit, and the main state machine, respectively, for implementing the first and second data processing under the control of the main state machine Bridging between the units, so that frames/packets from the upper layer protocol are processed by the second data processing unit, the upper loopback bridge, and the first data processing unit, and then sent to the upper layer protocol.
  • the programmable reconfigurable frame processor further includes:
  • a lower loop bridge connected to the first data processing unit, the second data processing unit, and the main state machine, respectively, for implementing the first and second data processing under the control of the main state machine Bridging between the units such that frames/packets from the underlying protocol are processed by the first data processing unit, the lower loop bridge, and the second data processing unit and sent to the lower layer protocol.
  • the first data processing unit comprises:
  • a first switch configured to enable or disable the receiving and transmitting of the frame/packet of the first data processing unit;
  • a first frame header connected to the first switch, Receiving or transmitting the header of the frame;
  • a first frame header processing module respectively connected to the first frame header and the first state machine, for using the first state machine Processing the frame header under the control;
  • the first frame data is connected to the first switch, and is used for receiving or transmitting frame data.
  • a first frame data processing module coupled to the first frame data and the first state machine, respectively, for processing frame data under control of the first state machine
  • a first verification switch connected to the first switch, for initiating or closing the receiving and sending of the verification data
  • a first verification module connected to the first verification switch and the first state machine, respectively, for The verification data is processed under the control of the first state machine.
  • the frame structure description table is included in the first frame header processing module.
  • the second data processing unit comprises:
  • a second switch configured to enable or disable the receiving and transmitting of the frame/packet of the second data processing unit
  • a second frame header connected to the second switch, for initiating or closing the receiving and transmitting of the frame header
  • a second frame header processing module is respectively connected to the second frame header and the second state machine, configured to process the frame header under the control of the second state machine;
  • a second frame of data is connected to the second gateway for initiating or closing reception and transmission of frame data
  • a second frame data processing module coupled to the second frame data switch and the second state machine, respectively, for processing frame data under control of the second state machine
  • a second check switch connected to the second switch, for initiating or closing the receiving and sending of the check data
  • a second verification module coupled to the second verification switch and the second state machine, respectively, for processing the verification data under the control of the second state machine.
  • the frame structure description table is included in the second frame header processing module.
  • the first frame header processing module includes:
  • a first checksum circuit configured to check a data pointed to by the pointer from the frame header address to the end of the frame address to determine whether to receive the current frame/packet
  • a first condition receiving circuit configured to further determine whether to receive the current frame/packet
  • the first condition receiving circuit includes:
  • a first FIFO register configured to store a frame header address pointer, a frame tail address pointer, and a value of each field specified by the communication protocol
  • a second FIFO register configured to store a frame header address pointer, a frame tail address pointer, and a mask of each field specified by the communication protocol
  • the first operator is configured to calculate a frame header of the frame/packet to be received, a value of each field specified by the communication protocol, and a mask of each field specified by the communication protocol, and output an operation result to determine whether to receive the current Frame/package.
  • the second frame header processing module includes:
  • a second checksum circuit configured to check a data pointed to by the pointer from the frame header address to the end of the frame address to determine whether to receive the current frame/packet
  • a second condition receiving circuit configured to further determine whether to receive the current frame/packet
  • the second condition receiving circuit includes:
  • a third FIFO register configured to store a frame header address pointer, a frame tail address pointer, and a value of each field specified by the communication protocol
  • a fourth FIFO register configured to store a frame header address pointer, a frame tail address pointer, and a mask of each field specified by the communication protocol
  • a second operator for calculating a frame header of the frame/packet to be received, a value of each field specified by the communication protocol, and a mask of each field specified by the communication protocol, and outputting the operation result to determine whether to receive the current Frame/package.
  • the first state machine, the second state machine and the main state machine respectively further comprise a state transition decision module for determining a condition for transitioning from one state to a next state;
  • the state transition decision module includes:
  • an encoded value input circuit for providing a reconfigurable encoded value
  • the logic operation circuit is configured to perform a logic operation according to the code value provided by the code value input circuit, and then output the operation result to determine whether to transfer to the next state.
  • the encoded value includes:
  • the target event source encoded value is used to characterize the target event source.
  • the programmable reconfigurable frame processor further includes:
  • a programmable sequence generator configured to provide a sequence signal for the first and second state machines
  • the programmable sequence generator includes:
  • a relative delay output module connected to the counter, configured to provide a standardized data transmission sequence according to the configured relative delay value, where the relative delay value includes a delay before data transmission, and a data transmission delay Delay, frame protection, and channel period;
  • the independent delay output module is coupled to the counter for providing at least one independent delay period according to the configured independent delay value to provide a data reception sequence.
  • the embodiment of the present invention has the following beneficial effects: By configuring a frame structure description table and a protocol state structure description table, the values of the fields and the protocol states specified by the protocol can be reconstructed, thereby making the processor adaptive.
  • the change of the protocol greatly improves the compatibility of the processor and reduces the cost of processor reconstruction.
  • the processor of the present invention can be applied to any communication mechanism of the sequencing mechanism and the channel division mechanism. The user simply changes the relative delay of the relative delay output module to change the processor's sequencing mechanism and channel splitting mechanism.
  • the self-loopback detection of the processor can be implemented by setting the upper loopback bridge. Detection of the underlying device can be achieved by setting the lower loop bridge.
  • FIG. 1 is a schematic structural diagram of a processor according to a first embodiment of the present invention
  • FIG. 2 is a schematic structural diagram of a processor according to a second embodiment of the present invention.
  • FIG. 3 is a schematic structural diagram of a data processing unit provided by the present invention.
  • FIG. 4 is a schematic structural diagram of a verification module provided by the present invention.
  • FIG. 5 is a schematic structural diagram of a frame header processing module provided by the present invention.
  • FIG. 6 is a schematic diagram showing a protocol state structure description table provided by the present invention.
  • FIG. 7 is a schematic structural diagram of a state transition decision module provided by the present invention.
  • FIG. 8 is a schematic structural diagram of a logic operation circuit of FIG. 7;
  • FIG. 9 is a schematic structural diagram of a programmable sequence generator provided by the present invention. Embodiments of the invention
  • Embodiment 1 Processor
  • This embodiment provides a programmable reconfigurable frame processor 100.
  • the processor 100 includes:
  • a first data processing unit 12 configured to receive a (Ln-1 layer) frame (or packet) from a lower layer protocol, and send the processed frame (or packet) to an upper layer (Ln+1 layer) protocol;
  • the first state machine connected to the first data processing unit 12, for controlling the operation of the first data processing unit 12 by the finite state transition table;
  • the second data processing unit 22 is configured to receive a frame (or a packet) from an upper layer protocol, and send the processed frame (or packet) to a lower layer protocol;
  • the second state machine 21 is coupled to the second data processing unit 22 for controlling the operation of the second data processing unit 22 by the finite state transition table;
  • the primary state machine 10 is coupled to the first and second state machines 11 and 21, respectively, for controlling the operation of the first and second state machines 11 and 21 by the finite state transition table;
  • the first and second data processing units 12 and 22 respectively include frame structure description tables 12a and 22a for storing a header address pointer, a frame tail address pointer, and values of respective fields specified by the communication protocol;
  • the first state machine 11, the second state machine 21, and the main state machine 10 respectively include a protocol state structure description table 11a.
  • the working principle of the processor 100 is as follows:
  • the main state machine 10 acquires the necessary data and instructions through the address bus ABus and the data bus DBus, and issues different control signals to the first and second state machines through the finite state transition table.
  • CLK is the ⁇ clock signal of the main state machine
  • CSR is the status word signal of the main state machine
  • RST is the reset signal of the main state machine 10.
  • the main state machine 10 includes a protocol state structure description table 10a, which can be used to store a frame header address pointer. , the end of the frame address pointer and the state transition value. Therefore, the state transition value in the main state machine 10 can be reconstructed only by configuring the values of the frame header address pointer and the frame tail address pointer.
  • the structures of the first state machine 11, the second state machine 21, and the main state machine 10 may be identical. State transitions are performed under the control of the first and second state machines 11 and 21 main state machine 10, thereby controlling the operation of the first and second data processing units 12 and 22, respectively.
  • CLKR and CLKT are the chirp signals of the first and second state machines 11 and 21, respectively
  • AR and AT are the address buses of the first and second state machines 11 and 21, respectively
  • DR and DT are the first and the first, respectively.
  • CSRR and CSRT are the state control word signals for the first and second state machines, respectively.
  • the first and second state machines 11 and 21 respectively include frame structure description tables 11a and 21a. Therefore, the state transition values of the first and second state machines 11 and 21 are also reconfigurable, so that the finite state transition tables of the first and second state machines 11 and 21 can be applied to different communication protocols.
  • the structures of the first and second data processing units 12 and 22 may also be identical.
  • the frame structure description tables 12a and 2 2a store the values of the fields specified by the communication protocol, and thus the communication protocol data in the frame structure description tables 12a and 22a are also reconfigurable.
  • the present application sets two data processing units for receiving data of a certain layer and transmitting data to the layer. That is to say, for a specific layer, the processor of the present application uses two independent data processing units to complete the data receiving and transmitting work respectively, thereby implementing the conversion of the same layer protocol.
  • the processor of this embodiment has the following eight data processing modes, and the specific signal flow is as follows:
  • Mode 1 dRi ⁇ first data processing unit 12 ⁇ dRo, that is, the input data dRi transmitted by the Ln-1 protocol layer is sent to the Ln+1 protocol layer after the first data processing unit 12 forms the output data dRo.
  • This processing mode mainly functions as frame relay/forward, routing, and the like.
  • Mode 2 dTi ⁇ second data processing unit 22 ⁇ dTo, that is, the input data dTi transmitted by the Ln+1 protocol layer is formed by the second data processing unit 22 to be output to the Ln-1 protocol layer.
  • This processing mode also plays the role of frame relay/forward, routing, and the like.
  • Mode 3 dRi ⁇ first data processing unit 12 ⁇ first state machine 11 ⁇ main state machine 10, that is, the input data dRi transmitted by the Ln-1 protocol layer passes through the first data processing unit 12 and the first state machine 11 It is then sent to the main state machine 10.
  • the processing mode mainly serves to send a control command or response to the main state machine 10 by the Ln-1 protocol layer.
  • Mode 4 Main state machine 10 ⁇ first state machine 11 ⁇ first data processing unit 12 ⁇ dRo, that is, main state machine 10 sends output data dRo to first state machine 11 and first data processing unit 12 to Ln+1 layer.
  • the processing mode is mainly used for the primary state machine to send a control command or response to the Ln+1 protocol layer.
  • Mode 5 dTi ⁇ second data processing unit 22 ⁇ second state machine 21 ⁇ main state machine 10, that is, the input data dTi transmitted by the Ln+1 layer passes through the second data processing unit 22 and the second state machine 21 Send to the main state machine 10 .
  • This processing mode mainly serves to transmit a control command or response to the main state machine 10 by the Ln+1 protocol layer.
  • Mode 6 Main state machine 10 ⁇ second state machine 21 ⁇ second data processing unit 22 ⁇ dTo, ie, main state machine 10 sends output data dTo to second state machine 21 and second data processing unit 22 to Ln-1 protocol layer.
  • This processing mode is mainly used by the primary state machine to send control commands or responses to the Ln-1 protocol layer.
  • Mode 7 dRi ⁇ first data processing module 12 ⁇ first state machine 11 ⁇ main state machine 10 ⁇ second state machine 21 ⁇ second data processing unit 22 ⁇ dTo, ie data input DRi of Ln-1 layer
  • the output data dTo is formed and sent to the Ln-1 layer after passing through the first data processing unit 12, the first state machine 11, the main state machine 10, the second state machine 21, and the second data processing unit 22 in sequence.
  • This processing mode is mainly used for protocol conversion and Ln-1 protocol layer detection.
  • the data input by the Ln-1 protocol layer may be in the A protocol.
  • the data converted to the B protocol is returned to the Ln-1 protocol layer.
  • Mode eight dTi ⁇ second data processing unit 22 ⁇ second state machine 21 ⁇ main state machine 10 ⁇ first state machine 11 ⁇ first data processing module 12 ⁇ dRo, ie data input by the Ln+1 protocol layer
  • the dTi sequentially passes through the second data processing unit 22, the second state machine 21, the main state machine 10, the first state machine 11, and the first data processing unit 12 to form output data dRo to be transmitted to the Ln+1 layer.
  • This processing mode is mainly used for protocol conversion and self-loopback detection. That is to say, it is possible to detect whether the processor is working normally by the working mode.
  • the protocol layer in which the processor is located is arbitrary, and may be, for example, a physical layer, a MAC layer, an IP layer, a TCP layer, or an application layer. Therefore, the processor of the present application has general applicability.
  • Embodiment 2 Processor [0102] This embodiment provides a processor 100 of another structure. As shown in FIG. 2, the processor 100 adds an upper loopback bridge 31 and a lower loopback bridge 32 to the first embodiment.
  • the upper loopback bridge 31 is connected to the first data processing unit 12, the second data processing unit 22 and the main state machine 10, respectively, for implementing the first and second under the control of the control signal Sbu of the main state machine 10.
  • the data processing units 12 and 22 are bridged such that the data dTi from the upper layer passes through the second data processing unit 22, the upper loopback bridge 31, and the first data processing unit 12 to form output data dRo and is transmitted to the upper layer.
  • the lower loop bridge 32 is connected to the first data processing unit 12, the second data processing unit 22, and the main state machine 10, respectively, for implementing the first and second under the control of the control signal Sbd of the main state machine 10.
  • the bridge between the data processing units 12 and 22 causes the data dRi from the lower layer to pass through the first data processing unit 12, the lower loop bridge 32, and the second data processing unit 22 to form output data dTo and transmit to the lower layer.
  • the processor of the present embodiment has the following two data processing modes.
  • the specific signal flow is as follows:
  • Mode 9 dRi ⁇ first data processing unit 12 ⁇ down loop bridge 32 ⁇ second data processing unit 22 ⁇ dTo, that is, the data dRi transmitted by the Ln-1 layer passes through the first data processing unit 12 and the lower loop bridge 32. And the second data processing unit 22 returns to the Ln-1 protocol layer.
  • This processing mode is mainly used for protocol conversion and lower layer detection of lower layer data.
  • Mode ten dTi ⁇ second data processing unit 22 ⁇ upper loopback bridge ⁇ first data processing unit12 ⁇ dRo, that is, the data dTi sent by the Ln+1 protocol layer passes through the second data processing unit 22 and the upper loopback bridge. 31 and the first data processing unit 12 are then returned to the Ln+1 protocol layer.
  • This processing mode is mainly used for protocol conversion of upper layer data and self-loopback detection of the processor.
  • Embodiment 3 Data Processing Unit
  • This embodiment provides a programmable reconfigurable frame processor 100, which is mainly a specific implementation of the data processing units 12 and 22 in the first embodiment and the second embodiment.
  • the first data processing unit 12 and the second data processing unit 22 have the same structure.
  • a data packet or frame consists of three parts: a frame header, frame data, and parity data.
  • calibration data such as CRC check code.
  • the first data processing unit 12 includes: [0111] a first gateway 121, configured to enable or disable the receiving and transmitting of a frame (or packet) of the first data processing unit 12;
  • a frame header (SW) 122a connected to the first switch 121, for turning on or off receiving and transmitting the frame header;
  • the frame header processing module 123a is connected to the frame header 122a and the first state machine 11, respectively, for processing the frame header under the control of the first state machine 11;
  • the frame data switch 122b is connected to the first switch 121 for activating or receiving the reception and transmission of frame data.
  • the frame data processing module 123b is connected to the frame data switch 122b and the first state machine 11, respectively, for processing the frame data under the control of the first state machine 11;
  • the verification switch 122c is connected to the first switch 121 for receiving or receiving the check data reception and transmission.
  • a verification module 123c connected to the verification gate 122c and the first state machine 11, respectively, for use in the first state machine
  • the check data is processed under the control of 11.
  • the second data processing unit 22 includes:
  • the second gateway 221 is configured to enable or disable the receiving and sending of frames (packets) of the second data processing unit 22
  • the frame header switch 222a is connected to the second switch 221 for activating or closing the receiving and transmitting of the frame header;
  • the frame header processing module 223a is respectively connected to the frame header switch 222a and the second a state machine 21, configured to process a frame header under the control of the second state machine 21;
  • the frame data switch 222b is connected to the second switch 221 for receiving or receiving the reception and transmission of the frame data.
  • the frame data processing module 223b is respectively connected to the frame data switch 222b and the second state machine 21 for processing the frame data under the control of the second state machine 21;
  • a checksum switch 222c connected to the second switch 221, for turning on or off the receiving and sending of the check data
  • the verification module 223c is connected to the verification switch 222c and the second state machine 21, respectively, for processing the verification data under the control of the second state machine 21. [0126] Since the left and right sides of the main state machine 10 have the same structure, the specific working principle is described below by taking the structure on the left side of the main state machine 10 as an example.
  • Embodiment 4 Frame Head Processing Module
  • This embodiment provides a specific structure of a frame header processing module, which is applicable to the header processing modules 123a and 223a in the third embodiment.
  • the frame header processing module includes: a checksum circuit 141a and a conditional receiving circuit 141b.
  • the checksum circuit 141a is for verifying the data pointed from the header address pointer PS to the end of frame pointer PE and determining whether to receive the current frame (packet).
  • the checksum circuit 141a specifically performs a checksum method according to the head address pointer P S , the tail address pointer PE and the input data di, and any method in the prior art can be used, and the description is omitted here.
  • the processing result is output through the Cout signal. In different protocols, it is necessary to check the different bits of the input data di.
  • the position of the checksum is specified by the frame header address pointer PS and the frame tail address pointer PE, so that the address pointer can be changed by Adapt to any agreement.
  • the conditional receiving circuit 141b is for further determining whether or not to receive the current frame (packet).
  • the frame structure description tables of the first embodiment to the third embodiment are included in the condition receiving circuit 141b of the frame header processing module.
  • the condition receiving circuit 141b includes:
  • FIFO register 1411 configured to store a value of each of the fields specified by the frame header address pointer PS, the end of frame address pointer PE, and the communication protocol;
  • a FIFO register 1413 configured to store a header of the frame header address pointer PS, the end of frame address pointer PE, and a field specified by the communication protocol;
  • the arithmetic unit 1412 is configured to calculate a frame header (input data di) of the data to be received, a value Pi of each field specified by the communication protocol, and a mask Mi of each field specified by the communication protocol, and output the operation result do Determine if you want to receive current data.
  • condition receiving circuit 141b works as follows:
  • the reset signal RST is asserted or initialized, and the value of each field specified by the frame header address pointer PS, the end of frame address pointer PE, and the communication protocol is modified by the address bus AR and the data bus DR.
  • OP is the arithmetic logic of the arithmetic unit 1412, which can be defined according to actual needs.
  • do is converted to 1, then the current frame is received, otherwise the current frame is discarded.
  • the frame header processing module does not define any specific data processing rule of the protocol, but simply performs logical operations on the frame header and the protocol field in the FIFO register 1411, and the rules of the logical operation. This can be determined by changing the mask in the FIFO register 1413. That is, the user can configure the protocol field in the F IFO register, as well as the mask of the protocol field. With these two configurations, the conditional receiving circuit 141b then reconstructs to identify any new protocol data.
  • the frame data structure description table of the present application is not necessarily implemented by using a FIFO register, and the first-in first-out, the advanced-out-out, and the round-robin queue are all feasible technical solutions.
  • Embodiment 5 Verifying Module
  • the verification module 143 includes: a shift register 1431 and a logic processing unit 143 2 . Its working principle is as follows:
  • the check module 143 When the enable signal Scr/Sct is active, the check module 143 operates. Load a new polynomial from d33/d63. Logic processing unit 1432 performs logical processing based on the newly loaded polynomial and the currently received parity data di
  • the shift register is set for the shift register 1431.
  • the verification module in this application is also reconfigurable.
  • Embodiment 6 provides a specific data structure and working principle of the state machine, which is applicable to the first state machine 11, the second state machine 21, and the main state machine 10 of the first embodiment to the third embodiment.
  • Figure 6 shows the protocol state structure description table data structure in the state machine.
  • the FIFO register stores a header address pointer PS, a frame tail address pointer PE, and state transition values VS(1) to VS(M). Where M is the number of states of the current protocol.
  • the storage space of the FIF 0 register is sufficient to meet the number of states required by any protocol.
  • FIG. 7 shows a schematic structural diagram of a state transition decision module.
  • the state transition decision module 15 includes: an encoded value input circuit 151 and a logical operation circuit 152.
  • the code value input circuit 151 is for providing a reconfigurable code value including an operation code value OPC, a current trigger event source code value Cs, and a target event source code value Cd.
  • the operation type of the logic operation circuit 152 can be determined by calculating the code value OPC. For example, if the operation code value OPC is 2 bits, then four types of logic operations can be defined. If OPC is 3b it, eight types of logic operations can be defined. The value of OPC is acceptable for the user's configuration and is therefore suitable for different protocols.
  • Cs can be used to characterize the current event source, and its values can be configured to suit different protocols.
  • Cd is used to characterize the target event source and perform logical operations with the current event source to determine if a state transition is made at the current event source.
  • the logic operation circuit 152 may include a logic operator 152a and a selector 152b.
  • SO means to keep the current state
  • S1 means to move to the next state.
  • the OPC is 2 bits, then the OPC can have four values 00, 01, 10, and 11.
  • the logic operator can define four operations, such as AND, OR, XOR, and OR. Of course, you can also define more complex calculations based on actual needs.
  • the logic of selector 152b can be:
  • Embodiment 7 Programmable Sequence Generator
  • This embodiment provides a specific structure of the programmable sequence generator 400 for defining the data receiving and transmitting sequence of the data processing modules of the first embodiment to the third embodiment.
  • the programmable sequence generator 400 includes a counter 41, a relative delay output module 42, and an independent delay output module 43.
  • the relative delay output module 42 is coupled to the counter 41 for providing a standardized data transmission sequence according to the configured relative delay value, the relative delay value including the delay before data transmission. Inter-Tds, delayed inter-time Tde after data transmission, frame protection inter-turn Tdp, and channel period Tdt.
  • the four relative delay values can be set by four series-connected units 42a ⁇ 42d, and finally the sum of the four relative delays, DTime, is output. Therefore, according to the sequence requirements of different communication protocols, the values of four relative delays can be configured (or programmable).
  • the present invention can be constructed to conform to the order relationship of different communication protocols by standardizing the order of different protocols and simply configuring the values of the four set-number units.
  • the independent delay output module 43 is coupled to the counter 41 for providing at least one independent delay period based on the configured independent delay value to provide a data reception sequence.
  • Figure 9 shows four independent delays, T1 ⁇ T4. These four independent delays are set by four parallel setting units 43a ⁇ 43d.
  • the number of setting units given in this embodiment is only for explaining the working principle, and is not intended to limit the structure thereof. Those skilled in the art, under the teachings of the present application, can design the number of set units according to actual needs, which does not require creative labor.
  • the standardized data receiving and transmitting sequence can be realized by the embodiment, and the user can reconstruct the data receiving and transmitting sequence applicable to different protocols by simply configuring the value of the setting unit.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Communication Control (AREA)

Abstract

一种可编程可重构的帧处理器(100)。所述帧处理器(100)包括:第一数据处理单元(12)、连接至第一数据处理单元(12)的第一状态机(11)、第二数据处理单元(22)、连接至第二数据处理单元(22)的第二状态机(21)以及分别连接至第一和第二状态机(11、21)的主状态机(10)。第一和第二数据处理单元(12、22)分别包括帧结构描述表(12a、22a),用于存储帧头地址指针、帧尾地址指针和通信协议规定的各字段的值;第一状态机(11)、第二状态机(21)和主状态机(10)分别包括协议状态结构描述表(11a、21a、10a),用于存储帧头地址指针、帧尾地址指针和状态转移值。通过配置帧结构描述表(12a、22a)和协议状态结构描述表(11a、21a、10a),可实现对协议规定的各字段的值和协议的状态的重构,从而使处理器自适应协议的变化,提升了处理器的兼容性,降低了处理器重构的代价。

Description

说明书 发明名称:一种可编程可重构的帧处理器 技术领域
[0001] 本发明涉及数据通信和数字集成电路技术领域, 尤其涉及一种可编程可重构的 帧处理器。
背景技术
[0002] 在目前的数据处理器中, 任何一个处理器可识别的数据协议种类是有限的。 但 是随着技术的不断进步, 各种新的协议不断出现, 原有的协议也在不断升级和 修改。 现有的数据处理器并不能自适应协议的升级和修改, 更不能自适应新协 议。 在出现升级的或新的通信协议吋, 只能相应地设计新的处理器。
[0003] 因此, 现有技术的处理器存在不能动态地适应协议变化以及升级和重构代价大 的缺点。
技术问题
[0004] 针对现有技术中处理器存在不能动态地适应协议变化以及升级和重构代价大的 缺陷, 本发明提供一种可编程可重构的帧处理器。
问题的解决方案
技术解决方案
[0005] 本发明就上述技术问题而提出的技术方案如下:
[0006] 一方面, 提供了一种可编程可重构的帧处理器, 包括:
[0007] 第一数据处理单元, 用于接收来自下层协议的帧 /包并将处理后的帧 /包发送至 上层协议;
[0008] 第一状态机, 连接至所述第一数据处理单元, 用于通过有限状态转移表控制所 述第一数据处理单元的运行;
[0009] 第二数据处理单元, 用于接收来自上层协议的帧 /包并将处理后的帧 /包发送至 下层协议;
[0010] 第二状态机, 连接至所述第二数据处理单元, 用于通过有限状态转移表控制所 述第二数据处理单元的运行; 以及 [0011] 主状态机, 分别连接至所述第一状态机和第二状态机, 用于通过有限状态转移 表控制所述第一状态机和第二状态机的运行;
[0012] 所述第一和第二数据处理单元分别包括帧结构描述表, 用于存储帧头地址指针
、 帧尾地址指针和通信协议规定的各字段的值;
[0013] 所述第一状态机、 第二状态机和主状态机分别包括协议状态结构描述表, 用于 存储头地址指针、 尾地址指针和状态转移值。
[0014] 优选地, 所述的可编程可重构的帧处理器还包括:
[0015] 上回环桥, 分别连接至所述第一数据处理单元、 第二数据处理单元和主状态机 , 用于在所述主状态机的控制下, 实现所述第一和第二数据处理单元之间的桥 接, 从而使来自上层协议的帧 /包经所述第二数据处理单元、 上回环桥和第一数 据处理单元处理后发送至上层协议。
[0016] 优选地, 所述的可编程可重构的帧处理器还包括:
[0017] 下回环桥, 分别连接至所述第一数据处理单元、 第二数据处理单元和主状态机 , 用于在所述主状态机的控制下, 实现所述第一和第二数据处理单元之间的桥 接, 从而使来自下层协议的帧 /包经所述第一数据处理单元、 下回环桥和第二数 据处理单元处理后发送至下层协议。
[0018] 优选地, 所述第一数据处理单元包括:
[0019] 第一幵关, 用于幵启或关闭所述第一数据处理单元的帧 /包的接收和发送; [0020] 第一帧头幵关, 连接至所述第一幵关, 用于幵启或关闭帧头的接收和发送; [0021] 第一帧头处理模块, 分别连接至所述第一帧头幵关和所述第一状态机, 用于在 所述第一状态机的控制下处理帧头;
[0022] 第一帧数据幵关, 连接至所述第一幵关, 用于幵启或关闭帧数据的接收和发送
[0023] 第一帧数据处理模块, 分别连接至所述第一帧数据幵关和所述第一状态机, 用 于在所述第一状态机的控制下处理帧数据;
[0024] 第一校验幵关, 连接至所述第一幵关, 用于幵启或关闭校验数据的接收和发送
; 以及
[0025] 第一校验模块, 分别连接至所述第一校验幵关和所述第一状态机, 用于在所述 第一状态机的控制下处理校验数据。
[0026] 优选地, 所述帧结构描述表包含在所述第一帧头处理模块中。
[0027] 优选地, 所述第二数据处理单元包括:
[0028] 第二幵关, 用于幵启或关闭所述第二数据处理单元的帧 /包的接收和发送;
[0029] 第二帧头幵关, 连接至所述第二幵关, 用于幵启或关闭帧头的接收和发送;
[0030] 第二帧头处理模块, 分别连接至所述第二帧头幵关和所述第二状态机, 用于在 所述第二状态机的控制下处理帧头;
[0031] 第二帧数据幵关, 连接至所述第二幵关, 用于幵启或关闭帧数据的接收和发送
[0032] 第二帧数据处理模块, 分别连接至所述第二帧数据幵关和所述第二状态机, 用 于在所述第二状态机的控制下处理帧数据;
[0033] 第二校验幵关, 连接至所述第二幵关, 用于幵启或关闭校验数据的接收和发送
; 以及
[0034] 第二校验模块, 分别连接至所述第二校验幵关和所述第二状态机, 用于在所述 第二状态机的控制下处理校验数据。
[0035] 优选地, 所述帧结构描述表包含在所述第二帧头处理模块中。
[0036] 优选地, 所述第一帧头处理模块包括:
[0037] 第一校验和电路, 用于对从帧头地址指针到帧尾地址指针所指向的数据做校验 和以确定是否接收当前帧 /包; 以及
[0038] 第一条件接收电路, 用于进一步确定是否接收当前帧 /包;
[0039] 所述第一条件接收电路包括:
[0040] 第一 FIFO寄存器, 用于存储帧头地址指针、 帧尾地址指针和通信协议规定的各 字段的值;
[0041] 第二 FIFO寄存器, 用于存储帧头地址指针、 帧尾地址指针和通信协议规定的各 字段的掩码; 以及
[0042] 第一运算器, 用于对待接收的帧 /包的帧头、 通信协议规定的各字段的值和通 信协议规定的各字段的掩码进行运算, 并输出运算结果以确定是否接收当前帧 / 包。 [0043] 优选地, 所述第二帧头处理模块包括:
[0044] 第二校验和电路, 用于对从帧头地址指针到帧尾地址指针所指向的数据做校验 和以确定是否接收当前帧 /包; 以及
[0045] 第二条件接收电路, 用于进一步确定是否接收当前帧 /包;
[0046] 所述第二条件接收电路包括:
[0047] 第三 FIFO寄存器, 用于存储帧头地址指针、 帧尾地址指针和通信协议规定的各 字段的值; ;
[0048] 第四 FIFO寄存器, 用于存储帧头地址指针、 帧尾地址指针和通信协议规定的各 字段的掩码; 以及
[0049] 第二运算器, 用于对待接收的帧 /包的帧头、 通信协议规定的各字段的值和通 信协议规定的各字段的掩码进行运算, 并输出运算结果以确定是否接收当前帧 / 包。
[0050] 优选地, 所述第一状态机、 第二状态机和主状态机分别还包括状态转移判决模 块, 用于确定从一个状态转变为下一个状态的条件;
[0051] 所述状态转移判决模块包括:
[0052] 编码值输入电路, 用于提供可重构的编码值; 以及
[0053] 逻辑运算电路, 用于根据所述编码值输入电路提供的编码值进行逻辑运算, 进 而输出运算结果以确定是否转移到下一个状态。
[0054] 优选地, 所述编码值包括:
[0055] 运算编码值, 用于确定所述逻辑运算电路的逻辑运算类型;
[0056] 当前触发事件源编码值, 用于表征当前事件源; 以及
[0057] 目标事件源编码值, 用于表征目标事件源。
[0058] 优选地, 所述的可编程可重构的帧处理器还包括:
[0059] 可编程吋序产生器, 用于为所述第一和第二状态机提供吋序信号;
[0060] 所述可编程吋序产生器包括:
[0061] 计数器;
[0062] 相对延吋输出模块, 连接至所述计数器, 用于根据配置的相对延吋值提供标准 化的数据发送吋序, 所述相对延吋值包括数据发送前延迟吋间、 数据发送后延 迟吋间、 帧保护吋间和信道周期; 以及
[0063] 独立延吋输出模块, 连接至所述计数器, 用于根据配置的独立延吋值提供至少 一个独立的延迟吋间, 以提供数据接收吋序。
发明的有益效果
有益效果
[0064] 实施本发明实施例, 具有如下有益效果: 通过配置帧结构描述表和协议状态结 构描述表, 可实现对协议规定的各字段的值和协议状态的重构, 从而使处理器 自适应协议的变化, 极大地提升了处理器的兼容性, 降低了处理器重构的代价 。 另外, 通过将数据发送的吋序标准化, 可使本发明的处理器适用于任何吋序 机制和信道吋分机制的通信协议。 用户只需简单地重置相对延吋输出模块的相 对延吋值, 即可改变处理器的吋序机制和信道吋分机制。 通过设置上回环桥, 可实现处理器的自回环检测。 通过设置下回环桥, 可实现对下层设备的检测。 对附图的简要说明
附图说明
[0065] 为了更清楚地说明本发明实施例或现有技术中的技术方案, 下面将对实施例或 现有技术描述中所需要使用的附图作简单地介绍, 显而易见地, 下面描述中的 附图仅仅是本发明的一些实施例, 对于本领域普通技术人员来讲, 在不付出创 造性劳动的前提下, 还可以根据这些附图获得其他的附图。
[0066] 图 1是本发明提供的第一实施例处理器结构示意图;
[0067] 图 2是本发明提供的第二实施例处理器结构示意图;
[0068] 图 3是本发明提供的数据处理单元结构示意图;
[0069] 图 4是本发明提供的校验模块结构示意图;
[0070] 图 5是本发明提供的帧头处理模块结构示意图;
[0071] 图 6是本发明提供的协议状态结构描述表示意图;
[0072] 图 7是本发明提供的状态转移判决模块结构示意图;
[0073] 图 8是图 7中的逻辑运算电路结构示意图;
[0074] 图 9吋本发明提供的可编程吋序产生器结构示意图。 本发明的实施方式
[0075] 下面将结合本发明实施例中的附图, 对本发明实施例中的技术方案进行清楚、 完整地描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而不是全部 的实施例。 基于本发明中的实施例, 本领域普通技术人员在没有做出创造性劳 动的前提下所获得的所有其他实施例, 都属于本发明保护的范围。
[0076] 实施例一: 处理器
[0077] 本实施例提供了一种可编程可重构的帧处理器 100, 参见图 1, 该处理器 100包 括:
[0078] 第一数据处理单元 12, 用于接收来自下层协议的 (Ln-1层) 帧 (或包) 并将处 理后的帧 (或包) 发送至上层 (Ln+1层) 协议;
[0079] 第一状态机 11, 连接至第一数据处理单元 12, 用于通过有限状态转移表控制第 一数据处理单元 12的运行;
[0080] 第二数据处理单元 22, 用于接收来自上层协议的帧 (或包) 并将处理后的帧 ( 或包) 发送至下层协议;
[0081] 第二状态机 21, 连接至第二数据处理单元 22, 用于通过有限状态转移表控制第 二数据处理单元 22的运行; 以及
[0082] 主状态机 10, 分别连接至第一和第二状态机 11和 21, 用于通过有限状态转移表 控制第一和第二状态机 11和 21的运行;
[0083] 第一和第二数据处理单元 12和 22分别包括帧结构描述表 12a和 22a, 用于存储帧 头地址指针、 帧尾地址指针和通信协议规定的各字段的值;
[0084] 第一状态机 11、 第二状态机 21和主状态机 10分别包括协议状态结构描述表 11a
、 21a和 10a, 用于存储头地址指针、 尾地址指针和状态转移值。
[0085] 在本实施例中, 处理器 100的工作原理如下:
[0086] 主状态机 10通过地址总线 ABus和数据总线 DBus获取必要的数据和指令, 并通 过有限状态转移表向第一和第二状态机发出不同的控制信号。 其中, CLK是主 状态机 10的吋钟信号, CSR是主状态机 10的状态字信号, RST是主状态机 10的复 位信号。 主状态机 10包括了协议状态结构描述表 10a, 可用来存储帧头地址指针 、 帧尾地址指针和状态转移值。 因此, 只需要配置帧头地址指针和帧尾地址指 针的值, 即可实现主状态机 10中的状态转移值的重构。
[0087] 第一状态机 11、 第二状态机 21和主状态机 10的结构可以完全相同。 第一和第二 状态机 11和 21主状态机 10的控制下进行状态转移, 进而分别控制第一和第二数 据处理单元 12和 22工作。 其中, CLKR和 CLKT分别为第一和第二状态机 11和 21 的吋钟信号, AR和 AT分别为第一和第二状态机 11和 21的地址总线, DR和 DT分 别为第一和第二状态机的数据总线。 CSRR和 CSRT分别为第一和第二状态机的 状态控制字信号。 第一和第二状态机 11和 21分别包括帧结构描述表 11a和 21a。 因 此, 第一和第二状态机 11和 21的状态转移值也是可重构的, 因此第一和第二状 态机 11和 21的有限状态转移表可适用于不同的通信协议。
[0088] 第一和第二数据处理单元 12和 22的结构也可以完全相同。 帧结构描述表 12a和 2 2a存储了通信协议规定的各字段的值, 因此帧结构描述表 12a和 22a中的通信协议 数据也是可以重构的。
[0089] 因此, 通过帧结构描述表和协议状态结构描述表, 可实现协议转移状态的重构 和协议各字段值的重构, 进而实现了可识别任何协议的功能。 另外, 本申请通 过设置两个数据处理单元, 分别用于接收某一层的数据以及向该层发送数据。 也就是说, 对于某一具体的层, 本申请的处理器采用两个独立的数据处理单元 来分别完成数据接收和发送工作, 进而实现了对同层协议的转换。
[0090] 具体地, 本实施例处理器具有如下 8种数据处理模式, 其具体信号流如下:
[0091] 模式一: dRi→第一数据处理单元 12→dRo, 即 Ln-1协议层发送的输入数据 dRi 经第一数据处理单元 12后形成输出数据 dRo发送至 Ln+1协议层。 该处理模式主要 起到帧中继 /转发、 路由等作用。
[0092] 模式二: dTi→第二数据处理单元 22→dTo, 即 Ln+1协议层发送的输入数据 dTi 经第二数据处理单元 22后形成输出数据 dTo发送至 Ln-1协议层。 该处理模式同样 主要起到帧中继 /转发、 路由等作用。
[0093] 模式三: dRi→第一数据处理单元 12→第一状态机 11→主状态机 10, 即 Ln-1协 议层发送的输入数据 dRi经第一数据处理单元 12和第一状态机 11后发送至主状态 机 10。 该处理模式主要起到 Ln-1协议层向主状态机 10发送控制指令或响应的作用 [0094] 模式四: 主状态机 10→第一状态机 11→第一数据处理单元 12→dRo, 即主状态 机 10通过第一状态机 11、 第一数据处理单元 12将输出数据 dRo发送至 Ln+1层。 该 处理模式主要用于主状态机向 Ln+1协议层发送控制指令或应答等。
[0095] 模式五: dTi→第二数据处理单元 22→第二状态机 21→主状态机 10, 即 Ln+1层 发送的输入数据 dTi经第二数据处理单元 22、 第二状态机 21后发送至主状态机 10 。 该处理模式主要起到 Ln+1协议层向主状态机 10发送控制指令或响应的作用。
[0096] 模式六: 主状态机 10→第二状态机 21→第二数据处理单元 22→dTo, 即主状态 机 10通过第二状态机 21和第二数据处理单元 22将输出数据 dTo发送至 Ln-1协议层 。 该处理模式主要用于主状态机向 Ln-1协议层发送控制指令或应答等。
[0097] 模式七: dRi→第一数据处理模块 12→第一状态机 11→主状态机 10→第二状态 机 21→第二数据处理单元 22→dTo, 即 Ln-1层输入的数据 dRi依次经过第一数据处 理单元 12、 第一状态机 11、 主状态机 10、 第二状态机 21和第二数据处理单元 22 后形成输出数据 dTo发送给 Ln-1层。 该处理模式主要用于协议转换和 Ln-1协议层 检测。 换句话说, Ln-1协议层输入的数据可能采用的是 A协议, 经本处理器处理 后, 变成采用 B协议的数据重新返回至 Ln-1协议层。 当然, 也可以不转换协议, 只是用来检测本处理器的下层是不是正常工作的。 例如, 本处理器可能是工作 在 MAC层 (介质访问层) , 那么就可以通过本处理器检测物理层是否正常。
[0098] 模式八: dTi→第二数据处理单元 22→第二状态机 21→主状态机 10→第一状态机 11→第一数据处理模块 12→dRo, 即 Ln+1协议层输入的数据 dTi依次经过第二数 据处理单元 22、 第二状态机 21、 主状态机 10、 第一状态机 11和第一数据处理单 元 12后形成输出数据 dRo发送给 Ln+1层。 该处理模式主要用于协议转换和自回环 检测。 也就是说, 可以通过该工作模式检测本处理器是否正常工作。
[0099] 应理解, 在本申请中, 本处理器所处的协议层是任意的, 例如可以是物理层、 MAC层、 IP层、 TCP层或应用层。 因此, 本申请的处理器具有普遍适用性。
[0100] 应理解, 在本申请中, "第一"、 "第二"、 "第三 "和"第四"等词语并不是用来限 定先后顺序, 只是为了区分部件的名称。
[0101] 实施例二: 处理器 [0102] 本实施例提供了另一种结构的处理器 100, 如图 2所示, 该处理器 100在第一实 施例的基础上增加了上回环桥 31和下回环桥 32。
[0103] 上回环桥 31分别连接至第一数据处理单元 12、 第二数据处理单元 22和主状态机 10, 用于在主状态机 10的控制信号 Sbu的控制下, 实现第一和第二数据处理单元 12和 22之间的桥接, 从而使来自上层的数据 dTi经第二数据处理单元 22、 上回环 桥 31和第一数据处理单元 12后形成输出数据 dRo并发送至上层。
[0104] 下回环桥 32分别连接至第一数据处理单元 12、 第二数据处理单元 22和主状态机 10, 用于在主状态机 10的控制信号 Sbd的控制下, 实现第一和第二数据处理单元 12和 22之间的桥接, 从而使来自下层的数据 dRi经第一数据处理单元 12、 下回环 桥 32和第二数据处理单元 22后形成输出数据 dTo并发送至下层。
[0105] 因此, 本实施例处理器除了具备第一实施例中的 8种数据处理模式外, 还具备 以下 2种数据处理模式。 其具体信号流如下:
[0106] 模式九: dRi→第一数据处理单元 12→下回环桥 32→第二数据处理单元 22→dTo , 即 Ln-1层发送的数据 dRi经第一数据处理单元 12、 下回环桥 32和第二数据处理 单元 22后返回至 Ln- 1协议层。 该处理模式主要用于对下层数据的协议转换和下层 检测。
[0107] 模式十: dTi→第二数据处理单元 22→上回环桥 31→第一数据处理单元 12→dRo , 即 Ln+1协议层发送的数据 dTi经第二数据处理单元 22、 上回环桥 31和第一数据 处理单元 12后返回至 Ln+1协议层。 该处理模式主要用于对上层数据的协议转换 和本处理器的自回环检测。
[0108] 本实施例未提及的部分以及附图 2未示出的部分与第一实施例相同, 在此不再 累述。
[0109] 实施例三: 数据处理单元
[0110] 本实施例提供了一种可编程可重构的帧处理器 100, 主要是给出了实施例一和 实施例二中的数据处理单元 12和 22的一种具体实施方式。 如图 3所示, 本实施例 中, 第一数据处理单元 12和第二数据处理单元 22的结构相同。 在通信过程中, 数据包或帧包括三部分: 帧头、 帧数据和校验数据。 校验数据有很多种, 常见 的如 CRC校验码。 相应地, 第一数据处理单元 12包括: [0111] 第一幵关 121, 用于幵启或关闭第一数据处理单元 12的帧 (或包) 的接收和发 送;
[0112] 帧头幵关 (SW) 122a, 连接至第一幵关 121, 用于幵启或关闭帧头的接收和发 送;
[0113] 帧头处理模块 123a, 分别连接至帧头幵关 122a和第一状态机 11, 用于在第一状 态机 11的控制下处理帧头;
[0114] 帧数据幵关 122b, 连接至第一幵关 121, 用于幵启或关闭帧数据的接收和发送
[0115] 帧数据处理模块 123b, 分别连接至帧数据幵关 122b和第一状态机 11, 用于在第 一状态机 11的控制下处理帧数据;
[0116] 校验幵关 122c, 连接至第一幵关 121, 用于幵启或关闭校验数据的接收和发送
; 以及
[0117] 校验模块 123c, 分别连接至校验幵关 122c和第一状态机 11, 用于在第一状态机
11的控制下处理校验数据。
[0118] 第二数据处理单元 22包括:
[0119] 第二幵关 221, 用于幵启或关闭第二数据处理单元 22的帧 (包) 的接收和发送
[0120] 帧头幵关 222a, 连接至第二幵关 221, 用于幵启或关闭帧头的接收和发送; [0121] 帧头处理模块 223a, 分别连接至帧头幵关 222a和第二状态机 21, 用于在第二状 态机 21的控制下处理帧头;
[0122] 帧数据幵关 222b, 连接至第二幵关 221, 用于幵启或关闭帧数据的接收和发送
[0123] 帧数据处理模块 223b, 分别连接至帧数据幵关 222b和第二状态机 21, 用于在第 二状态机 21的控制下处理帧数据;
[0124] 校验幵关 222c, 连接至第二幵关 221, 用于幵启或关闭校验数据的接收和发送
; 以及
[0125] 校验模块 223c, 分别连接至校验幵关 222c和第二状态机 21, 用于在第二状态机 21的控制下处理校验数据。 [0126] 因为主状态机 10左右两侧结构相同, 下面以主状态机 10左侧的结构为例介绍其 具体工作原理。
[0127] 当状态机使能信号 ERX有效吋, 第一状态机 11幵始工作。
[0128] 当使能信号 Shr有效吋, 第一幵关 121、 帧头幵关 122a闭合, 帧头处理模块 123a 工作, dl l=dRi, dRo=dl6。
[0129] 当使能信号 Sdr有效吋, 第一幵关 121、 帧数据幵关 122b闭合, 帧数据处理模块
123b工作, d21=dRi, dRo=d26。
[0130] 当使能信号 Scr有效吋, 第一幵关 121、 校验幵关 122c闭合, 校验模块 123c工作
, d31=dRi, dRo=d36。
[0131] 主状态机 10右边的结构与左边相同, 其工作原理也相同, 在此不再累述。
[0132] 实施例四: 帧头处理模块
[0133] 本实施例提供了帧头处理模块的具体结构, 其适用于实施例三中的帧头处理模 块 123a和 223a。 如图 4所示, 该帧头处理模块包括: 校验和电路 141a和条件接收 电路 141b。
[0134] 校验和电路 141a用于对从帧头地址指针 PS到帧尾地址指针 PE所指向的数据做校 验和以确定是否接收当前帧 (包) 。 校验和电路 141a具体如何根据头地址指针 P S、 尾地址指针 PE和输入数据 di做校验和的方法, 可以采用现有技术中的任何一 种方法, 在此不再累述。 校验和电路 141a进行校验和处理之后, 将处理结果通过 Cout信号输出。 在不同的协议中, 需要对输入数据 di的不同位做校验和, 本申请 中通过帧头地址指针 PS和帧尾地址指针 PE来指定做校验和的位置, 因此可通过 改变地址指针来适应任何的协议。
[0135] 条件接收电路 141b用于进一步确定是否接收当前帧 (包) 。 优选地, 实施例一 至实施例三种的帧结构描述表包含在帧头处理模块的条件接收电路 141b中。 具 体地, 条件接收电路 141b包括:
[0136] FIFO寄存器 1411, 用于存储帧头地址指针 PS、 帧尾地址指针 PE和通信协议规 定的各字段的值;
[0137] FIFO寄存器 1413, 用于存储帧头地址指针 PS、 帧尾地址指针 PE和通信协议规 定的各字段的掩码; 以及 [0138] 运算器 1412, 用于对待接收的数据的帧头 (输入数据 di) 、 通信协议规定的各 字段的值 Pi和通信协议规定的各字段的掩码 Mi进行运算, 并输出运算结果 do以 确定是否接收当前数据。
[0139] 条件接收电路 141b工作原理如下:
[0140] 复位信号 RST有效或初始化吋通过地址总线 AR和数据总线 DR修改帧头地址指 针 PS、 帧尾地址指针 PE和通信协议规定的各字段的值。 在使能信号 Shr有效吋, 幵始工作, 输出数据 do=OP (Pi, di, Mi) 。 其中, OP为运算器 1412的运算逻辑 , 可根据实际需要进行定义。 例如, OP运算逻辑可以为: 当 Mi=0吋, do=Pi&di (Pi与 di的逻辑与) ; 当 Mi=l吋, di=Pi。 在帧头中, do转换为 1, 则接收当前帧 , 否则丢弃当前帧。
[0141] 在本实施例中, 帧头处理模块并没有定义任何一种具体的协议的数据处理规则 , 而是单纯地将帧头与 FIFO寄存器 1411中的协议字段进行逻辑运算, 逻辑运算 的规则可通过改变 FIFO寄存器 1413中的掩码来确定。 也就是说, 用户可以配置 F IFO寄存器中的协议字段, 同样可以配置协议字段的掩码, 通过这两个配置, 条 件接收电路 141b随吋重构以识别任何新的协议数据。 当然, 本申请的帧数据结 构描述表并不一定是采用 FIFO寄存器实现, 先进先出、 先进后出、 循环队列都 是可行的技术方案。
[0142] 实施例五: 校验模块
[0143] 本实施例提供了校验模块 143的具体结构, 其适用于实施例三中的校验模块 123 c和 223c。 如图 5所示, 该校验模块 143包括: 移位寄存器 1431和逻辑处理单元 143 2。 其工作原理如下:
[0144] 当使能信号 Scr/Sct有效吋, 校验模块 143工作。 从 d33/d63装入新的多项式。 根 据新装入的多项式和当前接收到的校验数据 di, 逻辑处理单元 1432进行逻辑处理
, 对数据进行校验或纠错。
[0145] 在本实施例中, 只要给移位寄存器 1431设置足够的存储空间, 那么移位寄存器
1431中就可以配置适合不同通信协议的多项式。 因此, 本申请中的校验模块也 是可重构的。
[0146] 实施例六: 状态机 [0147] 本实施例提供了状态机的具体数据结构和工作原理, 其适用于实施例一至实施 例三种的第一状态机 11、 第二状态机 21和主状态机 10。 图 6示出了状态机中协议 状态结构描述表数据结构。 如图 6所示, FIFO寄存器中存储了帧头地址指针 PS、 帧尾地址指针 PE和状态转移值 VS(1)~VS(M)。 其中 M为当前协议的状态数。 FIF 0寄存器的存储空间足以满足任何协议对状态数的要求。
[0148] 图 7示出了状态转移判决模块的结构示意图。 如图 7所示, 状态转移判决模块 15 包括: 编码值输入电路 151和逻辑运算电路 152。 编码值输入电路 151用于提供可 重构的编码值, 该编码值包括运算编码值 OPC、 当前触发事件源编码值 Cs和目 标事件源编码值 Cd。 通过运算编码值 OPC, 可以确定逻辑运算电路 152的运算类 型。 例如, 运算编码值 OPC为 2bit, 那么可以定义 4种类型的逻辑运算, OPC为 3b it, 则可以定义 8种类型的逻辑运算。 OPC的值可接受用户的配置, 从而适用于 不同的协议。 Cs可用于表征当前事件源, 其值也可以进行配置, 以适用于不同 的协议。 Cd用于表征目标事件源, 与当前事件源进行逻辑运算以确定在当前事 件源下是否进行状态转移。
[0149] 具体地, 如图 8所示, 逻辑运算电路 152可包括逻辑运算器 152a和选择器 152b。
SO表示保持当前状态, S1表示转移到下一个状态。 在一个具体实施例中, OPC 为 2bit, 那么 OPC可以有四个取值 00、 01、 10和 11。 逻辑运算器就可以定义四种 运算方式, 例如与、 或、 异或和同或。 当然, 也可以根据实际需要定义更加复 杂的运算方式。 而选择器 152b的逻辑则可为:
[0150] ll tf S ^l (If移到下一
L SO if f (瞻:移
[0151] 应理解, 逻辑运算电路 152的具体实现方式有很多种, 本实施例只是列举了其 中一种可能方案。 本领域技术人员在本实施例的教导下, 可以根据实际需要, 设计出各种合适的实现方式。 这也正是本申请的状态机可重构的根本体现。
[0152] 因此, 本申请的状态机的状态转移判决电路也是可重构的, 通过输入不同的编 码值, 就可以重构出不同的状态转移模型以适用于不同的协议。 [0153] 实施例七: 可编程吋序产生器
[0154] 本实施例提供了可编程吋序产生器 400的具体结构, 其用于定义实施例一至实 施例三的数据处理模块的数据接收和发送吋序。 如图 9所示, 该可编程吋序产生 器 400包括: 计数器 41、 相对延吋输出模块 42和独立延吋输出模块 43。
[0155] 参考图 1-3和 9, 相对延吋输出模块 42, 连接至计数器 41, 用于根据配置的相对 延吋值提供标准化的数据发送吋序, 相对延吋值包括数据发送前延迟吋间 Tds、 数据发送后延迟吋间 Tde、 帧保护吋间 Tdp和信道周期 Tdt。 如图 9所示, 四个相 对延吋值可通过四个串联的置数单元 42a~42d来设置, 最后输出这四个相对延迟 吋间的和 DTime。 因此根据不同的通信协议的吋序要求, 可配置 (或称可编程) 四个相对延迟吋间的值。 本发明通过将不同的协议的吋序标准化, 简单地配置 四个置数单元的值即可构造成符合不同通信协议的吋序关系。
[0156] 参考图 1-3和 9, 独立延吋输出模块 43, 连接至计数器 41, 用于根据配置的独立 延吋值提供至少一个独立的延迟吋间, 以提供数据接收吋序。 图 9给出了四个独 立的延迟吋间 T1~T4。 这四个独立的延迟吋间通过四个并联的置数单元 43a~43d 来设置。 当然, 本实施例给出的置数单元的个数只是为了阐述其工作原理, 并 不是用来限制其结构。 本领域技术人员在本申请的教导下, 可根据实际需要设 计置数单元的数量, 这并不需要付出创造性劳动。
[0157] 因此, 通过本实施例可实现标准化的数据接收和发送吋序, 用户只需简单配置 置数单元的值即可重构出适用于不同协议的数据接收和发送吋序。
[0158] 以上所揭露的仅为本发明一种较佳实施例而已, 当然不能以此来限定本发明之 权利范围, 本领域普通技术人员可以理解实现上述实施例的全部或部分流程, 并依本发明权利要求所作的等同变化, 仍属于发明所涵盖的范围。

Claims

权利要求书
[权利要求 1] 一种可编程可重构的帧处理器, 其特征在于, 包括:
第一数据处理单元, 用于接收来自下层协议的帧 /包并将处理后的帧 / 包发送至上层协议;
第一状态机, 连接至所述第一数据处理单元, 用于通过有限状态转移 表控制所述第一数据处理单元的运行;
第二数据处理单元, 用于接收来自上层协议的帧 /包并将处理后的帧 / 包发送至下层协议;
第二状态机, 连接至所述第二数据处理单元, 用于通过有限状态转移 表控制所述第二数据处理单元的运行; 以及
主状态机, 分别连接至所述第一状态机和第二状态机, 用于通过有限 状态转移表控制所述第一状态机和第二状态机的运行;
所述第一和第二数据处理单元分别包括帧结构描述表, 用于存储帧头 地址指针、 帧尾地址指针和通信协议规定的各字段的值;
所述第一状态机、 第二状态机和主状态机分别包括协议状态结构描述 表, 用于存储头地址指针、 尾地址指针和状态转移值。
[权利要求 2] 根据权利要求 1所述的可编程可重构的帧处理器, 其特征在于, 还 包括:
上回环桥, 分别连接至所述第一数据处理单元、 第二数据处理单元和 主状态机, 用于在所述主状态机的控制下, 实现所述第一和第二数据 处理单元之间的桥接, 从而使来自上层协议的帧 /包经所述第二数据 处理单元、 上回环桥和第一数据处理单元处理后发送至上层协议。
[权利要求 3] 根据权利要求 1所述的可编程可重构的帧处理器, 其特征在于, 还 包括:
下回环桥, 分别连接至所述第一数据处理单元、 第二数据处理单元和 主状态机, 用于在所述主状态机的控制下, 实现所述第一和第二数据 处理单元之间的桥接, 从而使来自下层协议的帧 /包经所述第一数据 处理单元、 下回环桥和第二数据处理单元处理后发送至下层协议。
[权利要求 4] 根据权利要求 1所述的可编程可重构的帧处理器, 其特征在于, 所 述第一数据处理单元包括:
第一幵关, 用于幵启或关闭所述第一数据处理单元的帧 /包的接收和 发送;
第一帧头幵关, 连接至所述第一幵关, 用于幵启或关闭帧头的接收和 发送;
第一帧头处理模块, 分别连接至所述第一帧头幵关和所述第一状态机 , 用于在所述第一状态机的控制下处理帧头;
第一帧数据幵关, 连接至所述第一幵关, 用于幵启或关闭帧数据的接 收和发送;
第一帧数据处理模块, 分别连接至所述第一帧数据幵关和所述第一状 态机, 用于在所述第一状态机的控制下处理帧数据;
第一校验幵关, 连接至所述第一幵关, 用于幵启或关闭校验数据的接 收和发送; 以及
第一校验模块, 分别连接至所述第一校验幵关和所述第一状态机, 用 于在所述第一状态机的控制下处理校验数据。
[权利要求 5] 根据权利要求 4所述的可编程可重构的帧处理器, 其特征在于, 所 述帧结构描述表包含在所述第一帧头处理模块中。
[权利要求 6] 根据权利要求 1所述的可编程可重构的帧处理器, 其特征在于, 所 述第二数据处理单元包括:
第二幵关, 用于幵启或关闭所述第二数据处理单元的帧 /包的接收和 发送;
第二帧头幵关, 连接至所述第二幵关, 用于幵启或关闭帧头的接收和 发送;
第二帧头处理模块, 分别连接至所述第二帧头幵关和所述第二状态机 , 用于在所述第二状态机的控制下处理帧头;
第二帧数据幵关, 连接至所述第二幵关, 用于幵启或关闭帧数据的接 收和发送; 第二帧数据处理模块, 分别连接至所述第二帧数据幵关和所述第二状 态机, 用于在所述第二状态机的控制下处理帧数据;
第二校验幵关, 连接至所述第二幵关, 用于幵启或关闭校验数据的接 收和发送; 以及
第二校验模块, 分别连接至所述第二校验幵关和所述第二状态机, 用 于在所述第二状态机的控制下处理校验数据。
[权利要求 7] 根据权利要求 6所述的可编程可重构的帧处理器, 其特征在于, 所 述帧结构描述表包含在所述第二帧头处理模块中。
[权利要求 8] 根据权利要求 5所述的可编程可重构的帧处理器, 其特征在于, 所 述第一帧头处理模块包括:
第一校验和电路, 用于对从帧头地址指针到帧尾地址指针所指向的数 据做校验和以确定是否接收当前帧 /包; 以及
第一条件接收电路, 用于进一步确定是否接收当前帧 /包; 所述第一条件接收电路包括:
第一 FIFO寄存器, 用于存储帧头地址指针、 帧尾地址指针和通信协 议规定的各字段的值;
第二 FIFO寄存器, 用于存储帧头地址指针、 帧尾地址指针和通信协 议规定的各字段的掩码; 以及
第一运算器, 用于对待接收的帧 /包的帧头、 通信协议规定的各字段 的值和通信协议规定的各字段的掩码进行运算, 并输出运算结果以确 定是否接收当前帧 /包。
[权利要求 9] 根据权利要求 7所述的可编程可重构的帧处理器, 其特征在于, 所 述第二帧头处理模块包括:
第二校验和电路, 用于对从帧头地址指针到帧尾地址指针所指向的数 据做校验和以确定是否接收当前帧 /包; 以及
第二条件接收电路, 用于进一步确定是否接收当前帧 /包; 所述第二条件接收电路包括:
第三 FIFO寄存器, 用于存储帧头地址指针、 帧尾地址指针和通信协 议规定的各字段的值; ;
第四 FIFO寄存器, 用于存储帧头地址指针、 帧尾地址指针和通信协 议规定的各字段的掩码; 以及
第二运算器, 用于对待接收的帧 /包的帧头、 通信协议规定的各字段 的值和通信协议规定的各字段的掩码进行运算, 并输出运算结果以确 定是否接收当前帧 /包。
[权利要求 10] 根据权利要求 1所述的可编程可重构的帧处理器, 其特征在于, 所述 第一状态机、 第二状态机和主状态机分别还包括状态转移判决模块, 用于确定从一个状态转变为下一个状态的条件; 所述状态转移判决模块包括:
编码值输入电路, 用于提供可重构的编码值; 以及 逻辑运算电路, 用于根据所述编码值输入电路提供的编码值进行逻辑 运算, 进而输出运算结果以确定是否转移到下一个状态。
[权利要求 11] 根据权利要求 8所述的可编程可重构的帧处理器, 其特征在于, 所述 编码值包括:
运算编码值, 用于确定所述逻辑运算电路的逻辑运算类型; 当前触发事件源编码值, 用于表征当前事件源; 以及
目标事件源编码值, 用于表征目标事件源。
[权利要求 12] 根据权利要求 1所述的可编程可重构的帧处理器, 其特征在于, 还包 括:
可编程吋序产生器, 用于为所述第一和第二状态机提供吋序信号; 所述可编程吋序产生器包括:
计数器;
相对延吋输出模块, 连接至所述计数器, 用于根据配置的相对延吋值 提供标准化的数据发送吋序, 所述相对延吋值包括数据发送前延迟吋 间、 数据发送后延迟吋间、 帧保护吋间和信道周期; 以及
独立延吋输出模块, 连接至所述计数器, 用于根据配置的独立延吋值 提供至少一个独立的延迟吋间, 以提供数据接收吋序。
PCT/CN2016/077369 2016-03-12 2016-03-25 一种可编程可重构的帧处理器 WO2017156795A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/114,291 US10785057B2 (en) 2016-03-12 2018-08-28 Programmable and reconfigurable frame processor

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610140216.7A CN105812365B (zh) 2016-03-12 2016-03-12 一种可编程可重构的帧处理器
CN201610140216.7 2016-03-12

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/114,291 Continuation US10785057B2 (en) 2016-03-12 2018-08-28 Programmable and reconfigurable frame processor

Publications (1)

Publication Number Publication Date
WO2017156795A1 true WO2017156795A1 (zh) 2017-09-21

Family

ID=56467168

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/077369 WO2017156795A1 (zh) 2016-03-12 2016-03-25 一种可编程可重构的帧处理器

Country Status (3)

Country Link
US (1) US10785057B2 (zh)
CN (1) CN105812365B (zh)
WO (1) WO2017156795A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111294350B (zh) * 2020-01-23 2022-08-19 西安现代控制技术研究所 一种快速适应协议变化的数据处理系统
CN113922923A (zh) * 2021-08-20 2022-01-11 上海磐启微电子有限公司 一种具有兼容性的蓝牙基带接收系统和方法
CN114944889B (zh) * 2022-05-19 2023-07-04 成都汇蓉国科微系统技术有限公司 一种基于可参数化配置的多功能通信数据校验系统和方法
CN115292201B (zh) * 2022-09-28 2022-12-20 中国人民解放军国防科技大学 函数调用栈解析和回溯方法与装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101206687A (zh) * 2007-12-18 2008-06-25 同济大学 一种提高分布式机电装备的动态安全性的方法
CN102394732A (zh) * 2011-09-06 2012-03-28 中国人民解放军国防科学技术大学 一种多微包并行处理结构
CN102647414A (zh) * 2012-03-30 2012-08-22 华为技术有限公司 协议解析方法、设备及系统
CN102916967A (zh) * 2012-10-29 2013-02-06 华为技术有限公司 协议解析的方法和装置

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6795442B1 (en) * 1998-04-23 2004-09-21 Emulex Design & Manufacturing Corporation System and method for scheduling message transmission and processing in a digital data network
US6157955A (en) * 1998-06-15 2000-12-05 Intel Corporation Packet processing system including a policy engine having a classification unit
US7187694B1 (en) * 2002-03-29 2007-03-06 Pmc-Sierra, Inc. Generic packet parser
US20070253430A1 (en) * 2002-04-23 2007-11-01 Minami John S Gigabit Ethernet Adapter
US20080008202A1 (en) * 2002-10-31 2008-01-10 Terrell William C Router with routing processors and methods for virtualization
US7818389B1 (en) * 2006-12-01 2010-10-19 Marvell International Ltd. Packet buffer apparatus and method
US8937942B1 (en) * 2010-04-29 2015-01-20 Juniper Networks, Inc. Storing session information in network devices
CN102231675B (zh) * 2011-06-23 2013-10-16 中国电子科技集团公司第三十四研究所 协议适配网元及其在通信子网中的使用方法
US9025467B2 (en) * 2011-09-29 2015-05-05 Nec Laboratories America, Inc. Hitless protection for traffic received from 1+1 protecting line cards in high-speed switching systems
CN102413322A (zh) * 2011-12-07 2012-04-11 中国航空无线电电子研究所 一种基于行同步的航空电子数字视频总线成帧系统及其方法
CN103544132B (zh) * 2012-07-16 2017-03-01 天津中兴智联科技有限公司 一种可重构状态机的实现方法及装置
CN103853694A (zh) * 2012-12-04 2014-06-11 天津中兴软件有限责任公司 一种可重构状态机的实现方法
US9369409B2 (en) * 2013-08-12 2016-06-14 Nec Corporation End-to-end hitless protection in packet switched networks
WO2015069576A1 (en) * 2013-11-05 2015-05-14 Cisco Technology, Inc. Network fabric overlay
EP3047613B1 (en) * 2014-03-04 2019-08-21 Huawei Technologies Co., Ltd. State-dependent data forwarding
US10476993B2 (en) * 2015-08-12 2019-11-12 Blackberry Limited Method and system for transaction diagnostics
US9825862B2 (en) * 2015-08-26 2017-11-21 Barefoot Networks, Inc. Packet header field extraction
US10473993B2 (en) * 2017-08-03 2019-11-12 Shenzhen China Star Optoelectronics Semiconductor Display Technology Co., Ltd. Pixel electrode and liquid crystal display panel

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101206687A (zh) * 2007-12-18 2008-06-25 同济大学 一种提高分布式机电装备的动态安全性的方法
CN102394732A (zh) * 2011-09-06 2012-03-28 中国人民解放军国防科学技术大学 一种多微包并行处理结构
CN102647414A (zh) * 2012-03-30 2012-08-22 华为技术有限公司 协议解析方法、设备及系统
CN102916967A (zh) * 2012-10-29 2013-02-06 华为技术有限公司 协议解析的方法和装置

Also Published As

Publication number Publication date
US10785057B2 (en) 2020-09-22
CN105812365A (zh) 2016-07-27
US20180375688A1 (en) 2018-12-27
CN105812365B (zh) 2018-09-28

Similar Documents

Publication Publication Date Title
US10324509B2 (en) Automatic generation of power management sequence in a SoC or NoC
US10848442B2 (en) Heterogeneous packet-based transport
US11695708B2 (en) Deterministic real time multi protocol heterogeneous packet based transport
WO2017156795A1 (zh) 一种可编程可重构的帧处理器
JP4384819B2 (ja) 弾性インターフェース装置およびそのための方法
WO2021129689A1 (zh) 数据位宽转换方法和装置
US9621483B2 (en) Ethercat packet forwarding with distributed clocking
US7484034B2 (en) Microcontrol architecture for a system on a chip (SoC)
Hoffman et al. A High‐Speed Dynamic Partial Reconfiguration Controller Using Direct Memory Access Through a Multiport Memory Controller and Overclocking with Active Feedback
Onizawa et al. High-throughput compact delay-insensitive asynchronous NoC router
Pontes et al. Hermes-A–an asynchronous NoC router with distributed routing
Mitra et al. Reconfigurable very high throughput low latency VLSI (FPGA) design architecture of CRC 32
Attia et al. Network interface sharing for SoCs based NoC
US20230388251A1 (en) Tightly-Coupled, Loosely Connected Heterogeneous Packet Based Transport
Bhardwaj et al. Towards a complete methodology for synthesizing bundled-data asynchronous circuits on FPGAs
WO2017059822A1 (zh) 一种芯片间的通信方法、系统及计算机存储介质
JP2008187711A (ja) 2つのエンティティ間の通信ゲートウェイ
Grecu et al. A flexible network-on-chip simulator for early design space exploration
US11243856B1 (en) Framing protocol supporting low-latency serial interface in an emulation system
US8959251B2 (en) Implementation of switches in a communication network
Mustafa Prototyping 40G Ethernet Communication on FPGA
Peña-Ramos et al. Network on chip architectures for high performance digital signal processing using a configurable core
Kasapaki An Asynchronous Time-division-multiplexed Network-on-chip for Real-time Systems
Jeyabharathi et al. Vlsi Implementation Of Multilayer Adaptive Error Control For Network On Chip Links
Khetade et al. TERNARY TREE ASYNCHRONOUS INTERCONNECT NETWORK FOR GALS'SOC

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16893960

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 16893960

Country of ref document: EP

Kind code of ref document: A1