CN117349103A - System for verifying PCIE controller of SOC chip based on FPGA - Google Patents
System for verifying PCIE controller of SOC chip based on FPGA Download PDFInfo
- Publication number
- CN117349103A CN117349103A CN202311270637.8A CN202311270637A CN117349103A CN 117349103 A CN117349103 A CN 117349103A CN 202311270637 A CN202311270637 A CN 202311270637A CN 117349103 A CN117349103 A CN 117349103A
- Authority
- CN
- China
- Prior art keywords
- write
- read
- fpga
- queue
- pcie controller
- 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.)
- Pending
Links
- 238000006243 chemical reaction Methods 0.000 claims abstract description 59
- 230000004044 response Effects 0.000 claims description 34
- 238000012545 processing Methods 0.000 claims description 17
- 238000012795 verification Methods 0.000 abstract description 41
- 238000012360 testing method Methods 0.000 abstract description 5
- 230000005284 excitation Effects 0.000 description 2
- 238000000034 method Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/273—Tester hardware, i.e. output processing circuits
- G06F11/2733—Test interface between tester and unit under test
-
- 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/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
- G06F30/331—Design verification, e.g. functional simulation or model checking using simulation with hardware acceleration, e.g. by using field programmable gate array [FPGA] or emulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2115/00—Details relating to the type of the circuit
- G06F2115/02—System on chip [SoC] design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Bus Control (AREA)
Abstract
The invention discloses a system for verifying a PCIE controller of an SOC chip based on an FPGA, which comprises the PCIE controller of the SOC chip to be verified, a DFI-AXI bridge, the FPGA PCIE controller, FPGA PCIE PHY and PCIE equipment, wherein: the DFI-AXI bridge is connected with the PCIE controller of the SOC chip through a DFI interface and connected with the PCIE controller of the FPGA through an AXI interface, and is used for executing protocol conversion between the DFI and the AXI so as to interact between the PCIE controller of the SOC chip and the PCIE controller of the FPGA; the FPGA PCIE controller is connected with FPGA PCIE PHY through an FPGA internal bus and FPGA PCIE PHY is connected with PCIE equipment. The invention solves the problem that the prior FPGA hardware prototype verification platform cannot verify the PCIE controller of the SOC chip, realizes the verification of the PCIE controller of the SOC chip on the FPGA hardware prototype verification platform, improves the verification speed of the PCIE controller of the SOC chip, can verify more test programs and realize full verification, and therefore, also improves the success rate of chip streaming.
Description
Technical Field
The invention relates to a PCIE controller, in particular to a system for verifying a PCIE controller of an SOC chip based on an FPGA.
Background
With the widespread use of cloud computing and high-performance computing, in order to efficiently process a large amount of data, more and more system-on-chip (SOC) chips are integrated with PCIE controllers to improve internal communication capabilities. Fig. 1 shows an example of an SOC chip integrated with a PCIE controller, which is also referred to as an SOC chip PCIE controller, and the SOC chip PCIE controller is connected to a PCIE device outside the SOC chip through a SOC chip PCIE physical layer (PCIE PHY) and is used to control access to the device, including controlling a read-write request signal, an address signal, a data signal, a command signal, and the like. The verification SOC chip PCIE controller is a key link in the whole SOC chip verification process, and a platform for verifying the SOC chip at present mainly comprises an RTL software simulation verification platform and an FPGA hardware prototype verification platform, and SOC chip verification can be performed based on any one of the two platforms.
The scheme based on the RTL software simulation verification platform is that a PCIE equipment model is integrated into a verification environment, test excitation is written and provided for an SOC processor, and the SOC processor sends excitation to PCIE and receives response through a bus, so that verification of functions of an SOC chip is realized. According to the scheme, all signal waveforms in the SOC chip can be observed, so that the design problem of hardware can be found as soon as possible, however, because the logic of the PCIE controller of the SOC chip is larger and the test items are more, the simulation speed on the RTL software simulation verification platform is slower and quick iteration cannot be performed, and the research and development period of the SOC chip is prolonged. The scheme based on the FPGA hardware prototype verification platform uses the FPGA to splice out an effective flow so as to verify the function of the SOC chip. Because the PCIE PHY in the SOC chip is an actual circuit fixed in the SOC chip, it cannot be synthesized any more, and there may be a large difference between the FPGA PCIE PHY and SOC chip PCIE PHYs, which results in the FPGA PCIE PHY being incompatible with the SOC chip PCIE controller, so the current FPGA hardware prototype verification platform usually uses FPGA PCIE controllers and FPGA PCIE PHY to replace the SOC chip PCIE controller and SOC chip PCIE PHY respectively, so as to perform verification on the SOC chip. Obviously, the current FPGA hardware prototype verification platform cannot verify the PCIE controller of the SOC chip. On the one hand, the PCIE controller of the SOC chip is different from the PCIE controller of the FPGA, the verification result of the FPGA hardware prototype verification platform may be seriously error caused by replacing the PCIE controller and the PCIE PHY to verify the SOC chip, and PCIE versions supported by some of the FPGA hardware prototype verification platforms may not be compatible with the PCIE controller of the SOC chip and cannot be used for verification of the SOC chip; on the other hand, the FPGA hardware prototype verification platform cannot verify the PCIE controller of the SOC chip, so that the risk of chip flow failure is increased.
Disclosure of Invention
The invention aims at: in order to overcome the defects in the prior art, the invention provides a system for verifying a PCIE controller of an SOC chip based on an FPGA.
The technical scheme of the invention is as follows:
the system for verifying the PCIE controller of the SOC chip based on the FPGA comprises the PCIE controller of the SOC chip to be verified, a DFI-AXI bridge, the PCIE controller of the FPGA, FPGA PCIE PHY and PCIE equipment, wherein:
the DFI-AXI bridge is connected with the PCIE controller of the SOC chip through a DFI interface and connected with the PCIE controller of the FPGA through an AXI interface,
the DFI-AXI bridge is used for executing protocol conversion between the DFI and the AXI so as to interact between the PCIE controller of the SOC chip and the PCIE controller of the FPGA;
the FPGA PCIE controller is connected with FPGA PCIE PHY through an FPGA internal bus and FPGA PCIE PHY is connected with PCIE equipment.
Preferably, the DFI-AXI bridge includes a transmit transaction module and a receive transaction module;
the sending transaction processing module decodes a write command, a write address and write data from the PCIE controller of the SOC chip, performs protocol conversion from DFI to AXI on the write address and the write data according to the write command, and sends the write address and the write data after the protocol conversion to the FPGA PCIE controller;
and the receiving transaction processing module decodes the read command and the read address from the PCIE controller of the SOC chip, performs protocol conversion from DFI to AXI on the read address according to the read command, and sends the read address after the protocol conversion to the FPGA PCIE controller.
Preferably, the sending transaction processing module further decodes a write response from the FPGA PCIE controller, performs AXI to DFI protocol conversion on the write response, and sends the write response after the protocol conversion to the SOC chip PCIE controller; the receiving transaction processing module also decodes the read data from the FPGA PCIE controller, performs the protocol conversion from AXI to DFI on the read data, and sends the read data after the protocol conversion to the SOC chip PCIE controller.
Preferably, the sending transaction processing module comprises a writing operation control unit and a writing sending unit;
the write operation control unit decodes a write command, a write address and write data from the PCIE controller of the SOC chip, and writes the write command, the write address and the write data into a write command queue, a write address queue and a write data queue respectively;
the write transmitting unit obtains a write command from the write command queue, obtains a write address and write data from the write address queue and the write data queue respectively according to the write command, performs protocol conversion from DFI to AXI on the write address and the write data, and transmits the write address and the write data after the protocol conversion to the FPGA PCIE controller; the write command queue, the write address queue and the write data queue respectively realize the operation of crossing clock domains.
Preferably, the write sending unit further decodes a write response from the FPGA PCIE controller, performs AXI to DFI protocol conversion on the write response, and writes the protocol-converted write response into a write response queue; the write operation control unit also obtains a write response from the write response queue and sends the write response to the PCIE controller of the SOC chip; the write response queue realizes the operation of crossing clock domains;
the write operation control unit also performs control as follows:
for the write transmitting unit in the write idle state, when any one of the write command queue, the write address queue and the write data queue is not empty, the write operation control unit controls the write transmitting unit to enter a write enabling state;
for a write transmitting unit in a write enabling state, searching corresponding write addresses and write data in a write address queue and a write data queue according to a write command in the write command queue, if so, controlling the write transmitting unit to enter a write transmitting state, executing protocol conversion from DFI to AXI on the write addresses and the write data by the write transmitting unit in the write transmitting state, transmitting the protocol-converted write addresses and the write data to an FPGA PCIE controller, and if not, controlling the write transmitting unit to enter a write waiting state, and waiting until the corresponding write addresses and the write data in the write address queue and the write data queue are found, and then controlling the write transmitting unit to enter the write transmitting state;
for the write transmitting unit in the write transmitting state, when the write command queue, the write address queue, and the write data queue are all empty, the write operation control unit controls the write transmitting unit to enter a write idle state.
Preferably, the receiving transaction processing module comprises a read operation control unit and a read receiving unit;
the read operation control unit decodes a read command and a read address from the PCIE controller of the SOC chip, and writes the read command and the read address into a read command queue and a read address queue respectively;
the read receiving unit obtains a read command from the read command queue, obtains a read address from the read address queue according to the read command, performs protocol conversion from DFI to AXI on the read address, and sends the read address after protocol conversion to the FPGA PCIE controller; the read command queue and the read address queue respectively realize the operation of crossing clock domains.
Preferably, the read receiving unit further decodes the read data from the FPGA PCIE controller, performs AXI to DFI protocol conversion on the read data, and writes the read data after the protocol conversion into a read data queue; the read operation control unit also obtains read data from the read data queue and sends the read data to the PCIE controller of the SOC chip; the read data queue realizes the operation of crossing clock domains;
the read operation control unit further performs control as follows:
for the read receiving unit in the read idle state, when the read command queue or the read address queue is not empty, the read operation control unit controls the read receiving unit to enter a read enabling state;
for a read receiving unit in a read enabling state, searching a corresponding read address in a read address queue according to a read command in the read command queue, if the corresponding read address is found, controlling the read receiving unit to enter the read receiving state, executing protocol conversion from DFI to AXI on the read address by the read receiving unit in the read receiving state, sending the read address after the protocol conversion to an FPGA PCIE controller, if the corresponding read address is not found, controlling the read receiving unit to enter a read waiting state, and waiting until the corresponding read address is found in the read address queue, and controlling the read receiving unit to enter the read receiving state;
for the read receiving unit in the read receiving state, when the read command queue and the read address queue are empty, the read operation control unit controls the read receiving unit to enter a read idle state. The queues in the above system may employ asynchronous cross-clock domain FIFO queues.
The invention has the advantages that:
1. the invention provides a system for verifying an SOC (system on chip) PCIE (peripheral component interface express) controller based on an FPGA (field programmable gate array), which solves the problem that the traditional FPGA hardware prototype verification platform cannot verify the SOC PCIE controller and realizes verification of the SOC PCIE controller on the FPGA hardware prototype verification platform.
2. Compared with the verification scheme based on the RTL software simulation verification platform, the verification speed of the PCIE controller of the SOC chip is improved, and as the verification speed is higher, more test programs can be verified and full verification is realized, the success rate of chip streaming is improved.
3. The invention realizes protocol conversion between the PCIE controller of the SOC chip and the PCIE controller of the FPGA by designing the DFI-AXI bridge, so that verification of the PCIE controller of the SOC chip is independent of the specific model of the FPGA and the version of the PCIE, and the compatibility is good.
Drawings
The invention is further described below with reference to the accompanying drawings and examples:
fig. 1 is a block diagram of a system for verifying a PCIE controller of a SOC chip based on an FPGA of the present invention.
Description of the embodiments
As shown in fig. 1, the system for verifying a PCIE controller of an SOC chip based on an FPGA of the present invention includes a PCIE controller of an SOC chip to be verified, a DFI-AXI bridge, an FPGA PCIE controller, FPGA PCIE PHY, and PCIE devices, where:
the DFI-AXI bridge is connected with the PCIE controller of the SOC chip through a DFI interface and connected with the PCIE controller of the FPGA through an AXI interface,
the DFI-AXI bridge is used for executing protocol conversion between the DFI and the AXI so as to interact between the PCIE controller of the SOC chip and the PCIE controller of the FPGA;
the FPGA PCIE controller is connected with FPGA PCIE PHY through an FPGA internal bus and FPGA PCIE PHY is connected with PCIE equipment.
The DFI-AXI bridge comprises a sending transaction processing module and a receiving transaction processing module;
the sending transaction processing module decodes a write command, a write address and write data from the PCIE controller of the SOC chip, performs protocol conversion from DFI to AXI on the write address and the write data according to the write command, and sends the write address and the write data after the protocol conversion to the FPGA PCIE controller;
and the receiving transaction processing module decodes the read command and the read address from the PCIE controller of the SOC chip, performs protocol conversion from DFI to AXI on the read address according to the read command, and sends the read address after the protocol conversion to the FPGA PCIE controller.
The sending transaction processing module also decodes the write response from the FPGA PCIE controller, performs the protocol conversion from AXI to DFI on the write response, and sends the write response after the protocol conversion to the SOC chip PCIE controller; the receiving transaction processing module also decodes the read data from the FPGA PCIE controller, performs the protocol conversion from AXI to DFI on the read data, and sends the read data after the protocol conversion to the SOC chip PCIE controller.
The sending transaction processing module comprises a writing operation control unit and a writing sending unit;
the write operation control unit decodes a write command, a write address and write data from the PCIE controller of the SOC chip, and writes the write command, the write address and the write data into a write command queue, a write address queue and a write data queue respectively;
the write transmitting unit obtains a write command from the write command queue, obtains a write address and write data from the write address queue and the write data queue respectively according to the write command, performs protocol conversion from DFI to AXI on the write address and the write data, and transmits the write address and the write data after the protocol conversion to the FPGA PCIE controller; the write command queue, the write address queue and the write data queue respectively realize the operation of crossing clock domains.
The write transmitting unit also decodes the write response from the FPGA PCIE controller, performs the protocol conversion from AXI to DFI on the write response, and writes the write response after the protocol conversion into a write response queue; the write operation control unit also obtains a write response from the write response queue and sends the write response to the PCIE controller of the SOC chip; the write response queue realizes the operation of crossing clock domains;
the write operation control unit also performs control as follows:
for the write transmitting unit in the write idle state, when any one of the write command queue, the write address queue and the write data queue is not empty, the write operation control unit controls the write transmitting unit to enter a write enabling state;
for a write transmitting unit in a write enabling state, searching corresponding write addresses and write data in a write address queue and a write data queue according to a write command in the write command queue, if so, controlling the write transmitting unit to enter a write transmitting state, executing protocol conversion from DFI to AXI on the write addresses and the write data by the write transmitting unit in the write transmitting state, transmitting the protocol-converted write addresses and the write data to an FPGA PCIE controller, and if not, controlling the write transmitting unit to enter a write waiting state, and waiting until the corresponding write addresses and the write data in the write address queue and the write data queue are found, and then controlling the write transmitting unit to enter the write transmitting state;
for the write transmitting unit in the write transmitting state, when the write command queue, the write address queue, and the write data queue are all empty, the write operation control unit controls the write transmitting unit to enter a write idle state.
The receiving transaction processing module comprises a reading operation control unit and a reading receiving unit;
the read operation control unit decodes a read command and a read address from the PCIE controller of the SOC chip, and writes the read command and the read address into a read command queue and a read address queue respectively;
the read receiving unit obtains a read command from the read command queue, obtains a read address from the read address queue according to the read command, performs protocol conversion from DFI to AXI on the read address, and sends the read address after protocol conversion to the FPGA PCIE controller; the read command queue and the read address queue respectively realize the operation of crossing clock domains.
The read receiving unit also decodes the read data from the FPGA PCIE controller, performs the protocol conversion from AXI to DFI on the read data, and writes the read data after the protocol conversion into a read data queue; the read operation control unit also obtains read data from the read data queue and sends the read data to the PCIE controller of the SOC chip; the read data queue realizes the operation of crossing clock domains;
the read operation control unit further performs control as follows:
for the read receiving unit in the read idle state, when the read command queue or the read address queue is not empty, the read operation control unit controls the read receiving unit to enter a read enabling state;
for a read receiving unit in a read enabling state, searching a corresponding read address in a read address queue according to a read command in the read command queue, if the corresponding read address is found, controlling the read receiving unit to enter the read receiving state, executing protocol conversion from DFI to AXI on the read address by the read receiving unit in the read receiving state, sending the read address after the protocol conversion to an FPGA PCIE controller, if the corresponding read address is not found, controlling the read receiving unit to enter a read waiting state, and waiting until the corresponding read address is found in the read address queue, and controlling the read receiving unit to enter the read receiving state;
for the read receiving unit in the read receiving state, when the read command queue and the read address queue are empty, the read operation control unit controls the read receiving unit to enter a read idle state. The queues in the above system may employ asynchronous cross-clock domain FIFO queues.
The invention provides a system for verifying an SOC (system on chip) PCIE (peripheral component interface express) controller based on an FPGA (field programmable gate array), which solves the problem that the traditional FPGA hardware prototype verification platform cannot verify the SOC PCIE controller and realizes verification of the SOC PCIE controller on the FPGA hardware prototype verification platform. Compared with the verification scheme based on the RTL software simulation verification platform, the verification speed of the PCIE controller of the SOC chip is improved, and as the verification speed is higher, more test programs can be verified and full verification is realized, the success rate of chip streaming is improved. The invention realizes protocol conversion between the PCIE controller of the SOC chip and the PCIE controller of the FPGA by designing the DFI-AXI bridge, so that verification of the PCIE controller of the SOC chip is independent of the specific model of the FPGA and the version of the PCIE, and the compatibility is good.
The above embodiments are only for illustrating the technical concept and features of the present invention, and are intended to enable those skilled in the art to understand the content of the present invention and implement the same according to the content of the present invention, and are not intended to limit the scope of the present invention. All modifications made according to the spirit of the main technical proposal of the invention should be covered in the protection scope of the invention.
Claims (7)
1. The system for verifying the PCIE controller of the SOC chip based on the FPGA is characterized by comprising the PCIE controller of the SOC chip to be verified, a DFI-AXI bridge, the FPGA PCIE controller, FPGA PCIE PHY and PCIE equipment, wherein:
the DFI-AXI bridge is connected with the PCIE controller of the SOC chip through a DFI interface and connected with the PCIE controller of the FPGA through an AXI interface,
the DFI-AXI bridge is used for executing protocol conversion between the DFI and the AXI so as to interact between the PCIE controller of the SOC chip and the PCIE controller of the FPGA;
the FPGA PCIE controller is connected with FPGA PCIE PHY through an FPGA internal bus and FPGA PCIE PHY is connected with PCIE equipment.
2. The system for verifying a PCIE controller of a SOC chip based on an FPGA of claim 1, wherein the DFI-AXI bridge includes a transmit transaction module and a receive transaction module;
the sending transaction processing module decodes a write command, a write address and write data from the PCIE controller of the SOC chip, performs protocol conversion from DFI to AXI on the write address and the write data according to the write command, and sends the write address and the write data after the protocol conversion to the FPGA PCIE controller;
and the receiving transaction processing module decodes the read command and the read address from the PCIE controller of the SOC chip, performs protocol conversion from DFI to AXI on the read address according to the read command, and sends the read address after the protocol conversion to the FPGA PCIE controller.
3. The system for verifying the PCIE controller of the SOC chip based on the FPGA of claim 2, wherein the send transaction module further decodes a write response from the FPGA PCIE controller, performs AXI to DFI protocol conversion on the write response, and sends the protocol converted write response to the SOC chip PCIE controller; the receiving transaction processing module also decodes the read data from the FPGA PCIE controller, performs the protocol conversion from AXI to DFI on the read data, and sends the read data after the protocol conversion to the SOC chip PCIE controller.
4. The system for verifying a PCIE controller of a SOC chip based on an FPGA of claim 3, wherein the send transaction module includes a write operation control unit and a write send unit;
the write operation control unit decodes a write command, a write address and write data from the PCIE controller of the SOC chip, and writes the write command, the write address and the write data into a write command queue, a write address queue and a write data queue respectively;
the write transmitting unit obtains a write command from the write command queue, obtains a write address and write data from the write address queue and the write data queue respectively according to the write command, performs protocol conversion from DFI to AXI on the write address and the write data, and transmits the write address and the write data after the protocol conversion to the FPGA PCIE controller; the write command queue, the write address queue and the write data queue respectively realize the operation of crossing clock domains.
5. The system for verifying a PCIE controller of a SOC chip based on an FPGA of claim 4, wherein the write-transmit unit further decodes a write response from the FPGA PCIE controller, performs AXI to DFI protocol conversion on the write response, and writes the protocol-converted write response to a write-response queue; the write operation control unit also obtains a write response from the write response queue and sends the write response to the PCIE controller of the SOC chip; the write response queue realizes the operation of crossing clock domains;
the write operation control unit also performs control as follows:
for the write transmitting unit in the write idle state, when any one of the write command queue, the write address queue and the write data queue is not empty, the write operation control unit controls the write transmitting unit to enter a write enabling state;
for a write transmitting unit in a write enabling state, searching corresponding write addresses and write data in a write address queue and a write data queue according to a write command in the write command queue, if so, controlling the write transmitting unit to enter a write transmitting state, executing protocol conversion from DFI to AXI on the write addresses and the write data by the write transmitting unit in the write transmitting state, transmitting the protocol-converted write addresses and the write data to an FPGA PCIE controller, and if not, controlling the write transmitting unit to enter a write waiting state, and waiting until the corresponding write addresses and the write data in the write address queue and the write data queue are found, and then controlling the write transmitting unit to enter the write transmitting state;
for the write transmitting unit in the write transmitting state, when the write command queue, the write address queue, and the write data queue are all empty, the write operation control unit controls the write transmitting unit to enter a write idle state.
6. The system for verifying the PCIE controller of the SOC chip based on the FPGA of claim 5, wherein the receive transaction module comprises a read operation control unit and a read receiving unit;
the read operation control unit decodes a read command and a read address from the PCIE controller of the SOC chip, and writes the read command and the read address into a read command queue and a read address queue respectively;
the read receiving unit obtains a read command from the read command queue, obtains a read address from the read address queue according to the read command, performs protocol conversion from DFI to AXI on the read address, and sends the read address after protocol conversion to the FPGA PCIE controller; the read command queue and the read address queue respectively realize the operation of crossing clock domains.
7. The system for verifying the PCIE controller of the SOC chip based on the FPGA of claim 6, wherein the read receiving unit further decodes read data from the FPGA PCIE controller, performs AXI to DFI protocol conversion on the read data, and writes the protocol-converted read data to the read data queue; the read operation control unit also obtains read data from the read data queue and sends the read data to the PCIE controller of the SOC chip; the read data queue realizes the operation of crossing clock domains;
the read operation control unit further performs control as follows:
for the read receiving unit in the read idle state, when the read command queue or the read address queue is not empty, the read operation control unit controls the read receiving unit to enter a read enabling state;
for a read receiving unit in a read enabling state, searching a corresponding read address in a read address queue according to a read command in the read command queue, if the corresponding read address is found, controlling the read receiving unit to enter the read receiving state, executing protocol conversion from DFI to AXI on the read address by the read receiving unit in the read receiving state, sending the read address after the protocol conversion to an FPGA PCIE controller, if the corresponding read address is not found, controlling the read receiving unit to enter a read waiting state, and waiting until the corresponding read address is found in the read address queue, and controlling the read receiving unit to enter the read receiving state;
for the read receiving unit in the read receiving state, when the read command queue and the read address queue are empty, the read operation control unit controls the read receiving unit to enter a read idle state. The queues in the above system may employ asynchronous cross-clock domain FIFO queues.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311270637.8A CN117349103A (en) | 2023-09-28 | 2023-09-28 | System for verifying PCIE controller of SOC chip based on FPGA |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311270637.8A CN117349103A (en) | 2023-09-28 | 2023-09-28 | System for verifying PCIE controller of SOC chip based on FPGA |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117349103A true CN117349103A (en) | 2024-01-05 |
Family
ID=89356722
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311270637.8A Pending CN117349103A (en) | 2023-09-28 | 2023-09-28 | System for verifying PCIE controller of SOC chip based on FPGA |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117349103A (en) |
-
2023
- 2023-09-28 CN CN202311270637.8A patent/CN117349103A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112256601B (en) | Data access control method, embedded storage system and embedded equipment | |
US8327039B2 (en) | Integrated DMA processor and PCI express switch for a hardware-based functional verification system | |
KR101035832B1 (en) | Simulation circuit of pci express endpoint and downstream port for a pci express switch | |
US8473661B2 (en) | System and method for providing multi-process protection using direct memory mapped control registers | |
CN108268414B (en) | SD card driver based on SPI mode and control method thereof | |
US20130211812A1 (en) | Conveying data from a hardware device to a circuit simulation | |
US8041867B2 (en) | Method and apparatus for enhancing data rate of advanced micro-controller bus architecture | |
US7225288B2 (en) | Extended host controller test mode support for use with full-speed USB devices | |
CN111931442B (en) | FPGA embedded FLASH controller and electronic device | |
CN101118523A (en) | Memory accessing control device and method thereof, and memory accessing controller and method thereof | |
CN101436171B (en) | Modular communication control system | |
CN115146568A (en) | Chip verification system and verification method based on UVM | |
CN112783818A (en) | Online upgrading method and system for multi-core embedded system | |
CN117555832A (en) | DMA interrupt configuration method, device, product and medium of virtual machine direct PCIe device | |
CN101281507A (en) | USB interface type DSP real-time simulation development system | |
CN103150262B (en) | Pipeline access means | |
CN117349103A (en) | System for verifying PCIE controller of SOC chip based on FPGA | |
JP2005520248A (en) | USB host controller | |
CN114328342B (en) | Novel program control configuration method for PCIe heterogeneous accelerator card | |
US20140040382A1 (en) | Secure digital host controller virtualization | |
CN100365639C (en) | First-in first-out analog unit and logic verification analog system | |
CN116186793B (en) | RISC-V based security chip architecture and working method thereof | |
JPH11110342A (en) | Method and device for connecting bus | |
CN118484422A (en) | Data handling method and device for PCIE SWITCH | |
CN115098320A (en) | System for verifying SOC chip DDR controller based on FPGA |
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 |