Verification platform and method for I3C concentrator
By providing a verification platform for I3C hubs including test objects, test case layers, simulated hosts and simulated slaves, the problem of I3C hub verification complexity is solved, and the effect of rapid construction and efficient verification is achieved.
Patent Information
- Application Number
- CN202510105790.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-23
- Publication Date
- 2025-03-07
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
The verification of I3C hubs is complex and difficult to manage, making it difficult to apply the verification environment, which in turn affects the verification efficiency and reliability of I3C hub devices.
It provides a verification platform for I3C hubs, including test objects, test case layer, simulated host and simulated slave. By flexibly selecting test cases, it independently captures and compares the host transmission transaction packet and slave transmission transaction packet, and realizes flexible testing and isolation function verification of the transmissible transmission path.
Through this verification platform, it is possible to quickly build and configure the verification environment, automatically check the I3C bus transmission, improve the verification efficiency and reliability of the I3C hub equipment, and solve the problem of complexity of the verification environment.
Smart Images

Figure CN119576678A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of verification, and in particular to a verification platform and method for an I3C hub. Background Art
[0002] With the development of various embedded systems and motherboards, more and more sensor devices are applied to the system. However, the communication interface connection between many sensor devices and the system host makes the hardware design difficult and difficult to manage. Therefore, many communication buses have emerged, one of which is the I3C (Improved Inter-Integrated Circuit) bus. The I3C bus is a two-wire bidirectional serial bus. Since there are only two signal lines, it can simplify the setting of hardware circuits and support in-band interrupts and hot-swap functions; however, due to the limitations of the I3C bus hardware structure, the signal line driving capability is limited, so it cannot connect too many devices. Therefore, the I3C hub is used to solve this problem.
[0003] The I3C hub is equipped with multiple upstream interfaces and multiple downstream interfaces. The I3C hub can connect multiple I3C hosts and multiple I3C slaves. There are multiple hardware paths inside the I3C hub for connecting or disconnecting the upstream interface and the downstream interface, and at the same time, the signal output strength of the I3C bus is enhanced through the hardware circuit; therefore, the system software can select the specified I3C host and the specified I3C slave to connect through the I3C hub, that is, the I3C transparent transmission function; it can also select the specified I3C host and the specified I3C slave to disconnect, that is, the I3C network isolation function; therefore, the I3C hub can extend the I3C bus so that the bus can access more I3C devices, allowing the system host to manage external devices more conveniently and efficiently.
[0004] The I3C hub is highly complex, and how to implement I3C hub verification has become a difficult problem that troubles those skilled in the art. Summary of the invention
[0005] The object of the present invention is to provide a verification platform and method for an I3C hub to improve the above-mentioned problem.
[0006] In order to achieve the above purpose, the technical solution adopted by the embodiment of the present invention is as follows: In a first aspect, an embodiment of the present invention provides a verification platform for an I3C hub, the verification platform for the I3C hub comprising: a test object, a test case layer, at least one simulation host and at least one simulation slave; When the test case includes a standard test task, the test case layer is used to provide a first type of test stimulus to the simulation host and / or the simulation slave, wherein the first type of test stimulus is a standard test stimulus that matches the standard test task in the test case; The target simulation host and the target simulation slave are used to execute the first type of test stimulus through the test object, and obtain the host transmission transaction packet and the slave transmission transaction packet during the execution process; Wherein, the target simulation host is a simulation host that matches the first type of test stimulus and is in a working state, and the target simulation slave is a simulation slave that matches the first type of test stimulus and is in a working state; The target simulation host is used to send the host transmission transaction packet to the test case layer; The target simulated slave is used to send the slave transmission transaction packet to the test case layer; The test case layer is used to determine whether verification is passed according to the host transmission transaction packet and the slave transmission transaction packet.
[0007] The I3C hub verification platform provided by the embodiment of the present invention can flexibly select test cases, independently capture and compare host transmission transaction packets and slave transmission transactions, realize flexible testing of the transparent transmission paths corresponding to the target simulation host and the target simulation slave in the test object, and complete the isolation function verification.
[0008] Optionally, when the test case includes a custom test task, the test case layer is used to execute the second type of test stimulus through the test object, and obtain a custom transmission transaction package between the test case layer and the test object during the execution process; Wherein, the second type of test stimulus is a user-defined test stimulus that matches the custom test task in the test case; The test case layer is also used to generate an expected transaction package according to the second type of test stimulus; The test case layer is also used to determine whether verification is passed according to the custom transmission transaction package and the expected transaction package.
[0009] The verification platform of the I3C hub provided by the embodiment of the present invention can realize customized testing on the test object by flexibly selecting test cases, independently capturing and comparing customized transmission transaction packets and expected transaction packets, and ensuring the comprehensiveness and accuracy of the test.
[0010] In a second aspect, an embodiment of the present invention provides a verification method for an I3C hub, which is applied to the verification platform of the above-mentioned I3C hub, wherein the verification platform of the I3C hub includes: a test object, a test case layer, at least one simulation host and at least one simulation slave, and the method includes: When the test case includes a standard test task, the test case layer provides a first type of test stimulus to the simulation host and / or the simulation slave, wherein the first type of test stimulus is a standard test stimulus matching the standard test task in the test case; The target simulation host and the target simulation slave execute the first type of test stimulus through the test object, and obtain the host transmission transaction packet and the slave transmission transaction packet during the execution process; Wherein, the target simulation host is a simulation host that matches the first type of test stimulus and is in a working state, and the target simulation slave is a simulation slave that matches the first type of test stimulus and is in a working state; The target simulation host sends the host transmission transaction packet to the test case layer; The target simulated slave sends the slave transmission transaction packet to the test case layer; The test case layer determines whether verification is passed according to the host transmission transaction packet and the slave transmission transaction packet.
[0011] Optionally, when the test case includes a custom test task, the test case layer executes the second type of test stimulus through the test object, and obtains a custom transmission transaction packet between the test case layer and the test object during the execution process; Wherein, the second type of test stimulus is a user-defined test stimulus that matches the custom test task in the test case; An expected transaction package generated by the test case layer according to the second type of test stimulus; The test case layer determines whether verification is passed according to the custom transmission transaction package and the expected transaction package.
[0012] In order to make the above-mentioned objects, features and advantages of the present invention more obvious and easy to understand, preferred embodiments are given below and described in detail with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0013] In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings required for use in the embodiments will be briefly introduced below. It should be understood that the following drawings only show certain embodiments of the present invention and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without paying creative work.
[0014] Figure 1 This is one of the structural schematic diagrams of the verification platform of the I3C hub provided by the embodiment of the present invention.
[0015] Figure 2 The second structural diagram of the verification platform of the I3C hub provided by the embodiment of the present invention.
[0016] Figure 3 One of the flowcharts of the verification method of the I3C hub provided by the embodiment of the present invention.
[0017] Figure 4 The second flowchart of the verification method of the I3C hub provided by the embodiment of the present invention. DETAILED DESCRIPTION
[0018] In order to make the purpose, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Generally, the components of the embodiments of the present invention described and shown in the drawings here can be arranged and designed in various different configurations.
[0019] Therefore, the following detailed description of the embodiments of the present invention provided in the accompanying drawings is not intended to limit the scope of the invention claimed for protection, but merely represents selected embodiments of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0020] It should be noted that similar reference numerals and letters represent similar items in the following drawings, so once an item is defined in one drawing, it does not need to be further defined and explained in the subsequent drawings. At the same time, in the description of the present invention, the terms "first", "second", etc. are only used to distinguish the description and cannot be understood as indicating or implying relative importance.
[0021] It should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the existence of other identical elements in the process, method, article or device including the elements.
[0022] In the description of the present invention, it should be noted that the terms "upper", "lower", "inside", "outside", etc. indicate directions or positional relationships based on the directions or positional relationships shown in the accompanying drawings, or are directions or positional relationships in which the product of the invention is usually placed when in use. They are only for the convenience of describing the present invention and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific direction, be constructed and operated in a specific direction, and therefore should not be understood as a limitation on the present invention.
[0023] In the description of the present invention, it is also necessary to explain that, unless otherwise clearly specified and limited, the terms "disposed" and "connected" should be understood in a broad sense, for example, it can be a fixed connection, a detachable connection, or an integral connection; it can be a mechanical connection or an electrical connection; it can be a direct connection, or it can be an indirect connection through an intermediate medium, or it can be the internal communication of two elements. For ordinary technicians in this field, the specific meanings of the above terms in the present invention can be understood according to specific circumstances.
[0024] Some embodiments of the present invention are described in detail below in conjunction with the accompanying drawings. In the absence of conflict, the following embodiments and features in the embodiments can be combined with each other.
[0025] In recent years, with the development of digital integrated circuits, the demand for chip verification has been growing as an important means to discover design code defects before tape-out and improve the success rate of tape-out. And digital chip verification has also developed rapidly, from the early use of hardware description language (Verilog) to build a simple verification environment platform, and perform simple verification on different design codes in turn, to the introduction of the object-oriented higher-level language SystemVerilog, which combines Verilog, C++, verification platform language and assertion language to create a more functional verification platform, and now a standardized methodology for verification design (Universal Verification Methodology, referred to as UVM) has been developed and improved, which greatly improves the reusability of the verification environment and the work efficiency of chip verifiers.
[0026] In order to save time and complete verification tasks with lower risks, electronic design automation (EDA) manufacturers have launched more efficient and reliable verification VIP (Verification Intellectual Property), which can usually provide interfaces based on SystemVerilog and UVM verification methodology, and can be used to be implanted in the user's verification environment for the connection and inspection of protocol standards and interfaces. VIP is used to simulate specific protocols and create corresponding incentives for verification.
[0027] On this basis, the embodiment of the present invention provides an I3C hub verification platform, which has the characteristics of being able to be quickly built, arbitrarily configuring the number of upstream interfaces and the number of downstream interfaces, and automatically checking the I3C bus transmission, and is practical for all chips that need to implement I3C hub devices. This solves the problem that the current I3C hub verification environment is complex and difficult to apply, and speeds up the progress, verification efficiency, and verification reliability of I3C hub device verification.
[0028] Please refer to Figure 1 , Figure 1 This is one of the structural schematic diagrams of the verification platform of the I3C hub provided by the embodiment of the present invention.
[0029] The verification platform of the I3C hub includes: a test object, a test case layer, at least one simulation host and at least one simulation slave.
[0030] The test object (Design Under Test, referred to as DUT) is the I3C hub to be verified or the simulation model corresponding to the I3C hub to be verified. The test object is connected to the outside through the I3C bus interface defined by the interface component defined in the SystemVerilog language. The interface connecting the test object to the simulation host is named the upstream I3C port, which is represented by MSP (Master Side Port), where MSPi represents the i-th upstream I3C port. The interface connecting the test object to the simulation slave is named the downstream I3C port, which is represented by SSP (Slave Side Port), where SSPj represents the j-th downstream I3C port.
[0031] The Master Side Port I3C VIP (MSP I3C VIP for short) is the VIP connected to the upstream I3C port of the test object (DUT), so the MSP I3C VIP will act as the master of the I3C bus (i.e., I3CMain Master). Since the I3C hub has multiple upstream I3C ports (MSP), each MSP I3CVIP is connected to the upstream I3C port corresponding to the test object through its own host side I3C bus (MSP I3C VIP interface). Each MSP I3C VIP is independently configured and works independently, so multiple MSP I3C VIPs can work at the same time, so that a verification scenario in which multiple MSP I3C VIPs work at the same time can be constructed; and each MSP I3C VIP can be monitored independently. When the I3C transmission is captured, the capture result can be transmitted to the test case layer (which can be the scoreboard my_scoreboard) for comparison.
[0032] The simulated slave (Slave Side Port I3C VIP, referred to as SSP I3C VIP) is the VIP connected to the downstream I3C port of the test object (DUT), so the simulated slave (SSP I3C VIP) will act as the slave (i.e. I3CSlave) of the I3C bus. Since the I3C hub has multiple downstream I3C ports (SSP), each simulated slave (SSP I3C VIP) is connected to the corresponding downstream I3C port of the test object through its own slave side I3C bus (SSP I3C VIP interface). Each simulated slave (SSP I3C VIP) is independently configured and works independently, so multiple simulated slaves (SSP I3CVIP) can work at the same time, so that a verification scenario in which multiple simulated slaves (SSP I3C VIP) work at the same time can be constructed; and each simulated slave (SSP I3C VIP) can be monitored independently. When the I3C transmission is captured, the capture result can be transmitted to the test case layer (which can be the scoreboard my_scoreboard) for comparison.
[0033] The i-th simulated host (MSPi I3C VIP) is connected to the i-th upstream I3C port (MSPi) of the I3C hub through the i-th host-side I3C bus (MSPi I3C VIP interface), the j-th simulated slave (SSPj I3C VIP) is connected to the j-th downstream I3C port (SSPj) of the I3C hub through the j-th slave-side I3C bus (SSPj I3C VIP interface), and the test case layer (base test) is connected to each upstream I3C port and each downstream I3C port of the I3C hub through the I3C bus (I3C VIP interface), 0≤i≤I-1, 0≤j≤J-1, I represents the number of simulated hosts, and J represents the number of simulated slaves.
[0034] In the case of starting the test case, regarding the specific process of implementing verification by the verification platform of the I3C hub, the embodiment of the present invention also provides an optional implementation method, please refer to the following.
[0035] When the test case includes a standard test task, the test case layer is used to provide a first type of test stimulus to the simulation host and / or the simulation slave, wherein the first type of test stimulus is a standard test stimulus that matches the standard test task in the test case, and the standard test task is a task defined by the developer of the simulation host and / or the developer of the simulation slave.
[0036] The target simulation host and the target simulation slave are used to execute the first type of test stimulus through the test object, and obtain the host transmission transaction packet and the slave transmission transaction packet during the execution process.
[0037] The target simulation host is a simulation host that matches the first type of test stimulus and is in a working state, and the target simulation slave is a simulation slave that matches the first type of test stimulus and is in a working state.
[0038] Optionally, a host detector is deployed in the target simulation host, and a slave detector is deployed in the target simulation slave. When the target simulation host executes the first type of test stimulus, the host detector inside it is used to detect the communication bus between the target simulation host and the test object, capture the data transmission thereon, and obtain the host transmission transaction packet, which includes the simulation slave identifier, communication data, and event information that communicates with the target simulation host.
[0039] When the target simulated slave executes the first type of test stimulus, its internal slave detector is used to detect the communication bus between the target simulated slave and the test object, capture the data transmission thereon, and obtain the slave transmission transaction packet, which includes the simulation host identifier, communication data and event information that communicates with the target simulated slave.
[0040] The target simulation host is used to send the host transmission transaction packet to the test case layer.
[0041] The target simulated slave is used to send the slave transmission transaction packet to the test case layer.
[0042] Optionally, the target simulation host and the target simulation slave may perform data transmission with the test case layer via an I3C bus.
[0043] The test case layer is used to determine whether the verification is passed based on the host transmission transaction package and the slave transmission transaction package.
[0044] Optionally, the test case layer can compare and judge the obtained host transmission transaction package and slave transmission transaction package to determine whether the host transmission transaction package and the slave transmission transaction package meet the preset matching relationship. If so, it is confirmed that the verification is passed; if not, it is confirmed that the verification fails.
[0045] The I3C hub verification platform provided by the embodiment of the present invention can flexibly select test cases, independently capture and compare host transmission transaction packets and slave transmission transactions, realize flexible testing of the transparent transmission paths corresponding to the target simulation host and the target simulation slave in the test object, and complete the isolation function verification.
[0046] In an optional implementation, when the test case includes a custom test task, the test case layer is used to execute the second type of test stimulus through the test object, and obtain a custom transmission transaction package between the test case layer and the test object during the execution process.
[0047] Among them, the second type of test stimulus is a user-defined test stimulus that matches the custom test task in the test case. The custom test task is a task defined by the developer of the non-simulation host and the developer of the non-simulation slave, and is a test task customized by the backend staff.
[0048] The test case layer is also used for the expected transaction packages generated according to the second type of test stimulus.
[0049] The test case layer is also used to determine whether the verification passes based on the custom transport transaction package and the expected transaction package.
[0050] Optionally, the test case layer can compare and judge the obtained custom transmission transaction package and the expected transaction package to determine whether the custom transmission transaction package and the expected transaction package meet the preset matching relationship. If so, it is confirmed that the verification has passed; if not, it is confirmed that the verification has failed, thereby ensuring the accuracy of the verification results and improving the efficiency of the staff in debugging the test object.
[0051] Based on the above, regarding the specific structure of the test case layer, the present invention also provides an optional implementation method, please continue to refer to Figure 1 The test case layer includes the test stimulus library (my_sequence_pool), the test stimulus set (sequence-set), the first verification environment (I3C VIP env), and the scoreboard (my_scoreboard).
[0052] Among them, the test stimulus library (my_sequence_pool) stores the standard test stimulus of the simulation host, the standard test stimulus of the simulation slave, and the user-defined test stimulus. The standard test stimulus of the simulation host is provided by the developer of the simulation host, the standard test stimulus of the simulation slave is provided by the developer of the simulation slave, and the user-defined test stimulus is customized by the back-end staff. Optionally, the number of the standard test stimulus of the simulation host, the standard test stimulus of the simulation slave, and the user-defined test stimulus is greater than or equal to 1.
[0053] It should be noted that the test stimulus library (my_sequence_pool) can provide a large number of test stimuli, which greatly facilitates the verification personnel to develop use cases. The test stimulus library can provide different test stimuli for different test cases (or different test scenarios).
[0054] Optionally, the test stimulus library (my_sequence_pool) can be implemented by UVM's uvm_sequence_library, in which all the test stimuli needed are added, and the UVM mechanism can be used to send the test stimuli therein randomly and sequentially. It should be noted that the number of test stimulus libraries (my_sequence_pool) can be greater than 1.
[0055] The test stimulus set (sequence-set) can be implemented through UVM's uvm_sequence_item, which contains all the test stimuli in the use case. These test stimuli are passed to other components in the form of transaction packages through UVM's user-defined test stimulus (my_sequence), or the standard test stimulus provided by VIP can be called and then passed to the VIP component.
[0056] The scoreboard (my_scoreboard) is a custom scoreboard.
[0057] Regarding how the test case layer provides the first type of test stimulus to the simulation host and / or the simulation slave, the present invention also provides an optional implementation method, please refer to the following.
[0058] In the case of starting a test case, when the test case includes a standard test task, the test stimulus library is used to send the first type of test stimulus to the test stimulus set.
[0059] The test stimulus set is used to send the first type of test stimulus to the first verification environment for invocation by the simulation host and / or the simulation slave.
[0060] It should be noted that the simulation host and / or simulation slave in working state can view the first verification environment. When there is a first type of test stimulus to be executed therein, it determines whether the first type of test stimulus to be tested matches itself. If it matches, it is determined as the target simulation host or the target simulation slave, and then the first type of test stimulus is executed through the test object, and the host transmission transaction packet and the slave transmission transaction packet during the execution process are obtained.
[0061] The simulation host in working state is used to check the first verification environment. When there is a first type of test stimulus to be executed in the first verification environment, it determines whether the first type of test stimulus matches itself. If it matches, it is considered to be the target simulation host corresponding to the first type of test stimulus.
[0062] The simulation slave in working state is used to check the first verification environment. When there is a first type of test stimulus to be executed in the first verification environment, it determines whether the first type of test stimulus matches itself. If it matches, it is considered to be the target simulation slave corresponding to the first type of test stimulus.
[0063] Optionally, the scoreboard serves as an executor for comparing the host transmission transaction packets with the slave transmission transaction packets in the test case layer.
[0064] The target simulation host is used to send the host transmission transaction packet to the scoreboard.
[0065] The target emulated slave is used to send the slave transmission transaction packet to the scoreboard.
[0066] The scoreboard is used to determine whether the verification is passed based on the host transmission transaction packet and the slave transmission transaction packet.
[0067] Optionally, the scoreboard can compare and judge the acquired host transmission transaction package and slave transmission transaction package to determine whether the host transmission transaction package and the slave transmission transaction package meet the preset matching relationship. If so, it is confirmed that the verification is passed; if not, it is confirmed that the verification is failed.
[0068] On the basis of the foregoing, regarding how to configure the simulation host, simulation slave, upstream I3C port and downstream I3C port involved in verification, the embodiment of the present invention further provides an optional implementation, please refer to the following.
[0069] The test case layer also includes a configuration environment (not shown in the figure), which includes working status identification information in the current detection cycle for the simulation master and the simulation slave to determine their status in the current detection cycle.
[0070] The working status identification information includes an identification of whether each simulation master is working and an identification of whether each simulation slave is working.
[0071] All simulation hosts and simulation slaves in the verification platform can view the configuration environment and then determine their status in the current detection cycle based on the working status identification information therein.
[0072] When the working status identification information indicates that the simulation host needs to work, the simulation host is in working state during the current detection cycle, and when the working status identification information indicates that the simulation slave needs to work, the simulation slave is in working state during the current detection cycle. After determining the working states of the simulation host and the simulation slave during the current detection cycle, the I3C bus configuration is completed accordingly, the connection relationship between the simulation host and the upstream I3C port of the test object is improved, and the connection relationship between the simulation slave and the downstream I3C port of the test object is improved.
[0073] Please continue to refer to Figure 1 In an optional implementation, the test case layer also includes a second verification environment (my_env).
[0074] In the case of starting the test case, when the test case includes a custom test task, the test stimulus library is used to send the second type of test stimulus to the test stimulus set; The test stimulus set is also used to send the second type of test stimulus to the second verification environment; The second verification environment is used to execute the second type of test stimulus through the test object, and obtain the custom transmission transaction package between the test case layer and the test object during the execution process; The second verification environment is used for the expected transaction package generated according to the second type of test stimulus; The scoreboard is used to determine whether the verification passes based on the custom transmission transaction package and the expected transaction package.
[0075] Optionally, the scoreboard can compare and judge the obtained custom transmission transaction package and the expected transaction package to determine whether the custom transmission transaction package and the expected transaction package meet the preset matching relationship. If so, it confirms that the verification is passed; if not, it confirms that the verification is failed to ensure the accuracy of the verification result.
[0076] Based on the above, regarding the specific structure of the second verification environment, the embodiment of the present invention also provides an optional implementation method, please refer to Figure 2 , Figure 2 The second structural diagram of the verification platform of the I3C hub provided by the embodiment of the present invention. The second verification environment includes a custom stimulus transmitter (my_sequencer), a custom driver (my_driver), a custom detector (my_monitor) and a custom reference model (my_ref_model).
[0077] The custom detector (my_monitor) can obtain the custom transmission transaction package by monitoring the communication bus between the test case layer and the test object, and transmit the custom transmission transaction package to the scoreboard.
[0078] On this basis, the embodiment of the present invention also provides an optional implementation method regarding how to complete the verification process of the second type of test stimulus.
[0079] The custom stimulus transmitter is used to receive the second type of test stimulus transmitted by the test stimulus set, and send the received second type of test stimulus to the custom driver.
[0080] The custom driver is used by the test object to execute the second type of test stimulus.
[0081] The custom detector is used to monitor the communication bus between the test case layer and the test object to obtain the custom transmission transaction package, and transmit the custom transmission transaction package to the scoreboard.
[0082] The custom driver is also used to send the second type of test stimulus to the custom reference model.
[0083] The custom reference model is used to generate the expected transaction package according to the second type of test stimulus and transmit the expected transaction package to the scoreboard.
[0084] The embodiment of the present invention also provides an I3C hub verification method, which is applied to the I3C hub verification platform mentioned above, please refer to Figure 3 , the verification method of the I3C hub includes: S11, S12, S13, S14 and S15, which are described in detail as follows.
[0085] S11, when the test case includes a standard test task, the test case layer provides a first type of test stimulus to the simulation master and / or the simulation slave.
[0086] The first type of test stimulus is a standard test stimulus that matches a standard test task in a test case.
[0087] S12, the target simulation host and the target simulation slave execute the first type of test stimulus through the test object, and obtain the host transmission transaction packet and the slave transmission transaction packet during the execution process.
[0088] Wherein, the target simulation host is a simulation host that matches the first type of test stimulus and is in a working state, and the target simulation slave is a simulation slave that matches the first type of test stimulus and is in a working state; S13, the target simulation host sends the host transmission transaction packet to the test case layer.
[0089] S14, the target simulation slave sends the slave transmission transaction packet to the test case layer.
[0090] S15, the test case layer determines whether the verification is passed according to the host transmission transaction packet and the slave transmission transaction packet.
[0091] The embodiment of the present invention also provides a verification method of an I3C hub, please refer to Figure 4 , the verification method of the I3C hub includes: S21, S22 and S23, which are specifically described as follows.
[0092] S21, when the test case includes a custom test task, the test case layer executes the second type of test stimulus through the test object, and obtains a custom transmission transaction package between the test case layer and the test object during the execution process.
[0093] The second type of test stimulus is a user-defined test stimulus that matches a customized test task in a test case.
[0094] S22, the test case layer generates an expected transaction package according to the second type of test stimulus.
[0095] S23, the test case layer determines whether the verification is passed according to the custom transmission transaction package and the expected transaction package.
[0096] It should be noted that the verification method of the I3C hub provided in this embodiment can perform the functional purposes shown in the above-mentioned verification platform embodiment of the I3C hub to achieve the corresponding technical effects. For the sake of brief description, for parts not mentioned in this embodiment, reference can be made to the corresponding contents in the above-mentioned embodiments.
[0097] In summary, an embodiment of the present invention provides a verification platform and method for an I3C hub, wherein the verification platform of the I3C hub includes: a test object, a test case layer, at least one simulation host and at least one simulation slave; when the test case includes a standard test task, the test case layer is used to provide a first type of test stimulus to the simulation host and / or the simulation slave, wherein the first type of test stimulus is a standard test stimulus that matches the standard test task in the test case; the target simulation host and the target simulation slave are used to execute the first type of test stimulus through the test object, and obtain the host transmission transaction packet and the slave transmission transaction packet during the execution process; wherein the target simulation host is a simulation host that matches the first type of test stimulus and is in a working state, and the target simulation slave is a simulation slave that matches the first type of test stimulus and is in a working state; the target simulation host is used to send the host transmission transaction packet to the test case layer; the target simulation slave is used to send the slave transmission transaction packet to the test case layer; the test case layer is used to determine whether the verification is passed according to the host transmission transaction packet and the slave transmission transaction packet. By flexibly selecting test cases, independently capturing and comparing host transmission transaction packets and slave transmission transactions, flexible testing of the transparent transmission paths corresponding to the target simulation host and the target simulation slave in the test object can be achieved to complete the isolation function verification.
[0098] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. For those skilled in the art, the present invention may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention shall be included in the protection scope of the present invention.
[0099] It will be apparent to those skilled in the art that the invention is not limited to the details of the exemplary embodiments described above and that the invention can be implemented in other specific forms without departing from the spirit or essential features of the invention. Therefore, the embodiments should be considered exemplary and non-limiting in all respects, and the scope of the invention is defined by the appended claims rather than the foregoing description, and it is intended that all variations falling within the meaning and scope of the equivalent elements of the claims be included in the invention. Any reference numeral in a claim should not be considered as limiting the claim to which it relates.
Claims
1. A verification platform for an I3C hub, characterized in that: The verification platform of the I3C hub includes: a test object, a test case layer, at least one simulation host and at least one simulation slave; When the test case includes a standard test task, the test case layer is used to provide a first type of test stimulus to the simulation host and / or the simulation slave, wherein the first type of test stimulus is a standard test stimulus that matches the standard test task in the test case; The target simulation host and the target simulation slave are used to execute the first type of test stimulus through the test object, and obtain the host transmission transaction packet and the slave transmission transaction packet during the execution process; Wherein, the target simulation host is a simulation host that matches the first type of test stimulus and is in a working state, and the target simulation slave is a simulation slave that matches the first type of test stimulus and is in a working state; The target simulation host is used to send the host transmission transaction packet to the test case layer; The target simulated slave is used to send the slave transmission transaction packet to the test case layer; The test case layer is used to determine whether verification is passed according to the host transmission transaction packet and the slave transmission transaction packet.
2. The verification platform of the I3C hub as claimed in claim 1, characterized in that: When the test case includes a custom test task, the test case layer is used to execute the second type of test stimulus through the test object, and obtain a custom transmission transaction package between the test case layer and the test object during the execution process; Wherein, the second type of test stimulus is a user-defined test stimulus that matches the custom test task in the test case; The test case layer is also used to generate an expected transaction package according to the second type of test stimulus; The test case layer is also used to determine whether verification is passed according to the custom transmission transaction package and the expected transaction package.
3. The verification platform of the I3C hub as claimed in claim 2, characterized in that: The test case layer includes a test stimulus library, a test stimulus set, a first verification environment and a scoreboard, wherein the test stimulus library stores standard test stimulus for the simulation host, standard test stimulus for the simulation slave and user-defined test stimulus; In the case of starting a test case, when the test case includes a standard test task, the test stimulus library is used to send a first type of test stimulus to the test stimulus set; The test stimulus set is used to send the first type of test stimulus to the first verification environment for invocation by the simulation host and / or the simulation slave; The target simulation host is used to send the host transmission transaction packet to the scoreboard; The target simulated slave is used to send the slave transmission transaction packet to the scoreboard; The scoreboard is used to determine whether verification is passed according to the host transmission transaction packet and the slave transmission transaction packet.
4. The verification platform of the I3C hub as claimed in claim 3, characterized in that: A host detector is deployed in the target simulation host, and a slave detector is deployed in the target simulation slave; The host detector is used to detect the communication bus between the target simulation host and the test object during the execution of the first type of test stimulus to obtain the host transmission transaction packet; The slave detector is used to detect the communication bus between the target simulated slave and the test object during the execution of the first type of test stimulus to obtain the slave transmission transaction packet.
5. The verification platform of the I3C hub as claimed in claim 3, characterized in that: The simulation host in working state is used to check the first verification environment, and when there is a first type of test stimulus to be executed in the first verification environment, determine whether the first type of test stimulus matches itself, and if so, consider it to be the target simulation host corresponding to the first type of test stimulus; The simulation slave machine in working state is used to check the first verification environment. When there is a first type of test stimulus to be executed in the first verification environment, it determines whether the first type of test stimulus matches itself. If it matches, it is considered to be the target simulation slave machine corresponding to the first type of test stimulus.
6. The verification platform of the I3C hub as claimed in claim 5, characterized in that: The test case layer also includes a configuration environment, and the configuration environment includes working status identification information in the current detection cycle, so that the simulation host and the simulation slave can determine their status in the current detection cycle; The working status identification information includes an identification of whether each simulation master is working and an identification of whether each simulation slave is working.
7. The verification platform of the I3C hub as claimed in claim 3, characterized in that: The test case layer also includes a second verification environment; In the case of starting a test case, when the test case includes a custom test task, the test stimulus library is used to send the second type of test stimulus to the test stimulus set; The test stimulus set is also used to send the second type of test stimulus to the second verification environment; The second verification environment is used to execute the second type of test stimulus through the test object, and obtain a custom transmission transaction package between the test case layer and the test object during the execution process; The second verification environment is used for generating an expected transaction package according to the second type of test stimulus; The scoreboard is used to determine whether verification is passed according to the custom transmission transaction package and the expected transaction package.
8. The verification platform of the I3C hub as claimed in claim 7, characterized in that: The second verification environment includes a custom stimulus transmitter, a custom driver, a custom detector, and a custom reference model; The custom stimulus transmitter is used to receive the second type of test stimulus transmitted by the test stimulus set, and send the received second type of test stimulus to the custom driver; The custom driver is used for the test object to execute the second type of test stimulus; The custom detector is used to monitor the communication bus between the test case layer and the test object to obtain the custom transmission transaction package, and transmit the custom transmission transaction package to the scoreboard; The custom driver is further used to send the second type of test stimulus to the custom reference model; The custom reference model is used to generate an expected transaction package according to the second type of test stimulus, and transmit the expected transaction package to the scoreboard.
9. A verification method for an I3C hub, characterized in that: A verification platform for an I3C hub according to any one of claims 1 to 8, the verification platform for the I3C hub comprising: a test object, a test case layer, at least one simulation host and at least one simulation slave, the method comprising: When the test case includes a standard test task, the test case layer provides a first type of test stimulus to the simulation host and / or the simulation slave, wherein the first type of test stimulus is a standard test stimulus matching the standard test task in the test case; The target simulation host and the target simulation slave execute the first type of test stimulus through the test object, and obtain the host transmission transaction packet and the slave transmission transaction packet during the execution process; Wherein, the target simulation host is a simulation host that matches the first type of test stimulus and is in a working state, and the target simulation slave is a simulation slave that matches the first type of test stimulus and is in a working state; The target simulation host sends the host transmission transaction packet to the test case layer; The target simulated slave sends the slave transmission transaction packet to the test case layer; The test case layer determines whether verification is passed according to the host transmission transaction packet and the slave transmission transaction packet.
10. The I3C hub verification method according to claim 9, characterized in that: The method further comprises: When the test case includes a custom test task, the test case layer executes the second type of test stimulus through the test object, and obtains a custom transmission transaction packet between the test case layer and the test object during the execution process; Wherein, the second type of test stimulus is a user-defined test stimulus that matches the custom test task in the test case; An expected transaction package generated by the test case layer according to the second type of test stimulus; The test case layer determines whether verification is passed according to the custom transmission transaction package and the expected transaction package.
Citation Information
Patent Citations
Universal serial bus hub test system, method and related device
CN115934438A
I3C bus verification system
CN117933153A