WO2018018978A1 - 一种通用串行总线控制器验证方法、系统及设备 - Google Patents
一种通用串行总线控制器验证方法、系统及设备 Download PDFInfo
- Publication number
- WO2018018978A1 WO2018018978A1 PCT/CN2017/082626 CN2017082626W WO2018018978A1 WO 2018018978 A1 WO2018018978 A1 WO 2018018978A1 CN 2017082626 W CN2017082626 W CN 2017082626W WO 2018018978 A1 WO2018018978 A1 WO 2018018978A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- fpga chip
- mode
- fpga
- usb controller
- chip
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/124—Program 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
-
- 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/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
-
- 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/0042—Universal serial bus [USB]
Definitions
- the present invention relates to integrated circuit technology, and in particular, to a universal serial bus (USB) controller verification method, system and device.
- USB universal serial bus
- SoC System-on-Chip
- SoC's design scale is increasing day by day, functions are becoming more complex, and performance requirements are getting higher and higher, which makes the development time of the chip will be extended accordingly.
- the verification phase of the chip occupies most of the time of the entire chip development. Therefore, how to improve the verification efficiency and quality to shorten the development time of the chip has become one of the most concerned topics in the field of SoC design.
- FPGA-based prototyping is 4 to 6 orders of magnitude faster than software verification, and can also detect defects and errors in chip design to improve the success rate of the chip; meanwhile, the FPGA verification platform can also be used as software development hardware. The platform can speed up software development to shorten the product development cycle.
- SDV Software Driven verification
- BFM Bus Function Model
- Field field-programmable gate array
- FPGA-based prototyping is 4 to 6 orders of magnitude faster than software verification, and can also detect defects and errors in chip design to improve the success rate of the chip; meanwhile, the FPGA verification platform can also be used as software development hardware. The platform can speed up software development to shorten the product development cycle.
- USB interface is popular among chip manufacturers because of its advantages of hot pluggable, bus-powered, supportable devices, easy expansion, and convenient device interconnection. It is almost a necessary interface for integrating SoC chips with processor cores. However, the cost of the ease of use of the USB interface is an increase in the complexity of the USB controller, which increases the complexity of the test verification of the USB controller.
- the test for the USB controller is mainly carried out by means of an FPGA verification platform combined with a USB device.
- the USB controller distinguishes between the host (HOST) mode and the device (DEVICE) mode, and needs to cover the four transmission modes of interrupt transmission, control transmission, isochronous transmission, and bulk transmission of the USB during the test, the verification of related technologies There are obvious deficiencies in the platform and verification methods.
- the USB device when the USB controller is in the HOST mode, the USB device is generally connected to the USB controller for testing, but after the USB device is enumerated, the processor on the HOST side needs to run the driver corresponding to the USB device to The USB device performs data transmission; in addition, a USB device can only cover one or two transmission modes, and cannot cover four transmission modes of full USB; and, in the process of transmitting and testing data, it cannot be modified.
- the packet length is such that no fine testing is possible.
- the USB controller is in the DEVICE mode, the USB device is currently connected to the PC (Personal Computer, PC), that is, the SoC chip where the USB controller is located is connected to the PC as a USB device, after the USB device is enumerated.
- PC Personal Computer
- the PC side needs to run a driver corresponding to the USB device to perform data transmission with the USB device.
- developing PC-side drivers will add extra work to chip development, and the same driver may not be adaptable to different operating systems and requires real-time maintenance.
- an embodiment of the present invention provides a USB controller verification method, system, and device, which can simultaneously cover two working modes and four transmission modes of a test USB controller.
- An embodiment of the present invention provides a USB controller verification system, where the system includes: a host computer and an FPGA verification board; the FPGA verification board includes a first FPGA chip, a second FPGA chip, and a connection to the first FPGA chip. And a control switch of the second FPGA chip; wherein
- the upper computer is configured to send a test program of a first working mode of the USB controller to the first FPGA chip, and send a test program of a second working mode of the USB controller to the second FPGA chip;
- the first FPGA chip and the second FPGA chip send an instruction to execute a specified transmission mode;
- the first FPGA chip and the second FPGA chip respectively operate in the first working mode and the second working mode, and are configured to perform data transmission test according to the specified transmission mode after the control switch is closed And return the test result to the upper computer.
- the host computer is further configured to write a first SoC logic version of the SoC processor integrated with the USB controller to the first FPGA chip, and a SoC processor to which the USB controller is integrated A second SoC logic version is written to the second FPGA chip.
- the first working mode is a host mode
- the second working mode is a device mode
- the first FPGA chip is further configured to perform an enumeration operation on the second FPGA chip
- the enumeration operation includes:
- the first FPGA chip performs device identification detection on the second FPGA chip
- the first FPGA chip performs device address setting on the second FPGA chip
- the first FPGA chip acquires a second FPGA chip configuration descriptor
- the first FPGA chip performs device configuration on the second FPGA chip.
- the FPGA verification board further includes a first debugging interface and a second debugging interface. And a third debug interface;
- the first debug interface is connected to the first FPGA chip
- the second debug interface is connected to the second FPGA chip
- the third debug interface is connected to the upper computer and respectively connected to the first debugger The interface and the second debug interface are connected in series;
- the first debug interface is configured to send the first SoC logic version that the upper computer needs to write to the first FPGA chip to the first FPGA chip;
- the second debug interface is configured to send the second SoC logic version that the upper computer needs to write to the second FPGA chip to the second FPGA chip;
- the FPGA verification board further includes a first transmission interface and a second transmission interface; the first transmission interface is connected to the first FPGA chip, and the second transmission interface is connected to the second FPGA chip. ;
- the first transmission interface is configured to transmit a test program of the first working mode of the USB controller sent by the upper computer to the first FPGA chip;
- the second transmission interface is configured to transmit a test program of the second working mode of the USB controller sent by the upper computer to the second FPGA chip.
- the first FPGA chip and the second FPGA chip are connected by a serial deserializer, and configured as data interaction between the first FPGA chip and the second FPGA chip;
- the first FPGA chip and the second FPGA chip are respectively connected with a first reset circuit and a second reset circuit, and are configured to respectively reset the first FPGA chip and the second FPGA chip.
- An embodiment of the present invention provides a USB controller verification method, where the method includes:
- the first FPGA chip and the second FPGA chip respectively work on the first In the working mode and the second working mode, after the first FPGA chip and the second FPGA chip are connected, the first FPGA chip and the second FPGA chip perform data according to the specified transmission mode. Transfer the test results returned by the test.
- the first SoC logic version of the SoC processor integrated with the USB controller is written to the first FPGA chip
- the second SoC logic version of the SoC processor integrated with the USB controller is written to The second FPGA chip.
- the first working mode is a host mode
- the second working mode is a device mode
- the present invention provides a host computer, the host computer includes: a transmitting unit and a receiving unit;
- the sending unit is configured to send a test program of the first working mode of the USB controller to the first FPGA chip, send a test program of the second working mode of the USB controller to the second FPGA chip, and respectively to the first FPGA chip
- An FPGA chip and the second FPGA chip send an instruction to execute a specified transmission mode
- the receiving unit is configured to receive, when the first FPGA chip and the second FPGA chip work in the first working mode and the second working mode, respectively, in the first FPGA chip and the first After the two FPGA chips are connected, the first FPGA chip and the second FPGA chip transmit the test results returned by the data according to the specified transmission mode.
- the host computer further includes: a writing unit configured to write a first SoC logic version of the SoC processor integrated with the USB controller to the first FPGA chip, and an integrated USB controller A second SoC logic version of the SoC processor is written to the second FPGA chip.
- the first working mode is a host mode
- the second working mode is a device mode
- An embodiment of the present invention provides a USB controller verification method, where the method includes:
- the first FPGA chip and the second FPGA chip respectively receive a test program of the first working mode of the USB controller sent by the host computer, a test program of the second working mode of the USB controller, and receive the execution of the specified transmission mode sent by the upper computer. instruction;
- the first FPGA chip and the second FPGA chip respectively operate in the first working mode and the second working mode, and after the first FPGA chip and the second FPGA chip are connected, the data is performed according to the specified transmission mode. Transfer the test and return the test result to the host computer.
- the first working mode is a host mode
- the second working mode is a device mode
- the method further includes: performing, by the first FPGA chip, an enumeration operation on the second FPGA chip;
- the enumeration operation includes:
- the first FPGA chip performs device identification detection on the second FPGA chip
- the first FPGA chip acquires device descriptor information of the second FPGA chip
- the first FPGA chip performs device address setting on the second FPGA chip
- the first FPGA chip acquires a second FPGA chip configuration descriptor
- the first FPGA chip performs device configuration on the second FPGA chip.
- An embodiment of the present invention provides an FPGA verification board, where the FPGA verification board includes a first FPGA chip, a second FPGA chip, and a control switch connecting the first FPGA chip and the second FPGA chip;
- the first FPGA chip and the second FPGA chip are configured to respectively receive a test program of a first working mode of a USB controller sent by a host computer and a test program of a second working mode of the USB controller, and receive the test program sent by the host computer Executing an instruction of the specified transmission mode; further configured to operate in the first working mode and the second working mode respectively, after the control switch is closed, perform transmission test on the data according to the specified transmission mode, and return the test result Give the upper computer.
- the first working mode is a host mode
- the second working mode is set Ready mode
- the first FPGA chip is further configured to perform an enumeration operation on the second FPGA chip
- the enumeration operation includes:
- the first FPGA chip performs device identification detection on the second FPGA chip
- the first FPGA chip acquires device descriptor information of the second FPGA chip
- the first FPGA chip performs device address setting on the second FPGA chip
- the first FPGA chip acquires a second FPGA chip configuration descriptor
- the first FPGA chip performs device configuration on the second FPGA chip.
- the host computer sends a test program of the first working mode of the USB controller to the first FPGA chip, and sends a test program of the second working mode of the USB controller to the second FPGA chip; Transmitting, to the first FPGA chip and the second FPGA chip, an instruction to execute a specified transmission mode; the first FPGA chip and the second FPGA chip respectively operating in the first working mode and the second working mode And configured to perform transmission test on the data according to the specified transmission mode after the control switch is closed, and return the test result to the upper computer.
- the first FPGA chip and the second FPGA chip are simultaneously set on the FPGA verification board, so that the first FPGA chip simulates the SoC chip integrated with the USB controller HOST mode, and the second FPGA chip is enabled. Simulate the SoC chip with integrated USB controller DEVICE mode, and then test the data transmission results in the four transmission modes, overcoming the failure of the related technology verification platform can not cover the two working modes of the test USB controller and the shortage of the four transmission modes. And can meet the needs of refined testing.
- the process of developing the USB device driver in the HOST mode by the USB controller and the process of developing the USB device driver by the host computer in the DEVICE mode can be avoided; the performance of the verification system of the embodiment of the present invention is stable. Reliable, applicable Wide range, the verification method is simple and fast.
- FIG. 1 is a schematic structural diagram of a USB controller verification system according to an embodiment of the present invention.
- FIG. 2 is a schematic flowchart of an implementation process of a USB controller verification method according to an embodiment of the present invention
- FIG. 3 is a schematic flowchart of a specific implementation process of a USB controller verification method according to an embodiment of the present invention
- FIG. 4 is a schematic flowchart of an implementation process of a USB controller verification method according to an embodiment of the present invention
- FIG. 5 is a schematic structural diagram of a structure of a host computer according to an embodiment of the present invention.
- FIG. 6 is a schematic flowchart of an implementation process of a USB controller verification method according to an embodiment of the present invention.
- FIG. 7 is a schematic structural diagram of an FPGA verification board according to an embodiment of the present invention.
- FIG. 1 A schematic diagram of a component structure of a USB controller verification system according to an embodiment of the present invention is shown in FIG. 1.
- the system includes: a host computer 1 and an FPGA verification board 2; the FPGA verification board 2 includes a first FPGA chip 201 and a second FPGA chip. 202, and a control switch 203 connecting the first FPGA chip 201 and the second FPGA chip 202;
- the host computer 1 is configured to send a test program of the first working mode of the USB controller to the first FPGA chip 201, and send a test program of the second working mode of the USB controller to the second FPGA chip 202;
- An FPGA chip 201 and a second FPGA chip 202 send an instruction to execute a specified transmission mode;
- the first FPGA chip 201 and the second FPGA chip 202 respectively operate in the first working mode and the second working mode, and are configured to perform transmission test on the data according to the specified transmission mode after the control switch 203 is closed. Return the test result to the host computer 1.
- the specific working mode of the upper computer 1 is assigned to the first FPGA chip 201 and the second FPGA chip 202, which can be set according to actual conditions, that is, when the first working mode is the HOST mode, then the second The working mode is the DEVICE mode; when the first working mode is the DEVICE mode, the second working mode is the HOST mode; in the embodiment of the present invention, the first working mode is the HOST mode, and the second working is performed.
- the mode is DEVICE mode as an example.
- the specified transmission mode includes four transmission modes, such as interrupt transmission, control transmission, isochronous transmission, and batch transmission; in actual operation, the user may select any one of the transmission modes in the menu provided by the function test program of the FPGA. Then, the host computer 1 transmits the transmission mode selected by the user to the first FPGA chip 201 and the second FPGA chip 202 through serial port communication, so that the first FPGA chip 201 and the second FPGA chip 202 operate in the specified transmission mode pair. The data is transmitted for testing.
- four transmission modes such as interrupt transmission, control transmission, isochronous transmission, and batch transmission
- the user may select any one of the transmission modes in the menu provided by the function test program of the FPGA.
- the host computer 1 transmits the transmission mode selected by the user to the first FPGA chip 201 and the second FPGA chip 202 through serial port communication, so that the first FPGA chip 201 and the second FPGA chip 202 operate in the specified transmission mode pair.
- the data is transmitted for testing.
- the first FPGA chip 201 is specifically configured to: simulate the SoC chip integrated with the USB controller HOST mode according to the test program of the analog USB controller HOST mode sent by the host computer 1; after the control switch 203 is closed, according to the upper computer 1 Executing the instruction of the specified transmission mode, operating the data transmission test in the specified transmission mode, and returning the test result of the HOST mode to the upper computer 1.
- the host computer 1 sends an execution instruction corresponding to each of the four transmission modes to the first FPGA chip 201 and the second FPGA chip 202 until the first FPGA chip 201 and the second FPGA chip.
- the 202 traversal performs the four transmission modes.
- the enumeration operation includes: the first FPGA chip 201 performs device identification detection on the second FPGA chip 202; the first FPGA chip 201 acquires device descriptor information of the second FPGA chip 202; the first FPGA chip 201 pairs the second FPGA The chip 202 performs device address setting; the first FPGA chip 201 acquires the second FPGA chip 202 configuration descriptor; and the first FPGA chip 201 performs device configuration on the second FPGA chip 202.
- the first FPGA chip 201 enumerates the second FPGA chip 202 because the first FPGA chip 201 simulates the integrated USB controller HOST mode, and the second FPGA chip 202 simulates the integrated USB controller DEVICE mode; After the 203 is closed, the first FPGA chip 201 that simulates the integrated USB controller HOST mode detects the access of the second FPGA chip 202 that simulates the integrated USB controller DEVICE mode, and acquires the accessed USB device by an enumeration operation. Type and assign the corresponding driver to the connected USB device.
- the host computer 1 is further configured to send a test program that simulates the first working mode of the USB controller to the first FPGA chip 201, and send a test program that simulates the second working mode of the USB controller.
- the first SoC logic version of the SoC processor integrated with the USB controller is written to the first FPGA chip 201, and the second SoC logic version of the SoC processor to be integrated with the USB controller Write to the second FPGA chip 202.
- the host computer 1 is configured to: send a test program for simulating the first working mode of the USB controller to the first FPGA chip 201, and send a test program for the second working mode of the analog USB controller to the second Before the FPGA chip 202, the first SoC logic version of the SoC processor integrated with the USB controller is written to the first FPGA chip 201 to make the first FPGA chip 201 a SoC chip; the SoC processing integrated with the USB controller The second SoC logic version of the device is written to the second FPGA chip 202 to make the second FPGA chip 202 a SoC chip.
- the first FPGA chip 201 and the second FPGA chip 202 are empty after power-on, that is, the logic program is not included. Therefore, the SoC logic version needs to be first written into the FPGA chip, so that the FPGA chip becomes the SoC chip.
- the first SoC logic version and the second SoC logic version may be the same or different, and the user may set it as needed in actual use.
- the FPGA verification board 2 further includes a first debug interface 204, a second debug interface 205, and a third debug interface 206.
- the first debug interface 204 is connected to the first FPGA chip 201
- the second debug interface 205 is connected to the second FPGA chip 202
- the third debug interface 206 is connected to the host computer 1 and respectively connected to the first debug interface 204 and the second debug interface 205.
- the first debug interface 204 and the second debug interface 205 are respectively configured to send the first SoC logic version and the second SoC logic version that the host computer 1 needs to write to the first FPGA chip 201 and the second FPGA chip 202 to Corresponding first FPGA chip 201 and second FPGA chip 202.
- the third debug interface 206 connected to the host computer 1 receives the first SoC logic version and the second SoC logic version downloaded by the host computer 1 through the downloader, and passes the first debugging.
- the interface 204 sends the first SoC logic version to the first FPGA chip 201, and the second SoC logic version to the second FPGA chip 202 via the second debug interface 205.
- first debug interface 204 and the second debug interface 205 may be FPGA joint testers.
- the third debug interface 206 can be a daisy-chain FPGA JTAG interface.
- the FPGA verification board 2 also includes a DIP switch 207.
- the first debug interface 204, the second debug interface 205, and the third debug interface 206 can also be configured as a daisy chain by controlling the open/close state of the dial switch 207; in this embodiment, the dial switch 207 is properly set.
- the dial switch 207 can separately control the connection state between the third debug interface 206 and the first debug interface 204, the connection state between the third debug interface 206 and the second debug interface 205, the first debug interface 204, and The connection state between the second debug interface 205; when the state of the DIP switch 207 is controlled to keep the first debug interface 204, the second debug interface 205, and the third debug interface 206 connected to each other in series, the first debug interface 204, The second debug interface 205 and the third debug interface 206 form a daisy chain; after the first debug interface 204, the second debug interface 205, and the third debug interface 206 form a daisy chain, the host computer 1 can download the obtained by the downloader.
- the first SoC logic version and the second SoC logic version are directly sent to the third debug interface 206, and the third debug interface 206 can sequentially sequence the first SoC logic version and the second SoC logic version
- the first FPGA chip 201 and the second FPGA chip 202 are respectively sent through a daisy chain.
- the host computer 1 can be connected to the third debug interface 206 on the FPGA verification board 2 through a downloader.
- the FPGA verification board 2 further includes a first transmission interface 208 and a second transmission interface 209;
- the first transmission interface 208 is connected to the first FPGA chip 201, and the second transmission interface 209 is connected to the second FPGA chip 202.
- the first transmission interface 208 is configured to transmit the test program of the first working mode of the USB controller sent by the host computer 1 to the first FPGA chip 201;
- the second transmission interface 209 is configured to send the analog USB controller second sent by the host computer 1
- the test mode of the working mode is transmitted to the second FPGA chip 202.
- first transmission interface 208 and the second transmission interface 209 are also respectively connected to the upper computer 1; the first transmission interface 208 and the second transmission interface 209 may be SoC JTAG interfaces.
- the first FPGA chip and the second FPGA chip are connected by a serial deserializer (SerDes) 210, configured as data interaction between the first FPGA chip 201 and the second FPGA chip 202.
- the serial deserializer 210 can be an eight-way serial deserializer;
- the first FPGA chip 201 is connected to the first reset circuit 211 and configured to reset the first FPGA chip 201.
- the second FPGA chip 202 is connected to the second reset circuit 212 and configured to reset the second FPGA chip 202.
- the first FPGA chip 201 is further connected to the first USB physical layer chip 213, and the second FPGA chip 202 is further connected to the second USB physical layer chip 214, the first USB physical layer chip 213 and the A control switch 203 is connected between the two USB physical layer chips 214.
- the outlet of the first USB physical layer chip 213 is connected to the outlet of the second USB physical layer chip 214, and the outlet corresponding to the second USB physical layer chip 214 is connected to the first USB physical layer chip.
- the entry of 213 is such that the second FPGA chip 202 emulates the insertion of the USB device.
- the control switch 203 can be turned off, and the external USB device is connected to the HOST mode test through the first USB connector 215, and the second USB connection is performed.
- the device 216 is connected to an external USB device for testing in the DEVICE mode.
- the first FPGA chip 201 is further connected to the first serial port 217.
- the second FPGA chip 202 is further connected with a second serial port 218, configured to send a test result to the host computer 1 during data testing; in the same transmission mode, the first serial port 217 operates the first FPGA chip 201 in the HOST mode.
- the test result of the data is sent to the host computer 1, and the second serial port 218 sends the test result of the data to the host computer 1 when the second FPGA chip 202 is operated in the DEVICE mode.
- the first FPGA chip 201 and the second FPGA chip 202 are also respectively connected to respective interfaces of the Double Data Rate Synchronous Dynamic Random Access Memory (DDR3 SDRAM).
- DDR3 SDRAM Double Data Rate Synchronous Dynamic Random Access Memory
- the specific operation process of the data transmission test by the USB controller verification system is as follows: the DIP switch 207 is turned on, so that the first debug interface 204, the second debug interface 205, and the third debug interface 206 are configured.
- the second SoC logic version of the SoC processor of the device is programmed into the second FPGA chip 202 on the FPGA verification board 2; the host computer 1 downloads the test software version of the USB controller host mode to the first through the first transmission interface 208
- An FPGA chip 201, and a test software version of the USB controller device mode is downloaded to the second FPGA chip 202 through the second transmission interface 209; the control switch 203 is turned on, and the first USB physical layer chip 213 exits and the second USB The physical layer chip 214 is connected to the outlet, so that
- the upper computer 1 sends the user-selected instruction for executing the specified transmission mode to the first FPGA chip 201 and the second FPGA chip 202 through the first serial port 217 and the second serial port 218, so that the first FPGA chip 201 and the second FPGA chip 202 are enabled.
- Working in a consistent transmission mode for data transmission test obtaining the test result when the first FPGA chip 201 simulates the USB host mode through the first serial port 217, and obtaining the test when the second FPGA chip 202 simulates the USB device mode through the second serial port 218
- the test results of both are returned to the host computer 1; according to the above process, until the first FPGA chip 201 and the second FPGA chip 202 traverse all four transmission modes, the test ends.
- the first embodiment of the present invention further provides a USB controller verification method, as shown in FIG. 2, including the following steps:
- Step 301 The host computer sends a test program of the first working mode of the USB controller to the first FPGA chip, and sends a test program of the second working mode of the USB controller to the second FPGA chip; and respectively to the first FPGA chip and the first The second FPGA chip sends an instruction to execute the specified transmission mode;
- the host computer sends a test program of the first working mode of the USB controller to the first FPGA chip, so that the first FPGA chip simulates the SoC chip integrated with the first working mode of the USB controller;
- the host computer sends the test program of the second working mode of the USB controller to the second FPGA chip, so that the second FPGA chip simulates the SoC chip integrated with the second working mode of the USB controller.
- the working mode in which the first FPGA chip and the second FPGA chip are specifically operated may be set according to actual conditions, that is, when the first working mode is the host mode, the second working mode is the device mode.
- the first working mode is the device mode
- the second working mode is the host mode; in this embodiment, the first working mode is the host mode, and the second working mode is the device mode. Be explained.
- step 301 the method further includes:
- the host computer writes the first SoC logic version of the SoC processor integrated with the USB controller to the first FPGA chip, and writes the second SoC logic version of the SoC processor integrated with the USB controller to the second FPGA chip .
- the host computer writes the first SoC logic version of the SoC processor integrated with the USB controller to the first FPGA chip, so that the first FPGA chip becomes the SoC chip; the host computer will be integrated with The second SoC logic version of the USB controller's SoC processor is written to the second FPGA chip such that the second FPGA chip also becomes the SoC chip.
- the first FPGA chip and the second FPGA chip are empty after power-on, that is, no logic program is included, therefore, the SoC logic version needs to be first written into the FPGA chip; the first SoC logic version and The second SoC logic version may be the same or different, and the user may set it as needed in actual use.
- Step 302 The first FPGA chip and the second FPGA chip respectively work in the first working mode and the second working mode. After the first FPGA chip and the second FPGA chip are connected, the data is transmitted and tested according to the specified transmission mode. Return the test results to the host computer.
- the first FPGA chip simulates working in the USB controller host mode according to the test procedure of the USB controller host mode sent by the host computer in step 301; the second FPGA chip sends the host computer according to step 301.
- the test program of the USB controller device mode the simulation works in the USB controller device mode; when the first FPGA chip and the second FPGA chip are connected, the USB device simulated by the second FPGA chip is inserted into the simulation of the first FPGA chip.
- the first FPGA chip enumerates the second FPGA chip, obtains the type of the accessed USB device, and assigns a corresponding driver to the accessed USB device; the first FPGA chip and the second The FPGA chip transmits and tests the data according to the specified transmission mode sent by the upper computer in step 301.
- the first FPGA chip returns the test result of the host mode to the upper computer, and the second FPGA chip returns the test result of the device mode to the upper computer. Straight Until the traversal, all four transmission modes are executed.
- the USB controller verification method is exemplified in a specific embodiment.
- a schematic diagram of a specific implementation process of the USB controller verification method, as shown in FIG. 3, includes:
- Step 401 The host computer downloads two SoC logic versions to the first FPGA chip and the second FPGA chip.
- the host computer downloads the first SoC logic version of the SoC processor integrated with the USB controller to the first FPGA chip, so that the first FPGA chip becomes the SoC chip; the host computer download integrates the USB control
- the second SoC logic version of the SoC processor of the device is to the second FPGA chip, so that the second FPGA chip also becomes the SoC chip.
- Step 402 The host computer downloads two test programs to the first FPGA chip and the second FPGA chip.
- the host computer downloads the test program of the USB controller host mode to the first FPGA chip, and downloads the test program of the USB controller device mode to the second FPGA chip.
- Step 403 Turn on a control switch that connects the first FPGA chip and the second FPGA chip.
- control switch connecting the first FPGA chip and the second FPGA chip is connected to connect the first FPGA chip and the second FPGA chip, that is, the first USB physical layer chip connected to the first FPGA chip.
- the exit is connected to the entrance of the second USB physical layer chip connected to the second FPGA chip, and the second FPGA chip simulates the insertion of the USB device.
- Step 404 The first FPGA chip performs an enumeration operation on the second FPGA chip.
- the first FPGA chip performs device identification detection on the second FPGA chip; the first FPGA chip acquires device descriptor information of the second FPGA chip; and the first FPGA chip performs device address on the second FPGA chip. Setting; the first FPGA chip acquires a second FPGA chip configuration descriptor; the first FPGA chip performs device configuration on the second FPGA chip, thereby acquiring the type of the accessed USB device, and assigning a corresponding driver to the Access to the USB device.
- Step 405 The host computer sends the specified transmission mode to the first FPGA chip and the second FPGA chip.
- the host computer sends the specified transmission mode selected by the user to the first FPGA chip and the second FPGA chip through serial communication.
- the designated transmission mode may be any one of four transmission modes of USB interrupt transmission, control transmission, isochronous transmission, and bulk transmission.
- Step 406 The first FPGA chip and the second FPGA chip respectively return the test results to the upper computer;
- the first FPGA chip and the second FPGA chip test the data according to the specified transmission mode sent by the host computer in step 405, and the first FPGA chip returns the test result of the host mode to the upper computer.
- the second FPGA chip returns the test result of the device mode to the upper computer.
- Step 407 Determine whether all transmission modes have been traversed, and if so, end the test, otherwise return to step 405;
- Step 501 Send a test program of the first working mode of the USB controller to the first FPGA chip, and send a test program of the second working mode of the USB controller to the second FPGA chip; and to the first FPGA chip and the second FPGA respectively The chip sends an instruction to execute the specified transmission mode;
- the test program of the first working mode of the USB controller is sent to the first FPGA chip, so that the first FPGA chip simulates the first working mode of the integrated USB controller.
- the SoC chip of the USB controller; the test program of the second working mode of the USB controller is sent to the second FPGA chip, so that the second FPGA chip simulates the SoC chip integrated with the second working mode of the USB controller.
- the working mode in which the first FPGA chip and the second FPGA chip are specifically operated may be set according to actual conditions, that is, when the first working mode is the host mode, the second working mode is the device mode.
- the first working mode is the device mode
- the second working mode is the host mode; in this embodiment, the first working mode is the host mode, and the second working mode is the device mode. Be explained.
- step 501 the method further includes:
- a first SoC logic version of the SoC processor integrated with the USB controller is written to the first FPGA chip, and a second SoC logic version of the SoC processor integrated with the USB controller is written to the second FPGA chip.
- the first SoC logic version of the SoC processor integrated with the USB controller is written to the first FPGA chip to make the first FPGA chip a SoC chip; the integrated USB controller The second SoC logic version of the SoC processor is written to the second FPGA chip such that the second FPGA chip also becomes the SoC chip.
- the first FPGA chip and the second FPGA chip are empty after power-on, that is, no logic program is included, therefore, the SoC logic version needs to be first written into the FPGA chip; the first SoC logic version and The second SoC logic version may be the same or different, and the user may set it as needed in actual use.
- Step 502 When the first FPGA chip and the second FPGA chip are respectively operated in the first working mode and the second working mode, after the first FPGA chip and the second FPGA chip are connected, the first FPGA chip and the second FPGA chip are pressed.
- the specified transmission mode transmits a test result returned by the data transmission test.
- the first FPGA chip simulates working in the USB controller host mode according to the test procedure of the USB controller host mode received in step 501;
- the FPGA chip simulates working in the USB controller device mode according to the test procedure of the USB controller device mode received in step 501; when the first FPGA chip and the second FPGA chip are connected, the USB simulated by the second FPGA chip is implemented.
- the device is inserted into the USB host simulated by the first FPGA chip; the first FPGA chip enumerates the second FPGA chip, obtains the type of the accessed USB device, and assigns a corresponding driver to the access device.
- the USB device; the first FPGA chip and the second FPGA chip transmit and test the data according to the specified transmission mode received in step 501, the first FPGA chip returns the test result of the host mode, and the second FPGA chip returns the test result of the device mode, Until the first FPGA chip and the second FPGA chip traverse all four transmission modes.
- the embodiment of the present invention further provides a host computer.
- the host computer includes: a sending unit 22 and a receiving unit 23;
- the sending unit 22 is configured to send a test program of the first working mode of the USB controller to the first FPGA chip, send a test program of the second working mode of the USB controller to the second FPGA chip, and respectively to the first FPGA chip and The second FPGA chip sends an instruction to execute the specified transmission mode;
- the receiving unit 23 is configured to receive, when the first FPGA chip and the second FPGA chip respectively operate in the first working mode and the second working mode, after the first FPGA chip and the second FPGA chip are connected, the first FPGA The test result returned by the chip and the second FPGA chip transmitting the data according to the specified transmission mode.
- the host computer further includes: a writing unit 21 configured to write the first SoC logic version of the SoC processor integrated with the USB controller to the first FPGA chip, and the integrated The second SoC logic version of the USB controller's SoC processor is written to the second FPGA chip.
- the writing unit 21 is specifically configured to: write a first SoC logic version of the SoC processor integrated with the USB controller to the first FPGA chip, so that the first FPGA chip becomes The SoC chip; writes a second SoC logic version of the SoC processor integrated with the USB controller to the second FPGA chip, so that the second FPGA chip also becomes the SoC chip.
- the first FPGA chip and the second FPGA chip are empty after power-on, that is, no logic program is included, therefore, the SoC logic version needs to be first written into the FPGA chip; the first SoC logic version and The second SoC logic version may be the same or different, and the user may set it as needed in actual use.
- the sending unit 22 is configured to: send a test program of the first working mode of the USB controller to the first FPGA chip, so that the first FPGA chip simulates the SoC chip integrated with the first working mode of the USB controller;
- the test mode of the second working mode is sent to the second FPGA chip, so that the second FPGA chip simulates the SoC chip integrated with the second working mode of the USB controller.
- the working mode in which the first FPGA chip and the second FPGA chip are specifically operated may be set according to actual conditions, that is, when the first working mode is the host mode, the second working mode is the device mode.
- the first working mode is the device mode
- the second working mode is the host mode; in this embodiment, the first working mode is the host mode, and the second working mode is the device mode. Be explained.
- the USB host the first FPGA chip enumerates the second FPGA chip, obtains the type of the accessed USB device, and assigns a corresponding driver to the accessed USB device; the first FPGA chip and The second FPGA chip performs transmission test on the data according to the specified transmission mode sent by the sending unit 22.
- the first FPGA chip returns the test result of the host mode to the receiving unit 23, and the second FPGA chip returns the test result of the device mode to the receiving unit. 23, until the first FPGA chip and the second FPGA chip traverse all four transmission modes.
- the writing unit 21, the transmitting unit 22, and the receiving unit 23 may each be a central processing unit (CPU), a microprocessor (MPU), a digital signal processor (DSP), or a field located in the upper computer.
- CPU central processing unit
- MPU microprocessor
- DSP digital signal processor
- FPGA programmable gate array
- Step 601 The first FPGA chip and the second FPGA chip respectively receive a test program of the first working mode of the USB controller sent by the host computer, a test program of the second working mode of the USB controller, and receive a specified transmission mode sent by the host computer.
- the first FPGA chip receives the test program of the first working mode of the USB controller sent by the host computer and the instruction for executing the specified transmission mode; the second FPGA chip receives the USB controller sent by the host computer and the second Test mode for the working mode and instructions for executing the specified transfer mode.
- the second working mode is the device mode
- the first working mode is the host mode
- the second working mode is the host mode
- the implementation In the example the first working mode is the host mode
- the second working mode is the device mode as an example.
- Step 602 The first FPGA chip and the second FPGA chip respectively work in the first working mode and the second working mode, and after the first FPGA chip and the second FPGA chip are connected, transmit the data according to the specified transmission mode. Test and return the test results to the host computer.
- the first FPGA chip simulates working in the first working mode of the USB controller according to the test procedure of the first working mode of the USB controller sent by the upper computer in step 601; the second FPGA chip according to step 601 The test program of the second working mode of the USB controller sent by the upper host computer, the analog working in the second working mode of the USB controller; in the first FPGA core After the chip is connected to the second FPGA chip, the first FPGA chip and the second FPGA chip both transmit and test the data according to the specified transmission mode sent by the host computer, and the first FPGA chip returns the test result of the first working mode to the upper level. The second FPGA chip returns the test result of the second working mode to the upper computer.
- the first working mode is the host mode and the second working mode is the device mode
- the first FPGA chip simulates working in the USB controller host mode
- the second FPGA chip simulates working in the USB control. Device mode.
- the method further includes: the first FPGA chip enumerating the second FPGA chip.
- the first FPGA chip performs device identification detection on the second FPGA chip; the first FPGA chip acquires device descriptor information of the second FPGA chip; and the first FPGA chip performs device address on the second FPGA chip. Setting; the first FPGA chip acquires a second FPGA chip configuration descriptor; the first FPGA chip performs device configuration on the second FPGA chip, thereby acquiring the type of the accessed USB device, and assigning a corresponding driver to the Access to the USB device.
- the first FPGA chip since the first FPGA chip simulates working in the USB controller host mode, and the second FPGA chip simulates working in the USB controller device mode, the first FPGA chip needs to enumerate the second FPGA chip. .
- the first FPGA chip simulates working in the USB controller device mode
- the second FPGA chip simulates working in the USB controller host mode
- the first FPGA chip performs an enumeration operation by the second FPGA chip.
- an embodiment of the present invention further provides an FPGA verification board.
- the FPGA verification board includes a first FPGA chip 201, a second FPGA chip 202, and a first FPGA chip 201 and a a control switch 203 of the second FPGA chip 202;
- the first FPGA chip 201 and the second FPGA chip 202 are configured to respectively receive the test program of the first working mode of the USB controller sent by the host computer and the second working mode of the USB controller. a program, and receiving an instruction sent by the host computer to execute the specified transmission mode; and configured to respectively operate in the first working mode and the second working mode, after the control switch 203 is closed, performing data according to the specified transmission mode Transfer the test and return the test result to the host computer.
- the first FPGA chip 201 receives the test program of the first working mode of the USB controller sent by the host computer, and simulates working in the first working mode of the USB controller according to the test program of the first working mode of the USB controller;
- the second FPGA chip 202 receives the test program of the second working mode of the USB controller sent by the host computer, and according to the test procedure of the second working mode of the USB controller, the simulation works in the second working mode of the USB controller;
- the control switch 203 of the FPGA chip 201 and the second FPGA chip 202 is closed, the first FPGA chip 201 and the second FPGA chip 202 both transmit and test the data according to the specified transmission mode, and the first FPGA chip 201 will be in the first working mode.
- the test result is returned to the upper computer, and the second FPGA chip 202 returns the test result of the second working mode to the upper computer.
- the second working mode when the first working mode is the host mode, the second working mode is the device mode; when the first working mode is the device mode, the second working mode is the host mode; the implementation In the example, the first working mode is the host mode, and the second working mode is the device mode.
- the first FPGA chip 201 simulates working in the USB controller host mode
- the second FPGA chip 202 simulates working. USB controller device mode.
- the first FPGA chip 201 is further configured to perform an enumeration operation on the second FPGA chip 202.
- the enumeration operation includes: the first FPGA chip 201 performs a device on the second FPGA chip 202. Identifying the detection; the first FPGA chip 201 acquires the device descriptor information of the second FPGA chip 202; the first FPGA chip 201 performs device address setting on the second FPGA chip 202; and the first FPGA chip 201 acquires the configuration description of the second FPGA chip 202.
- the first FPGA chip 201 performs device configuration on the second FPGA chip 202, thereby acquiring the type of the accessed USB device, and assigning a corresponding driver to the accessed USB device.
- the first FPGA chip 201 since the first FPGA chip 201 simulates working in the USB controller host mode, and the second FPGA chip 202 simulates working in the USB controller device mode, the first FPGA chip 201 needs to access the second FPGA chip 202. Perform an enumeration operation.
- the first FPGA chip 201 is simulated to operate in the USB controller device mode, and the second FPGA chip 202 is simulated to operate in the USB controller host mode, the first FPGA chip 201 is enumerated by the second FPGA chip 202.
- the invention discloses a USB controller verification system and a USB controller verification method and device.
- the first FPGA chip and the second FPGA chip are simultaneously set on the FPGA verification board, so that the first FPGA chip simulates an integrated USB controller.
- HOST mode SoC chip, and the second FPGA chip simulates the SoC chip integrated with the USB controller DEVICE mode, and then tests the data transmission result in the four transmission modes, overcoming the related technology verification platform cannot cover the test USB at the same time
- the controller's two working modes and four transmission modes are insufficient, and can meet the needs of refined testing.
- the process of developing the USB device driver in the HOST mode by the USB controller and the process of developing the USB device driver by the host computer in the DEVICE mode can be avoided; the performance of the verification system of the embodiment of the present invention is stable. Reliable, wide application range, and simple and fast verification method.
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)
- Test And Diagnosis Of Digital Computers (AREA)
- Information Transfer Systems (AREA)
Abstract
本发明公开了一种通用串行总线(USB)控制器验证系统,包括上位机、现场可编程逻辑阵列(FPGA)验证板;FPGA验证板包括第一FPGA芯片、第二FPGA芯片、以及连接两个芯片的控制开关;上位机,配置为将USB控制器第一工作模式的测试程序发送至第一FPGA芯片、将USB控制器第二工作模式的测试程序发送至第二FPGA芯片;以及分别向第一FPGA芯片和第二FPGA芯片发送执行指定传输模式的指令;第一FPGA芯片和第二FPGA芯片,分别工作于第一工作模式和第二工作模式,配置为在控制开关闭合后,按指定传输模式对数据进行传输测试,并将测试结果返回给上位机。本发明还公开了USB控制器验证方法及设备。
Description
相关申请的交叉引用
本申请基于申请号为201610592334.1、申请日为2016年7月25日的中国专利申请提出,并要求该中国专利申请的优先权,该中国专利申请的内容在此引入本申请作为参考。
本发明涉及集成电路技术,尤其涉及一种通用串行总线(Universal Serial Bus,USB)控制器验证方法、系统及设备。
在系统芯片(System-on-Chip,SoC)的开发过程中,SoC原型的测试验证是芯片在流片之前不可或缺的环节。随着集成电路应用需求的不断提升,SoC的设计规模与日俱增,功能日趋复杂,且性能要求也越来越高,这使得芯片的开发时间会相应延长。其中,芯片的验证阶段占据了整个芯片开发的大部分时间。因此,如何提高验证效率和质量以缩短芯片的开发时间成为当今SoC设计领域中最为关注的课题之一。
相关技术的芯片原型验证手段,主要包括有以软件驱动验证(Software Driven verification,SDV)、总线功能模型(Bus Function Model,BFM)等为代表的软件验证技术,以及基于现场可编程门阵列(Field-Programmable Gate Array,FPGA)的原型验证技术。基于FPGA的原型验证比软件验证的速度高出4至6个数量级,而且还可以及时发现芯片设计中的缺陷和错误,从而提高流片成功率;同时,FPGA验证平台还可作为软件开发的硬件平台,能够加速软件开发速度,以缩短产品的开发周期。
USB接口因具有可热插拔、可总线供电、支持设备多、易扩展、方便设备互联等优点,深受广大芯片厂商的喜爱,几乎成为集成有处理器核的SoC芯片的必备接口。然而,USB接口的易用性的代价是USB控制器的复杂度的增加,即增加了对USB控制器的测试验证的复杂度。
目前,针对USB控制器的测试,主要是以FPGA验证平台结合USB设备的方式进行。但是,由于USB控制器区分主机(HOST)模式和设备(DEVICE)模式,且在测试过程中需要覆盖USB的中断传输、控制传输、等时传输、批量传输等四种传输模式,相关技术的验证平台及验证方法存在明显不足。
例如,当USB控制器处于HOST模式时,当前一般采用USB设备与USB控制器相连接的方式进行测试,但当USB设备枚举之后,HOST侧的处理器需要运行对应USB设备的驱动程序才能与所述USB设备进行数据传输;此外,一种USB设备往往只能覆盖一种或两种传输模式,无法覆盖完全USB的四种传输模式;并且,在对数据进行传输测试的过程中,无法修改数据包长度,导致无法进行精细测试。当USB控制器处于DEVICE模式时,当前一般采用USB设备对接个人计算机(Personal Computer,PC)的方式进行测试,即USB控制器所在的SoC芯片作为一个USB设备连接到PC,在USB设备枚举之后,PC侧需要运行对应USB设备的驱动程序才能与所述USB设备进行数据传输。然而,开发PC侧的驱动程序将会使芯片开发增加额外的工作量,并且同一个驱动程序对于不同的操作系统可能不具有适应性,还需进行实时维护。
发明内容
有鉴于此,本发明实施例提供了一种USB控制器验证方法、系统及设备,能够同时覆盖测试USB控制器的两种工作模式和四种传输模式。
为达到上述目的,本发明实施例的技术方案是这样实现的:
本发明实施例提供了一种USB控制器验证系统,所述系统包括:上位机、FPGA验证板;所述FPGA验证板包括第一FPGA芯片、第二FPGA芯片、以及连接所述第一FPGA芯片和所述第二FPGA芯片的控制开关;其中,
所述上位机,配置为将USB控制器第一工作模式的测试程序发送至所述第一FPGA芯片、将USB控制器第二工作模式的测试程序发送至所述第二FPGA芯片;以及分别向所述第一FPGA芯片和所述第二FPGA芯片发送执行指定传输模式的指令;
所述第一FPGA芯片和第二FPGA芯片,分别工作于所述第一工作模式和所述第二工作模式,配置为在所述控制开关闭合后,按所述指定传输模式对数据进行传输测试,并将测试结果返回给所述上位机。
上述方案中,所述上位机,还配置为将集成有USB控制器的SoC处理器的第一SoC逻辑版本写入到所述第一FPGA芯片、以及将集成有USB控制器的SoC处理器的第二SoC逻辑版本写入到所述第二FPGA芯片。
上述方案中,所述第一工作模式为主机模式,所述第二工作模式为设备模式。
上述方案中,所述第一FPGA芯片,还配置为对所述第二FPGA芯片进行枚举操作;
所述枚举操作,包括:
第一FPGA芯片对第二FPGA芯片进行设备识别检测;
第一FPGA芯片获取第二FPGA芯片的设备描述符信息;
第一FPGA芯片对第二FPGA芯片进行设备地址设定;
第一FPGA芯片获取第二FPGA芯片配置描述符;
第一FPGA芯片对第二FPGA芯片进行设备配置。
上述方案中,所述FPGA验证板还包括第一调试接口、第二调试接口
及第三调试接口;
所述第一调试接口与所述第一FPGA芯片连接,所述第二调试接口与所述第二FPGA芯片连接,所述第三调试接口与所述上位机连接且分别与所述第一调试接口、第二调试接口串联;
所述第一调试接口,配置为将所述上位机需要写入到所述第一FPGA芯片的所述第一SoC逻辑版本发送至所述第一FPGA芯片;
所述第二调试接口,配置为将所述上位机需要写入到所述第二FPGA芯片的所述第二SoC逻辑版本发送至所述第二FPGA芯片;
所述FPGA验证板还包括第一路传输接口、第二路传输接口;所述第一路传输接口与所述第一FPGA芯片连接,所述第二路传输接口与所述第二FPGA芯片连接;
所述第一路传输接口,配置为将所述上位机发送的USB控制器第一工作模式的测试程序传输给所述第一FPGA芯片;
所述第二路传输接口,配置为将所述上位机发送的USB控制器第二工作模式的测试程序传输给所述第二FPGA芯片。
上述方案中,所述第一FPGA芯片和第二FPGA芯片之间通过串行解串器连接,配置为第一FPGA芯片和第二FPGA芯片之间的数据交互;
所述第一FPGA芯片和第二FPGA芯片分别连接有第一复位电路、第二复位电路,配置为对所述第一FPGA芯片和第二FPGA芯片分别进行复位。
本发明实施例提供了一种USB控制器验证方法,所述方法包括:
将USB控制器第一工作模式的测试程序发送至第一FPGA芯片、将USB控制器第二工作模式的测试程序发送至第二FPGA芯片;以及分别向所述第一FPGA芯片和所述第二FPGA芯片发送执行指定传输模式的指令;
接收所述第一FPGA芯片和所述第二FPGA芯片分别工作于所述第一
工作模式和所述第二工作模式时,在所述第一FPGA芯片和所述第二FPGA芯片连通后,所述第一FPGA芯片和所述第二FPGA芯片按所述指定传输模式对数据进行传输测试所返回的测试结果。
上述方案中,将集成有USB控制器的SoC处理器的第一SoC逻辑版本写入到所述第一FPGA芯片、以及将集成有USB控制器的SoC处理器的第二SoC逻辑版本写入到所述第二FPGA芯片。
上述方案中,所述第一工作模式为主机模式,所述第二工作模式为设备模式。
本发明提供了一种上位机,所述上位机包括:发送单元、接收单元;其中,
所述发送单元,配置为将USB控制器第一工作模式的测试程序发送至第一FPGA芯片、将USB控制器第二工作模式的测试程序发送至第二FPGA芯片;以及分别向所述第一FPGA芯片和所述第二FPGA芯片发送执行指定传输模式的指令;
所述接收单元,配置为接收所述第一FPGA芯片和所述第二FPGA芯片分别工作于所述第一工作模式和所述第二工作模式时,在所述第一FPGA芯片和所述第二FPGA芯片连通后,所述第一FPGA芯片和所述第二FPGA芯片按所述指定传输模式对数据进行传输测试所返回的测试结果。
上述方案中,所述上位机还包括:写入单元,配置为将集成有USB控制器的SoC处理器的第一SoC逻辑版本写入到所述第一FPGA芯片、以及将集成有USB控制器的SoC处理器的第二SoC逻辑版本写入到所述第二FPGA芯片。
上述方案中,所述第一工作模式为主机模式,所述第二工作模式为设备模式。
本发明实施例提供了一种USB控制器验证方法,所述方法包括:
第一FPGA芯片和第二FPGA芯片分别接收上位机发送的USB控制器第一工作模式的测试程序、USB控制器第二工作模式的测试程序,并接收所述上位机发送的执行指定传输模式的指令;
所述第一FPGA芯片和第二FPGA芯片分别工作于所述第一工作模式和第二工作模式,在所述第一FPGA芯片和第二FPGA芯片连通后,按所述指定传输模式对数据进行传输测试,并将测试结果返回给所述上位机。
上述方案中,所述第一工作模式为主机模式,所述第二工作模式为设备模式。
上述方案中,所述方法还包括:第一FPGA芯片对第二FPGA芯片进行枚举操作;
所述枚举操作,包括:
第一FPGA芯片对第二FPGA芯片进行设备识别检测;
第一FPGA芯片获取第二FPGA芯片的设备描述符信息;
第一FPGA芯片对第二FPGA芯片进行设备地址设定;
第一FPGA芯片获取第二FPGA芯片配置描述符;
第一FPGA芯片对第二FPGA芯片进行设备配置。
本发明实施例提供了一种FPGA验证板,所述FPGA验证板包括第一FPGA芯片、第二FPGA芯片、以及连接所述第一FPGA芯片和所述第二FPGA芯片的控制开关;
所述第一FPGA芯片和第二FPGA芯片,配置为分别接收上位机发送的USB控制器第一工作模式的测试程序和USB控制器第二工作模式的测试程序,并接收所述上位机发送的执行指定传输模式的指令;还配置为分别工作于所述第一工作模式和第二工作模式,在所述控制开关闭合后,按所述指定传输模式对数据进行传输测试,并将测试结果返回给所述上位机。
上述方案中,所述第一工作模式为主机模式,所述第二工作模式为设
备模式。
上述方案中,所述第一FPGA芯片,还配置为对所述第二FPGA芯片进行枚举操作;
所述枚举操作,包括:
第一FPGA芯片对第二FPGA芯片进行设备识别检测;
第一FPGA芯片获取第二FPGA芯片的设备描述符信息;
第一FPGA芯片对第二FPGA芯片进行设备地址设定;
第一FPGA芯片获取第二FPGA芯片配置描述符;
第一FPGA芯片对第二FPGA芯片进行设备配置。
本发明实施例中,上位机将USB控制器第一工作模式的测试程序发送至所述第一FPGA芯片、将USB控制器第二工作模式的测试程序发送至所述第二FPGA芯片;以及分别向所述第一FPGA芯片和所述第二FPGA芯片发送执行指定传输模式的指令;所述第一FPGA芯片和第二FPGA芯片,分别工作于所述第一工作模式和所述第二工作模式,配置为在所述控制开关闭合后,按所述指定传输模式对数据进行传输测试,并将测试结果返回给所述上位机。
可见,本发明实施例通过在FPGA验证板上同时设置第一FPGA芯片和第二FPGA芯片,使所述第一FPGA芯片模拟集成USB控制器HOST模式的SoC芯片,而使所述第二FPGA芯片模拟集成USB控制器DEVICE模式的SoC芯片,然后测试在四种传输模式下的数据传输结果,克服了相关技术的验证平台无法同时覆盖测试USB控制器的两种工作模式和四种传输模式的不足,并能够满足精细化测试的需求。
此外,能够避免USB控制器在HOST模式下开发USB设备驱动程序的过程、以及避免USB控制器在DEVICE模式下,上位机开发USB设备驱动程序的过程;本发明实施例的验证系统的工作性能稳定可靠、适用范
围广,验证方法操作简单、快捷。
图1为本发明实施例USB控制器验证系统的组成结构示意图;
图2为本发明实施例USB控制器验证方法的实现流程示意图;
图3为本发明实施例USB控制器验证方法的具体实现流程示意图;
图4为本发明实施例USB控制器验证方法的实现流程示意图;
图5为本发明实施例上位机的组成结构示意图;
图6为本发明实施例USB控制器验证方法的实现流程示意图;
图7为本发明实施例FPGA验证板的组成结构示意图。
本发明实施例一种USB控制器验证系统的组成结构示意图,如图1所示,该系统包括:上位机1、FPGA验证板2;FPGA验证板2包括第一FPGA芯片201、第二FPGA芯片202、以及连接第一FPGA芯片201和第二FPGA芯片202的控制开关203;
上位机1,配置为将USB控制器第一工作模式的测试程序发送至第一FPGA芯片201、将USB控制器第二工作模式的测试程序发送至第二FPGA芯片202;还配置为分别向第一FPGA芯片201和第二FPGA芯片202发送执行指定传输模式的指令;
第一FPGA芯片201和第二FPGA芯片202,分别工作于所述第一工作模式和所述第二工作模式,配置为在控制开关203闭合后,按所述指定传输模式对数据进行传输测试,并将测试结果返回给上位机1。
其中,上位机1,具体配置为将USB控制器第一工作模式的测试程序发送至第一FPGA芯片201,以使第一FPGA芯片201模拟集成USB控制器第一工作模式的SoC芯片;将USB控制器第二工作模式的测试程序发送
至第二FPGA芯片202,以使第二FPGA芯片202模拟集成USB控制器第二工作模式的SoC芯片;分别向第一FPGA芯片201和第二FPGA芯片202发送执行指定传输模式的指令,以使第一FPGA芯片201和第二FPGA芯片202工作于所述指定传输模式。
这里,上位机1具体将何种工作模式分配给第一FPGA芯片201和第二FPGA芯片202可根据实际情况进行设定,即当所述第一工作模式为HOST模式时,则所述第二工作模式为DEVICE模式;当所述第一工作模式为DEVICE模式时,则所述第二工作模式为HOST模式;本发明实施例中以所述第一工作模式为HOST模式、所述第二工作模式为DEVICE模式为例进行说明。
这里,所述指定传输模式包括中断传输、控制传输、等时传输、批量传输等四种传输模式;在实际操作中,可由用户在FPGA的功能测试程序提供的菜单中选择任意一种传输模式,然后由上位机1通过串口通信将用户所选择的传输模式发送给第一FPGA芯片201和第二FPGA芯片202,以使第一FPGA芯片201和第二FPGA芯片202工作于所述指定传输模式对数据进行传输测试。
第一FPGA芯片201,具体配置为:根据上位机1发送的模拟USB控制器HOST模式的测试程序,模拟集成USB控制器HOST模式的SoC芯片;在控制开关203闭合后,根据上位机1发送的执行指定传输模式的指令,工作于所述指定传输模式对数据进行传输测试,并将所述HOST模式的测试结果返回给上位机1。
第二FPGA芯片202,具体配置为:根据上位机1发送的模拟USB控制器DEVICE模式的测试程序,模拟集成了USB控制器DEVICE模式的SoC芯片;在控制开关203闭合后,根据上位机1发送的执行指定传输模式的指令,工作于所述指定传输模式对数据进行传输测试,并将所述
DEVICE模式的测试结果返回给上位机1。
这里,上位机1会将所述四种传输模式中的每一种传输模式所对应的执行指令发送给第一FPGA芯片201和第二FPGA芯片202,直至第一FPGA芯片201和第二FPGA芯片202遍历执行完所述四种传输模式。
在一个可选的实施例中,第一FPGA芯片201,还配置为在控制开关203闭合后,工作于所述指定传输模式对数据进行传输测试之前,对所述第二FPGA芯片202进行枚举操作。
所述枚举操作,包括:第一FPGA芯片201对第二FPGA芯片202进行设备识别检测;第一FPGA芯片201获取第二FPGA芯片202的设备描述符信息;第一FPGA芯片201对第二FPGA芯片202进行设备地址设定;第一FPGA芯片201获取第二FPGA芯片202配置描述符;第一FPGA芯片201对第二FPGA芯片202进行设备配置。
这里,第一FPGA芯片201对第二FPGA芯片202进行枚举操作,是因为第一FPGA芯片201模拟集成USB控制器HOST模式,而第二FPGA芯片202模拟集成USB控制器DEVICE模式;在控制开关203闭合后,模拟集成USB控制器HOST模式的第一FPGA芯片201检测到模拟集成USB控制器DEVICE模式的第二FPGA芯片202的接入,则通过枚举操作获取所述接入的USB设备的类型,并分配对应的驱动程序给所述接入的USB设备。
在一个可选的实施例中,上位机1,还配置为在将模拟USB控制器第一工作模式的测试程序发送至第一FPGA芯片201、将模拟USB控制器第二工作模式的测试程序发送至第二FPGA芯片202之前,将集成有USB控制器的SoC处理器的第一SoC逻辑版本写入到第一FPGA芯片201、以及将集成有USB控制器的SoC处理器的第二SoC逻辑版本写入到第二FPGA芯片202。
上位机1,具体配置为:在将模拟USB控制器第一工作模式的测试程序发送至所述第一FPGA芯片201、以及将模拟USB控制器第二工作模式的测试程序发送至所述第二FPGA芯片202之前,将集成有USB控制器的SoC处理器的第一SoC逻辑版本写入到第一FPGA芯片201,以使第一FPGA芯片201成为SoC芯片;将集成有USB控制器的SoC处理器的第二SoC逻辑版本写入到第二FPGA芯片202,以使第二FPGA芯片202成为SoC芯片。
这里,第一FPGA芯片201和第二FPGA芯片202在上电后里面是空的,即未包含有逻辑程序,因此,需要先将SoC逻辑版本烧写到FPGA芯片内,使FPGA芯片成为SoC芯片;第一SoC逻辑版本和第二SoC逻辑版本可以相同,也可以不相同,用户在实际运用中可根据需要进行设置。
在一个可选的实施例中,FPGA验证板2还包括第一调试接口204、第二调试接口205及第三调试接口206。
第一调试接口204与第一FPGA芯片201连接,第二调试接口205与第二FPGA芯片202连接,第三调试接口206与上位机1连接且分别与第一调试接口204、第二调试接口205串联;
第一调试接口204和第二调试接口205,分别配置为将上位机1需要写入到第一FPGA芯片201、第二FPGA芯片202的所述第一SoC逻辑版本、第二SoC逻辑版本发送至对应的第一FPGA芯片201、第二FPGA芯片202。
在一个可选的实施例中,与上位机1连接的第三调试接口206接收到上位机1通过下载器下载到的所述第一SoC逻辑版本、第二SoC逻辑版本后,通过第一调试接口204将所述第一SoC逻辑版本发送至第一FPGA芯片201,通过第二调试接口205将所述第二SoC逻辑版本发送至第二FPGA芯片202。
这里,第一调试接口204、第二调试接口205可以为FPGA联合测试工
作组(JTAG,Joint Test Action Group)接口,第三调试接口206可以为菊花链FPGA JTAG接口。
在一个可选的实施例中,FPGA验证板2还包括拨码开关207。
这里,通过控制拨码开关207的开闭状态,第一调试接口204、第二调试接口205、第三调试接口206还可构成菊花链;本实施例中通过对拨码开关207进行合理的设置,使得拨码开关207分别可单独控制第三调试接口206和第一调试接口204之间的连接状态、第三调试接口206和第二调试接口205之间的连接状态、第一调试接口204和第二调试接口205之间的连接状态;当控制拨码开关207的状态以保持第一调试接口204、第二调试接口205、第三调试接口206互相串联连接时,第一调试接口204、第二调试接口205及第三调试接口206则构成菊花链;当第一调试接口204、第二调试接口205及第三调试接口206构成菊花链后,上位机1可将通过下载器下载获得的所述第一SoC逻辑版本和所述第二SoC逻辑版本直接发送给第三调试接口206,而第三调试接口206可将第一SoC逻辑版本和第二SoC逻辑版本依次分别通过菊花链发送至第一FPGA芯片201和第二FPGA芯片202。
这里,上位机1可通过下载器与FPGA验证板2上的第三调试接口206相连。
在一个可选的实施例中,FPGA验证板2还包括第一路传输接口208、第二路传输接口209;
第一路传输接口208与第一FPGA芯片201连接,第二路传输接口209与第二FPGA芯片202连接;
第一路传输接口208,配置为将上位机1发送的USB控制器第一工作模式的测试程序传输给第一FPGA芯片201;
第二路传输接口209,配置为将上位机1发送的模拟USB控制器第二
工作模式的测试程序传输给第二FPGA芯片202。
这里,第一路传输接口208、第二路传输接口209还分别与上位机1相连;第一路传输接口208、第二路传输接口209可以是SoC JTAG接口。
在一个可选的实施例中,第一FPGA芯片和第二FPGA芯片之间通过串行解串器(SerDes)210连接,配置为第一FPGA芯片201和第二FPGA芯片202之间的数据交互;所述串行解串器210可以是八路串行解串器;
第一FPGA芯片201连接有第一复位电路211,配置为对第一FPGA芯片201进行复位;第二FPGA芯片202连接有第二复位电路212,配置为对第二FPGA芯片202进行复位。
在一个可选的实施例中,第一FPGA芯片201还连接有第一USB物理层芯片213,第二FPGA芯片202还连接有第二USB物理层芯片214,第一USB物理层芯片213和第二USB物理层芯片214之间连接有控制开关203。
这里,当控制开关203闭合后,第一USB物理层芯片213的出口和第二USB物理层芯片214的出口相连,则相当于第二USB物理层芯片214的出口连接至第一USB物理层芯片213的入口,以使第二FPGA芯片202模拟USB设备的插入。
在一个可选的实施例中,第一USB物理层芯片213还连接有第一USB连接器215,第二USB物理层芯片214还连接有第二USB连接器216,配置为连接USB设备或个人计算机。
这里,如果用户不希望用第二FPGA芯片202作为模拟USB设备的插入,则可断开控制开关203,并通过第一USB连接器215连接外部USB设备进行HOST模式的测试,以及第二USB连接器216连接外部USB设备进行DEVICE模式的测试。
在一个可选的实施例中,第一FPGA芯片201还连接有第一串口217,
第二FPGA芯片202还连接有第二串口218,配置为在数据测试时,向上位机1发送测试结果;在同一个传输模式下,第一串口217将第一FPGA芯片201工作在HOST模式时对数据的测试结果发送给上位机1,第二串口218将第二FPGA芯片202工作在DEVICE模式时对数据的测试结果发送给上位机1。
在一个可选的实施例中,第一FPGA芯片201和第二FPGA芯片202还都分别连接至各自对应的八倍速率同步动态随机存储器(Double Data Rate Synchronous Dynamic Random Access Memory,DDR3 SDRAM)的接口、非线性闪存(Nand-Flash)内存的接口以及网口;FPGA验证板2还包括复位电路、时钟电路、电源电路;所述复位电路,配置为对FPGA验证板2进行复位;所述时钟电路,配置为产生振荡电路或产生使FPGA验证板2正常工作的时钟信号;所述电源电路,配置为为FPGA验证板2正常工作提供电源。
这里,利用所述USB控制器验证系统进行数据传输测试的具体操作过程,举例说明如下:接通拨码开关207,以使第一调试接口204、第二调试接口205、第三调试接口206构成菊花链;上位机1通过第三调试接口206将集成有USB控制器的SoC处理器的第一SoC逻辑版本烧写到FPGA验证板2上的第一FPGA芯片201内、以及将集成有USB控制器的SoC处理器的第二SoC逻辑版本烧写到FPGA验证板2上的第二FPGA芯片202内;上位机1通过第一路传输接口208将USB控制器主机模式的测试软件版本下载到第一FPGA芯片201、以及通过第二路传输接口209将USB控制器设备模式的测试软件版本下载到第二FPGA芯片202;接通控制开关203,将第一USB物理层芯片213出口与第二USB物理层芯片214出口相连,使第二FPGA芯片202模拟USB设备的插入;第一FPGA芯片201对第二FPGA芯片202进行枚举操作,从而获知第二FPGA芯片202所模拟的USB
设备的类型,并为第二FPGA芯片202分配对应的驱动程序;
上位机1通过第一串口217、第二串口218分别将用户选择的执行指定传输模式的指令发送给第一FPGA芯片201、第二FPGA芯片202,使第一FPGA芯片201和第二FPGA芯片202工作在一致的传输模式进行数据传输测试;通过第一串口217获取第一FPGA芯片201模拟USB主机模式时的测试结果、以及通过第二串口218获取第二FPGA芯片202模拟USB设备模式时的测试结果,并将两者的测试结果返回给上位机1;按照上述过程,直至第一FPGA芯片201和第二FPGA芯片202遍历执行完所有的四种传输模式,则测试结束。
基于以上系统,本发明实施例一还提供了一种USB控制器验证方法,如图2所示,包括以下步骤:
步骤301:上位机将USB控制器第一工作模式的测试程序发送至第一FPGA芯片、将USB控制器第二工作模式的测试程序发送至第二FPGA芯片;以及分别向第一FPGA芯片和第二FPGA芯片发送执行指定传输模式的指令;
在一个可选的实施例中,上位机将USB控制器第一工作模式的测试程序发送至所述第一FPGA芯片,以使第一FPGA芯片模拟集成USB控制器第一工作模式的SoC芯片;上位机将USB控制器第二工作模式的测试程序发送至第二FPGA芯片,以使第二FPGA芯片模拟集成USB控制器第二工作模式的SoC芯片。
这里,第一FPGA芯片和第二FPGA芯片具体工作于哪一种工作模式可根据实际情况进行设定,即当所述第一工作模式为主机模式时,则所述第二工作模式为设备模式;当所述第一工作模式为设备模式时,则所述第二工作模式为主机模式;本实施例中以所述第一工作模式为主机模式、所述第二工作模式为设备模式为例进行说明。
在一个可选的实施例中,在步骤301之前,所述方法还包括:
上位机将集成有USB控制器的SoC处理器的第一SoC逻辑版本写入到第一FPGA芯片、以及将集成有USB控制器的SoC处理器的第二SoC逻辑版本写入到第二FPGA芯片。
在一个可选的实施例中,上位机将集成有USB控制器的SoC处理器的第一SoC逻辑版本写入到第一FPGA芯片,以使第一FPGA芯片成为SoC芯片;上位机将集成有USB控制器的SoC处理器的第二SoC逻辑版本写入到第二FPGA芯片,以使第二FPGA芯片也成为SoC芯片。
这里,第一FPGA芯片和第二FPGA芯片在上电后里面是空的,即未包含有逻辑程序,因此,需要先将SoC逻辑版本烧写到FPGA芯片内;所述第一SoC逻辑版本和第二SoC逻辑版本可以相同,也可以不相同,用户在实际运用中可根据需要进行设置。
步骤302:第一FPGA芯片和第二FPGA芯片分别工作于第一工作模式和第二工作模式,在第一FPGA芯片和第二FPGA芯片连通后,按所述指定传输模式对数据进行传输测试,并将测试结果返回给上位机。
在一个可选的实施例中,第一FPGA芯片根据步骤301中上位机发送的USB控制器主机模式的测试程序,模拟工作在USB控制器主机模式;第二FPGA芯片根据步骤301中上位机发送的USB控制器设备模式的测试程序,模拟工作在USB控制器设备模式;当第一FPGA芯片和第二FPGA芯片连通,则使得第二FPGA芯片模拟的USB设备插入至第一FPGA芯片所模拟的USB主机,第一FPGA芯片对第二FPGA芯片进行枚举操作,获取所述接入的USB设备的类型,并分配对应的驱动程序给所述接入的USB设备;第一FPGA芯片和第二FPGA芯片按步骤301中上位机所发送的指定传输模式对数据进行传输测试,第一FPGA芯片将主机模式的测试结果返回给上位机,第二FPGA芯片将设备模式的测试结果返回给上位机,直
至遍历执行完所有的四种传输模式。
下面以一个具体的实施例对所述USB控制器验证方法进行举例说明,所述USB控制器验证方法的具体实现流程示意图,如图3所示,包括:
步骤401:上位机下载两个SoC逻辑版本至第一FPGA芯片和第二FPGA芯片;
在一个可选的实施例中,上位机下载集成有USB控制器的SoC处理器的第一SoC逻辑版本至第一FPGA芯片,以使第一FPGA芯片成为SoC芯片;上位机下载集成有USB控制器的SoC处理器的第二SoC逻辑版本至第二FPGA芯片,以使第二FPGA芯片也成为SoC芯片。
步骤402:上位机将两种测试程序下载到第一FPGA芯片和第二FPGA芯片;
在一个可选的实施例中,上位机将USB控制器主机模式的测试程序下载到第一FPGA芯片、以及将USB控制器设备模式的测试程序下载到第二FPGA芯片。
步骤403:接通连接第一FPGA芯片和第二FPGA芯片的控制开关;
在一个可选的实施例中,接通连接第一FPGA芯片和第二FPGA芯片的控制开关,使第一FPGA芯片和第二FPGA芯片连通,即第一FPGA芯片连接的第一USB物理层芯片的出口与第二FPGA芯片连接的第二USB物理层芯片的入口相连接,第二FPGA芯片模拟USB设备的插入。
步骤404:第一FPGA芯片对第二FPGA芯片进行枚举操作;
在一个可选的实施例中,第一FPGA芯片对第二FPGA芯片进行设备识别检测;第一FPGA芯片获取第二FPGA芯片的设备描述符信息;第一FPGA芯片对第二FPGA芯片进行设备地址设定;第一FPGA芯片获取第二FPGA芯片配置描述符;第一FPGA芯片对第二FPGA芯片进行设备配置,从而获取所述接入的USB设备的类型,并分配对应的驱动程序给所述
接入的USB设备。
步骤405:上位机将指定传输模式发送至第一FPGA芯片和第二FPGA芯片;
在一个可选的实施例中,上位机将用户选择的指定传输模式通过串口通信分别发送至第一FPGA芯片、第二FPGA芯片。
这里,所述指定传输模式可以是USB的中断传输、控制传输、等时传输、批量传输等四种传输模式中的任意一种。
步骤406:第一FPGA芯片和第二FPGA芯片将测试结果分别返回给上位机;
在一个可选的实施例中,第一FPGA芯片和第二FPGA芯片根据上位机在步骤405中发送的指定传输模式对数据进行测试,第一FPGA芯片将主机模式的测试结果返回给上位机,第二FPGA芯片将设备模式的测试结果返回给上位机。
步骤407:判断是否已遍历所有传输模式,若是,则结束测试,否则返回步骤405;
在一个可选的实施例中,判断第一FPGA芯片和第二FPGA芯片是否已遍历执行完所有传输模式,若是,则结束测试,否则返回步骤405继续执行测试。
本发明实施例一种USB控制器验证方法的实现流程示意图,如图4所示,该方法包括以下步骤:
步骤501:将USB控制器第一工作模式的测试程序发送至第一FPGA芯片、将USB控制器第二工作模式的测试程序发送至第二FPGA芯片;以及分别向第一FPGA芯片和第二FPGA芯片发送执行指定传输模式的指令;
在一个可选的实施例中,将USB控制器第一工作模式的测试程序发送至第一FPGA芯片,以使第一FPGA芯片模拟集成USB控制器第一工作模
式的SoC芯片;将USB控制器第二工作模式的测试程序发送至第二FPGA芯片,以使第二FPGA芯片模拟集成USB控制器第二工作模式的SoC芯片。
这里,第一FPGA芯片和第二FPGA芯片具体工作于哪一种工作模式可根据实际情况进行设定,即当所述第一工作模式为主机模式时,则所述第二工作模式为设备模式;当所述第一工作模式为设备模式时,则所述第二工作模式为主机模式;本实施例中以所述第一工作模式为主机模式、所述第二工作模式为设备模式为例进行说明。
在一个可选的实施例中,在步骤501之前,该方法还包括:
将集成有USB控制器的SoC处理器的第一SoC逻辑版本写入到第一FPGA芯片、以及将集成有USB控制器的SoC处理器的第二SoC逻辑版本写入到第二FPGA芯片。
在一个可选的实施例中,将集成有USB控制器的SoC处理器的第一SoC逻辑版本写入到第一FPGA芯片,以使第一FPGA芯片成为SoC芯片;将集成有USB控制器的SoC处理器的第二SoC逻辑版本写入到第二FPGA芯片,以使第二FPGA芯片也成为SoC芯片。
这里,第一FPGA芯片和第二FPGA芯片在上电后里面是空的,即未包含有逻辑程序,因此,需要先将SoC逻辑版本烧写到FPGA芯片内;所述第一SoC逻辑版本和第二SoC逻辑版本可以相同,也可以不相同,用户在实际运用中可根据需要进行设置。
步骤502:接收第一FPGA芯片和第二FPGA芯片分别工作于第一工作模式和第二工作模式时,在第一FPGA芯片和第二FPGA芯片连通后,第一FPGA芯片和第二FPGA芯片按所述指定传输模式对数据进行传输测试所返回的测试结果。
在一个可选的实施例中,第一FPGA芯片根据步骤501中所接收到的USB控制器主机模式的测试程序,模拟工作在USB控制器主机模式;第二
FPGA芯片根据步骤501中所接收到的USB控制器设备模式的测试程序,模拟工作在USB控制器设备模式;当第一FPGA芯片和第二FPGA芯片连通,则使得第二FPGA芯片所模拟的USB设备插入至第一FPGA芯片所模拟的USB主机;第一FPGA芯片对第二FPGA芯片进行枚举操作,获取所述接入的USB设备的类型,并分配对应的驱动程序给所述接入的USB设备;第一FPGA芯片和第二FPGA芯片按步骤501中接收到的指定传输模式对数据进行传输测试,第一FPGA芯片返回主机模式的测试结果,第二FPGA芯片返回设备模式的测试结果,直至第一FPGA芯片和第二FPGA芯片遍历执行完所有的四种传输模式。
为实现上述方法,本发明实施例还提供了一种上位机,如图5所示,该上位机包括:发送单元22、接收单元23;其中,
发送单元22,配置为将USB控制器第一工作模式的测试程序发送至第一FPGA芯片、将USB控制器第二工作模式的测试程序发送至第二FPGA芯片;以及分别向第一FPGA芯片和第二FPGA芯片发送执行指定传输模式的指令;
接收单元23,配置为接收第一FPGA芯片和第二FPGA芯片分别工作于所述第一工作模式和所述第二工作模式时,在第一FPGA芯片和第二FPGA芯片连通后,第一FPGA芯片和第二FPGA芯片按所述指定传输模式对数据进行传输测试所返回的测试结果。
在一个可选的实施例中,该上位机还包括:写入单元21,配置为将集成有USB控制器的SoC处理器的第一SoC逻辑版本写入到第一FPGA芯片、以及将集成有USB控制器的SoC处理器的第二SoC逻辑版本写入到第二FPGA芯片。
其中,写入单元21,具体配置为:将集成有USB控制器的SoC处理器的第一SoC逻辑版本写入到第一FPGA芯片,以使第一FPGA芯片成为
SoC芯片;将集成有USB控制器的SoC处理器的第二SoC逻辑版本写入到第二FPGA芯片,以使第二FPGA芯片也成为SoC芯片。
这里,第一FPGA芯片和第二FPGA芯片在上电后里面是空的,即未包含有逻辑程序,因此,需要先将SoC逻辑版本烧写到FPGA芯片内;所述第一SoC逻辑版本和第二SoC逻辑版本可以相同,也可以不相同,用户在实际运用中可根据需要进行设置。
发送单元22,具体配置为:将USB控制器第一工作模式的测试程序发送至第一FPGA芯片,以使第一FPGA芯片模拟集成USB控制器第一工作模式的SoC芯片;将USB控制器第二工作模式的测试程序发送至第二FPGA芯片,以使第二FPGA芯片模拟集成USB控制器第二工作模式的SoC芯片。
这里,第一FPGA芯片和第二FPGA芯片具体工作于哪一种工作模式可根据实际情况进行设定,即当所述第一工作模式为主机模式时,则所述第二工作模式为设备模式;当所述第一工作模式为设备模式时,则所述第二工作模式为主机模式;本实施例中以所述第一工作模式为主机模式、所述第二工作模式为设备模式为例进行说明。
接收单元23,具体配置为:当第一FPGA芯片根据发送单元22发送的USB控制器主机模式的测试程序时,则模拟工作在USB控制器主机模式;当第二FPGA芯片根据发送单元22发送的USB控制器设备模式的测试程序时,则模拟工作在USB控制器设备模式;当第一FPGA芯片和第二FPGA芯片连通,使得第二FPGA芯片所模拟的USB设备插入至第一FPGA芯片所模拟的USB主机,则第一FPGA芯片对第二FPGA芯片进行枚举操作,获取所述接入的USB设备的类型,并分配对应的驱动程序给所述接入的USB设备;第一FPGA芯片和第二FPGA芯片按发送单元22所发送的指定传输模式对数据进行传输测试,第一FPGA芯片将主机模式的测试结果返回给接收单元23,第二FPGA芯片将设备模式的测试结果返回给接收单元
23,直至第一FPGA芯片和第二FPGA芯片遍历执行完所有的四种传输模式。
在实际应用中,所述写入单元21、发送单元22、接收单元23均可由位于上位机中的中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)、或现场可编程门阵列(FPGA)等实现。
本发明实施例一种USB控制器验证方法的实现流程示意图,如图6所示,该方法包括以下步骤:
步骤601:第一FPGA芯片和第二FPGA芯片分别接收上位机发送的USB控制器第一工作模式的测试程序、USB控制器第二工作模式的测试程序,并接收上位机发送的执行指定传输模式的指令;
在一个可选的实施例中,第一FPGA芯片接收上位机发送的USB控制器第一工作模式的测试程序以及执行指定传输模式的指令;第二FPGA芯片接收上位机发送的USB控制器第二工作模式的测试程序以及执行指定传输模式的指令。
这里,当所述第一工作模式为主机模式时,则所述第二工作模式为设备模式;当所述第一工作模式为设备模式时,则所述第二工作模式为主机模式;本实施例中以所述第一工作模式为主机模式、所述第二工作模式为设备模式为例进行说明。
步骤602:第一FPGA芯片和第二FPGA芯片分别工作于所述第一工作模式和第二工作模式,在第一FPGA芯片和第二FPGA芯片连通后,按所述指定传输模式对数据进行传输测试,并将测试结果返回给上位机。
在一个可选的实施例中,第一FPGA芯片根据步骤601中上位机发送的USB控制器第一工作模式的测试程序,模拟工作在USB控制器第一工作模式;第二FPGA芯片根据步骤601中上位机发送的USB控制器第二工作模式的测试程序,模拟工作在USB控制器第二工作模式;在第一FPGA芯
片和第二FPGA芯片连通后,第一FPGA芯片和第二FPGA芯片都按上位机发送的所述指定传输模式对数据进行传输测试,第一FPGA芯片将第一工作模式的测试结果返回给上位机,第二FPGA芯片将第二工作模式的测试结果返回给上位机。
这里,由于本实施例中所述第一工作模式为主机模式、所述第二工作模式为设备模式,则第一FPGA芯片模拟工作在USB控制器主机模式,第二FPGA芯片模拟工作在USB控制器设备模式。
在一个可选的实施例中,该方法还包括:第一FPGA芯片对第二FPGA芯片进行枚举操作。
在一个可选的实施例中,第一FPGA芯片对第二FPGA芯片进行设备识别检测;第一FPGA芯片获取第二FPGA芯片的设备描述符信息;第一FPGA芯片对第二FPGA芯片进行设备地址设定;第一FPGA芯片获取第二FPGA芯片配置描述符;第一FPGA芯片对第二FPGA芯片进行设备配置,从而获取所述接入的USB设备的类型,并分配对应的驱动程序给所述接入的USB设备。
本发明实施例中,由于第一FPGA芯片模拟工作在USB控制器主机模式,而第二FPGA芯片模拟工作在USB控制器设备模式,因此,第一FPGA芯片需要对第二FPGA芯片进行枚举操作。当第一FPGA芯片模拟工作在USB控制器设备模式,而第二FPGA芯片模拟工作在USB控制器主机模式时,则由第二FPGA芯片对第一FPGA芯片进行枚举操作。
为实现上述方法,本发明实施例还提供了一种FPGA验证板,如图7所示,该FPGA验证板包括第一FPGA芯片201、第二FPGA芯片202、以及连接第一FPGA芯片201和第二FPGA芯片202的控制开关203;其中,
第一FPGA芯片201和第二FPGA芯片202,配置为分别接收上位机发送的USB控制器第一工作模式的测试程序和USB控制器第二工作模式的测
试程序,并接收上位机发送的执行指定传输模式的指令;还配置为分别工作于所述第一工作模式和第二工作模式,在控制开关203闭合后,按所述指定传输模式对数据进行传输测试,并将测试结果返回给上位机。
这里,第一FPGA芯片201接收上位机发送的USB控制器第一工作模式的测试程序,并根据所述USB控制器第一工作模式的测试程序,模拟工作在USB控制器第一工作模式;第二FPGA芯片202接收上位机发送的USB控制器第二工作模式的测试程序,并根据所述USB控制器第二工作模式的测试程序,模拟工作在USB控制器第二工作模式;当连接第一FPGA芯片201和第二FPGA芯片202的控制开关203闭合后,第一FPGA芯片201和第二FPGA芯片202都按所述指定传输模式对数据进行传输测试,第一FPGA芯片201将第一工作模式的测试结果返回给上位机,第二FPGA芯片202将第二工作模式的测试结果返回给上位机。
这里,当所述第一工作模式为主机模式时,则所述第二工作模式为设备模式;当所述第一工作模式为设备模式时,则所述第二工作模式为主机模式;本实施例中以所述第一工作模式为主机模式、所述第二工作模式为设备模式为例进行说明,则第一FPGA芯片201模拟工作在USB控制器主机模式,第二FPGA芯片202模拟工作在USB控制器设备模式。
在一个可选的实施例中,第一FPGA芯片201,还配置为对第二FPGA芯片202进行枚举操作;所述枚举操作,包括:第一FPGA芯片201对第二FPGA芯片202进行设备识别检测;第一FPGA芯片201获取第二FPGA芯片202的设备描述符信息;第一FPGA芯片201对第二FPGA芯片202进行设备地址设定;第一FPGA芯片201获取第二FPGA芯片202配置描述符;第一FPGA芯片201对第二FPGA芯片202进行设备配置,从而获取所述接入的USB设备的类型,并分配对应的驱动程序给所述接入的USB设备。
本发明实施例中,由于第一FPGA芯片201模拟工作在USB控制器主机模式,而第二FPGA芯片202模拟工作在USB控制器设备模式,因此,第一FPGA芯片201需要对第二FPGA芯片202进行枚举操作。当第一FPGA芯片201模拟工作在USB控制器设备模式,而第二FPGA芯片202模拟工作在USB控制器主机模式时,则由第二FPGA芯片202对第一FPGA芯片201进行枚举操作。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。
本发明公开了一种USB控制器验证系统、USB控制器验证方法及设备,通过在FPGA验证板上同时设置第一FPGA芯片和第二FPGA芯片,使所述第一FPGA芯片模拟集成USB控制器HOST模式的SoC芯片,而使所述第二FPGA芯片模拟集成USB控制器DEVICE模式的SoC芯片,然后测试在四种传输模式下的数据传输结果,克服了相关技术的验证平台无法同时覆盖测试USB控制器的两种工作模式和四种传输模式的不足,并能够满足精细化测试的需求。此外,能够避免USB控制器在HOST模式下开发USB设备驱动程序的过程、以及避免USB控制器在DEVICE模式下,上位机开发USB设备驱动程序的过程;本发明实施例的验证系统的工作性能稳定可靠、适用范围广,验证方法操作简单、快捷。
Claims (18)
- 一种通用串行总线USB控制器验证系统,所述系统包括:上位机、现场可编程逻辑阵列FPGA验证板;所述FPGA验证板包括第一FPGA芯片、第二FPGA芯片、以及连接所述第一FPGA芯片和所述第二FPGA芯片的控制开关;其中,所述上位机,配置为将USB控制器第一工作模式的测试程序发送至所述第一FPGA芯片、将USB控制器第二工作模式的测试程序发送至所述第二FPGA芯片;以及分别向所述第一FPGA芯片和所述第二FPGA芯片发送执行指定传输模式的指令;所述第一FPGA芯片和第二FPGA芯片,配置为分别工作于所述第一工作模式和所述第二工作模式,在所述控制开关闭合后,按所述指定传输模式对数据进行传输测试,并将测试结果返回给所述上位机。
- 根据权利要求1所述的系统,其中,所述上位机,还配置为将集成有USB控制器的系统芯片SoC处理器的第一SoC逻辑版本写入到所述第一FPGA芯片、以及将集成有USB控制器的SoC处理器的第二SoC逻辑版本写入到所述第二FPGA芯片。
- 根据权利要求1或2所述的系统,其中,所述第一工作模式为主机模式,所述第二工作模式为设备模式。
- 根据权利要求3所述的系统,其中,所述第一FPGA芯片,还配置为对所述第二FPGA芯片进行枚举操作;所述枚举操作,包括:所述第一FPGA芯片对所述第二FPGA芯片进行设备识别检测;所述第一FPGA芯片获取所述第二FPGA芯片的设备描述符信息;所述第一FPGA芯片对所述第二FPGA芯片进行设备地址设定;所述第一FPGA芯片获取所述第二FPGA芯片配置描述符;所述第一FPGA芯片对所述第二FPGA芯片进行设备配置。
- 根据权利要求2所述的系统,其中,所述FPGA验证板还包括第一调试接口、第二调试接口及第三调试接口;所述第一调试接口与所述第一FPGA芯片连接,所述第二调试接口与所述第二FPGA芯片连接,所述第三调试接口与所述上位机连接且分别与所述第一调试接口、第二调试接口串联;所述第一调试接口,配置为将所述上位机需要写入到所述第一FPGA芯片的所述第一SoC逻辑版本发送至所述第一FPGA芯片;所述第二调试接口,配置为将所述上位机需要写入到所述第二FPGA芯片的所述第二SoC逻辑版本发送至所述第二FPGA芯片;所述FPGA验证板还包括第一路传输接口、第二路传输接口;所述第一路传输接口与所述第一FPGA芯片连接,所述第二路传输接口与所述第二FPGA芯片连接;所述第一路传输接口,配置为将所述上位机发送的USB控制器第一工作模式的测试程序传输给所述第一FPGA芯片;所述第二路传输接口,配置为将所述上位机发送的USB控制器第二工作模式的测试程序传输给所述第二FPGA芯片。
- 根据权利要求1或2所述的系统,其中,所述第一FPGA芯片和第二FPGA芯片之间通过串行解串器连接,配置为第一FPGA芯片和第二FPGA芯片之间的数据交互;所述第一FPGA芯片和第二FPGA芯片分别连接有第一复位电路、第二复位电路,配置为对所述第一FPGA芯片和第二FPGA芯片分别进行复位。
- 一种通用串行总线USB控制器验证方法,所述方法包括:将USB控制器第一工作模式的测试程序发送至第一现场可编程逻辑阵 列FPGA芯片、将USB控制器第二工作模式的测试程序发送至第二FPGA芯片;以及分别向所述第一FPGA芯片和所述第二FPGA芯片发送执行指定传输模式的指令;接收所述第一FPGA芯片和所述第二FPGA芯片分别工作于所述第一工作模式和所述第二工作模式时,在所述第一FPGA芯片和所述第二FPGA芯片连通后,所述第一FPGA芯片和所述第二FPGA芯片按所述指定传输模式对数据进行传输测试所返回的测试结果。
- 根据权利要求7所述的方法,其中,所述方法还包括:将集成有USB控制器的系统芯片SoC处理器的第一SoC逻辑版本写入到所述第一FPGA芯片、以及将集成有USB控制器的SoC处理器的第二SoC逻辑版本写入到所述第二FPGA芯片。
- 根据权利要求7或8所述的方法,其中,所述第一工作模式为主机模式,所述第二工作模式为设备模式。
- 一种上位机,所述上位机包括:发送单元和接收单元;其中,所述发送单元,配置为将通用串行总线USB控制器第一工作模式的测试程序发送至第一现场可编程逻辑阵列FPGA芯片、将USB控制器第二工作模式的测试程序发送至第二FPGA芯片;以及分别向所述第一FPGA芯片和所述第二FPGA芯片发送执行指定传输模式的指令;所述接收单元,配置为接收所述第一FPGA芯片和所述第二FPGA芯片分别工作于所述第一工作模式和所述第二工作模式时,在所述第一FPGA芯片和所述第二FPGA芯片连通后,所述第一FPGA芯片和所述第二FPGA芯片按所述指定传输模式对数据进行传输测试所返回的测试结果。
- 根据权利要求10所述的上位机,其中,所述上位机还包括:写入单元,配置为将集成有USB控制器的系统芯片SoC处理器的第一SoC逻辑版本写入到所述第一FPGA芯片、以及将集成有USB控制器的SoC处理器 的第二SoC逻辑版本写入到所述第二FPGA芯片。
- 根据权利要求10或11所述的上位机,其中,所述第一工作模式为主机模式,所述第二工作模式为设备模式。
- 一种通用串行总线USB控制器验证方法,所述方法包括:第一现场可编程逻辑阵列FPGA芯片和第二FPGA芯片分别接收上位机发送的通用串行总线USB控制器第一工作模式的测试程序、USB控制器第二工作模式的测试程序,并接收所述上位机发送的执行指定传输模式的指令;所述第一FPGA芯片和第二FPGA芯片分别工作于所述第一工作模式和第二工作模式,在所述第一FPGA芯片和第二FPGA芯片连通后,按所述指定传输模式对数据进行传输测试,并将测试结果返回给所述上位机。
- 根据权利要求13所述的方法,其中,所述第一工作模式为主机模式,所述第二工作模式为设备模式。
- 权利要求14所述的方法,其中,所述方法还包括:第一FPGA芯片对第二FPGA芯片进行枚举操作;所述枚举操作,包括:所述第一FPGA芯片对所述第二FPGA芯片进行设备识别检测;所述第一FPGA芯片获取所述第二FPGA芯片的设备描述符信息;所述第一FPGA芯片对所述第二FPGA芯片进行设备地址设定;所述第一FPGA芯片获取所述第二FPGA芯片配置描述符;所述第一FPGA芯片对所述第二FPGA芯片进行设备配置。
- 一种现场可编程逻辑阵列FPGA验证板,所述FPGA验证板包括第一FPGA芯片、第二FPGA芯片、以及连接所述第一FPGA芯片和所述第二FPGA芯片的控制开关;所述第一FPGA芯片和第二FPGA芯片,配置为分别接收上位机发送 的通用串行总线USB控制器第一工作模式的测试程序和USB控制器第二工作模式的测试程序,并接收所述上位机发送的执行指定传输模式的指令;还配置为分别工作于所述第一工作模式和第二工作模式,在所述控制开关闭合后,按所述指定传输模式对数据进行传输测试,并将测试结果返回给所述上位机。
- 根据权利要求16所述的FPGA验证板,其中,所述第一工作模式为主机模式,所述第二工作模式为设备模式。
- 根据权利要求17所述的FPGA验证板,其中,所述第一FPGA芯片,还配置为对所述第二FPGA芯片进行枚举操作;所述枚举操作,包括:所述第一FPGA芯片对所述第二FPGA芯片进行设备识别检测;所述第一FPGA芯片获取所述第二FPGA芯片的设备描述符信息;所述第一FPGA芯片对所述第二FPGA芯片进行设备地址设定;所述第一FPGA芯片获取所述第二FPGA芯片配置描述符;所述第一FPGA芯片对所述第二FPGA芯片进行设备配置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610592334.1 | 2016-07-25 | ||
CN201610592334.1A CN107656882A (zh) | 2016-07-25 | 2016-07-25 | 一种通用串行总线控制器验证方法、系统及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2018018978A1 true WO2018018978A1 (zh) | 2018-02-01 |
Family
ID=61015717
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2017/082626 WO2018018978A1 (zh) | 2016-07-25 | 2017-04-28 | 一种通用串行总线控制器验证方法、系统及设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107656882A (zh) |
WO (1) | WO2018018978A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109684152A (zh) * | 2018-12-25 | 2019-04-26 | 广东浪潮大数据研究有限公司 | 一种risc-v处理器指令下载方法及其装置 |
CN110362521A (zh) * | 2019-06-30 | 2019-10-22 | 中国船舶重工集团公司第七一六研究所 | Mcu+fpga架构的双路串行数据通信系统及方法 |
CN112364397A (zh) * | 2020-11-27 | 2021-02-12 | 天津七所精密机电技术有限公司 | 一种基于fpga的异步串口安全通信系统及方法 |
CN113132168A (zh) * | 2021-04-29 | 2021-07-16 | 上海阵量智能科技有限公司 | 一种基于PCIe的网络传输配置方法和装置 |
CN118295605A (zh) * | 2024-06-06 | 2024-07-05 | 芯启源(上海)半导体科技有限公司 | SPI Flash后门读写操作系统、方法及计算机设备 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108595900A (zh) * | 2018-07-04 | 2018-09-28 | 珠海市微半导体有限公司 | 一种pd协议芯片的fpga验证系统 |
CN110175050B (zh) * | 2019-05-29 | 2022-10-14 | 深圳创龙智新科技有限公司 | 外围设备控制方法、装置、系统、电子设备及存储介质 |
CN112231264A (zh) * | 2019-07-15 | 2021-01-15 | 唐健 | 一种嵌入式PXIe总线控制器 |
CN112084736B (zh) * | 2020-08-17 | 2024-04-05 | 武汉汇迪森信息技术有限公司 | 一种基于fpga的usb3.0物理层收发装置 |
CN114442514B (zh) * | 2020-11-02 | 2024-05-14 | 芯启源(上海)半导体科技有限公司 | 一种基于fpga的usb3.0/3.1控制系统 |
CN112989757B (zh) * | 2021-05-10 | 2021-09-28 | 芯华章科技股份有限公司 | 用于对多个原型验证板进行编号的方法及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101770817A (zh) * | 2010-01-18 | 2010-07-07 | 华东师范大学 | 基于fpga的多接口存储器验证系统 |
CN102201267A (zh) * | 2010-03-26 | 2011-09-28 | 上海摩波彼克半导体有限公司 | 基于FPGA实现Nandflash闪存控制器电路验证的平台系统及方法 |
CN102981116A (zh) * | 2012-11-02 | 2013-03-20 | 北京创毅讯联科技股份有限公司 | 一种验证专用集成电路的装置和方法 |
CN104331282A (zh) * | 2014-10-28 | 2015-02-04 | 电子科技大学 | 一种无线电产品可重构综合开发测试系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005165834A (ja) * | 2003-12-04 | 2005-06-23 | Canon Inc | Usbデバイスループバックテスト制御装置およびその方法 |
JP2009048522A (ja) * | 2007-08-22 | 2009-03-05 | Mimaki Engineering Co Ltd | データ転送装置の製造方法、試験方法、及びデータ転送装置 |
CN101996121B (zh) * | 2009-08-12 | 2014-04-23 | 鸿富锦精密工业(深圳)有限公司 | Usb端口测试装置及测试方法 |
CN102087624B (zh) * | 2009-12-02 | 2013-07-24 | 上海摩波彼克半导体有限公司 | 基于fpga模块实现usb接口功能验证测试的电路结构及其方法 |
CN103885868B (zh) * | 2014-04-16 | 2015-08-26 | 福州瑞芯微电子有限公司 | 模拟usb热插拔过程的测试系统及装置 |
-
2016
- 2016-07-25 CN CN201610592334.1A patent/CN107656882A/zh not_active Withdrawn
-
2017
- 2017-04-28 WO PCT/CN2017/082626 patent/WO2018018978A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101770817A (zh) * | 2010-01-18 | 2010-07-07 | 华东师范大学 | 基于fpga的多接口存储器验证系统 |
CN102201267A (zh) * | 2010-03-26 | 2011-09-28 | 上海摩波彼克半导体有限公司 | 基于FPGA实现Nandflash闪存控制器电路验证的平台系统及方法 |
CN102981116A (zh) * | 2012-11-02 | 2013-03-20 | 北京创毅讯联科技股份有限公司 | 一种验证专用集成电路的装置和方法 |
CN104331282A (zh) * | 2014-10-28 | 2015-02-04 | 电子科技大学 | 一种无线电产品可重构综合开发测试系统 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109684152A (zh) * | 2018-12-25 | 2019-04-26 | 广东浪潮大数据研究有限公司 | 一种risc-v处理器指令下载方法及其装置 |
CN110362521A (zh) * | 2019-06-30 | 2019-10-22 | 中国船舶重工集团公司第七一六研究所 | Mcu+fpga架构的双路串行数据通信系统及方法 |
CN110362521B (zh) * | 2019-06-30 | 2022-11-18 | 中国船舶重工集团公司第七一六研究所 | Mcu+fpga架构的双路串行数据通信系统及方法 |
CN112364397A (zh) * | 2020-11-27 | 2021-02-12 | 天津七所精密机电技术有限公司 | 一种基于fpga的异步串口安全通信系统及方法 |
CN112364397B (zh) * | 2020-11-27 | 2023-01-13 | 天津七所精密机电技术有限公司 | 一种基于fpga的异步串口安全通信系统及方法 |
CN113132168A (zh) * | 2021-04-29 | 2021-07-16 | 上海阵量智能科技有限公司 | 一种基于PCIe的网络传输配置方法和装置 |
CN113132168B (zh) * | 2021-04-29 | 2023-02-24 | 上海阵量智能科技有限公司 | 一种基于PCIe的网络传输配置方法和装置 |
CN118295605A (zh) * | 2024-06-06 | 2024-07-05 | 芯启源(上海)半导体科技有限公司 | SPI Flash后门读写操作系统、方法及计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN107656882A (zh) | 2018-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018018978A1 (zh) | 一种通用串行总线控制器验证方法、系统及设备 | |
CN112580295B (zh) | 多核SoC芯片的自动化验证方法、系统及装置 | |
US6876941B2 (en) | Testing compliance of a device with a bus protocol | |
US8180620B2 (en) | Apparatus and method for performing hardware and software co-verification testing | |
US12093631B2 (en) | Method, system and verifying platform for system on chip verification | |
CN102542110B (zh) | 一种应用于移动存储soc芯片的仿真验证方法 | |
CN113076227A (zh) | Mcu验证方法、系统和终端设备 | |
EP3049934A1 (en) | Programmable interface-based validation and debug | |
CN102521444A (zh) | 软硬件协同仿真/验证方法及装置 | |
WO2024046362A1 (zh) | 验证系统、验证方法、电子设备以及存储介质 | |
CN115146568A (zh) | 一种基于uvm的芯片验证系统及验证方法 | |
US10664563B2 (en) | Concurrent testbench and software driven verification | |
US10664637B2 (en) | Testbench restoration based on capture and replay | |
US20060212768A1 (en) | Verification circuitry for master-slave system | |
US20050144436A1 (en) | Multitasking system level platform for HW/SW co-verification | |
US9581643B1 (en) | Methods and circuits for testing partial circuit designs | |
El-Moursy et al. | Efficient embedded SoC hardware/software codesign using virtual platform | |
CN113204929B (zh) | 基于sv和uvm实现ahb vip的方法、电子装置及存储介质 | |
CN112885403B (zh) | 一种Flash控制器的功能测试方法、装置及设备 | |
JP2002288002A (ja) | エミュレータ装置及びエミュレーション方法 | |
TWI794996B (zh) | 為固態硬碟裝置除錯的裝置及系統 | |
Grigor et al. | USB HW/SW Co-Simulation environment with custom test tool integration | |
CN113673106B (zh) | 一种fpga内核可编程仿真器 | |
JP6068805B2 (ja) | プロトタイプシステムにおける汎用的な可制御性及び可観測性のための方法及び装置 | |
Wronka et al. | Embedded software debug in simulation and emulation environments for interface IP |
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: 17833284 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 17833284 Country of ref document: EP Kind code of ref document: A1 |