WO2023284169A1 - 从axi总线到opb总线的数据写入方法及读取方法 - Google Patents

从axi总线到opb总线的数据写入方法及读取方法 Download PDF

Info

Publication number
WO2023284169A1
WO2023284169A1 PCT/CN2021/127515 CN2021127515W WO2023284169A1 WO 2023284169 A1 WO2023284169 A1 WO 2023284169A1 CN 2021127515 W CN2021127515 W CN 2021127515W WO 2023284169 A1 WO2023284169 A1 WO 2023284169A1
Authority
WO
WIPO (PCT)
Prior art keywords
axi
opb
bus
data
write
Prior art date
Application number
PCT/CN2021/127515
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 苏州浪潮智能科技有限公司
Priority to US18/258,447 priority Critical patent/US20240028525A1/en
Publication of WO2023284169A1 publication Critical patent/WO2023284169A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • G06F13/126Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine and has means for transferring I/O instructions and statuses between control unit and main processor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • the present application relates to the field of storage technology, in particular to a method and device for writing data from an AXI bus to an OPB bus, a method and device for reading data from an AXI bus to an OPB bus, electronic equipment, and a computer-readable storage medium.
  • Integrated Circuit Integrated Circuit
  • IP Intellectual Property
  • SOC System On Chip
  • the Advanced Extensible Interface (AXI) bus can meet the requirements of the new generation of SOC systems for high performance and low power consumption, and has been widely used.
  • the on-chip peripheral bus (On-chip Peripheral Bus, OPB) is widely used in the information field, especially it provides the link between the processor core and other peripheral devices.
  • OPB On-chip Peripheral Bus
  • the purpose of this application is to provide a kind of data writing method from AXI bus to OPB bus, this method has completed the data interaction between AXI bus and OPB bus, has reduced cost, has promoted project development efficiency; Another aspect of this application The purpose is to provide a data writing device from AXI bus to OPB bus, a data reading method and device from AXI bus to OPB bus, electronic equipment and a computer-readable storage medium.
  • a method for writing data from an AXI bus to an OPB bus comprising:
  • the AXI write data is stored in the AXI write cache
  • the AXI write data is carried out from the AXI bus protocol to the timing conversion of the OPB bus protocol to obtain the OPB write data;
  • the timing conversion from the AXI bus protocol to the OPB bus protocol is performed on the AXI write data, including:
  • the OPB write data before the OPB write data is exported from the AXI write cache to the OPB bus, it also includes:
  • the AXI write data is stored in the AXI write cache, including:
  • Deriving the OPB write data from the AXI write buffer to the OPB bus including:
  • the OPB write data is exported from the AXI write cache to the OPB bus, it also includes:
  • the OPB write response signal is carried out from the OPB bus protocol to the timing conversion of the AXI bus protocol to obtain the AXI write response signal;
  • the OPB write response signal is carried out from the OPB bus protocol to the timing conversion of the AXI bus protocol to obtain the AXI write response signal, including:
  • the AXI write response signal is obtained through calculation according to the validity statistics result.
  • a method for reading data from an AXI bus to an OPB bus comprising:
  • Each of the AXI read instructions is sequentially exported from the AXI read buffer to the OPB bus.
  • each of the AXI read instructions before each of the AXI read instructions is sequentially exported from the AXI read cache to the OPB bus, it also includes:
  • Each of the AXI read instructions is sequentially exported from the AXI read cache to the OPB bus, including:
  • Each of the AXI read instructions is sequentially exported from the AXI read cache to the target read slave device in the OPB bus.
  • each of the AXI read instructions is sequentially derived from the AXI read cache to the OPB bus, it also includes:
  • each of the OPB read data acquired in the cache reaches the total number of instructions, each of the OPB read data is converted into valid AXI read data in the same cycle.
  • a data writing device from an AXI bus to an OPB bus comprising:
  • the write data receiving module is used to receive the AXI write data sent by the AXI bus;
  • a write data storage module configured to store the AXI write data into the AXI write cache
  • the first timing conversion module is used to perform timing conversion from the AXI bus protocol to the OPB bus protocol for the AXI write data to obtain the OPB write data;
  • a write data export module configured to export the OPB write data from the AXI write cache to the OPB bus.
  • a data reading device from an AXI bus to an OPB bus comprising:
  • the read instruction receiving module is used to receive each AXI read instruction sent by the AXI bus;
  • a read instruction storage module configured to store each of the AXI read instructions into the AXI read cache
  • a read instruction deriving module configured to sequentially export each of the AXI read instructions from the AXI read cache to the OPB bus.
  • An electronic device comprising:
  • the processor is configured to implement the steps of the method for writing data from the AXI bus to the OPB bus or the method for reading data from the AXI bus to the OPB bus as described above when executing the computer program.
  • a computer-readable storage medium the computer-readable storage medium is stored with a computer program, and when the computer program is executed by a processor, it realizes the data writing method from the AXI bus to the OPB bus as described above or from the AXI bus The steps of the data reading method to the OPB bus.
  • the method for writing data from the AXI bus to the OPB bus receives the AXI write data sent by the AXI bus; stores the AXI write data in the AXI write cache; performs the AXI write data from the AXI bus protocol to the OPB bus protocol The timing conversion of the OPB write data is obtained; the OPB write data is exported from the AXI write buffer to the OPB bus.
  • the AXI write cache is set in advance.
  • the AXI write cache is used to cache the AXI write data first, and the slave AXI bus protocol is executed.
  • the timing conversion to the OPB bus protocol so as to obtain the OPB write data conforming to the OPB bus protocol, and export the OPB write data from the AXI write buffer to the OPB bus.
  • the application also provides a data writing device from the AXI bus to the OPB bus corresponding to the above-mentioned data writing method from the AXI bus to the OPB bus, a data reading method and device from the AXI bus to the OPB bus,
  • the device and the computer-readable storage medium have the above-mentioned technical effects, which will not be repeated here.
  • Fig. 1 is a kind of implementation flowchart of the data writing method from AXI bus to OPB bus in the embodiment of the application;
  • Fig. 2 is another implementation flowchart of the data writing method from AXI bus to OPB bus in the embodiment of the application;
  • Fig. 3 is the implementation block diagram of data interaction between AXI bus and OPB bus in the embodiment of the present application;
  • Fig. 4 is a kind of implementation flowchart of the data reading method from AXI bus to OPB bus in the embodiment of the application;
  • Fig. 5 is another implementation flowchart of the data reading method from AXI bus to OPB bus in the embodiment of the application;
  • Fig. 6 is a structural block diagram of a data writing device from the AXI bus to the OPB bus in the embodiment of the present application;
  • Fig. 7 is a structural block diagram of a data reading device from the AXI bus to the OPB bus in the embodiment of the present application;
  • FIG. 8 is a structural block diagram of an electronic device in an embodiment of the present application.
  • FIG. 9 is a schematic structural diagram of an electronic device provided in this embodiment.
  • Fig. 1 is a kind of implementation flowchart of the data writing method from AXI bus to OPB bus in the embodiment of the application, and this method can comprise the following steps:
  • S101 Receive AXI write data sent by the AXI bus.
  • a bridge device is provided in advance between the AXI bus connecting the master and the OPB bus connecting the slaves.
  • the master device at the AXI bus end needs to write data to the slave device at the OPB bus end, it sends the AXI write data to the bridge device.
  • the AXI write data is any data that needs to be written to the slave device at the OPB bus end, and the data is data conforming to the AXI bus protocol.
  • S102 Store the AXI write data in the AXI write cache.
  • the bridge device includes an AXI write buffer for buffering AXI write data sent by the AXI bus. After receiving the AXI write data sent by the AXI bus, the bridge device stores the AXI write data into the AXI write cache.
  • the write address signal, write address valid, write address ID, burst length, burst size, burst type and other information on the bus are valid in the same cycle, while the write data signal Signals including write data, write data valid, and the last burst are valid one cycle after them.
  • the AXI write cache is essential.
  • the bus supports delayed transactions, that is, multiple instructions can be sent continuously. Therefore, when the AXI write data is written from the master device in the AXI bus to the slave device in the OPB bus, the AXI write cache starts to a vital role.
  • S103 Perform timing conversion of the AXI write data from the AXI bus protocol to the OPB bus protocol to obtain the OPB write data.
  • the bridge device includes a timing conversion module from the AXI bus protocol to the OPB bus protocol. After the AXI write data is stored in the AXI write cache, the timing conversion of the AXI write data from the AXI bus protocol to the OPB bus protocol is performed to obtain the OPB write data. . In this way, the conversion of AXI write data satisfying the AXI bus protocol to OPB write data satisfying the OPB bus protocol is realized.
  • S104 Export the OPB write data from the AXI write buffer to the OPB bus.
  • the AXI write cache is set in advance.
  • the AXI write cache is used to cache the AXI write data first, and the slave AXI bus protocol is executed.
  • the timing conversion to the OPB bus protocol so as to obtain the OPB write data conforming to the OPB bus protocol, and export the OPB write data from the AXI write buffer to the OPB bus.
  • the embodiments of the present application also provide corresponding improvement solutions.
  • the same steps as those in the above embodiments or corresponding steps may be referred to each other, and the corresponding beneficial effects may also be referred to each other, and will not be repeated in the improved embodiments below.
  • Fig. 2 is another implementation flowchart of the data writing method from AXI bus to OPB bus in the embodiment of the application, and this method can comprise the following steps:
  • S201 Receive AXI write data sent by the AXI bus.
  • S202 Receive an AXI write address signal.
  • FIG. 3 is a block diagram for implementing data interaction between the AXI bus and the OPB bus in the embodiment of the present application.
  • the master device at the AXI bus end can also send an AXI write address signal to the bridge device, and the bridge device receives the AXI write address signal.
  • the AXI write address signal includes address information to be written into the OPB bus, and the address signal is a signal conforming to the AXI bus protocol.
  • step S201 and step S202 which may be executed sequentially or in parallel.
  • S203 Store the AXI write data and the AXI write address signal in the AXI write buffer.
  • the write attribute information such as write address signal, write address valid, write address ID, burst length, burst size, and burst type on the AXI bus is valid in the same cycle, while the write Data signals include write data, write data valid, and the last burst and other signals are valid one cycle after them. Get the write attribute information of AXI write data.
  • S205 Convert the write attribute information and the AXI write data from valid in two successive cycles to valid in the same cycle to obtain OPB write data.
  • the AXI bus protocol is different from the OPB bus protocol.
  • the OPB bus protocol requires each write data to have its corresponding address.
  • the AXI bus protocol supports 3 different burst modes.
  • the conversion relationship with the OPB bus protocol is as follows As shown, it involves AXI write address signal, write address valid, write address ID, burst length, burst size, burst type and other signals:
  • the first address of OPB is the same as the AXI address, and the subsequent addresses need to be incremented on the basis of the initial address, and the increment range is the same as the transmission width.
  • wrap_size is the loop width
  • burst_len is the actual burst length
  • burst_size is the data size of each burst, and the unit is Byte.
  • Temp0 m_axi_awaddr/wrap_size, only take the integer part.
  • Temp0 is an intermediate variable in the calculation process
  • m_axi_awaddr is the AXI write address.
  • WRAP When the current address is smaller than the wrapping upper boundary, WRAP is exactly the same type as INCR, and the address is incremented. But after the incremented address reaches the highest address, the address directly returns to the address of the lower boundary, and then increments, and the cycle repeats like this.
  • the write data In the same cycle of converting the write address to the OPB bus address, the write data needs to be synchronously converted to the OPB write data format, and the AXI write data is directly assigned to the OPB write data in sequence during processing.
  • the AXI write buffer signal is received and converted into the address, data, write control, byte enable and other signals that conform to the OPB bus protocol.
  • S206 Determine the target write slave device in the OPB bus according to the AXI write address signal.
  • the address space of each slave device on the OPB bus has been allocated. Therefore, by comparing the AXI write address signal with the allocated address space, it is determined which slave device on the AXI bus currently needs to write to the OPB bus. Write data from the device.
  • S207 Export the OPB write data from the AXI write buffer to the target write slave device in the OPB bus.
  • the OPB write data is exported from the AXI write buffer to the target write slave device in the OPB bus, thereby realizing accurate writing of the data to be written, improving data writing efficiency and writing into the accuracy rate.
  • S208 Receive an OPB write response signal returned by the OPB bus.
  • the target write slave device in the OPB bus After receiving the OPB write data, the target write slave device in the OPB bus will generate an OPB write response signal for identifying whether the data is successfully written, and return the OPB write response signal to the bridge device through the OPB bus.
  • the bridge device receives the OPB write response signal returned by the OPB bus.
  • S209 Store the OPB write response signal in the OPB cache.
  • the bridge device is provided with an OPB cache, and after receiving the OPB write response signal, the bridge device stores the OPB write response signal into the OPB cache.
  • a selection signal for indicating whether there is information to be returned to the AXI bus in the OPB buffer is preset.
  • the OPB cache first judges whether there is valid information that needs to be returned to the AXI bus according to the selection signal of the OPB bus. When it exists, it caches information such as responses, retransmissions, errors, and read data from the OPB bus.
  • S210 Perform timing conversion on the OPB write response signal from the OPB bus protocol to the AXI bus protocol to obtain an AXI write response signal.
  • the timing conversion from the OPB bus protocol to the AXI bus protocol is performed on the OPB write response signal, so as to obtain the AXI write response signal conforming to the AXI bus protocol.
  • step S210 may include the following two steps:
  • Step 1 Perform validity statistics on each OPB write response signal in the OPB cache, and obtain validity statistics results
  • Step 2 Calculate and obtain the AXI write response signal according to the validity statistics.
  • the AXI write response channel includes a write response status signal and a valid write response signal, which is a sign signal that a complete AXI write operation is completed, and requires that all data of a burst write operation be effectively written to the responding slave device.
  • OPB_FWACK, OPB_HWACK, OPB_RETRY, and OPB_XFEACK are essentially used to express whether the transmission is completed, but only represent whether the data of one clock cycle is successfully written. Therefore, when the write response signal is converted, it is necessary to The status of the response signal is recorded and calculated.
  • the AXI write burst process is considered valid, and the AXI write response returned is valid. signal, otherwise an invalid or error signal is returned, see Table 1 for details.
  • the AXI write response signal is obtained, the AXI write response signal is exported from the OPB buffer to the AXI bus, thereby completing the information response from the slave device in the OPB bus to the master device in the AXI bus.
  • the AXI bus interface module and the OPB bus interface module are directly connected, which greatly reduces the development time, improves the efficiency and reliability of the system on chip, and saves the design cost.
  • Fig. 4 is a kind of implementation flowchart of the data reading method from AXI bus to OPB bus in the embodiment of the application, and this method can comprise the following steps:
  • S401 Receive each AXI read instruction sent by the AXI bus.
  • the master device at the AXI bus end When the master device at the AXI bus end needs to read data from the slave device at the OPB bus end, it generates AXI read commands corresponding to each data block to be read, and sends each AXI read command to the bridge device.
  • the bridge device receives each AXI read command sent by the AXI bus.
  • S402 Store each AXI read instruction in an AXI read cache.
  • the bridge device includes an AXI read buffer for buffering each AXI read command sent by the AXI bus. After receiving each AXI read command sent by the AXI bus, the bridge device stores each AXI read command into the AXI read cache.
  • the read address signal, read address valid, read address ID, burst length, burst size, burst type and other information on the bus are valid in the same cycle.
  • the slave device needs multiple cycles to return data, and the AXI bus supports delayed transactions.
  • multiple read commands are sent continuously, they need to be cached first, and then sent to the OPB in turn.
  • the master device in the AXI bus reads data from the slave device in the OPB bus
  • the AXI read cache plays a vital role.
  • S403 Export each AXI read instruction from the AXI read buffer to the OPB bus in sequence.
  • each AXI read instruction is sequentially exported from the AXI read cache to the OPB bus.
  • Fig. 5 is another implementation flowchart of the data reading method from the AXI bus to the OPB bus in the embodiment of the application, and the method may include the following steps:
  • S501 Receive each AXI read instruction sent by the AXI bus.
  • S502 Receive an AXI read address signal.
  • the master device at the AXI bus end can also send an AXI read address signal to the bridge device, and the bridge device receives the AXI read address signal.
  • the AXI read address signal contains the address information of the slave device in the OPB bus that needs to be read.
  • S503 Store each AXI read instruction and AXI read address signal in the AXI read cache.
  • S504 Determine the target read slave device in the OPB bus according to the AXI read address signal.
  • S505 Export each AXI read instruction from the AXI read cache to the target read slave device in the OPB bus in sequence.
  • each AXI read instruction is sequentially exported from the AXI read buffer to the target read slave device in the OPB bus. Therefore, the accurate reading of the data to be read is realized, and the data reading efficiency and reading accuracy are improved.
  • S506 Receive the OPB read data returned by the OPB bus.
  • the slave device in the OPB bus After receiving the corresponding AXI read command, the slave device in the OPB bus returns the OPB read data to the bridge device according to the read command, and the bridge device receives the OPB read data returned by the OPB bus.
  • S507 Store the OPB read data in the OPB cache.
  • the bridge device After receiving the OPB read data, the bridge device stores the OPB read data into the OPB cache.
  • S508 Perform timing conversion on the OPB read data from the OPB bus protocol to the AXI bus protocol to obtain the AXI read data.
  • step S508 may include the following three steps:
  • Step 1 Count the number of instructions for each AXI read instruction to obtain the total number of instructions
  • Step 2 Judging whether the number of read data of each OPB obtained by the cache reaches the total number of instructions, if the number of read data of each OPB obtained by the cache reaches the total number of instructions, then perform step 3, if the cache obtains the number of read data of each OPB If the number does not reach the total number of instructions, continue to wait for OPB read data cache;
  • Step 3 Convert each OPB read data into valid AXI read data in the same cycle.
  • the timing conversion from the OPB bus protocol to the AXI bus protocol is performed on the OPB read data, so as to obtain the AXI read data conforming to the AXI bus protocol.
  • the AXI read data channel generally requires data to be continuous. Therefore, when converting the OPB bus data timing to AXI, first judge whether all the data of a burst read request is returned according to the burst number of read data, and cache it in the OPB cache. When the data is completely returned, read the data sequentially from the OPB cache, add data valid, the last set of data flags, read channel ID and other signals, and convert them to AXI standard timing. If the data is not completely returned, Then continue to wait until the data is completely returned.
  • m_axi_rdata is the OR operation result of OPB_hwxfer, OPB_fwxfer, and OPB_dwxfer, that is, only when both are 0, m_axi_rdata is 0, otherwise it is 1.
  • S509 Export the AXI read data from the OPB buffer to the AXI bus.
  • the AXI write response signal is exported from the OPB buffer to the AXI bus, thereby completing the reading of the data from the slave device at the OPB bus end by the master device at the AXI bus end.
  • the application also provides a data writing device from the AXI bus to the OPB bus, and the data writing from the AXI bus to the OPB bus described below
  • the input device and the method for writing data from the AXI bus to the OPB bus described above can be referred to in correspondence.
  • Fig. 6 is a structural block diagram of a device for writing data from the AXI bus to the OPB bus in the embodiment of the present application, the device may include:
  • Write data receiving module 61 for receiving the AXI write data that AXI bus sends
  • Write data storage module 62 for storing AXI write data in the AXI write cache
  • the first timing conversion module 63 is used to perform timing conversion from the AXI bus protocol to the OPB bus protocol to the AXI write data to obtain the OPB write data;
  • the write data deriving module 64 is used for deriving the OPB write data from the AXI write cache to the OPB bus.
  • the AXI write cache is set in advance.
  • the AXI write cache is used to cache the AXI write data first, and the slave AXI bus protocol is executed.
  • the timing conversion to the OPB bus protocol so as to obtain the OPB write data conforming to the OPB bus protocol, and export the OPB write data from the AXI write buffer to the OPB bus.
  • the first timing conversion module 63 includes:
  • the write data information acquisition sub-module is used to obtain the write attribute information of the AXI write data
  • the first cycle valid conversion sub-module is used to convert the write attribute information and the AXI write data from two successive cycles to one valid cycle.
  • the device may also include:
  • the write address information receiving module is used to receive the AXI write address signal before exporting the OPB write data from the AXI write cache to the OPB bus;
  • the write data storage module 62 is specifically a module that stores AXI write data and AXI write address signals into the AXI write cache;
  • Write data export module 64 comprises:
  • the write data export submodule is used to export the OPB write data from the AXI write cache to the target write slave device in the OPB bus.
  • the device may also include:
  • the write response signal receiving module is used to receive the OPB write response signal returned by the OPB bus after the OPB write data is exported from the AXI write cache to the OPB bus;
  • a write response signal storage module configured to store the OPB write response signal into the OPB cache
  • the second timing conversion module is used to perform timing conversion from the OPB bus protocol to the AXI bus protocol for the OPB write response signal to obtain the AXI write response signal;
  • the write response signal export module is used to export the AXI write response signal from the OPB buffer to the AXI bus.
  • the second timing conversion module includes:
  • the signal validity statistics sub-module is used to perform validity statistics on each OPB write response signal in the OPB cache, and obtain validity statistics results;
  • the AXI write response signal calculation sub-module is used to calculate and obtain the AXI write response signal according to the validity statistics result.
  • the application also provides a data reading device from the AXI bus to the OPB bus, and the data reading from the AXI bus to the OPB bus described below
  • the fetching device and the method for reading data from the AXI bus to the OPB bus described above can be referred to in correspondence with each other.
  • Fig. 7 is a structural block diagram of a data reading device from the AXI bus to the OPB bus in the embodiment of the present application, the device may include:
  • a read instruction receiving module 71 configured to receive each AXI read instruction sent by the AXI bus;
  • the read instruction storage module 72 is used to store each AXI read instruction into the AXI read cache
  • the read instruction derivation module 73 is used to sequentially export each AXI read instruction from the AXI read cache to the OPB bus.
  • the device may also include:
  • the read address signal receiving module is used to receive the AXI read address signal before sequentially exporting each AXI read instruction from the AXI read buffer to the OPB bus;
  • the read instruction storage module is specifically a module that stores each AXI read instruction and AXI read address signal into the AXI read cache;
  • the read instruction derivation module 73 includes:
  • the read command derivation sub-module is used to sequentially export each AXI read command from the AXI read cache to the target read slave device in the OPB bus.
  • the device may also include:
  • the read data receiving module is used to receive the OPB read data returned by the OPB bus after each AXI read instruction is sequentially exported from the AXI read cache to the OPB bus;
  • Read data cache module for storing OPB read data in OPB cache
  • the third timing conversion module is used to perform timing conversion from the OPB bus protocol to the AXI bus protocol for the OPB read data to obtain the AXI read data;
  • the read data export module is used to export AXI read data from the OPB buffer to the AXI bus.
  • the third timing conversion module includes:
  • the instruction number statistics submodule is used to perform instruction number statistics on each of the AXI read instructions to obtain the total number of instructions;
  • Judgment sub-module used for judging whether the number of each OPB read data obtained by the cache reaches the total number of instructions
  • the second cycle effective conversion sub-module is used to convert each OPB read data into AXI read data valid in the same cycle when it is determined that the number of each OPB read data obtained in the cache reaches the total number of instructions.
  • FIG. 8 is a schematic diagram of an electronic device provided by the present application.
  • the device may include:
  • memory 332 for storing computer programs
  • the processor 322 is configured to implement the steps of the method for writing data from the AXI bus to the OPB bus or the method for reading data from the AXI bus to the OPB bus in the above method embodiments when executing the computer program.
  • FIG. 5 is a schematic structural diagram of an electronic device provided by this embodiment.
  • the electronic device may have relatively large differences due to different configurations or performances, and may include a processor (central processing units , CPU) 322 (eg, one or more processors) and memory 332, which stores one or more computer application programs 342 or data 344.
  • the storage 332 may be a short-term storage or a persistent storage.
  • the program stored in the memory 332 may include one or more modules (not shown in the figure), and each module may include a series of instruction operations on the data processing device.
  • the processor 322 may be configured to communicate with the memory 332 , and execute a series of instruction operations in the memory 332 on the electronic device 301 .
  • the electronic device 301 may also include one or more power sources 326 , one or more wired or wireless network interfaces 350 , one or more input and output interfaces 358 , and/or, one or more operating systems 341 .
  • the steps in the method for writing data from the AXI bus to the OPB bus or the method for reading data from the AXI bus to the OPB bus described above can be implemented by the structure of the electronic device.
  • the present application also provides a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, the following steps can be implemented:
  • the computer-readable storage medium may include: U disk, mobile hard disk, read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), magnetic disk or optical disk, etc., which can store program codes. medium.
  • each embodiment in this specification is described in a progressive manner, each embodiment focuses on the difference from other embodiments, and the same or similar parts of each embodiment can be referred to each other.
  • the device, equipment and computer-readable storage medium disclosed in the embodiment since it corresponds to the method disclosed in the embodiment, the description is relatively simple, and for relevant details, please refer to the description of the method part.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

一种从AXI总线到OPB总线的数据写入方法,数据读取方法,数据写入装置,数据读取装置,电子设备以及计算机可读存储介质,该数据写入方法包括以下步骤:接收AXI总线发送的AXI写数据(S101);将AXI写数据存储至AXI写缓存中(S102);对AXI写数据进行从AXI总线协议到OPB总线协议的时序转换,得到OPB写数据(S103);将OPB写数据从AXI写缓存导出至OPB总线(S104)。应用上述数据写入方法,完成了AXI总线与OPB总线之间的数据交互,降低了成本,提升了项目开发效率。

Description

从AXI总线到OPB总线的数据写入方法及读取方法
本申请要求在2021年07月15日提交中国专利局、申请号为202110798145.0、发明名称为“从AXI总线到OPB总线的数据写入方法及读取方法”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及存储技术领域,特别是涉及一种从AXI总线到OPB总线的数据写入方法及装置、从AXI总线到OPB总线的数据读取方法及装置、电子设备及计算机可读存储介质。
背景技术
随着大规模集成电路的不断发展,集成电路(Integrated Circuit,IC)的设计方法也在逐渐优化,其中基于知识产权(Intellectual Property,IP)资源的复用可以提高片上系统(System On Chip,SOC)的效率和可靠性、节省设计成本,缩短上市周期。
先进可扩展接口(Advanced eXtensible Interface,AXI)总线可以满足新一代的SOC系统对于高性能低功耗的需求,得到了广泛的应用。片上外围设备总线(On-chip Peripheral Bus,OPB)在信息领域应用广泛,特别是其提供了处理器核和其它外围设备的链路。在芯片设计开发的过程中,常常需要在AXI总线系统中用到基于OPB总线协议的成熟知识产权,但是在进行AXI总线与OPB总线之间的数据交互时,针对这些知识产权再次进行设计和验证工作将会花费很多的时间人力成本,降低项目的开发效率。
综上所述,如何有效地解决现有的AXI总线与OPB总线之间的数据交互,需要再次进行设计和验证工作将会花费很多的时间人力成本,降低项目的开发效率问题,是目前本领域技术人员急需解决的问题。
发明内容
本申请的目的是提供一种从AXI总线到OPB总线的数据写入方法,该方法完成了AXI总线与OPB总线之间的数据交互,降低了成本,提升了项目开发效率;本申请的另一目的是提供一种从AXI总线到OPB总线的数据写入装置、从AXI总线到OPB总线的数据读取方法及装置、电子设备及计算机可读存储介质。
为解决上述技术问题,本申请提供如下技术方案:
一种从AXI总线到OPB总线的数据写入方法,包括:
接收AXI总线发送的AXI写数据;
将所述AXI写数据存储至AXI写缓存中;
对所述AXI写数据进行从AXI总线协议到OPB总线协议的时序转换,得到OPB写数 据;
将所述OPB写数据从所述AXI写缓存导出至OPB总线。
在本申请的一种具体实施方式中,对所述AXI写数据进行从AXI总线协议到OPB总线协议的时序转换,包括:
获取所述AXI写数据的写属性信息;
将所述写属性信息和所述AXI写数据由先后两个周期有效转换为同一周期有效。
在本申请的一种具体实施方式中,在将所述OPB写数据从所述AXI写缓存导出至OPB总线之前,还包括:
接收AXI写地址信号;
将所述AXI写数据存储至AXI写缓存中,包括:
将所述AXI写数据和所述AXI写地址信号存储至所述AXI写缓存中;
将所述OPB写数据从所述AXI写缓存导出至OPB总线,包括:
根据所述AXI写地址信号确定所述OPB总线中的目标写从设备;
将所述OPB写数据从所述AXI写缓存导出至所述OPB总线中的目标写从设备。
在本申请的一种具体实施方式中,在将所述OPB写数据从所述AXI写缓存导出至OPB总线之后,还包括:
接收所述OPB总线返回的OPB写响应信号;
将所述OPB写响应信号存储至OPB缓存中;
对所述OPB写响应信号进行从OPB总线协议到AXI总线协议的时序转换,得到AXI写响应信号;
将所述AXI写响应信号从所述OPB缓存导出至所述AXI总线。
在本申请的一种具体实施方式中,对所述OPB写响应信号进行从OPB总线协议到AXI总线协议的时序转换,得到AXI写响应信号,包括:
对所述OPB缓存中各所述OPB写响应信号进行有效性统计,得到有效性统计结果;
根据所述有效性统计结果计算得到所述AXI写响应信号。
一种从AXI总线到OPB总线的数据读取方法,包括:
接收AXI总线发送的各AXI读指令;
将各所述AXI读指令存储至所述AXI读缓存中;
将各所述AXI读指令从所述AXI读缓存依次导出至OPB总线。
在本申请的一种具体实施方式中,在将各所述AXI读指令从所述AXI读缓存依次导出至OPB总线之前,还包括:
接收AXI读地址信号;
将各所述AXI读指令存储至所述AXI读缓存中,包括:
将各所述AXI读指令和所述AXI读地址信号存储至所述AXI读缓存中;
将各所述AXI读指令从所述AXI读缓存依次导出至OPB总线,包括:
根据所述AXI读地址信号确定所述OPB总线中的目标读从设备;
将各所述AXI读指令从所述AXI读缓存依次导出至所述OPB总线中的目标读从设备。
在本申请的一种具体实施方式中,在将各所述AXI读指令从所述AXI读缓存依次导出 至OPB总线之后,还包括:
接收所述OPB总线返回的各OPB读数据;
将各所述OPB读数据存储至所述OPB缓存中;
对各所述OPB读数据进行从OPB总线协议到AXI总线协议的时序转换,得到AXI读数据;
将所述AXI读数据从所述OPB缓存导出至所述AXI总线。
在本申请的一种具体实施方式中,对各所述OPB读数据进行从OPB总线协议到AXI总线协议的时序转换,包括:
对各所述AXI读指令进行指令个数统计,得到指令总个数;
判断缓存得到各所述OPB读数据的个数是否达到所述指令总个数;
若缓存得到各所述OPB读数据的个数达到所述指令总个数,则将各所述OPB读数据转换为同一周期有效的AXI读数据。
一种从AXI总线到OPB总线的数据写入装置,包括:
写数据接收模块,用于接收AXI总线发送的AXI写数据;
写数据存储模块,用于将所述AXI写数据存储至AXI写缓存中;
第一时序转换模块,用于对所述AXI写数据进行从AXI总线协议到OPB总线协议的时序转换,得到OPB写数据;
写数据导出模块,用于将所述OPB写数据从所述AXI写缓存导出至OPB总线。
一种从AXI总线到OPB总线的数据读取装置,包括:
读指令接收模块,用于接收AXI总线发送的各AXI读指令;
读指令存储模块,用于将各所述AXI读指令存储至所述AXI读缓存中;
读指令导出模块,用于将各所述AXI读指令从所述AXI读缓存依次导出至OPB总线。
一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如前所述从AXI总线到OPB总线的数据写入方法或从AXI总线到OPB总线的数据读取方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前所述从AXI总线到OPB总线的数据写入方法或从AXI总线到OPB总线的数据读取方法的步骤。
本申请所提供的从AXI总线到OPB总线的数据写入方法,接收AXI总线发送的AXI写数据;将AXI写数据存储至AXI写缓存中;对AXI写数据进行从AXI总线协议到OPB总线协议的时序转换,得到OPB写数据;将OPB写数据从AXI写缓存导出至OPB总线。
由上述技术方案可知,预先设置AXI写缓存,当AXI总线中的主设备需要向OPB总线中的从设备写入数据时,先利用AXI写缓存对AXI写数据进行缓存,并进行从AXI总线协议到OPB总线协议的时序转换,从而得到符合OPB总线协议的OPB写数据,将OPB写数据从AXI写缓存导出至OPB总线。从而在不改变AXI总线知识产权和OPB总线知识产权的基础上,通过数据缓存和时序转换,实现了写数据从AXI总线协议到OPB总线协议的转换,完成了AXI总线与OPB总线之间的数据交互,降低了成本,提升了项目开发 效率。
相应的,本申请还提供了与上述从AXI总线到OPB总线的数据写入方法相对应的从AXI总线到OPB总线的数据写入装置、从AXI总线到OPB总线的数据读取方法及装置、设备和计算机可读存储介质,具有上述技术效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中从AXI总线到OPB总线的数据写入方法的一种实施流程图;
图2为本申请实施例中从AXI总线到OPB总线的数据写入方法的另一种实施流程图;
图3为本申请实施例中AXI总线与OPB总线之间数据交互实现框图;
图4为本申请实施例中从AXI总线到OPB总线的数据读取方法的一种实施流程图;
图5为本申请实施例中从AXI总线到OPB总线的数据读取方法的另一种实施流程图;
图6为本申请实施例中一种从AXI总线到OPB总线的数据写入装置的结构框图;
图7为本申请实施例中一种从AXI总线到OPB总线的数据读取装置的结构框图;
图8为本申请实施例中一种电子设备的结构框图;
图9为本实施例提供的一种电子设备的具体结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图1,图1为本申请实施例中从AXI总线到OPB总线的数据写入方法的一种实施流程图,该方法可以包括以下步骤:
S101:接收AXI总线发送的AXI写数据。
预先在连接主设备的AXI总线与连接各从设备的OPB总线之间设置桥装置。当AXI总线端的主设备需要向OPB总线端的从设备进行写数据时,向桥装置发送AXI写数据。
AXI写数据为任意需要写入至OPB总线端的从设备的数据,且该数据为符合AXI总线协议的数据。
S102:将AXI写数据存储至AXI写缓存中。
桥装置中包含对AXI总线发送的AXI写数据进行缓存的AXI写缓存。桥装置在接收到AXI总线发送的AXI写数据之后,将AXI写数据存储至AXI写缓存中。
由于AXI总线上传递的是写指令时,总线上的写地址信号、写地址有效、写地址ID、 突发长度、突发大小、突发类型等信息在同一个周期内有效,而写数据信号包括写数据、写数据有效、最后一个突发等信号在它们后一个周期有效。而在OPB总线时序要求中,所有写指令相关的信号都必须在一个周期内有效,因此AXI写缓存是必不可少的。同时为提高AXI总线效率,总线支持滞外交易,即可以连续发送多个指令,因此在AXI写数据从AXI总线中的主设备写入到OPB总线中的从设备的过程中,AXI写缓存起到至关重要的作用。
S103:对AXI写数据进行从AXI总线协议到OPB总线协议的时序转换,得到OPB写数据。
桥装置中包含从AXI总线协议到OPB总线协议的时序转换模块,在将AXI写数据存储至AXI写缓存之后,对AXI写数据进行从AXI总线协议到OPB总线协议的时序转换,得到OPB写数据。从而实现将满足AXI总线协议的AXI写数据到满足OPB总线协议的OPB写数据的转换。
S104:将OPB写数据从AXI写缓存导出至OPB总线。
在得到满足OPB总线协议的OPB写数据之后,将OPB写数据从AXI写缓存导出至OPB总线,将OPB写数据写入到OPB总线中的从设备,从而完成AXI总线中主设备的数据到OPB总线中从设备的写入。在保持原有基于AXI总线接口的IP和基于OPB总线接口IP本身不变的基础上,通过数据缓存和时序转换,可以快速高效的将上述IP集成到片上系统中,在减少重新设计验证的风险的基础上,提高了整个系统的开发速度,进而提高了产品的竞争力。
由上述技术方案可知,预先设置AXI写缓存,当AXI总线中的主设备需要向OPB总线中的从设备写入数据时,先利用AXI写缓存对AXI写数据进行缓存,并进行从AXI总线协议到OPB总线协议的时序转换,从而得到符合OPB总线协议的OPB写数据,将OPB写数据从AXI写缓存导出至OPB总线。从而在不改变AXI总线知识产权和OPB总线知识产权的基础上,通过数据缓存和时序转换,实现了写数据从AXI总线协议到OPB总线协议的转换,完成了AXI总线与OPB总线之间的数据交互,降低了成本,提升了项目开发效率。
需要说明的是,基于上述实施例,本申请实施例还提供了相应的改进方案。在后续实施例中涉及与上述实施例中相同步骤或相应步骤之间可相互参考,相应的有益效果也可相互参照,在下文的改进实施例中不再一一赘述。
参见图2,图2为本申请实施例中从AXI总线到OPB总线的数据写入方法的另一种实施流程图,该方法可以包括以下步骤:
S201:接收AXI总线发送的AXI写数据。
S202:接收AXI写地址信号。
参见图3,图3为本申请实施例中AXI总线与OPB总线之间数据交互实现框图。AXI总线端的主设备除向桥装置发送AXI写数据之外,还可以向桥装置发送AXI写地址信号,桥装置接收AXI写地址信号。AXI写地址信号中包含需要写入到OPB总线的地址信息,且该地址信号为符合AXI总线协议的信号。
需要说明的是,本申请实施例对步骤S201和步骤S202的执行顺序不做限定,可以顺序执行,也可以并行执行。
S203:将AXI写数据和AXI写地址信号存储至AXI写缓存中。
在接收到AXI写数据和AXI写地址信号之后,将AXI写数据和AXI写地址信号存储至AXI写缓存中。
S204:获取AXI写数据的写属性信息。
AXI总线上传递的是写指令时,AXI总线上的写地址信号、写地址有效、写地址ID、突发长度、突发大小、突发类型等写属性信息在同一个周期内有效,而写数据信号包括写数据、写数据有效、最后一个突发等信号在它们后一个周期有效。获取AXI写数据的写属性信息。
S205:将写属性信息和所述AXI写数据由先后两个周期有效转换为同一周期有效,得到OPB写数据。
在OPB总线时序要求中,所有写指令相关的信号都必须在一个周期内有效。因此在获取到AXI写数据的写属性信息之后,将写属性信息和所述AXI写数据由先后两个周期有效转换为同一周期有效,得到OPB写数据。
AXI总线协议与OPB总线协议的规定有所不同,OPB总线协议要求每一写数据都要有与其对应的地址,而AXI总线协议支持3种不同的突发模式,与OPB总线协议的转换关系如下所示,其中涉及AXI写地址信号、写地址有效、写地址ID、突发长度、突发大小、突发类型等信号:
a)FIXED(固定地址):OPB_ADDR=m_axi_awaddr
此种模式下,直接将两个地址信号连到一起即可。
b)INCR(递增式):OPB_ADDR=m_axi_awaddr+add_addr
OPB的首地址与AXI地址相同,后续的地址需要在初始地址的基础上进行递增,递增幅度与传输宽度相同。
c)WRAP(回环递增式):首先根据AXI的实际突发长度和突发数据宽度计算回环宽度:wrap_size=burst_len*burst_size;
其中,wrap_size为回环宽度;burst_len为实际突发长度;burst_size为每次突发的数据大小,单位为Byte。
其次,计算绕回下边界(low wrap boundary)。
Temp0=m_axi_awaddr/wrap_size,只取整数部分。
其中,Temp0为计算过程的中间变量;m_axi_awaddr为AXI写地址。
low wrap boundary=Temp0*wrap_size;
再次,计算绕回上边界high wrap boundary:
high wrap boundary=low wrap boundary+wrap_size;
最后,计算每一个数据对应的地址。
当前地址小于绕回上边界时,WRAP与INCR类型完全相同,地址递增。但到递增后的地址到达最高地址后,地址直接回到绕回下边界地址,再进行递增,就这样循环往复。
在将写地址转换为OPB总线地址的同一个周期,需要将写数据同步转换为OPB写数 据格式,在处理时直接将AXI写数据依次赋值给OPB写数据。
通过AXI总线到OPB总线的写时序转换,接收AXI写缓存信号将其转换为符合OPB总线协议的地址、数据、写控制、字节使能等信号。
S206:根据AXI写地址信号确定OPB总线中的目标写从设备。
在接收到AXI写地址信号,并通过时序转换得到OPB写数据之后,根据AXI写地址信号确定OPB总线中的目标写从设备。
在系统初始化配置时,OPB总线上的每一个从设备的地址空间已经分配完成,因此通过将AXI写地址信号与分配好的地址空间对比,确定AXI总线的主设备当前需要向OPB总线上的哪个从设备写数据。
S207:将OPB写数据从AXI写缓存导出至OPB总线中的目标写从设备。
在确定OPB总线中的目标写从设备之后,将OPB写数据从AXI写缓存导出至OPB总线中的目标写从设备,从而实现对待写入数据的准确写入,提高了数据写入效率和写入准确率。
S208:接收OPB总线返回的OPB写响应信号。
OPB总线中的目标写从设备在接收到OPB写数据之后,会生成用于标识数据是否被成功写入的OPB写响应信号,并将OPB写响应信号通过OPB总线返回给桥装置。桥装置接收OPB总线返回的OPB写响应信号。
S209:将OPB写响应信号存储至OPB缓存中。
桥装置中设置有OPB缓存,桥装置在接收到OPB写响应信号之后,将OPB写响应信号存储至OPB缓存中。
预先设置用于指示OPB缓存中是否存在需要返回到AXI总线的信息的选择信号。OPB缓存首先根据OPB总线的选择信号判断是否存在有效的需要返回到AXI总线上的信息,当存在时,将来自OPB总线的响应、重发、错误和读数据等信息缓存。
S210:对OPB写响应信号进行从OPB总线协议到AXI总线协议的时序转换,得到AXI写响应信号。
在将OPB写响应信号存储至OPB缓存之后,对OPB写响应信号进行从OPB总线协议到AXI总线协议的时序转换,从而得到符合AXI总线协议的AXI写响应信号。
在本申请的一种具体实施方式中,步骤S210可以包括以下两个步骤:
步骤一:对OPB缓存中各OPB写响应信号进行有效性统计,得到有效性统计结果;
步骤二:根据有效性统计结果计算得到AXI写响应信号。
为方便描述,可以将上述两个步骤结合起来进行说明。
对OPB缓存中各OPB写响应信号进行有效性统计,得到有效性统计结果,根据有效性统计结果计算得到AXI写响应信号。
AXI写响应通道中包含写响应状态信号和写响应有效的写响应信号是一次完整的AXI写操作完成的标志信号,要求一次突发写操作的所有数据有效写到响应的从设备中。
在OPB总线协议中,OPB_FWACK、OPB_HWACK、OPB_RETRY和OPB_XFEACK本质都是为了表达传输是否完成,但只是代表一个时钟周期的数据是否成功写入,因此在写响应信号转换时,需要对OPB总线的每一个响应信号状态进行记录并做计算,当一次AXI写突发的所有的数据在OPB总线上返回的响应信号均为有效时,则认为本次AXI写 突发过程有效,返回响应的AXI写响应有效信号,否则返回无效或错误信号,详见表1。
表1
OPB_fer OPB_errAck个数 Sln_errAck个数 m_axi_bresp[1:0]
1 0 0 00
1 OPB_errAck>0 0 11
1 0 Sln_errAck>0 11
1 OPB_errAck>0 Sln_errAck>0 11
0 0 0 11
0 OPB_errAck>0 0 11
0 0 Sln_errAck>0 11
0 OPB_errAck>0 Sln_errAck>0 11
S211:将AXI写响应信号从OPB缓存导出至AXI总线。
在得到AXI写响应信号之后,将AXI写响应信号从OPB缓存导出至AXI总线,从而完成OPB总线中的从设备对AXI总线中的主设备的信息响应。通过增加一个桥接装置,使AXI总线接口模块和OPB总线接口模块直接相连,很大的减少了开发时间,提高了片上系统的效率和可靠性、节省设计成本。
参见图4,图4为本申请实施例中从AXI总线到OPB总线的数据读取方法的一种实施流程图,该方法可以包括以下步骤:
S401:接收AXI总线发送的各AXI读指令。
当AXI总线端中的主设备需要从OPB总线端的从设备中读取数据时,生成分别对应各个待读取数据块的AXI读指令,向桥装置发送各AXI读指令。桥装置接收AXI总线发送的各AXI读指令。
S402:将各AXI读指令存储至AXI读缓存中。
桥装置中包含对AXI总线发送的各AXI读指令进行缓存的AXI读缓存。桥装置在接收AXI总线发送的各AXI读指令之后,将各AXI读指令存储至AXI读缓存中。
AXI总线上传递的是读指令时,总线上的读地址信号、读地址有效、读地址ID、突发长度、突发大小、突发类型等信息在同一个周期内有效,当指令的突发读取数据的个数大于1时,从设备需要多个周期才能返回数据,而AXI总线支持滞外交易,当多个读指令连续发送时,需要将其先依次缓存下,然后依次发送到OPB总线上,因此在AXI总线中的主设备从OPB总线中的从设备进行数据读取时,AXI读缓存起到至关重要的作用。
S403:将各AXI读指令从AXI读缓存依次导出至OPB总线。
在将各AXI读指令存储至AXI读缓存之后,将各AXI读指令从AXI读缓存依次导出至OPB总线。
参见图5,图5为本申请实施例中从AXI总线到OPB总线的数据读取方法的另一种实施流程图,该方法可以包括以下步骤:
S501:接收AXI总线发送的各AXI读指令。
S502:接收AXI读地址信号。
AXI总线端的主设备除向桥装置发送各AXI读指令之外,还可以向桥装置发送AXI读地址信号,桥装置接收AXI读地址信号。AXI读地址信号中包含需要读取的OPB总线中从设备的地址信息。
S503:将各AXI读指令和AXI读地址信号存储至AXI读缓存中。
在接收到各AXI读指令和AXI读地址信号之后,将各AXI读指令和AXI读地址信号存储至AXI读缓存中。
S504:根据AXI读地址信号确定OPB总线中的目标读从设备。
在接收到AXI读地址信号之后,根据AXI读地址信号确定OPB总线中的目标读从设备。
S505:将各AXI读指令从AXI读缓存依次导出至OPB总线中的目标读从设备。
在确定出OPB总线中的目标读从设备之后,将各AXI读指令从AXI读缓存依次导出至OPB总线中的目标读从设备。从而实现对待读取数据的准确读取,提高了数据读取效率和读取准确率。
S506:接收OPB总线返回的OPB读数据。
OPB总线中的从设备在接收到相应的AXI读指令之后,会根据读指令向桥装置返回OPB读数据,桥装置接收OPB总线返回的OPB读数据。
S507:将OPB读数据存储至OPB缓存中。
桥装置在接收到OPB读数据之后,将OPB读数据存储至OPB缓存中。
S508:对OPB读数据进行从OPB总线协议到AXI总线协议的时序转换,得到AXI读数据。
在本申请的一种具体实施方式中,步骤S508可以包括以下三个步骤:
步骤一:对各AXI读指令进行指令个数统计,得到指令总个数;
步骤二:判断缓存得到各OPB读数据的个数是否达到指令总个数,若缓存得到各OPB读数据的个数达到指令总个数,则执行步骤三,若缓存得到各OPB读数据的个数未达到指令总个数,则继续等待进行OPB读数据缓存;
步骤三:将各OPB读数据转换为同一周期有效的AXI读数据。
为方便描述,可以将上述三个步骤结合起来进行说明。
对各AXI读指令进行指令个数统计,得到指令总个数,判断缓存得到各OPB读数据的个数是否达到指令总个数,若缓存得到各OPB读数据的个数达到指令总个数,则说明对各OPB读数据均缓存完成,若缓存得到各OPB读数据的个数未达到指令总个数,则说明对各OPB读数据还未缓存完成,继续等待进行OPB读数据缓存,将各OPB读数据转换为同一周期有效的AXI读数据。
在将OPB读数据存储至OPB缓存之后,对OPB读数据进行从OPB总线协议到AXI总线协议的时序转换,从而得到符合AXI总线协议的AXI读数据。
AXI读数据通道一般要求数据连续,因此在将OPB总线数据时序转换为AXI时,首先根据读数据的突发个数,判断一次突发读请求的数据是否全部返回,并缓存在OPB缓存中。当数据完全返回时,从OPB缓存中依次将数据读出,并添加数据有效、最后一组数据标志,读通道ID等信号,将其一并转换为AXI的标准时序,若数据没有完全返回,则继续等待直到数据完全返回。其中,有效数据的转换关系如表2所示,其中m_axi_rdata为OPB_hwxfer、OPB_fwxfer、OPB_dwxfer三者的或运算结果,即只有同时为0时,m_axi_rdata为0,否则为1。
表2
OPB_hwxfer OPB_fwxfer OPB_dwxfer m_axi_rdata
0 0 0 0
1 0 0 {4{OPB_RDATA[31:24]}}
1 1 0 {2{OPB_RDATA[31:16]}}
1 1 1 OPB_RDATA[31:0]
S509:将AXI读数据从OPB缓存导出至AXI总线。
在得到AXI读数据之后,将AXI写响应信号从OPB缓存导出至AXI总线,从而完成AXI总线端中的主设备对OPB总线端的从设备中的数据的读取。
相应于上面从AXI总线到OPB总线的数据写入方法的方法实施例,本申请还提供了一种从AXI总线到OPB总线的数据写入装置,下文描述的从AXI总线到OPB总线的数据写入装置与上文描述的从AXI总线到OPB总线的数据写入方法可相互对应参照。
参见图6,图6为本申请实施例中一种从AXI总线到OPB总线的数据写入装置的结构框图,该装置可以包括:
写数据接收模块61,用于接收AXI总线发送的AXI写数据;
写数据存储模块62,用于将AXI写数据存储至AXI写缓存中;
第一时序转换模块63,用于对AXI写数据进行从AXI总线协议到OPB总线协议的时序转换,得到OPB写数据;
写数据导出模块64,用于将OPB写数据从AXI写缓存导出至OPB总线。
由上述技术方案可知,预先设置AXI写缓存,当AXI总线中的主设备需要向OPB总线中的从设备写入数据时,先利用AXI写缓存对AXI写数据进行缓存,并进行从AXI总线协议到OPB总线协议的时序转换,从而得到符合OPB总线协议的OPB写数据,将OPB写数据从AXI写缓存导出至OPB总线。从而在不改变AXI总线知识产权和OPB总线知识产权的基础上,通过数据缓存和时序转换,实现了写数据从AXI总线协议到OPB总线协议的转换,完成了AXI总线与OPB总线之间的数据交互,降低了成本,提升了项目开发效率。
在本申请的一种具体实施方式中,第一时序转换模块63包括:
写数据信息获取子模块,用于获取AXI写数据的写属性信息;
第一周期有效转换子模块,用于将写属性信息和AXI写数据由先后两个周期有效转换为同一周期有效。
在本申请的一种具体实施方式中,该装置还可以包括:
写地址信息接收模块,用于在将OPB写数据从AXI写缓存导出至OPB总线之前,接收AXI写地址信号;
写数据存储模块62具体为将AXI写数据和AXI写地址信号存储至AXI写缓存中的模块;
写数据导出模块64包括:
写从设备确定子模块,用于根据AXI写地址信号确定OPB总线中的目标写从设备;
写数据导出子模块,用于将OPB写数据从AXI写缓存导出至OPB总线中的目标写从设备。
在本申请的一种具体实施方式中,该装置还可以包括:
写响应信号接收模块,用于在将OPB写数据从AXI写缓存导出至OPB总线之后,接收OPB总线返回的OPB写响应信号;
写响应信号存储模块,用于将OPB写响应信号存储至OPB缓存中;
第二时序转换模块,用于对OPB写响应信号进行从OPB总线协议到AXI总线协议的时序转换,得到AXI写响应信号;
写响应信号导出模块,用于将AXI写响应信号从OPB缓存导出至AXI总线。
在本申请的一种具体实施方式中,第二时序转换模块包括:
信号有效性统计子模块,用于对OPB缓存中各OPB写响应信号进行有效性统计,得到有效性统计结果;
AXI写响应信号计算子模块,用于根据有效性统计结果计算得到AXI写响应信号。
相应于上面从AXI总线到OPB总线的数据读取方法的方法实施例,本申请还提供了一种从AXI总线到OPB总线的数据读取装置,下文描述的从AXI总线到OPB总线的数据读取装置与上文描述的从AXI总线到OPB总线的数据读取方法可相互对应参照。
参见图7,图7为本申请实施例中一种从AXI总线到OPB总线的数据读取装置的结构框图,该装置可以包括:
读指令接收模块71,用于接收AXI总线发送的各AXI读指令;
读指令存储模块72,用于将各AXI读指令存储至AXI读缓存中;
读指令导出模块73,用于将各AXI读指令从AXI读缓存依次导出至OPB总线。
在本申请的一种具体实施方式中,该装置还可以包括:
读地址信号接收模块,用于在将各AXI读指令从AXI读缓存依次导出至OPB总线之前,接收AXI读地址信号;
读指令存储模块具体为将各AXI读指令和AXI读地址信号存储至AXI读缓存中的模块;
读指令导出模块73包括:
读从设备确定子模块,用于根据AXI读地址信号确定OPB总线中的目标读从设备;
读指令导出子模块,用于将各AXI读指令从AXI读缓存依次导出至OPB总线中的目标读从设备。
在本申请的一种具体实施方式中,该装置还可以包括:
读数据接收模块,用于在将各AXI读指令从AXI读缓存依次导出至OPB总线之后,接收OPB总线返回的OPB读数据;
读数据缓存模块,用于将OPB读数据存储至OPB缓存中;
第三时序转换模块,用于对OPB读数据进行从OPB总线协议到AXI总线协议的时序转换,得到AXI读数据;
读数据导出模块,用于将AXI读数据从OPB缓存导出至AXI总线。
在本申请的一种具体实施方式中,第三时序转换模块包括:
指令个数统计子模块,用于对各所述AXI读指令进行指令个数统计,得到指令总个数;
判断子模块,用于判断缓存得到各OPB读数据的个数是否达到指令总个数;
第二周期有效转换子模块,用于当确定缓存得到各OPB读数据的个数达到指令总个数时,将各OPB读数据转换为同一周期有效的AXI读数据。
相应于上面的方法实施例,参见图8,图8为本申请所提供的电子设备的示意图,该设备可以包括:
存储器332,用于存储计算机程序;
处理器322,用于执行计算机程序时实现上述方法实施例的从AXI总线到OPB总线的数据写入方法或从AXI总线到OPB总线的数据读取方法的步骤。
具体的,请参考图5,图5为本实施例提供的一种、电子设备的具体结构示意图,该电子设备可因配置或性能不同而产生比较大的差异,可以包括处理器(central processing units,CPU)322(例如,一个或一个以上处理器)和存储器332,存储器332存储有一个或一个以上的计算机应用程序342或数据344。其中,存储器332可以是短暂存储或持久存储。存储在存储器332的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,处理器322可以设置为与存储器332通信,在电子设备301上执行存储器332中的一系列指令操作。
电子设备301还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341。
上文所描述的从AXI总线到OPB总线的数据写入方法或从AXI总线到OPB总线的数据读取方法中的步骤可以由电子设备的结构实现。
相应于上面的方法实施例,本申请还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现如下步骤:
接收AXI总线发送的AXI写数据;将AXI写数据存储至AXI写缓存中;对AXI写数据进行从AXI总线协议到OPB总线协议的时序转换,得到OPB写数据;将OPB写数据从 AXI写缓存导出至OPB总线。
或:
接收AXI总线发送的各AXI读指令;将各AXI读指令存储至AXI读缓存中;将各AXI读指令从AXI读缓存依次导出至OPB总线。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
对于本申请提供的计算机可读存储介质的介绍请参照上述方法实施例,本申请在此不做赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置、设备及计算机可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

Claims (16)

  1. 一种从AXI总线到OPB总线的数据写入方法,其特征在于,包括:
    接收AXI总线发送的AXI写数据;
    将所述AXI写数据存储至AXI写缓存中;
    获取所述AXI写数据的写属性信息;
    将所述写属性信息和所述AXI写数据由先后两个周期有效转换为同一周期有效,得到OPB写数据;
    将所述OPB写数据从所述AXI写缓存导出至OPB总线。
  2. 根据权利要求1所述的从AXI总线到OPB总线的数据写入方法,其特征在于,在将所述OPB写数据从所述AXI写缓存导出至OPB总线之前,还包括:
    接收AXI写地址信号;
    将所述AXI写数据存储至AXI写缓存中,包括:
    将所述AXI写数据和所述AXI写地址信号存储至所述AXI写缓存中;
    将所述OPB写数据从所述AXI写缓存导出至OPB总线,包括:
    根据所述AXI写地址信号确定所述OPB总线中的目标写从设备;
    将所述OPB写数据从所述AXI写缓存导出至所述OPB总线中的目标写从设备。
  3. 根据权利要求1至2任一项所述的从AXI总线到OPB总线的数据写入方法,其特征在于,在将所述OPB写数据从所述AXI写缓存导出至OPB总线之后,还包括:
    接收所述OPB总线返回的OPB写响应信号;
    将所述OPB写响应信号存储至OPB缓存中;
    对所述OPB写响应信号进行从OPB总线协议到AXI总线协议的时序转换,得到AXI写响应信号;
    将所述AXI写响应信号从所述OPB缓存导出至所述AXI总线。
  4. 根据权利要求3所述的从AXI总线到OPB总线的数据写入方法,其特征在于,对所述OPB写响应信号进行从OPB总线协议到AXI总线协议的时序转换,得到AXI写响应信号,包括:
    对所述OPB缓存中各所述OPB写响应信号进行有效性统计,得到有效性统计结果;
    根据所述有效性统计结果计算得到所述AXI写响应信号。
  5. 根据权利要求1所述的从AXI总线到OPB总线的数据写入方法,其特征在于,还包括:
    接收所述OPB总线返回的OPB写响应信号;
    将所述OPB写响应信号存储至OPB缓存中;
    对所述OPB缓存中各所述OPB写响应信号进行有效性统计,得到有效性统计结果;
    根据所述有效性统计结果计算得到AXI写响应信号;
    将所述AXI写响应信号从所述OPB缓存导出至所述AXI总线。
  6. 一种从AXI总线到OPB总线的数据读取方法,其特征在于,包括:
    接收AXI总线发送的各AXI读指令;
    将各所述AXI读指令存储至AXI读缓存中;
    将各所述AXI读指令从所述AXI读缓存依次导出至OPB总线。
  7. 根据权利要求6所述的从AXI总线到OPB总线的数据读取方法,其特征在于,在将各所述AXI读指令从所述AXI读缓存依次导出至OPB总线之前,还包括:
    接收AXI读地址信号;
    将各所述AXI读指令存储至所述AXI读缓存中,包括:
    将各所述AXI读指令和所述AXI读地址信号存储至所述AXI读缓存中;
    将各所述AXI读指令从所述AXI读缓存依次导出至OPB总线,包括:
    根据所述AXI读地址信号确定所述OPB总线中的目标读从设备;
    将各所述AXI读指令从所述AXI读缓存依次导出至所述OPB总线中的目标读从设备。
  8. 根据权利要求6或7所述的从AXI总线到OPB总线的数据读取方法,其特征在于,在将各所述AXI读指令从所述AXI读缓存依次导出至OPB总线之后,还包括:
    接收所述OPB总线返回的各OPB读数据;
    将各所述OPB读数据存储至所述OPB缓存中;
    对各所述OPB读数据进行从OPB总线协议到AXI总线协议的时序转换,得到AXI读数据;
    将所述AXI读数据从所述OPB缓存导出至所述AXI总线。
  9. 根据权利要求8所述的从AXI总线到OPB总线的数据读取方法,其特征在于,对各所述OPB读数据进行从OPB总线协议到AXI总线协议的时序转换,得到AXI读数据,包括:
    对各所述AXI读指令进行指令个数统计,得到指令总个数;
    判断缓存得到各所述OPB读数据的个数是否达到所述指令总个数;
    若缓存得到各所述OPB读数据的个数达到所述指令总个数,则将各所述OPB读数据转换为同一周期有效的AXI读数据。
  10. 根据权利要求6所述的从AXI总线到OPB总线的数据读取方法,其特征在于,还包括:
    接收所述OPB总线返回的各OPB读数据;
    将各所述OPB读数据存储至OPB缓存中;
    对各所述AXI读指令进行指令个数统计,得到指令总个数;
    判断缓存得到各所述OPB读数据的个数是否达到所述指令总个数;
    若是,则将各所述OPB读数据转换为同一周期有效的AXI读数据;
    将所述AXI读数据从所述OPB缓存导出至所述AXI总线。
  11. 一种从AXI总线到OPB总线的数据写入装置,其特征在于,包括:
    写数据接收模块,用于接收AXI总线发送的AXI写数据;
    写数据存储模块,用于将所述AXI写数据存储至AXI写缓存中;
    第一时序转换模块,用于获取所述AXI写数据的写属性信息;将所述写属性信息和所述AXI写数据由先后两个周期有效转换为同一周期有效,得到OPB写数据;
    写数据导出模块,用于将所述OPB写数据从所述AXI写缓存导出至OPB总线。
  12. 根据权利要求11所述的从AXI总线到OPB总线的数据写入装置,其特征在于,还包括:
    写响应信号接收模块,用于接收所述OPB总线返回的OPB写响应信号;
    写响应信号存储模块,用于将所述OPB写响应信号存储至OPB缓存中;
    第二时序转换模块,用于对所述OPB缓存中各所述OPB写响应信号进行有效性统计,得到有效性统计结果;根据所述有效性统计结果计算得到AXI写响应信号;
    写响应信号导出模块,用于将所述AXI写响应信号从所述OPB缓存导出至所述AXI总线。
  13. 一种从AXI总线到OPB总线的数据读取装置,其特征在于,包括:
    读指令接收模块,用于接收AXI总线发送的各AXI读指令;
    读指令存储模块,用于将各所述AXI读指令存储至所述AXI读缓存中;
    读指令导出模块,用于将各所述AXI读指令从所述AXI读缓存依次导出至OPB总线。
  14. 根据权利要求13所述的从AXI总线到OPB总线的数据读取装置,其特征在于,还包括:
    读数据接收模块,用于接收所述OPB总线返回的各OPB读数据;
    读数据缓存模块,用于将各所述OPB读数据存储至OPB缓存中;
    第三时序转换模块,用于对各所述AXI读指令进行指令个数统计,得到指令总个数;判断缓存得到各所述OPB读数据的个数是否达到所述指令总个数;若缓存得到各所述OPB读数据的个数达到所述指令总个数,则将各所述OPB读数据转换为同一周期有效的AXI读数据;
    读数据导出模块,用于将所述AXI读数据从所述OPB缓存导出至所述AXI总线。
  15. 一种电子设备,其特征在于,包括:
    存储器,用于存储计算机程序;
    处理器,用于执行所述计算机程序时实现如权利要求1至5任一项所述从AXI总线到OPB总线的数据写入方法或权利要求6至10任一项所述从AXI总线到OPB总线的数据读取方法的步骤。
  16. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项 所述从AXI总线到OPB总线的数据写入方法或权利要求6至10任一项所述从AXI总线到OPB总线的数据读取方法的步骤。
PCT/CN2021/127515 2021-07-15 2021-10-29 从axi总线到opb总线的数据写入方法及读取方法 WO2023284169A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/258,447 US20240028525A1 (en) 2021-07-15 2021-10-29 Method for writing data from axi bus to opb and method for reading data from axi bus to opb bus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110798145.0 2021-07-15
CN202110798145.0A CN113254368B (zh) 2021-07-15 2021-07-15 从axi总线到opb总线的数据写入方法及读取方法

Publications (1)

Publication Number Publication Date
WO2023284169A1 true WO2023284169A1 (zh) 2023-01-19

Family

ID=77180345

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/127515 WO2023284169A1 (zh) 2021-07-15 2021-10-29 从axi总线到opb总线的数据写入方法及读取方法

Country Status (3)

Country Link
US (1) US20240028525A1 (zh)
CN (1) CN113254368B (zh)
WO (1) WO2023284169A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116488956A (zh) * 2023-06-14 2023-07-25 太初(无锡)电子科技有限公司 通信装置、通信方法、总线及存储介质

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113254368B (zh) * 2021-07-15 2021-10-15 苏州浪潮智能科技有限公司 从axi总线到opb总线的数据写入方法及读取方法
CN114265872B (zh) * 2022-02-24 2022-05-24 苏州浪潮智能科技有限公司 一种用于总线的互联装置
CN114461541A (zh) * 2022-04-14 2022-05-10 广州万协通信息技术有限公司 芯片数据读取方法、写入方法、装置、设备以及存储介质
CN115297169B (zh) * 2022-10-08 2023-01-10 无锡沐创集成电路设计有限公司 数据处理方法、装置、电子设备及介质
CN115422115B (zh) * 2022-11-01 2023-02-24 山东云海国创云计算装备产业创新中心有限公司 一种基于总线的编码方法、系统、存储介质及设备
CN116893991B (zh) * 2023-09-11 2024-01-02 芯动微电子科技(珠海)有限公司 一种axi协议下的存储模块转换接口及其转换方法
CN117349213B (zh) * 2023-12-04 2024-03-15 中科亿海微电子科技(苏州)有限公司 自主重发写命令和写数据的axi传输装置及工作方法
CN117632820B (zh) * 2024-01-22 2024-05-14 北京开源芯片研究院 请求处理方法、装置、总线桥、电子设备及可读存储介质
CN118069578A (zh) * 2024-04-19 2024-05-24 北京壁仞科技开发有限公司 数据处理方法、数据传输系统、电子设备和存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1279789A (zh) * 1997-11-20 2001-01-10 国际商业机器公司 由处理器本机总线承载的dma飞越成组传送
CN102004709A (zh) * 2009-08-31 2011-04-06 国际商业机器公司 处理器局部总线到高级可扩展接口之间的总线桥及映射方法
US20110106991A1 (en) * 2009-10-29 2011-05-05 Renesas Electronics Corporation Bus system and bus control method
CN106326175A (zh) * 2016-08-31 2017-01-11 天津国芯科技有限公司 一种ahb总线和opb总线的转换方法及桥装置
CN109828941A (zh) * 2019-03-06 2019-05-31 苏州浪潮智能科技有限公司 Axi2wb总线桥实现方法、装置、设备及存储介质
CN112306924A (zh) * 2020-11-26 2021-02-02 山东云海国创云计算装备产业创新中心有限公司 一种数据交互方法、装置、系统及可读存储介质
CN113254368A (zh) * 2021-07-15 2021-08-13 苏州浪潮智能科技有限公司 从axi总线到opb总线的数据写入方法及读取方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102103565B (zh) * 2009-12-21 2013-02-13 上海奇码数字信息有限公司 先进高性能系统总线连接装置及连接方法
CN102169470B (zh) * 2010-02-27 2014-01-29 比亚迪股份有限公司 一种ahb总线到bvci总线的转换桥
JP5617429B2 (ja) * 2010-08-19 2014-11-05 ソニー株式会社 バスシステムおよびバスシステムと接続機器とを接続するブリッジ回路
CN102508808B (zh) * 2011-11-14 2014-07-16 北京北大众志微系统科技有限责任公司 一种实现主芯片与扩展芯片通信的系统及方法
CN105005546B (zh) * 2015-06-23 2018-01-30 中国兵器工业集团第二一四研究所苏州研发中心 一种内置交点队列的异步axi总线结构
CN108255769B (zh) * 2017-12-06 2021-03-26 中国航空工业集团公司西安航空计算技术研究所 一种axi-plb桥
CN110659236B (zh) * 2019-09-24 2023-04-07 山东华芯半导体有限公司 可自主回复写应答的axi总线传输装置
CN112035389B (zh) * 2020-08-28 2022-08-23 西安微电子技术研究所 一种plb-axi总线转换桥及其工作方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1279789A (zh) * 1997-11-20 2001-01-10 国际商业机器公司 由处理器本机总线承载的dma飞越成组传送
CN102004709A (zh) * 2009-08-31 2011-04-06 国际商业机器公司 处理器局部总线到高级可扩展接口之间的总线桥及映射方法
US20110106991A1 (en) * 2009-10-29 2011-05-05 Renesas Electronics Corporation Bus system and bus control method
CN106326175A (zh) * 2016-08-31 2017-01-11 天津国芯科技有限公司 一种ahb总线和opb总线的转换方法及桥装置
CN109828941A (zh) * 2019-03-06 2019-05-31 苏州浪潮智能科技有限公司 Axi2wb总线桥实现方法、装置、设备及存储介质
CN112306924A (zh) * 2020-11-26 2021-02-02 山东云海国创云计算装备产业创新中心有限公司 一种数据交互方法、装置、系统及可读存储介质
CN113254368A (zh) * 2021-07-15 2021-08-13 苏州浪潮智能科技有限公司 从axi总线到opb总线的数据写入方法及读取方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116488956A (zh) * 2023-06-14 2023-07-25 太初(无锡)电子科技有限公司 通信装置、通信方法、总线及存储介质
CN116488956B (zh) * 2023-06-14 2023-09-29 太初(无锡)电子科技有限公司 通信装置、通信方法、总线及存储介质

Also Published As

Publication number Publication date
CN113254368B (zh) 2021-10-15
CN113254368A (zh) 2021-08-13
US20240028525A1 (en) 2024-01-25

Similar Documents

Publication Publication Date Title
WO2023284169A1 (zh) 从axi总线到opb总线的数据写入方法及读取方法
CN110196824B (zh) 实现数据传输的方法及装置、电子设备
CN111090221B (zh) 用于直写式光刻系统中的PCIe DMA数据传输系统及其传输方法
CN106951388A (zh) 一种基于PCIe的DMA数据传输方法及系统
WO2021169474A1 (zh) 一种Avalon总线转Axi4总线的方法
CN113961494B (zh) 一种pcie总线与axi总线的桥接系统
CN114265872B (zh) 一种用于总线的互联装置
CN114443170A (zh) Fpga动态并行加卸载系统
CN102147780A (zh) 一种基于串行数据传输方式的链路接口电路
WO2024113704A1 (zh) 一种pcie数据传输方法及相关装置
CN116107923B (zh) 一种基于bram的多对多高速访存架构和访存系统
CN102420749A (zh) 一种网卡发包功能的实现装置和方法
CN108234147B (zh) Gpdsp中基于主机计数的dma广播数据传输方法
CN113533941B (zh) 芯片接口的测试方法、装置、计算机设备和存储介质
US11886290B2 (en) Information processing apparatus and information processing method for error correction and read modify write processing
CN116049069A (zh) 数据读取方法及相关装置
CN110299183A (zh) In-LineECC模块及其实现方法
CN113868179B (zh) 一种LPC_DPRam的通信装置及数据转换方法
CN111177048A (zh) 一种ahb总线的设备及其进行数据流传输的方法
Zhao et al. A novel design of high-speed multi-port memory interface for digital signal processor
CN116561036B (zh) 数据访问控制方法、装置、设备及存储介质
US20230305816A1 (en) Device and method for handling programming language function
CN117056263A (zh) Spi控制器、控制方法、系统级芯片以及蓝牙设备
Li et al. Improved DMA Algorithm for the PXIE Bus
KR100677230B1 (ko) 컴퓨터 시스템 블록의 인터페이스 장치 및 방법

Legal Events

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

Ref document number: 21949942

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE