Method and device for creating an interpolation lookup table, electronic device, storage medium
Patent Information
- Application Number
- CN202311850043.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-12-28
- Publication Date
- 2026-10-30
- Estimated Expiration
- 2043-12-28
AI Technical Summary
[0004]鉴于此,本申请提供了一种插值查找表的创建方法及装置、电子设备、存储介质,可以改善插值查找表的数量越多以及由此导致的影响仿真速度的问题
[0035]如上所述,本申请判断是否存在与插值查找表具有关联关系的器件参数,即判断是否有器件参数会影响到插值查找表(的数据),如果没有,则为全部器件共同创建一插值查找表;如果有,则为会影响插值查找表的所有器件共同创建一插值查找表,以及为不会影响插值查找表的各个器件分别创建对应的一插值查找表;于此,本申请可以实现多个器件共享一个插值查找表,降低所创建的插值查找表的个数,有利于提高仿真速度,缩短集成电路的仿真验证周期,进而加快整个集成电路的设计迭代,有助于集成电路尽早开始流片生产。
Smart Images

Figure CN117744585B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of circuit simulation and verification technology, specifically to a method and apparatus for creating an interpolation lookup table, an electronic device, and a storage medium. Background Technology
[0002] In recent years, with the rapid development of wireless communication technology, higher requirements have been placed on the integrated circuits involved, demanding better signal processing capabilities and shorter product development cycles. Taking radio frequency integrated circuits as an example, the circuit is mainly composed of active devices such as transistors and passive devices such as inductors and capacitors. According to the traditional design method, the designer first determines the performance parameters of the integrated circuit based on the system requirements, determines the circuit structure and draws the schematic diagram, uses circuit simulation to confirm the correctness of the schematic diagram parameter design, then draws the layout based on the circuit schematic diagram. After completing the layout, the layout and schematic diagram need to be compared and verified to determine the correctness of the layout. Then, the parasitic parameters of the layout are extracted and post-simulation is performed. If the post-simulation results are not ideal, the design parameters are optimized back to the schematic diagram, and the corresponding layout is modified. Then, the parasitic parameters of the layout are extracted again and post-simulation is performed. If the post-simulation results meet the expected design effect, the chip is sent to the foundry for manufacturing.
[0003] During simulation verification, when using a simulation model containing interpolation lookup tables (Table Model), the simulation tool creates an interpolation lookup table for each device in the circuit that requires simulation verification. Interpolation lookup tables can implement functions such as database connections, execution of SQL (Structured Query Language) statements, and data acquisition. In complex device model simulation scenarios, the number of interpolation lookup tables can be large, even reaching hundreds of thousands of lines of code. This undoubtedly consumes significant memory and increases the total computation time spent by the simulation tool, severely impacting simulation speed. Summary of the Invention
[0004] In view of this, this application provides a method and apparatus for creating interpolation lookup tables, an electronic device, and a storage medium, which can improve the problem of the increasing number of interpolation lookup tables and the resulting impact on simulation speed.
[0005] This application provides a method for creating an interpolation lookup table, the method comprising:
[0006] A simulation model of the circuit is created using a hardware description language, which is used to provide at least one interpolation lookup table for the devices in the simulation model.
[0007] Analyze the device parameters of the circuit based on the simulation model;
[0008] Determine if there are any device parameters that are related to the interpolation lookup table;
[0009] If not, then an interpolation lookup table is created for all devices.
[0010] If so, extract the device parameters that are related to the interpolation lookup table, create an interpolation lookup table for all devices whose device parameters have been extracted, and create a corresponding interpolation lookup table for each device whose device parameters have not been extracted.
[0011] Optionally, determining whether there are device parameters associated with the interpolation lookup table includes:
[0012] S31: Determine the data for the table_data_source field of the interpolation lookup table;
[0013] S32: Determine whether the data in the table_data_source field has an assignment relationship with the preset device parameters;
[0014] If so, then execute S331: Determine if there are device parameters that are associated with the interpolation lookup table;
[0015] If not, then continue executing S31 to S32; and, until after executing S31 to S32 on all devices of the circuit, if it is determined that the data in the table_data_source field does not have an assignment relationship with the preset device parameters, then it is determined that there are no device parameters that are associated with the interpolation lookup table.
[0016] Optionally, the preset device parameters are derived from the device corresponding to the interpolation lookup table, and / or devices that have a controlled relationship with the device corresponding to the interpolation lookup table.
[0017] Optionally, the data in the table_data_source field may include at least one of constants, parameters, variables, and functions.
[0018] Optionally, the devices from which device parameters are extracted can be grouped together, and during the simulation verification process, all devices within the group share an interpolation lookup table.
[0019] Optionally, the extraction of device parameters associated with the interpolation lookup table, and the creation of an interpolation lookup table for all devices whose device parameters are extracted, includes:
[0020] When determining the first device from which device parameters are extracted, an interpolation lookup table is created;
[0021] Then, when determining the device parameters for each device, check if a corresponding interpolation lookup table already exists;
[0022] If so, the interpolation lookup table created for the first device is reused;
[0023] If not, an interpolation lookup table is created and a correspondence is established with the first device.
[0024] Optionally, the hardware description language includes the Verilog-AMS modeling language.
[0025] This application provides an apparatus for creating an interpolation lookup table, comprising:
[0026] A creation module is used to create a simulation model of a circuit using a hardware description language, wherein the hardware description language is used to provide at least one interpolation lookup table for the devices in the simulation model;
[0027] An analysis module is used to analyze the device parameters of the circuit based on the simulation model;
[0028] The judgment module is used to determine whether there are any device parameters that are related to the interpolation lookup table;
[0029] The control module is used to create an interpolation lookup table for all devices when there are no device parameters associated with the interpolation lookup table; and to extract the device parameters associated with the interpolation lookup table when there are device parameters associated with the interpolation lookup table, and to create an interpolation lookup table for the devices whose device parameters have been extracted, and to create a corresponding interpolation lookup table for the devices whose device parameters have not been extracted.
[0030] This application provides an electronic device comprising:
[0031] processor;
[0032] Memory used to store the processor's executable instructions;
[0033] The processor is configured to execute the instructions to implement the steps corresponding to any of the above methods for creating an interpolation lookup table.
[0034] This application provides a storage medium storing a computer program, which, when executed by a processor, implements the steps corresponding to any of the above interpolation lookup table creation methods.
[0035] As described above, this application determines whether there are device parameters related to the interpolation lookup table, that is, whether there are device parameters that affect the data of the interpolation lookup table. If not, an interpolation lookup table is created for all devices. If so, an interpolation lookup table is created for all devices that affect the interpolation lookup table, and a separate interpolation lookup table is created for each device that does not affect the interpolation lookup table. In this way, this application can realize multiple devices sharing one interpolation lookup table, reduce the number of interpolation lookup tables created, which is beneficial to improve simulation speed, shorten the simulation verification cycle of integrated circuits, and thus accelerate the design iteration of the entire integrated circuit, which helps the integrated circuit to start tape-out production as early as possible. Attached Figure Description
[0036] Figure 1 This is a flowchart illustrating a method for creating an interpolation lookup table according to an embodiment of this application;
[0037] Figure 2 This is a flowchart illustrating a process for determining whether a device parameter associated with an interpolation lookup table exists, provided in an embodiment of this application.
[0038] Figure 3 This is a schematic diagram of the structure of an interpolation lookup table creation device provided in an embodiment of this application. Detailed Implementation
[0039] To address the aforementioned problems in the prior art, this application provides a method and apparatus for creating an interpolation lookup table, an electronic device, and a storage medium. These protection subjects are based on the same concept, and the principles for solving the problems are basically the same or similar. The implementation methods of each protection subject can be referred to mutually, and repeated details will not be elaborated.
[0040] To make the objectives, technical solutions, and advantages of this application clearer, the technical solutions of this application will be clearly described below in conjunction with specific embodiments and corresponding drawings. Obviously, the embodiments described below are only a part of the embodiments of this application, and not all of them. Unless otherwise specified, the following embodiments and their technical features can be combined with each other, and also belong to the technical solutions of this application.
[0041] Figure 1This is a flowchart illustrating a method for creating an interpolation lookup table according to an embodiment of this application. The circuit to which this method is applicable can also be called an integrated circuit, including but not limited to radio frequency integrated circuits. These integrated circuits can be fabricated using semiconductor integrated circuit technology and have characteristics such as small size, low power consumption, and high reliability. The integrated circuit can include at least one circuit device such as a low-noise amplifier, power amplifier, oscillator, or mixer, and its operating frequency can range from several hundred MHz to several GHz or tens of GHz. The execution entity of the method can be a simulation tool, which is used to simulate the circuit (including all or part of the circuit devices it contains).
[0042] like Figure 1 As shown, the method for creating this interpolation lookup table includes the following steps:
[0043] S1: A simulation model of the circuit is created using a hardware description language, which provides at least one interpolation lookup table for the devices in the simulation model.
[0044] In one example, the netlist file of the circuit can be obtained first. This netlist file is used to describe at least the topology, excitation signals, and simulation parameters of the circuit and circuit devices to be simulated. Then, the Verilog-AMS modeling language can be used to create a simulation model for the circuit devices, thereby simulating and verifying analog signal circuits or mixed digital and analog signal circuits.
[0045] The syntax rules for any interpolation lookup table can be as follows:
[0046] table_model(table_inputs, table_data_source[, table_control_string])
[0047] The table_inputs field represents the input variables of the interpolation lookup table, the table_data_source field represents the specific data in the interpolation lookup table, which is a series of multidimensional scatter functions represented by a text file or array, and the table_control_string field specifies the interpolation method of the lookup table.
[0048] The data in the `table_data_source` field can include at least one of the following: constants, parameters, variables, and functions. A constant (Literal) is a constant value of a specific type, a constant in the literal sense. For example, the numbers 2 and 3.14 are constants, and constants remain unchanged throughout the entire program's lifecycle. A parameter is a value passed when a function or method is called. It is used to pass data to the function or method. When declaring a function or method, the parameter must specify its name and type. During the execution of the function or method, the value of the parameter can be modified, but this will not affect data in other parts of the program. A variable is storage space where values can be assigned and changed during program execution. Variables can be used to store data of any type, such as integers, floating-point numbers, and characters, and can be used multiple times in the program. The value of a variable can usually change as the program executes, hence the name "variable."
[0049] S2: Analyze the device parameters of the circuit based on the simulation model.
[0050] The purpose of performing device parameter analysis is to determine whether any device parameters will affect the data in the table_data_source field, and thus affect the simulation results based on the interpolation lookup table.
[0051] The device parameters can be the data in the table_data_source field.
[0052] S3: Determine if there are any device parameters that are related to the interpolation lookup table.
[0053] If not, then execute S41: Create an interpolation lookup table for all devices.
[0054] If so, then execute S42: extract the device parameters that are related to the interpolation lookup table, and create an interpolation lookup table for all devices whose device parameters have been extracted, and create a corresponding interpolation lookup table for each device whose device parameters have not been extracted.
[0055] In one example, the simulation tool can determine whether there are device parameters related to the interpolation lookup table based on the `table_data_source` field of the interpolation lookup table. Combined with... Figure 2 As shown, the specific process of S3 performing the judgment includes:
[0056] S31: Determine the data for the table_data_source field of the interpolation lookup table;
[0057] S32: Determine whether the data in the table_data_source field has an assignment relationship with the preset device parameters;
[0058] If so, then execute S331: Determine if there are device parameters that are associated with the interpolation lookup table;
[0059] If not, continue executing S31 to S32; and, until after executing S31 to S32 on all devices of the circuit, if it is determined that the data in the table_data_source field does not have an assignment relationship with the preset device parameters, then it is determined that there are no device parameters that are associated with the interpolation lookup table.
[0060] The so-called assignment relationship can be a direct assignment relationship between two parameters, such as a preset functional relationship between data A and preset device parameter B, including but not limited to A = f(x)B; the so-called assignment relationship can also be an indirect assignment relationship between two parameters through one or more other parameters, such as a first preset functional relationship between data A and other parameters C, including but not limited to A = f(x)C, and if other parameters C and preset device parameter B satisfy a second preset functional relationship, including but not limited to C = x + B, then it means that data A and preset device parameter B have an indirect assignment relationship.
[0061] The preset device parameters only need to represent the relevant simulation characteristics of the circuit devices, and their specific source is not limited in this application. In one example, the preset device parameters are derived from the devices corresponding to the interpolation lookup table, and / or devices that have a controlled relationship with the devices corresponding to the interpolation lookup table.
[0062] After S3, the simulation tool can group the devices whose device parameters are extracted into a group, that is, group the devices that are associated with the interpolation lookup table into a group, and during the simulation verification process, all devices in the same group share an interpolation lookup table.
[0063] For example, when determining the first device for extracting device parameters, that is, when determining the first device that has a relationship with the interpolation lookup table, an interpolation lookup table can be created. Subsequently, when determining each device for extracting device parameters, that is, when determining each device that has a relationship with the interpolation lookup table, it is checked whether a corresponding interpolation lookup table already exists. If yes, the current device that has a relationship with the interpolation lookup table shares (also known as reuses) the interpolation lookup table with the first device. If no, it means that the current device does not share the interpolation lookup table with any previous device (including the first device), so a new interpolation lookup table is created, and the correspondence between the newly created interpolation lookup table and the current device is established.
[0064] In step S42, device parameters that are associated with the interpolation lookup table are extracted, and an interpolation lookup table is created for all devices whose device parameters have been extracted, including:
[0065] When determining the first device from which device parameters are extracted, an interpolation lookup table is created;
[0066] Then, when determining the device parameters for each device, check if a corresponding interpolation lookup table already exists;
[0067] If so, the interpolation lookup table created for the first device is reused;
[0068] If not, it means that the interpolation lookup table created for the first device has not been found. Specific reasons include, but are not limited to, the interpolation lookup table created for the first device being lost, damaged, or unusable. In this case, the simulation tool can recreate an interpolation lookup table and establish a correspondence with the first device.
[0069] As described above, this application determines whether there are device parameters related to the interpolation lookup table, that is, whether there are device parameters that affect the data of the interpolation lookup table. If not, an interpolation lookup table is created for all devices. If so, an interpolation lookup table is created for all devices that affect the interpolation lookup table, and a separate interpolation lookup table is created for each device that does not affect the interpolation lookup table. In this way, this application can realize multiple devices sharing one interpolation lookup table, reduce the number of interpolation lookup tables created, which is beneficial to improve simulation speed, shorten the simulation verification cycle of integrated circuits, and thus accelerate the design iteration of the entire integrated circuit, which helps the integrated circuit to start tape-out production as early as possible.
[0070] like Figure 3 As shown in the figure, this application embodiment also provides an interpolation lookup table creation apparatus 30, including:
[0071] Module 31 is used to create a simulation model for the circuit using a hardware description language, wherein the hardware description language is used to provide at least one interpolation lookup table for the simulation model.
[0072] Analysis module 32 is used to analyze the device parameters of the circuit based on the simulation model;
[0073] The judgment module 33 is used to determine whether there are any device parameters that are related to the interpolation lookup table;
[0074] Control module 34 is configured to create an interpolation lookup table for all devices when no device parameters associated with the interpolation lookup table exist; and,
[0075] When there are device parameters that are associated with the interpolation lookup table, extract the device parameters that are associated with the interpolation lookup table, create an interpolation lookup table for the device whose device parameters are extracted, and create a corresponding interpolation lookup table for the device whose device parameters are not extracted.
[0076] This application also provides an electronic device, including a memory and a processor. The memory stores instructions, such as instructions for creating an interpolation lookup table, which, when executed by the processor, implement the steps corresponding to the interpolation lookup table creation method as described in any of the above examples.
[0077] This application does not specify the specific form of the electronic device.
[0078] This application embodiment also provides a storage medium storing a computer program, which, when executed by a processor, implements the steps corresponding to the interpolation lookup table creation method as described in any example.
[0079] The storage medium may include: read-only memory (ROM), random access memory (RAM), disk or optical disk, etc.
[0080] Since the instructions stored in the storage medium can execute the steps in any of the interpolation lookup table creation methods provided in the embodiments of this application, the beneficial effects that any of the interpolation lookup table creation methods provided in the embodiments of this application can achieve can be realized. For details, please refer to the previous embodiments, which will not be repeated here.
[0081] In addition, the interpolation lookup table creation device 30, electronic device and storage medium provided in the embodiments of this application are complete devices and also have the structures that are known devices have. This application only provides exemplary descriptions of some structural elements involved in circuit simulation verification, and does not list other structural elements one by one.
[0082] The above description is only a part of the embodiments of this application and does not limit the patent scope of this application. For those skilled in the art, any equivalent structural transformations made using the content of this specification and drawings are similarly included within the patent protection scope of this application.
[0083] Although this document uses terms such as "first," "second," etc., to describe various types of information, this information should not be limited to these terms. These terms are only used to distinguish information of the same type from one another. Furthermore, the singular forms "a," "an," and "the" are intended to also include the plural forms. The terms "or" and "and / or" are interpreted as inclusive, or meaning either one or any combination thereof. Exceptions to this definition only arise when combinations of elements, functions, steps, or operations are inherently mutually exclusive in some way.
Claims
1. A method for creating an interpolation lookup table, characterized in that, The method includes: A simulation model of the circuit is created using a hardware description language, which is used to provide at least one interpolation lookup table for the devices in the simulation model. Analyze the device parameters of the circuit based on the simulation model; Determining whether there are any device parameters associated with the interpolation lookup table includes: S31: determining the data of the table_data_source field of the interpolation lookup table; and S32: determining whether the data of the table_data_source field has an assignment relationship with the preset device parameters; if yes, then execute S331: determining whether there are any device parameters associated with the interpolation lookup table; if no, then continue executing S31 to S32; and, until after executing S31 to S32 on all devices of the circuit, if it is determined that the data of the table_data_source field does not have an assignment relationship with the preset device parameters, then it is determined that there are no device parameters associated with the interpolation lookup table. If there are no device parameters that are associated with the interpolation lookup table, then an interpolation lookup table is created for all devices. If there are device parameters that are associated with the interpolation lookup table, then extract the device parameters that are associated with the interpolation lookup table, and create an interpolation lookup table for all devices whose device parameters have been extracted, and create a corresponding interpolation lookup table for each device whose device parameters have not been extracted.
2. The method according to claim 1, characterized in that, The preset device parameters are derived from the devices corresponding to the interpolation lookup table, and / or devices that have a controlled relationship with the devices corresponding to the interpolation lookup table.
3. The method according to claim 1, characterized in that, The data in the table_data_source field includes at least one of constants, parameters, variables, and functions.
4. The method according to claim 1, characterized in that, Devices whose parameters are extracted are grouped together, and during simulation verification, all devices in the group share an interpolation lookup table.
5. The method according to claim 4, characterized in that, The extraction and interpolation lookup table contains related device parameters, and an interpolation lookup table is created for all devices whose device parameters are extracted, including: When determining the first device from which device parameters are extracted, an interpolation lookup table is created; Then, when determining the device parameters for each device, check if a corresponding interpolation lookup table already exists; If so, the interpolation lookup table created for the first device is reused; If not, an interpolation lookup table is created and a correspondence is established with the first device.
6. The method according to any one of claims 1 to 5, characterized in that, The hardware description language includes the Verilog-AMS modeling language.
7. An apparatus for creating an interpolation lookup table, characterized in that, The device includes: A creation module is used to create a simulation model of a circuit using a hardware description language, wherein the hardware description language is used to provide at least one interpolation lookup table for the devices in the simulation model; The analysis module is used to analyze the device parameters of the circuit based on the simulation model, including: S31, determining the data of the table_data_source field of the interpolation lookup table; and S32, determining whether the data of the table_data_source field has an assignment relationship with the preset device parameters; if yes, then execute S331: determine that there are device parameters that are associated with the interpolation lookup table; if no, then continue to execute S31 to S32; and, until after executing S31 to S32 on all devices of the circuit, if it is determined that the data of the table_data_source field does not have an assignment relationship with the preset device parameters, then it is determined that there are no device parameters that are associated with the interpolation lookup table. The judgment module is used to determine whether there are any device parameters that are related to the interpolation lookup table; The control module is used to create an interpolation lookup table for all devices when there are no device parameters associated with the interpolation lookup table; and to extract the device parameters associated with the interpolation lookup table when there are device parameters associated with the interpolation lookup table, and to create an interpolation lookup table for the devices whose device parameters have been extracted, and to create a corresponding interpolation lookup table for the devices whose device parameters have not been extracted.
8. An electronic device, characterized in that, The electronic device includes: processor; Memory used to store the processor's executable instructions; The processor is configured to execute the instructions to implement the method for creating an interpolation lookup table as described in any one of claims 1 to 6.
9. A storage medium, characterized in that, The system contains a computer program that, when executed by a processor, implements the method for creating an interpolation lookup table as described in any one of claims 1 to 6.
Citation Information
Patent Citations
Emulation circuit with a hold time algorithm, logic and analyzer and shadow memory
US6446249B1
Method and system for providing additional look-up tables
US9292639B1