CN116185929B - Communication conversion device for communication between master equipment and slave equipment - Google Patents
Communication conversion device for communication between master equipment and slave equipment Download PDFInfo
- Publication number
- CN116185929B CN116185929B CN202211627309.4A CN202211627309A CN116185929B CN 116185929 B CN116185929 B CN 116185929B CN 202211627309 A CN202211627309 A CN 202211627309A CN 116185929 B CN116185929 B CN 116185929B
- Authority
- CN
- China
- Prior art keywords
- signal
- slave
- slave device
- response
- conversion
- 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
Links
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 117
- 238000004891 communication Methods 0.000 title claims abstract description 43
- 230000004044 response Effects 0.000 claims abstract description 99
- 238000012545 processing Methods 0.000 claims abstract description 97
- 238000013507 mapping Methods 0.000 claims description 75
- 238000000034 method Methods 0.000 claims description 29
- 230000011664 signaling Effects 0.000 claims 1
- 230000003993 interaction Effects 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 20
- 230000005540 biological transmission Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000001514 detection method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000003213 activating effect Effects 0.000 description 2
- 230000001427 coherent effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
Abstract
The invention discloses a communication conversion device for communication between master equipment and slave equipment. The device comprises: a master device protocol interface for connecting to at least one master device, a slave device protocol interface for connecting to a slave device, further comprising: a switching controller; a conversion controller for performing signal conversion processing on an operation request signal of the master device to form a slave device driving signal and transmitting the slave device driving signal to the slave device; and the device is also used for filling response driving signals fed back by the slave device and feeding back the response driving signals to the master device. The operation request signal of the master device is converted into a slave device driving signal which enables the slave device to respond to the operation request function through the conversion controller, and then the response driving signal is filled according to the response signal fed back by the slave device and fed back to the master device. Support is provided for automatic conversion and generation of master device signals and slave device signals, and data interaction between the master devices and the slave devices with different communication protocols and same data bit width is realized.
Description
Technical Field
The invention relates to the technical field of communication protocol conversion, in particular to a communication conversion device for communication between master equipment and slave equipment.
Background
TileLink is a chip-level interconnect standard that provides consistent (coherent) memory mapped access to memory and other slave devices for multiple master devices. Tilelink are designed for use in a device-on-a-chip (SoC) to connect universal multi-switch controllers, co-switch controllers, accelerators, DMA engines, and simple or complex devices that use fast scalable interconnects to provide low latency and high throughput data handling; the Tilelink bus protocol includes three sub-protocols, from less to less functional, less to complex to more complex, tilelink uncachedly lightweight sub-protocol (Tilelink-UL), tilelink uncachedly heavyweight sub-protocol (Tilelink-UH), and Tilelink cache support level protocol (Tilelink-C), respectively. The Wishbone bus completes the interconnection by establishing a generic interface between the IP cores. The device can be used for interconnection among soft cores, solid cores and hard cores, has a simple and compact structure, and supports data formats of a large end and a small end.
The Wishbone bus has clear and understandable logic and simple and compact structure, so the Wishbone bus is still used in many scenes with relaxed requirements on data reading and writing time sequence. The Tilelink bus has been increasingly used in a variety of applications because of its relatively complete function and reliable performance. However, at present, there is little transfer data between Tilelink buses and Wishbone buses, and there is a certain gap in the technical field, so it is necessary to propose a general Tilelink and Wishbone bus conversion method for interconnecting Tilelink interface devices and Wishbone interface devices in practical applications.
Disclosure of Invention
The invention provides a communication conversion device for communication between master equipment and slave equipment, which is used for realizing communication conversion between the master equipment and the slave equipment in a peer-to-peer wide and non-cluster transmission mode.
In one aspect of the present invention, there is provided a master device protocol interface for connecting to at least one master device, a slave device protocol interface for connecting to a slave device, further comprising: a switching controller;
the switching controller is used for performing signal switching processing on an operation request signal of the master device to form a slave device driving signal and sending the slave device driving signal to the slave device; and the device is also used for filling response driving signals fed back by the slave equipment and feeding back the response driving signals to the master equipment.
The technical scheme of the embodiment of the invention comprises the following steps: a master device protocol interface for connecting to at least one master device, a slave device protocol interface for connecting to a slave device, further comprising: a switching controller; a conversion controller for performing signal conversion processing on an operation request signal of the master device to form a slave device driving signal and transmitting the slave device driving signal to the slave device; and the device is also used for filling response driving signals fed back by the slave device and feeding back the response driving signals to the master device. The operation request signal of the master device is converted into a slave device driving signal which enables the slave device to respond to the operation request function through the conversion controller, and then the response driving signal is filled according to the response signal fed back by the slave device and fed back to the master device. Support is provided for automatic conversion and generation of master device signals and slave device signals, and data interaction between the master devices and the slave devices with different communication protocols and same data bit width is realized.
It should be understood that the description in this section is not intended to identify key or critical features of the embodiments of the invention or to delineate the scope of the invention. Other features of the present invention will become apparent from the description that follows.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings required for the description of the embodiments will be briefly described below, and it is apparent that the drawings in the following description are only some embodiments of the present invention, and other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
Fig. 1 is a schematic structural diagram of a communication conversion device for communication between a master device and a slave device according to a first embodiment of the present invention;
FIG. 2 is a timing chart illustrating an example of a communication switching apparatus for communication between a master device and a slave device during a read/write operation according to an embodiment of the present invention;
Fig. 3 is a timing chart illustrating an example of a communication conversion apparatus for communication between a master device and a slave device in an atomic operation according to a first embodiment of the present invention;
Fig. 4 is a timing chart illustrating an example of a communication switching apparatus for communication between a master device and a slave device according to a first embodiment of the present invention when a current operation request signal does not satisfy a processing condition of the slave device.
Detailed Description
In order that those skilled in the art will better understand the present invention, a technical solution in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in which it is apparent that the described embodiments are only some embodiments of the present invention, not all embodiments. All other embodiments, which can be made by those skilled in the art based on the embodiments of the present invention without making any inventive effort, shall fall within the scope of the present invention.
It should be noted that the terms "first," "second," and the like in the description and the claims of the present invention and the above figures are used for distinguishing between similar objects and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used may be interchanged where appropriate such that the embodiments of the invention described herein may be implemented in sequences other than those illustrated or otherwise described herein. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, apparatus, article, or device that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed or inherent to such process, method, article, or device.
Example 1
Fig. 1 is a block diagram of a communication conversion device for communication between a master device and a slave device according to a first embodiment of the present invention, where the system is applicable to communication conversion between a master device and a slave device in a peer-to-peer wide, non-cluster mode, and as shown in fig. 1, the communication conversion device 10 for communication between a master device and a slave device includes: a master protocol interface 11 for connecting at least one master device, a slave protocol interface 12 for connecting a slave device, and further comprising: a switching controller 13. The master device protocol may be Tilelink-UH protocol, the slave device protocol may be Wishbone protocol, and the data bit widths of the master device and the slave device are the same, and are both in a non-cluster transmission mode. The conversion controller 13 includes: the signal buffer area is input to the main device, the same data bit width area which maps the same data bit width of each input signal, the signal buffer area is output to the main device, the control module area, the signal buffer area is output to the auxiliary device, the signal buffer area is input to the auxiliary device, and the error detection area (wherein the error detection area is not necessarily configured) is arranged, and the arrow indicates the transmission of each signal.
It should be noted that the parity width is understood to be the same for the master device and the slave device, and when the master device sends an operation request, the slave device may respond to the operation request sent by the master device through a process. Such as: the data bit widths of the master and slave devices are all represented by 2 m, where m is a constant, and the signal (a_size) of the a channel in Tilelink protocol in the non-cluster transmission mode, which is used to represent the logarithm of the operation size, is less than or equal to m (i.e., a_size is less than or equal to m).
Wherein, the switching controller 13 is used for performing signal switching processing on the operation request signal of the master device to form a slave device driving signal and sending the slave device driving signal to the slave device; and the device is also used for filling response driving signals fed back by the slave device and feeding back the response driving signals to the master device.
In this embodiment, the master device may be understood as a device having an operational requirement. The current operation request signal may be understood as a request generated by the master device requiring the slave device to operate, i.e. a signal received through the a channel. A slave drive signal is understood to be a signal that drives a slave such that the slave can perform a corresponding function. A slave device may be understood as a device that performs the function corresponding to the operation request. The reply signal may be understood as a signal used by the slave device to inform that the operation request has been processed. The reply drive signal may be understood as a signal for feeding back the processing result to the master device.
Specifically, the conversion controller 13 may receive the current operation request signal of the master device, perform signal conversion processing on the operation request signal of the master device, form a slave device driving signal that may drive a function corresponding to the slave device response operation request signal, and send the slave device driving signal to the slave device, so as to activate the slave device to respond. And after receiving the response signal fed back by the slave device when the processing is completed, filling the response driving signal for the response signal fed back by the slave device and feeding back the response driving signal to the master device.
The technical scheme of the embodiment of the invention comprises the following steps: a master device protocol interface for connecting to at least one master device, a slave device protocol interface for connecting to a slave device, further comprising: a switching controller; a conversion controller for performing signal conversion processing on an operation request signal of the master device to form a slave device driving signal and transmitting the slave device driving signal to the slave device; and the device is also used for filling response driving signals fed back by the slave device and feeding back the response driving signals to the master device. The operation request signal of the master device is converted into a slave device driving signal which enables the slave device to respond to the operation request function through the conversion controller, and then the response driving signal is filled according to the response signal fed back by the slave device and fed back to the master device. Support is provided for automatic conversion and generation of master device signals and slave device signals, and data interaction between the master devices and the slave devices with different communication protocols and same data bit width is realized.
Preferably, the conversion controller 13 includes:
And the main signal receiving module is used for receiving the current operation request signal output in the main equipment input signal buffer area when the signal receiving condition is met.
In the present embodiment, the signal reception condition may be understood as a condition that signal reception is possible, and may include: the handshake signal of the master is set high and the slave is in idle state. The master input signal buffer may be understood as an area for storing a current operation request signal of the master.
It should be appreciated that the host uses Tilelink-UH protocol, tilelink-UH protocol includes A, D channels, i.e., the host transmits and receives signals over A, D channels. When the current operation request signal of the master device is sent through the a-channel signal, the handshake signal in the a-channel interface signal is typically set high (i.e., a_valid=1) to indicate that there is a current operation request signal.
Specifically, the master signal receiving module may receive the current operation request signal output in the master input signal buffer when the signal receiving condition is satisfied (i.e., the handshake signal in the master a channel is set high and the slave is in an idle state). In order to avoid the loss of the current operation request signal, the main signal receiving module may further perform a storage process on the current operation request signal.
Illustratively, the A-channel interface signals of the communication protocol Tilelink-UH of the master device may include: a_opcode, a_parameter, a_size, a_source, a_address, a_mask, a_data, a_ corrupt, a_valid, and a_ready. The D-channel interface signals of the host device's communication protocol Tilelink-UH may include: d_opcode, d_parameter, d_size, d_source, d_sink, d_data, d_ corrupt, d_ denied, d_valid, and d_ready. The communication protocol Wishbone interface signal of the slave device may include: cyc (bus cycle signal), stb (strobe signal), we (write enable signal), sel (byte select signal), addr (address), data_wr (output data), data_rd (read data), ack (operation success signal) and err (operation failure signal).
And the master signal processing module is used for processing the current operation request signal according to a preset same-data bit width mapping information table when the current operation request signal meets the processing conditions of the slave device, and obtaining a corresponding slave device driving signal.
In this embodiment, the slave processing condition may be understood that the slave does not currently have an operation request signal in other processing (i.e., the slave is in an idle state), and the data of the received current operation request signal is correct. The same data bit width mapping information table can be understood as a table for determining signal values when the master and slave devices are the same data bit width.
Specifically, when the current operation request signal meets the processing condition of the slave device, that is, when no operation request signal exists in other processing, and the received data of the current operation request signal is correct or the received current operation request signal supports the slave device communication protocol, the master signal processing module may determine the mapping value corresponding to each signal included in the current operation request signal from the preset mapping information table with the same data bit width, and further may obtain the slave device driving signal corresponding to the current operation request signal according to each mapping value.
By way of example, a table of co-data bit width mapping information may be given as shown in table 1:
Table 1: same data bit width mapping information table
Where a_opcode=4 corresponds to GET operation, a_opcode=0 corresponds to PullFullData operation, a_opcode=1 corresponds to PullPartialData operation, a_opcode=2 corresponds to ARITHMETICDATA operation, a_opcode=3 corresponds to LogicalData operation, and a_opcode=5 corresponds to intelt operation in table 1. Operation C (x) represents a custom transformation of the signal, which is related to a specific application scenario. For example: the address space code used in the module a is 0x00 to 0xff, but the address space code allocated to the module a on the chip integrated with the module a is 0x1000 to 0x10ff, and then the conversion mode C may be C (a_address) =a_address-0 x1000.A||b represents the logical or of signal a and signal B. err_detect (error detection module included in the communication conversion device) may be used to check Tilelink if a beat of reply data is erroneous, an optional module. Fa (a, B) represents ARITHMETICDATA operations, fl (a, B) represents LogicalData operations.
By way of example, an operation table corresponding to the calculation operation (Fa (a, B)) in ARITHMETICDATA may be given as shown in table 2:
Table 2: calculation operation Table in ARITHMETICDATA
Fa(A,B) | Description of the invention | |
d_param=0 | MIN(A,B) | Signed minimum value of A, B |
d_param=1 | MAX(A,B) | Maximum signed value of A, B |
d_param=2 | MINU(A,B) | Unsigned minimum value of A, B |
d_param=3 | MAXU(A,B) | Maximum value of A, B without sign |
d_param=4 | A+B | Summing A, B |
By way of example, an operation table corresponding to the calculation operation (Fl (a, B)) in LogicalData may be given as shown in table 3:
Table 3: calculation operation Table in LogicalData
Fl(A,B) | Description of the invention | |
d_param=0 | XOR(A,B) | Solving A, B for bitwise exclusive OR value |
d_param=1 | OR(A,B) | Bit or value of A, B |
d_param=2 | AND(A,B) | Bit and value of A, B |
d_param=3 | SWAP(A,B) | Exchange A, B |
In table 2 and table 3, a=a_data, and the data stored in the slave address C (a_address) corresponding to a_address is B. Exemplary explanation is made for Fl (a, B) =swap (a, B): a_param=3 in the operation request information sent by the main device needs to exchange logic atom operation, a_data=a, and data stored in C (a_address) is B; then the result of the current request is that the data stored in C (a_address) becomes a, and the response data d_data of the current request is B, which corresponds to completing the exchange of the data a, B.
A slave signal transmitting module for storing the slave driving signal in the slave output signal buffer and transmitting the slave driving signal to the slave through the slave protocol interface 12 when the slave signal output condition is satisfied.
In this embodiment, the slave output signal buffer may be understood as an area for storing the slave drive signal. The slave signal output condition may be understood as a condition for slave drive signal output and may include that a slave drive signal has been generated.
Specifically, the slave signal sending module may store the slave driving signal in the slave output signal buffer, and determine whether the slave signal output condition is currently satisfied, and send the slave driving signal to the slave through the slave protocol interface 12 when the slave signal output condition is satisfied.
And the slave signal processing module is used for receiving the slave device response signals input by the slave device input signal buffer area and filling response driving signals for response signals fed back by the slave device according to the same data bit width mapping information table.
Specifically, the slave signal processing module may receive a slave response signal input from the slave input signal buffer, and may fill the response driving signal according to a rule corresponding to each item in the data bit width mapping information table.
And the main signal sending module is used for storing the filled response driving signal into the main equipment output signal buffer area, and feeding back the response driving signal to the main equipment through the main equipment protocol interface 11 when the main signal output condition is met.
In the present embodiment, the master signal output condition may be understood as a condition of transmitting a signal to the master device.
Specifically, the main signal sending module may store the filled response driving signal in the main device output signal buffer area, determine whether a main signal output condition is met, for example, whether the main device sets the handshake signal high, and when the main signal output condition is met, feed back the response driving signal to the main device through the main device protocol interface 11.
Further, the main signal processing module includes:
the type determining unit is configured to parse an operation type to which the current operation request signal belongs, and determine a signal conversion mapping item corresponding to the current operation request signal according to the same data bit width mapping information table and the operation type, where the operation type includes: read/write operations and atomic operations.
In this embodiment, the operation type may be understood as a classification of the type of the master device needs the slave device to operate, and may include: a read/write operation type, an atomic operation type. The signal conversion mapping item may be understood as a signal item in the mapping information table that drives the slave device to perform a corresponding operation.
Specifically, the type determining unit may determine the operation type to which the operation request signal belongs according to the value (a_opcode) of the operation code included in the current operation request signal, and corresponds to the read/write operation type when a_opcode=4, 0 or 1, and corresponds to the atomic operation type when a_opcode=2 or 3. And determining a signal which corresponds to the operation type and needs to be modified to enable the slave equipment to respond according to the same data bit width mapping information table, and determining a signal conversion mapping item.
And a first conversion unit configured to convert the current operation request signal to form a slave device driving signal in a first conversion manner based on the signal conversion mapping item when the operation type of the current operation request signal is a read/write operation.
In the present embodiment, the first switching manner can be understood as a manner in which the operation request signal forms the drive signal at the time of the read/write operation.
Specifically, the first conversion unit may assign a value to the slave device driving signal based on the signal conversion mapping item according to a mapping rule corresponding to the read/write operation item of the operation type in the data bit width mapping information table, and form the slave device driving signal from the current operation request signal.
And a second conversion unit configured to convert the current operation request signal to form a slave device driving signal by using a second conversion method based on the signal conversion mapping item when the operation type of the current operation request signal is an atomic operation.
In the present embodiment, the second conversion mode can be understood as a mode in which the operation request signal forms a drive signal at the time of the atomic operation.
Specifically, the second conversion unit may assign a value to the slave device driving signal based on the signal conversion mapping item according to a mapping rule corresponding to the atomic operation item of the operation type in the data bit width mapping information table, and form the driving signal from the current operation request signal.
Wherein, first conversion unit is specifically used for:
a1, determining a corresponding first item to be converted under the read/write operation type.
In this embodiment, the first to-be-converted item may be understood as a signal item that needs to be changed under the read/write operation type.
Specifically, when the first conversion unit determines that the operation request corresponds to the read/write operation type (i.e. a_opcode=4, 0 or 1) through the operation code in the operation request signal, the first conversion unit may determine the first conversion item corresponding to the read/write operation through a table look-up.
B1, determining a first signal conversion value corresponding to each first item to be converted from the signal conversion mapping items.
In this embodiment, the first signal conversion value may be understood as a value corresponding to the first item to be converted set in the mapping information table.
Specifically, the first conversion unit may use the value included in the signal conversion map item as the first signal conversion value corresponding to each first item to be converted.
For example, according to the mapping information table, it may be determined that a first to-be-converted item in the signal conversion mapping items under the read/write operation type may be cyc and stb signals, and the corresponding first signal conversion values are all 1.
C1, taking the first item to be converted as a first driving item of the slave device, and forming a slave device driving signal containing each first signal conversion value.
In this embodiment, the first driving item may be understood as a signal item for activating a request from the device to complete an operation.
Specifically, the first conversion unit may use the first item to be converted as a first driving item of the slave device, and use the first driving item and the corresponding first signal conversion values together as a slave device driving signal.
The second conversion unit is specifically configured to:
a2, determining a corresponding second item to be converted under the atomic operation type, wherein the atomic operation is an atomic operation reading or atomic operation writing.
In this embodiment, the second item to be converted may be understood as a signal item that needs to be changed under the atomic operation type. A read atomic operation may be understood as an operation of reading data. A write atomic operation may be understood as an operation of writing calculated result data.
Specifically, when the second conversion unit determines that the operation request corresponds to the atomic operation type (i.e. a_opcode=2 or 3) through the operation code in the operation request signal, the second conversion unit may determine, through a table look-up form, a second item to be converted corresponding to the atomic operation.
B2, determining second signal conversion values corresponding to the second to-be-converted items from the signal conversion mapping items.
In this embodiment, the second signal conversion value may be understood as a value corresponding to the second to-be-converted item set in the mapping information table.
Specifically, the second conversion unit may use the value included in the signal conversion map item as the first signal conversion value corresponding to each first item to be converted.
For example, according to the mapping information table, it may be determined that the second to-be-converted items in the signal conversion mapping items under the atomic operation type may be cyc, stb and we signals, and the corresponding second signal conversion values are 1, 1 and 0, respectively.
And c2, taking the second item to be converted as a second driving item of the slave device, and forming a slave device driving signal containing each second signal conversion value.
In this embodiment, the second driving item may be understood as a signal item for activating the slave device to complete the operation request.
Specifically, the second conversion unit may use the second item to be converted as a second driving item of the slave device, and use the second driving item and corresponding second signal conversion values together as a slave device driving signal.
Further, the slave signal processing module includes:
And the read processing unit is used for receiving a read processing response signal fed back by the slave device if the slave device driving signal sent to the slave device is used for read processing, and filling the read processing response signal according to the same data bit width mapping information table to obtain a read processing response filling signal.
In this embodiment, the read processing reply filling signal may be understood as a reply filling signal corresponding to the read data.
Specifically, if the slave device driving signal sent to the slave device is used for reading, after receiving the reading response signal fed back by the slave device after the response is completed, the reading processing unit may drive the output signal of the D channel at the protocol interface end of the master device, and fill the response driving signal of the result after the reading processing of the slave device according to the rule corresponding to each item in the mapping information table, so as to obtain the reading response filling signal.
And the write processing unit is used for receiving a write processing response signal fed back by the slave device if the slave device driving signal sent to the slave device is used for write processing, and filling the write processing response signal according to the same data bit width mapping information table to obtain a write processing response filling signal.
In the present embodiment, the write processing response fill signal can be understood as a response fill signal corresponding to data written to a corresponding address.
Specifically, if the slave device driving signal sent to the slave device is used for writing, after receiving the writing response signal fed back by the slave device after the response is completed, the writing processing unit may drive the output signal of the D channel at the protocol interface end of the master device, and determine the result after writing processing of the slave device according to the rule corresponding to each item in the mapping information table to fill the response driving signal. Such as filling d_ corrupt and d_ denied.
Further, the main signal sending module is further configured to:
When the operation type of the current operation request signal is atomic operation and the atomic operation is reading atomic operation, after the main signal output condition is met, the operation fed back to the main device through the main device protocol interface is ignored.
It should be noted that, when performing an atomic operation, the slave device may be driven to perform a read process, read data of a target address included in the operation request signal, and then perform an operation with the data in the operation request signal, and may be driven to perform a write process, and replace the content in the target address with the calculation result.
Specifically, when the operation type of the operation request signal is atomic operation and the atomic operation is read atomic operation, the feedback operation from the post-filling response driving signal to the main device cannot be directly performed if the atomic operation is performed subsequently, and the main signal sending module may ignore the feedback signal from the post-filling response driving signal to the main device until the atomic operation is completed, and may continue to perform the feedback operation from the post-filling response driving signal to the main device.
Further, the main signal processing module is further configured to:
a3, performing atomic operation based on the data in the read processing response filling signal and the data in the current operation request signal to obtain an atomic operation result.
In this embodiment, the atomic operation may be understood as an operation method included in the operation request signal. The atomic operation result may be understood as a calculation result of performing an atomic operation.
Specifically, the main signal processing module may analyze a signal (d_parameter) for indicating an atomic operation type included in the operation request signal based on the data at the target address read out from the read processing response filling signal and the data in the operation request signal, to determine a corresponding atomic operation, where the atomic operation type is shown in table 3 and table 2, and the conversion controller may perform the atomic operation on the data in the read processing response filling signal and the data in the operation request signal, to obtain an atomic operation result.
B3, forming a current operation request signal for writing the atomic operation based on the atomic operation result, and sending the current operation request signal to the main signal receiving module.
Specifically, the main signal processing module may form an operation request signal for writing the atomic operation based on the atomic operation result, where the operation request signal is used to write the atomic operation result back to the original target address, so that the main device may read the atomic operation result through the original target address. And sending the current operation request signal to the main signal receiving module, and continuing to execute the subsequent steps.
Optionally, the conversion controller further includes:
And the signal rejection processing module is used for generating a rejection response driving signal of the current operation request signal according to the corresponding execution strategy in the same data bit width mapping information table when the current operation request signal does not meet the processing condition of the slave equipment, and transmitting the rejection response driving signal to the master signal transmitting module.
In this embodiment, the execution policy may be understood as a policy requiring processing of the corresponding signal. The refusal response drive signal may be understood as a drive signal for informing the master device of refusal of the operation request signal.
Specifically, when the operation request signal does not meet the processing condition of the slave device, that is, the received operation request signal has errors in data, and the received operation request signal does not support the slave device communication protocol or the operation request signal is the intelnt, the signal rejection processing module may determine, according to the execution policy corresponding to the current operation request signal in the same data bit width mapping information table, a value of a corresponding signal in the host device protocol interface D channel corresponding to the current operation request signal, thereby generating a rejection response driving signal of the operation request signal, and send the rejection response driving signal to the host signal sending module.
Further, the signal rejection processing module is specifically configured to:
a4, determining a rejection signal conversion mapping item corresponding to the current operation request signal according to the execution strategy.
In the present embodiment, the reject signal conversion map term may be understood as a term in the D channel for indicating a reject operation request signal.
Specifically, the signal rejection processing module may determine, according to the execution policy, an item in the D channel for indicating rejection of the operation request signal, that is, determine a rejection signal conversion mapping item corresponding to the operation request signal.
And b4, converting the current operation request signal to form a refusal response driving signal based on the refusal signal conversion mapping item.
Specifically, the signal rejection processing module may assign a value to the rejection signal conversion mapping item based on the rejection signal conversion mapping item and a value representing the rejection signal conversion mapping item in the mapping information table, and convert the operation request signal to form the rejection response driving signal.
And c4, transmitting the refusal response driving signal to the main signal transmitting module.
Specifically, the signal rejection processing module sends a rejection response driving signal to the main signal sending module.
According to the technical scheme, when the signal receiving condition is met through the main signal receiving module, a current operation request signal output in the main equipment input signal buffer area is received, the operation type of the operation request signal is determined through the type determining unit in the main signal processing module, corresponding signal conversion mapping items in the mapping information table are determined according to different conversion modes aiming at different operation types, so that a slave equipment driving signal generated by the driving items and corresponding signal conversion values is obtained, the slave equipment driving signal is stored into the slave equipment output signal buffer area through the slave signal transmitting module, and when the slave signal output condition is met, the slave equipment driving signal is transmitted to the slave equipment through the slave equipment protocol interface to activate the slave equipment. And after receiving the response signal of the slave device, the slave signal processing module drives the corresponding signal according to the rule set in the mapping information table of the same data bit width, fills the response driving signal, and the master signal transmitting module feeds the filled response driving signal back to the master device through the master device protocol interface. When the operation type is atomic operation, the response signal is divided into read processing and write processing by the slave signal processing module, and the response driving signal filled with the write processing response signal is fed back to the master device by the master signal transmitting module. When the current operation request signal does not meet the processing conditions of the slave device, a rejection response driving signal is generated through a signal rejection processing module, so that the subsequent modules can finish rejection operation, and the conversion process of signals under different operation types is supplemented. The set mapping information table provides support for signal conversion between the master device and the slave device, realizes automatic conversion of signals of the master device and signals of the slave device, realizes data interaction and atomic operation between the master device and the slave device with different communication protocols, and meets the response of the diversified demands of the master device.
For example, along the symbols in the above exemplary description, when the processing condition of the slave device is satisfied (a_ corrupt =0), the implementation process of the present application is described by way of example in the case that the current operation request information type of the master device is a read/write operation in a time sequence form (d_parameter, d_sink may be fixed to a fixed value and not participate in the determination process of the driving signal), and fig. 2 is a timing chart of an example of a communication conversion apparatus for communication between the master device and the slave device in the read/write operation according to the first embodiment of the present application.
As shown in fig. 2, clock represents a clock signal, and when the master device satisfies the slave device processing condition, the transmission data has no error (a_ corrupt =0), the timing waveform chart is as follows. (wherein a_ represents all signals remaining in the a-channel signal except for the a-channel signal shown in fig. 2, d_ represents all signals remaining in the D-channel signal except for the D-channel signal shown in fig. 2, wb_ _ out represents all output signals remaining in the slave (WB) terminal of fig. 2, wb_ in represents all input signals remaining in the WB terminal of fig. 4), and the double-dashed line represents several clock cycles (the minimum consumption may be 0 cycles) consumed for waiting for the master to receive a response process, wherein the double-dashed line 1 represents the processing process after the switching controller receives the master request; the double dashed line 2 represents the processing procedure of the slave device; the double-dashed line 3 represents the processing procedure after the conversion controller receives the response from the device; the double dashed line 4 indicates that the switching controller waits for the master to receive an acknowledgement. When an operation request signal (a_valid=1, i.e. when the a_valid item is high in the figure) of the master device is received and no other request processing is performed, signals d_opcode, d_size, d_ source, we, sel, addr and data_wr can be driven according to the corresponding rules in the mapping information table of the same data bit width, the pulled high a_ready indicates that the request has been received, the first driving item and the corresponding first signal conversion value are cyc=1 and stb=1, cycy and stb are pulled high to activate the slave device, and d_data, d_ corrupt and d_ denied are determined according to the mapping rules corresponding to each item in the mapping information table when the slave device answers (ack=1), and the cyc and stb are pulled low to turn off the slave device. And feeding back the determined D channel signal to the main equipment through the main equipment protocol interface, pulling d_valid high to represent a response to the main equipment request, and when the main equipment receives the response (d_ready=1), representing that the request is completed.
For example, along the symbols in the above exemplary description, when the master device satisfies the processing condition of the slave device (a_ corrupt =0), the implementation procedure of the present application is described by way of example in the case that the operation request information type of the master device is atomic operation (d_parameter, d_sink may be fixed to a fixed value and not participate in the process of obtaining the driving signal of the slave device), and fig. 3 is a timing chart of an example of a communication conversion system for communication between the master device and the slave device in atomic operation according to the first embodiment of the present application.
As shown in fig. 3, clock represents a clock signal, and when the master device satisfies the slave device processing condition, the transmission data has no error (a_ corrupt =0), the timing waveform chart is as follows. (wherein a_ represents all signals remaining in the a-channel signal except for the a-channel signal shown in fig. 3, d_ represents all signals remaining in the D-channel signal except for the D-channel signal shown in fig. 4, wb_ _ out represents all output signals remaining in the slave (WB) terminal of fig. 3, wb_ in represents all input signals remaining in the WB terminal of fig. 3), and the double-dashed line represents several clock cycles (the minimum consumption may be 0 cycles) consumed for waiting for the master to receive a response process, wherein the double-dashed line 1 represents the processing process after the switching controller receives the master request; the double dashed line 2 represents the read process of the slave device; the double-dashed line 3 represents the process in which the conversion controller 13 performs an atomic operation to obtain an atomic operation result; the double-dashed line 4 represents the write process of the slave device; the double-dashed line 5 represents the processing after the switching controller 13 receives the slave response signal; the double dashed line 6 indicates that the switching controller 13 waits for the master to receive a reply. When an operation request signal (a_valid=1, i.e. when the a_valid item is high in the figure) of the master device is received and no other request processing is performed, signals d_opcode, d_size, d_source, sel and addr can be driven according to the corresponding rules in the given mapping information table, the pulled up a_ready indicates that the request has been received, the second driving item and the corresponding second signal conversion values are cyc=1, stb=1 and we=0, cyc and stb are pulled up to activate the slave device, we sets 0 to activate the content of the slave device for reading the target address, and when the slave device replies (ack=1), signals d_data and d_ corrupt are processed according to the mapping rules corresponding to each item in the mapping information table, and cyc and stb are pulled down to shut down the slave device. And performing atomic operation based on the data in the read processing response signal and the data in the operation request signal, obtaining an atomic operation result and driving the signal data_wr according to the mapping rule included in the same-data-bit-width mapping information table. And (3) pulling up cyc and stb to activate the slave device, writing the atomic operation result back to a corresponding target address in the operation request signal according to a mapping rule corresponding to each item in the data bit width mapping information table, and pulling down cyc and stb to close the slave device when the slave device answers (ack=1), and driving d_ denied according to a mapping rule corresponding to each item in the data bit width mapping information table. And feeding back the determined D channel signal as a feedback signal to the main equipment through the main equipment protocol interface, pulling d_valid high to represent a response to the main equipment request, and when the main equipment receives the response (d_ready=1), representing that the request is completed.
For example, along with the symbols in the above exemplary description, when data is sent to the master device in a time sequence form (the data may be determined to be wrong by a_ corrupt =1) or the request is an intelnt (i.e. a_opcode=5), that is, when the operation request signal does not meet the processing condition of the slave device, the implementation process of the present application is described in an exemplary manner (d_parameter, d_sink may be fixed to a fixed value and not participate in the obtaining process of the driving signal of the slave device), and fig. 4 is a timing diagram of an exemplary case where the operation request signal does not meet the processing condition of the slave device in the communication conversion apparatus for communication between the master device and the slave device according to the first embodiment of the present application.
As shown in fig. 4, clock represents clock signals, double-dashed lines represent several clock cycles (minimum consumption may be 0 cycles) consumed by waiting for the master to receive a response process, when an operation request signal (a_valid=1, i.e. a_valid item is high in the figure) of the master is received and no other request processing is performed, D channel signals d_operation, d_size, d_source, d_data, d_ corrupt, and d_ denied may be first driven according to an execution policy corresponding to the data bit width mapping information table (i.e. d_operation=2, d_size=a_size, d_source=a_source, d_data may be arbitrary and d_ corrupt =0), a rejection signal conversion mapping item is d_valid, and a_ready are 1, a rejection response driving signal is d_ denied =1 (representing rejection of access), d_ denied is high, and a_ready represents rejection of a request (i.e. a_ready is high in the master to receive a request (i.e. a_ corrupt =0) of the master is assigned to receive a request).
Claims (9)
1. A communication conversion apparatus for communication between a master device and a slave device, comprising: a master device protocol interface for connecting to at least one master device, a slave device protocol interface for connecting to a slave device, further comprising: a switching controller;
the switching controller is used for performing signal switching processing on an operation request signal of the master device to form a slave device driving signal and sending the slave device driving signal to the slave device; the device is also used for filling response driving signals fed back by the slave device and feeding back the response driving signals to the master device;
wherein, the conversion controller includes:
the main signal receiving module is used for receiving a current operation request signal output in the main equipment input signal buffer area when the signal receiving condition is met;
The master signal processing module is used for processing the current operation request signal according to a preset same-data bit width mapping information table when the current operation request signal meets the processing conditions of the slave device, and obtaining a corresponding slave device driving signal;
the slave signal sending module is used for storing the slave device driving signal into a slave device output signal buffer area and sending the slave device driving signal to the slave device through a slave device protocol interface when the slave signal output condition is met;
the slave signal processing module is used for receiving a slave device response signal input by a slave device input signal buffer zone and filling response driving signals for response signals fed back by the slave device according to the same data bit width mapping information table;
And the main signal sending module is used for storing the filled response driving signals into a main equipment output signal buffer area, and feeding back the response driving signals to the main equipment through the main equipment protocol interface when the main signal output conditions are met.
2. The apparatus of claim 1, wherein the main signal processing module comprises:
The type determining unit is configured to parse an operation type to which the current operation request signal belongs, and determine a signal conversion mapping item corresponding to the current operation request signal according to the same data bit width mapping information table and the operation type, where the operation type includes: read/write operations and atomic operations;
A first conversion unit configured to convert the current operation request signal to form the slave device driving signal by using a first conversion method based on the signal conversion mapping item when the operation type of the current operation request signal is a read/write operation;
and the second conversion unit is used for converting the current operation request signal to form the slave device driving signal in a second conversion mode based on the signal conversion mapping item when the operation type of the current operation request signal is atomic operation.
3. The device according to claim 2, characterized in that said first conversion unit is in particular adapted to:
determining a corresponding first item to be converted under the read/write operation type;
Determining a first signal conversion value corresponding to each first item to be converted from the signal conversion mapping items;
and taking the first item to be converted as a first driving item of the slave device to form a slave device driving signal containing each first signal conversion value.
4. The apparatus according to claim 2, wherein the second conversion unit is specifically configured to:
determining a corresponding second item to be converted under an atomic operation type, wherein the atomic operation is an atomic operation reading or atomic operation writing;
Determining a second signal conversion value corresponding to each second item to be converted from the signal conversion mapping items;
And taking the second item to be converted as a second driving item of the slave device to form a slave device driving signal containing each second signal conversion value.
5. The apparatus of claim 2, wherein the slave signal processing module comprises:
The read processing unit is used for receiving a read processing response signal fed back by the slave equipment if the slave equipment driving signal sent to the slave equipment is used for read processing, and filling the read processing response signal with the response driving signal according to the same-data bit width mapping information table to obtain a read processing response filling signal;
and the write processing unit is used for receiving a write processing response signal fed back by the slave equipment if the slave equipment driving signal sent to the slave equipment is used for write processing, and filling the write processing response signal according to the same-data bit width mapping information table to obtain a write processing response filling signal.
6. The apparatus of claim 5, wherein the primary signaling module is further configured to:
When the operation type of the current operation request signal is atomic operation and the atomic operation is reading atomic operation, the operation fed back to the main equipment through the main equipment protocol interface is ignored after the main signal output condition is met.
7. The apparatus of claim 5, wherein the primary signal processing module is further configured to:
Performing atomic operation based on the data in the read processing response filling signal and the data in the current operation request signal to obtain an atomic operation result;
And forming a current operation request signal for writing the atomic operation based on the atomic operation result, and sending the current operation request signal to the main signal receiving module.
8. The apparatus of claim 1, wherein the conversion controller further comprises:
And the signal rejection processing module is used for generating a rejection response driving signal of the current operation request signal according to the corresponding execution strategy in the same-data bit width mapping information table when the current operation request signal does not meet the processing condition of the slave equipment, and transmitting the rejection response driving signal to the master signal transmitting module.
9. The apparatus according to claim 8, wherein the signal rejection processing module is specifically configured to:
determining a rejection signal conversion mapping item corresponding to the current operation request signal according to the execution strategy;
converting the current operation request signal to form the refusal response driving signal based on the refusal signal conversion mapping item;
And transmitting the refusal response driving signal to the main signal transmitting module.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211627309.4A CN116185929B (en) | 2022-12-16 | 2022-12-16 | Communication conversion device for communication between master equipment and slave equipment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211627309.4A CN116185929B (en) | 2022-12-16 | 2022-12-16 | Communication conversion device for communication between master equipment and slave equipment |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116185929A CN116185929A (en) | 2023-05-30 |
CN116185929B true CN116185929B (en) | 2024-07-12 |
Family
ID=86435519
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211627309.4A Active CN116185929B (en) | 2022-12-16 | 2022-12-16 | Communication conversion device for communication between master equipment and slave equipment |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116185929B (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116800837B (en) * | 2022-12-16 | 2024-07-12 | 无锡芯光互连技术研究院有限公司 | Communication conversion method, device and medium for communication between master and slave devices |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106482080A (en) * | 2016-12-29 | 2017-03-08 | 广州视声智能股份有限公司 | A kind of relay client/server system |
CN109684246A (en) * | 2018-12-19 | 2019-04-26 | 东莞博力威电池有限公司 | Method and system for data transmission between devices with different interface protocols |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5418925A (en) * | 1992-10-23 | 1995-05-23 | At&T Global Information Solutions Company | Fast write I/O handling in a disk array using spare drive for buffering |
US5596708A (en) * | 1994-04-04 | 1997-01-21 | At&T Global Information Solutions Company | Method and apparatus for the protection of write data in a disk array |
CN102193887B (en) * | 2010-03-11 | 2013-08-21 | 炬力集成电路设计有限公司 | Multi-channel bridge and bus system |
CN106326056A (en) * | 2016-08-26 | 2017-01-11 | 中国电子科技集团公司第三十八研究所 | Reusable WISHBONE bus protocol verification platform and verification method thereof |
CN108490279A (en) * | 2018-01-26 | 2018-09-04 | 深圳市沃特玛电池有限公司 | The test system and method for battery management system |
CN108345231A (en) * | 2018-03-26 | 2018-07-31 | 广州视源电子科技股份有限公司 | Power equipment linkage control method, system and device |
CN112148321B (en) * | 2019-06-26 | 2023-02-28 | 深圳市航顺芯片技术研发有限公司 | Anti-interference upgrading system and method for automobile intelligent electronic equipment microcontroller |
CN111817751A (en) * | 2020-07-31 | 2020-10-23 | 优动能科技(深圳)有限公司 | Communication parallel test technology |
CN112543130B (en) * | 2020-12-11 | 2021-08-06 | 柯提斯电气(杭州)有限公司 | Intelligent communication detection system and communication method thereof |
CN114860640B (en) * | 2022-04-07 | 2023-06-06 | 湖南艾科诺维科技有限公司 | FlexSPI interface driving method and system for FPGA and ARM communication |
-
2022
- 2022-12-16 CN CN202211627309.4A patent/CN116185929B/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106482080A (en) * | 2016-12-29 | 2017-03-08 | 广州视声智能股份有限公司 | A kind of relay client/server system |
CN109684246A (en) * | 2018-12-19 | 2019-04-26 | 东莞博力威电池有限公司 | Method and system for data transmission between devices with different interface protocols |
Also Published As
Publication number | Publication date |
---|---|
CN116185929A (en) | 2023-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112463714B (en) | Remote direct memory access method, heterogeneous computing system and electronic equipment | |
CN103605632B (en) | The communication means of a kind of AXI bus and ahb bus and device | |
US8799536B2 (en) | Data processing apparatus, data processing method and computer-readable medium | |
US20070073824A1 (en) | Apparatus and method for acquiring identification information when a bus reset occurs | |
CN101515261A (en) | Data transfer between devices within an integrated circuit | |
CN109656851B (en) | System with time determination and comprising multiple high-speed bus channels and shared interface | |
CN116185929B (en) | Communication conversion device for communication between master equipment and slave equipment | |
CN103729319A (en) | Equipment system based on serial bus and data transmission method | |
CN101493805B (en) | Scalable bus structure | |
CN115955518B (en) | Communication conversion method, device and storage medium for communication between master and slave devices | |
JP2005078624A (en) | Method and device for enhancing data transfer rate of multimedia card, using differential signal | |
CN115913816B (en) | Communication conversion device and method for communication between master equipment and slave equipment | |
CN116185936A (en) | SPI communication data receiving and transmitting abnormity detection control system and detection method | |
CN119025464B (en) | A system, method and device for transmitting write response information based on PCIe protocol | |
US7822040B2 (en) | Method for increasing network transmission efficiency by increasing a data updating rate of a memory | |
CN117435538A (en) | Bridging system for converting PCIe (peripheral component interconnect express) into SRIO (serial peripheral component interconnect express) | |
CN216387785U (en) | Multi-path camera power supply detection circuit and multi-path camera power supply detection system | |
CN116166581A (en) | Queue type DMA controller circuit for PCIE bus and data transmission method | |
CN114996184A (en) | Compatible implementation of SPI or I 2 Interface module of C slave machine and data transmission method | |
CN115827284B (en) | System on chip, electronic assembly, electronic device and transmission processing method | |
CN116800837B (en) | Communication conversion method, device and medium for communication between master and slave devices | |
CN112948303B (en) | Audio/video decoding equipment and method using U.2 as transmission interface adaptation server | |
CN117435534B (en) | Data transmission circuit, method and processor based on peripheral bus | |
CN111159070A (en) | Mark compression system based on AHB bus and system on chip | |
US20100138577A1 (en) | Apparatus and method for writing bitwise data in system on chip |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |