Multi-language data interaction structure and chip verification IP and verification system comprising same
By enabling bidirectional data interaction between chip modules in different languages through a multilingual data interaction structure, the problem of frequent conversion caused by language differences is solved, and chip verification efficiency is improved.
Patent Information
- Application Number
- CN202511406870.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-09-29
- Publication Date
- 2025-10-31
- Estimated Expiration
- 2045-09-29
AI Technical Summary
Frequent language conversions between different levels of chip verification IPs reduce data interaction efficiency and affect chip verification efficiency.
It adopts a multilingual data interaction structure, including a sending module, a receiving module, and a data interaction module. Data conversion and storage are performed through API or DPI to achieve bidirectional data interaction between chip modules of different languages.
It improves the efficiency of multilingual data interaction in the chip verification process and enhances the overall efficiency of chip verification.
Smart Images

Figure CN120874704A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of chip verification technology, and in particular to a multilingual data interaction structure and a chip verification IP and verification system containing the same. Background Technology
[0002] During chip verification, different levels of Verification Intellectual Property (VIP) may be involved, each containing different component modules. Data exchange is required between VIPs at different levels, and between the different component modules within each VIP. However, VIPs at different levels may be generated using different languages, and the different component modules within each VIP may also be generated using different languages. Some different high-level languages can communicate directly, but high-level languages and hardware description languages typically cannot communicate directly and require conversion. Frequent conversions, especially with frequent interactions, significantly reduce data exchange efficiency, thus impacting chip verification efficiency. Therefore, improving the efficiency of multilingual data exchange during chip verification is a pressing technical problem that needs to be solved. Summary of the Invention
[0003] The purpose of this invention is to provide a multilingual data interaction structure and a chip verification IP and verification system containing the structure, thereby improving the efficiency of multilingual data interaction in the chip verification process.
[0004] According to a first aspect of the present invention, a multilingual data interaction structure is provided, wherein a first chip module and a second chip module perform data interaction through the multilingual data interaction structure, the multilingual data interaction structure comprising a first sending module, a first receiving module, a second sending module, a second receiving module, and a data interaction module; The first transmitting module, the first receiving module, the second transmitting module, and the second receiving module are respectively connected to the data interaction module. The first chip module is connected to the first transmitting module and the second receiving module, and the second receiving module is connected to the second transmitting module and the first receiving module. The first sending module includes a first sending API and a first sending DPI; The first receiving module includes a first receiving API and a first receiving DPI; The second sending module includes a second sending API and a second sending DPI; The second receiving module includes a second receiving API and a second receiving DPI; The data interaction module is generated based on a high-level language; If the first chip module is generated based on a high-level language, then the first chip module directly stores the first data to the data interaction module through the first sending API, and directly reads the second data from the data interaction module through the second receiving API. If the first chip module is generated based on a hardware description language, then the first chip module converts the first data into a high-level language description form through a first transmitting DPI and stores it in the data interaction module, and reads the second data through a second receiving DPI and converts it into a hardware description language form; If the second chip module is generated based on a high-level language, then the second chip module directly stores the second data to the data interaction module through the second sending API, and directly reads the first data from the data interaction module through the first receiving API; If the second chip module is generated based on a hardware description language, then the second chip module converts the second data into a high-level language description form through the second transmitting DPI and stores it in the data interaction module. It reads the first data through the first receiving DPI and converts it into a hardware description language form.
[0005] A chip verification IP includes a first chip module, a second chip module, and a multilingual data interaction structure. The first chip module is generated based on a hardware description language, the second chip module is generated based on a high-level language, and the first chip module and the second chip module interact with each other based on the multilingual data interaction structure.
[0006] A verification system includes a protocol layer, a conversion layer, a physical layer, a design under test (DUT), and a multilingual data interaction structure. The protocol layer, conversion layer, physical layer, and DUT are arranged in descending order of hierarchy. When one of two adjacent layers is configured using a high-level language and the other using a hardware description language, the two adjacent layers are respectively designated as a first chip module and a second chip module. The multilingual data interaction structure is set between the two adjacent layers, and the two adjacent layers interact with each other based on the multilingual data interaction structure.
[0007] Compared with existing technologies, this invention has significant advantages and beneficial effects. Through the above technical solution, the multilingual data interaction structure, chip verification IP, and verification system included therein provided by this invention achieve considerable technological advancement and practicality, and have broad industrial application value. It possesses at least the following beneficial effects: This invention enables bidirectional data interaction between two chip modules speaking different languages by setting up a multilingual data interaction structure. The interactive data is first stored in the data interaction module and then read according to the data interaction requirements, which improves the efficiency of chip verification. Attached Figure Description
[0008] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0009] Figure 1 This is a schematic diagram of a multilingual data interaction structure provided in an embodiment of the present invention. Detailed Implementation
[0010] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0011] This invention provides a multilingual data interaction structure, such as... Figure 1 As shown, the first chip module and the second chip module interact with each other through the multilingual data interaction structure, which includes: a first sending module, a first receiving module, a second sending module, a second receiving module, and a data interaction module. The first sending module, the first receiving module, the second sending module, and the second receiving module are respectively connected to the data interaction module. The first sending module and the first receiving module correspond to each other, and the second sending module and the second receiving module correspond to each other. The first chip module is connected to the first sending module and the second receiving module, and the second receiving module is connected to both the second sending module and the first receiving module.
[0012] The first transmitting module includes a first transmitting application programming interface (API) and a first transmitting direct programming interface (DPI). The first receiving module includes a first receiving API and a first receiving DPI. The second transmitting module includes a second transmitting API and a second transmitting DPI. The second receiving module includes a second receiving API and a second receiving DPI.
[0013] The data interaction module is generated based on a high-level language, specifically C++. The first chip module and the second chip module are generated based on C++, Python, or SystemVerilog.
[0014] If the first chip module is generated based on a high-level language, then the first chip module directly stores first data to the data interaction module through a first sending API, and directly reads second data from the data interaction module through a second receiving API. It should be noted that if both the first chip module and the data interaction module are generated based on a high-level language, then the first chip module and the data interaction module can directly interact through their respective APIs.
[0015] If the first chip module is generated based on a hardware description language, then the first chip module converts the first data into a high-level language description form through a first transmitting DPI and stores it in the data interaction module. It then reads the second data through a second receiving DPI and converts it back into the hardware description language form. It should be noted that when the first chip module is generated based on a hardware description language, it cannot directly communicate with the data interaction module via API; a corresponding DPI is required for conversion.
[0016] If the second chip module is generated based on a high-level language, then the second chip module directly stores the second data to the data interaction module through the second sending API, and directly reads the first data from the data interaction module through the first receiving API. It should be noted that if both the second chip module and the data interaction module are generated based on a high-level language, then the second chip module and the data interaction module can directly interact through their respective APIs.
[0017] If the second chip module is generated based on a hardware description language, then the second chip module converts the second data into a high-level language description form through the second transmitting DPI and stores it in the data interaction module. It then reads the first data through the first receiving DPI and converts it back into the hardware description language form. It should be noted that when the second chip module is generated based on a hardware description language, it cannot directly communicate with the data interaction module via API; a corresponding DPI is required for conversion.
[0018] The first chip module and the second chip module achieve bidirectional communication through the multilingual data interaction structure.
[0019] As one embodiment, the data interaction module includes a ring buffer, a chain buffer, and a memory database. At any given time, one of these three buffers can be selected for operation. When the first chip module and the second chip module interact based on a fixed data length, the ring buffer is selected. When the first chip module and the second chip module interact based on a variable data length, either the chain buffer or the memory database is selected. It should be noted that if the interaction data between the first chip module and the second chip module needs to be stored in a file database, then the memory database needs to be selected, and the memory database needs to be transferred to the file database.
[0020] As one embodiment, the in-memory database is a Structured Query Language (SQL) database.
[0021] As one embodiment, the data interaction module includes a first read pointer and a first write pointer. The first chip module writes first data to the circular buffer based on the first write pointer and reads second data from the circular buffer based on the first read pointer. The second chip module writes second data to the circular buffer based on the first write pointer and reads first data from the circular buffer based on the first read pointer. It should be noted that the read pointer cycles through the data interaction module, and the first and second chip modules write data to the data interaction module in the cyclical order of the read pointers. When data needs to be read, it is not necessary to read in the order of storage; instead, the first read pointer is set according to the reading requirements, allowing data to be read from the data interaction module on demand, greatly improving the data interaction efficiency of the first and second chip modules. For example, when the first chip module needs to write first data to the circular buffer, the next position pointed to by the current write pointer is determined as the target write position, and the first data to be written is written to the target write position. When the first chip module needs to read target data from the circular buffer, the first read pointer is pointed to the position corresponding to the target data, and the target data can be read through the first read pointer.
[0022] As one embodiment, the data interaction module includes a second read pointer and a second write pointer. The first chip module writes first data to the linked buffer based on the second write pointer and reads second data from the linked buffer based on the second read pointer; the second chip module writes second data to the linked buffer based on the second write pointer and reads first data from the linked buffer based on the second read pointer. It should be noted that the size of the linked buffer is set according to the data interaction requirements of the first and second chip modules, and the memory can be expanded according to application needs to improve data interaction efficiency.
[0023] This invention also provides a chip verification IP, including a first chip module, a second chip module, and a multilingual data interaction structure. The first chip module is generated based on a hardware description language, and the second chip module is generated based on a high-level language. It should be noted that in the chip verification IP, the first and second chip modules are component modules, and the first and second chip modules interact with each other based on the multilingual data interaction structure. It is understood that the multilingual data interaction structure can be set between any two component modules in different languages in the chip verification IP. These two different language component modules typically refer to one component module generated based on a high-level language and the other component module generated based on a hardware design language. Specifically, the component modules in the chip verification IP can be algorithm modules that implement a preset algorithm.
[0024] This invention also provides a verification system, including a protocol layer, a conversion layer, a physical layer, a design under test (DUT), and a multilingual data interaction structure. The protocol layer, conversion layer, physical layer, and DUT are sequentially ranked in descending order. Generally, higher layers are easier to implement using high-level languages, while lower layers are easier to implement using hardware description languages. Therefore, it is possible for two adjacent layers to have one configured using a high-level language and the other using a hardware description language. When one of two adjacent layers is configured using a high-level language and the other using a hardware description language, the two adjacent layers are respectively designated as a first chip module and a second chip module. The multilingual data interaction structure is then established between the two adjacent layers, and the two adjacent layers interact based on this structure. It is understood that in this embodiment of the verification system, the first chip module and the second chip module are specifically components of different layers. The multilingual data interaction structure can be set between any two layers generated in different languages within the verification system, and communication between layers generated in different languages is based on the multilingual data interaction structure.
[0025] This invention enables bidirectional data interaction between two chip modules speaking different languages by setting up a multilingual data interaction structure. The interaction data is first stored in the data interaction module and then read according to the data interaction requirements, which improves the efficiency of chip verification.
[0026] The above description is merely a preferred embodiment of the present invention and is not intended to limit the present invention in any way. Although the present invention has been disclosed above with reference to preferred embodiments, it is not intended to limit the present invention. Any person skilled in the art can make some modifications or alterations to the above-disclosed technical content to create equivalent embodiments without departing from the scope of the present invention. Any simple modifications, equivalent changes, and alterations made to the above embodiments based on the technical essence of the present invention without departing from the scope of the present invention shall still fall within the scope of the present invention.
Claims
1. A multilingual data interaction structure, characterized in that, The first chip module and the second chip module interact with each other through the multilingual data interaction structure, which includes a first sending module, a first receiving module, a second sending module, a second receiving module, and a data interaction module. The first transmitting module, the first receiving module, the second transmitting module, and the second receiving module are respectively connected to the data interaction module. The first chip module is connected to the first transmitting module and the second receiving module, and the second receiving module is connected to the second transmitting module and the first receiving module. The first sending module includes a first sending API and a first sending DPI; The first receiving module includes a first receiving API and a first receiving DPI; The second sending module includes a second sending API and a second sending DPI; The second receiving module includes a second receiving API and a second receiving DPI; The data interaction module is generated based on a high-level language; If the first chip module is generated based on a high-level language, then the first chip module directly stores the first data to the data interaction module through the first sending API, and directly reads the second data from the data interaction module through the second receiving API. If the first chip module is generated based on a hardware description language, then the first chip module converts the first data into a high-level language description form through a first transmitting DPI and stores it in the data interaction module, and reads the second data through a second receiving DPI and converts it into a hardware description language form; If the second chip module is generated based on a high-level language, then the second chip module directly stores the second data to the data interaction module through the second sending API, and directly reads the first data from the data interaction module through the first receiving API; If the second chip module is generated based on a hardware description language, then the second chip module converts the second data into a high-level language description form through the second transmitting DPI and stores it in the data interaction module. It reads the first data through the first receiving DPI and converts it into a hardware description language form.
2. The multilingual data interaction structure according to claim 1, characterized in that, The data interaction module includes a circular buffer, a chained buffer, and a memory database. At the same time, one task can be selected from the circular buffer, the chained buffer, and the memory database. When the first chip module and the second chip module interact based on a fixed data length, the circular buffer is selected. When the first chip module and the second chip module interact based on variable data length, a strung-chain buffer or a memory database is selected.
3. The multilingual data interaction structure according to claim 2, characterized in that, The in-memory database is an SQL database.
4. The multilingual data interaction structure according to claim 2, characterized in that, The data interaction module includes a first read pointer and a first write pointer; The first chip module writes first data to the circular buffer based on the first write pointer and reads second data from the circular buffer based on the first read pointer; The second chip module writes second data to the circular buffer based on the first write pointer and reads first data from the circular buffer based on the first read pointer.
5. The multilingual data interaction structure according to claim 2, characterized in that, The data interaction module includes a second read pointer and a second write pointer; The first chip module writes first data to the linked buffer based on the second write pointer and reads second data from the linked buffer based on the second read pointer; The second chip module writes second data to the chained buffer based on the second write pointer and reads first data from the chained buffer based on the second read pointer.
6. The multilingual data interaction structure according to claim 1, characterized in that, The data interaction module is generated based on the C++ language, and the first chip module and the second chip module are generated based on the C++, Python or SystemVerilog languages.
7. A chip verification IP, characterized in that, The system includes a first chip module, a second chip module, and a multilingual data interaction structure as described in any one of claims 1 to 6. The first chip module is generated based on a hardware description language, the second chip module is generated based on a high-level language, and the first chip module and the second chip module perform data interaction based on the multilingual data interaction structure.
8. A verification system, characterized in that, The system includes a protocol layer, a conversion layer, a physical layer, a design under test (DUT), and a multilingual data interaction structure as described in any one of claims 1 to 6. The protocol layer, conversion layer, physical layer, and DUT are arranged in descending order of hierarchy. When one of two adjacent layers is set using a high-level language and the other using a hardware description language, the two adjacent layers are respectively designated as a first chip module and a second chip module. The multilingual data interaction structure is then set between the two adjacent layers, and the two adjacent layers interact with each other based on the multilingual data interaction structure.
Citation Information
Patent Citations
Chip verification system, method, device and equipment and storage medium
CN113342583A
Chip verification method and device, electronic equipment and storage medium
CN115422864A
Multi-language compatible method and device for chip verification, equipment and storage medium
CN118245309A
Chip front-end verification method and platform
CN118410749A
Chip system-level verification system
CN119026562A
Cited By
A cross-language data transmission method based on a scratchpad register, a chip verification method and system of a mixed language verification environment
CN122389768A
Chip verification method and system with software and hardware cooperation
CN122616477A