A chip simulation model correction method, device, equipment and medium
Patent Information
- Application Number
- CN202210312296.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-03-28
- Publication Date
- 2026-10-23
- Estimated Expiration
- 2042-03-28
AI Technical Summary
[0093]本发明实施例公开的一种芯片仿真模型的修正方法、装置、设备及介质,该方法包括:首先根据初始数据形成初始模型曲线,然后确定预设选择窗,通过预设选择窗多次扫描初始模型曲线,获得多个修正模型曲线,其中,修正模型曲线为预设选择窗内的所述初始模型曲线,再然后根据每个修正模型曲线对应的修正模型数据生成仿真波形,最后将每个仿真波形与标准波形进行对比,确定误差参数最小的修正模型数据为最终修正数据。由于通过预设选择窗从初始模型曲线中选择多个修正模型曲线,并将每个修正模型曲线对应的修正模型数据生成的仿真波形与标准波形进行对比,将误差参数最小的修正模型数据作为最终修正数据,从而可以减少初始模型曲线中的无效稳态时间,提高了芯片仿真模型支持的最高频率,避免了超频现象的发生,进而提高芯片IBIS仿真模型的仿真精度。
Smart Images

Figure CN116861832B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of circuit simulation, and in particular to a method, apparatus, device, and medium for correcting chip simulation models. Background Technology
[0002] Input / Output Buffer Information Specification (IBIS) models are currently the primary simulation model type used in simulations. Compared to simulation programs with integrated circuit emphasis (SPICE) models, IBIS models offer advantages such as higher simulation efficiency, shorter simulation time, and no leakage of internal chip design details. However, since IBIS models are converted from SPICE models, while improving simulation efficiency, they can lead to a decrease in simulation accuracy, causing eye diagram distortion in the simulation results, such as jitter, discontinuous edges, and an edge appearing before the previous edge has finished. Therefore, how to maintain simulation efficiency without compromising simulation accuracy has become a major challenge in high-speed circuit simulation. Summary of the Invention
[0003] This invention provides a method, apparatus, device, and medium for correcting chip simulation models, in order to solve the problem of how to improve simulation efficiency without affecting simulation accuracy.
[0004] In a first aspect, embodiments of the present invention provide a method for correcting a chip simulation model, the method comprising:
[0005] Generate an initial model curve based on the initial data;
[0006] A preset selection window is determined, and the initial model curve is scanned multiple times through the preset selection window to obtain multiple corrected model curves, wherein the corrected model curves are the initial model curves within the preset selection window;
[0007] Simulation waveforms are generated based on the correction model data corresponding to each of the correction model curves;
[0008] Each simulated waveform is compared with a standard waveform, and the corrected model data with the smallest error parameter is determined as the final corrected data.
[0009] In one possible implementation, determining the preset selection window includes determining the width of the preset selection window and determining the length of the preset selection window, wherein determining the width of the preset selection window includes:
[0010] Obtain the highest frequency supported by the chip simulation model;
[0011] According to preset rules, a value that is 0.5% to 5% smaller than the reciprocal of the highest frequency is selected as the width of the preset selection window.
[0012] In one possible implementation, after determining the width of the preset selection window and before scanning the initial model curve multiple times through the preset selection window, the method further includes:
[0013] The length of the preset selection window is determined based on the vertical distance between the peak and trough with the largest amplitude of the initial model curve.
[0014] The preset selection window is determined based on its length and width.
[0015] In one possible implementation, the step of repeatedly scanning the initial model curve through a preset selection window to obtain multiple corrected model curves includes:
[0016] Determine the step length and initial position of the preset selection window;
[0017] The preset selection window is moved multiple times from the starting point along the horizontal axis of the initial model curve, with each movement being the step length;
[0018] The initial model curve within the preset selection window at the initial position and the initial model curve within the preset selection window after each movement are used as the plurality of corrected model curves.
[0019] In one possible implementation, moving the preset selection window multiple times from the starting point along the horizontal axis of the initial model curve includes:
[0020] If the fluctuation amplitude of the curve outside the preset selection window is greater than 3% to 8% of the fluctuation amplitude of the initial model curve, then the preset selection window stops moving;
[0021] The width of the preset selection window is 20 to 100 times the step length;
[0022] The initial position is the horizontal coordinate of the side of the preset selection window closest to the origin of the coordinate system, and the initial position is any point between 0 and 10 ps of the initial model curve;
[0023] The fluctuation range of the initial model curve is the difference between the ordinate of the highest point and the ordinate of the lowest point in the initial model curve.
[0024] In one possible implementation, generating simulation waveforms based on the correction model data corresponding to each of the correction model curves includes:
[0025] Obtain the voltage or current value from the corrected model data, and then input the corrected model data into the standard drive model;
[0026] The simulation waveform of the modified model data is generated by inputting an excitation signal into the standard driving model.
[0027] In one possible implementation, the standard waveform is a waveform generated by inputting standard model data into the standard driving model and inputting the same excitation signal as the modified model data into the standard driving model.
[0028] In one possible implementation, comparing each of the simulated waveforms with a standard waveform includes:
[0029] The amplitude of the simulated waveform is compared with that of the standard waveform, and the contours of the amplitudes of the simulated waveform and the standard waveform are also compared.
[0030] In one possible implementation, comparing the amplitude of the simulated waveform with that of the standard waveform includes:
[0031] Calculate the amplitude difference of each waveform in the simulated waveform and the standard waveform, and the ratio of the amplitude of the standard waveform;
[0032] One or more of the average value, variance, and mean difference of the total amplitude ratio of the simulated waveform are determined as the first error parameter.
[0033] In one possible implementation, comparing the amplitude profiles of the simulated waveform with those of the standard waveform includes:
[0034] Multiple error determination points are selected from the simulation waveform;
[0035] Calculate the difference between the ordinate of each error determination point on the simulated waveform and the ordinate of the standard waveform;
[0036] One or more of the following—the average, variance, and mean difference—of the ordinate differences of multiple error determination points are determined as the second error parameter.
[0037] In one possible implementation, the determination of the corrected model data with the minimum error parameter is the final corrected data, including:
[0038] The corrected model data corresponding to the simulation waveform with the smallest value between the first error parameter value and the second error parameter value is selected as the final corrected data.
[0039] In one possible implementation, comparing each of the simulated waveforms with a standard waveform includes:
[0040] The simulated eye diagram corresponding to each simulated waveform is compared with the standard eye diagram corresponding to the standard waveform.
[0041] In one possible implementation, comparing the simulated eye diagram corresponding to each simulated waveform with the standard eye diagram corresponding to the standard waveform includes:
[0042] Compare the coordinates of the intersection points of the simulated eye diagram and the standard eye diagram, and compare the lengths of the square holes in the simulated eye diagram and the standard eye diagram.
[0043] The intersection points of the simulated eye diagram and the intersection points of the standard eye diagram are compared, and the difference between the horizontal and vertical coordinates of the intersection points is determined as the third error parameter.
[0044] By comparing the length of the square hole in the simulated eye diagram with that in the standard eye diagram, the difference between the length of the square hole in the simulated eye diagram and that in the standard eye diagram is determined as the fourth error parameter.
[0045] In one possible implementation, the determination of the corrected model data with the minimum error parameter is the final corrected data, including:
[0046] The corrected model data corresponding to the simulation waveform with the smallest value among the third and fourth error parameter values is selected as the final corrected data.
[0047] Secondly, embodiments of the present invention provide a chip simulation model correction device, the device comprising:
[0048] The first curve generation module is used to generate the initial model curve based on the initial data;
[0049] The second curve generation module is used to determine a preset selection window, and to scan the initial model curve multiple times through the preset selection window to obtain multiple corrected model curves, wherein the corrected model curves are the initial model curves within the preset selection window;
[0050] The waveform generation module generates simulation waveforms based on the correction model data corresponding to each correction model curve.
[0051] The determination module compares each simulated waveform with a standard waveform and determines the corrected model data with the smallest error parameter as the final corrected data.
[0052] In one possible implementation, the second curve generation module is used to determine the preset selection window by determining the width and length of the preset selection window, wherein determining the width of the preset selection window includes:
[0053] Obtain the highest frequency supported by the chip simulation model;
[0054] According to preset rules, a value that is 0.5% to 5% smaller than the reciprocal of the highest frequency is selected as the width of the preset selection window.
[0055] In one possible implementation, after determining the width of the preset selection window and before scanning the initial model curve multiple times through the preset selection window, the second preset curve generation module is further configured to:
[0056] The length of the preset selection window is determined based on the vertical distance between the peak and trough with the largest amplitude of the initial model curve.
[0057] The preset selection window is determined based on its length and width.
[0058] In one possible implementation, the second curve generation module is used to scan the initial model curve multiple times through a preset selection window to obtain multiple corrected model curves, including:
[0059] Determine the step length and initial position of the preset selection window;
[0060] The preset selection window is moved multiple times from the starting point along the horizontal axis of the initial model curve, with each movement being the step length;
[0061] The initial model curve within the preset selection window at the initial position and the initial model curve within the preset selection window after each movement are used as the plurality of corrected model curves.
[0062] In one possible implementation, the second curve generation module is used to move the preset selection window multiple times from the starting point along the horizontal coordinate direction of the initial model curve, including:
[0063] If the fluctuation amplitude of the curve outside the preset selection window is greater than 3% to 8% of the fluctuation amplitude of the initial model curve, then the preset selection window stops moving;
[0064] The width of the preset selection window is 20 to 100 times the step length;
[0065] The initial position is the horizontal coordinate of the side of the preset selection window closest to the origin of the coordinate system, and the initial position is any point between 0 and 10 ps of the initial model curve;
[0066] The fluctuation range of the initial model curve is the difference between the ordinate of the highest point and the ordinate of the lowest point in the initial model curve.
[0067] In one possible implementation, the waveform generation module is used to generate a simulation waveform based on the correction model data corresponding to each correction model curve, including:
[0068] Obtain the voltage or current value from the corrected model data, and then input the corrected model data into the standard drive model;
[0069] The simulation waveform of the modified model data is generated by inputting an excitation signal into the standard driving model.
[0070] In one possible implementation, the standard waveform is a waveform generated by inputting standard model data into the standard driving model and inputting the same excitation signal as the modified model data into the standard driving model.
[0071] In one possible implementation, the determining module is configured to compare each of the simulated waveforms with a standard waveform, including:
[0072] The amplitude of the simulated waveform is compared with that of the standard waveform, and the contours of the amplitudes of the simulated waveform and the standard waveform are also compared.
[0073] In one possible implementation, the determining module is used to compare the amplitude of the simulated waveform with that of a standard waveform, including:
[0074] Calculate the amplitude difference of each waveform in the simulated waveform and the standard waveform, and the ratio of the amplitude of the standard waveform;
[0075] One or more of the average value, variance, and mean difference of the total amplitude ratio of the simulated waveform are determined as the first error parameter.
[0076] In one possible implementation, the waveform generation module for comparing the amplitude profiles of the simulated waveform and the standard waveform includes:
[0077] Multiple error determination points are selected from the simulation waveform;
[0078] Calculate the difference between the ordinate of each error determination point on the simulated waveform and the ordinate of the standard waveform;
[0079] One or more of the following—the average, variance, and mean difference—of the ordinate differences of multiple error determination points are determined as the second error parameter.
[0080] In one possible implementation, the determining module is used to determine the corrected model data with the smallest error parameter as the final corrected data, including:
[0081] The corrected model data corresponding to the simulation waveform with the smallest value between the first error parameter value and the second error parameter value is selected as the final corrected data.
[0082] In one possible implementation, the determining module is configured to compare each of the simulated waveforms with a standard waveform, including:
[0083] The simulated eye diagram corresponding to each simulated waveform is compared with the standard eye diagram corresponding to the standard waveform.
[0084] In one possible implementation, the determining module is used to compare the simulated eye diagram corresponding to each simulated waveform with the standard eye diagram corresponding to the standard waveform, including:
[0085] Compare the coordinates of the intersection points of the simulated eye diagram and the standard eye diagram, and compare the lengths of the square holes in the simulated eye diagram and the standard eye diagram.
[0086] The intersection points of the simulated eye diagram and the intersection points of the standard eye diagram are compared, and the difference between the horizontal and vertical coordinates of the intersection points is determined as the third error parameter.
[0087] By comparing the length of the square hole in the simulated eye diagram with that in the standard eye diagram, the difference between the length of the square hole in the simulated eye diagram and that in the standard eye diagram is determined as the fourth error parameter.
[0088] In one possible implementation, the determining module is used to determine the corrected model data with the smallest error parameter as the final corrected data, including:
[0089] The corrected model data corresponding to the simulation waveform with the smallest value among the third and fourth error parameter values is selected as the final corrected data.
[0090] Thirdly, embodiments of the present invention provide an electronic device, including: a processor; a memory for storing processor-executable instructions; wherein the processor implements the steps of the method described in any one of the first aspects by executing the executable instructions.
[0091] Fourthly, embodiments of the present invention provide a computer-readable and writable storage medium having computer instructions stored thereon, which, when executed by a processor, implement the steps of the method described in any one of the first aspects.
[0092] The beneficial effects of this invention are as follows:
[0093] This invention discloses a method, apparatus, device, and medium for correcting a chip simulation model. The method includes: first, forming an initial model curve based on initial data; then, determining a preset selection window; repeatedly scanning the initial model curve through the preset selection window to obtain multiple corrected model curves, wherein the corrected model curves are the initial model curves within the preset selection window; then, generating a simulation waveform based on the corrected model data corresponding to each corrected model curve; and finally, comparing each simulation waveform with a standard waveform to determine the corrected model data with the smallest error parameter as the final corrected data. By selecting multiple corrected model curves from the initial model curve through the preset selection window and comparing the simulation waveform generated from the corrected model data corresponding to each corrected model curve with the standard waveform, the corrected model data with the smallest error parameter is used as the final corrected data. This reduces the invalid steady-state time in the initial model curve, increases the maximum frequency supported by the chip simulation model, avoids overclocking, and thus improves the simulation accuracy of the chip IBIS simulation model. Attached Figure Description
[0094] 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.
[0095] Figure 1a This is a schematic diagram of a rise-edge voltage-time curve in a related technology;
[0096] Figure 1b This is a schematic diagram of a rising edge current-time curve in a related technology;
[0097] Figure 1c This is a schematic diagram of a falling edge current-time curve in a related technology;
[0098] Figure 1d This is a schematic diagram of a falling edge current-time curve in a related technology;
[0099] Figure 2 This is a flowchart illustrating a method for correcting a chip simulation model according to an embodiment of the present invention.
[0100] Figure 3 This is a schematic flowchart illustrating a method for correcting a chip simulation model according to an embodiment of the present invention.
[0101] Figure 4a A schematic diagram of a preset selection window in a voltage-time chart provided in an embodiment of the present invention;
[0102] Figure 4bA schematic diagram of a preset selection window in a current-time meter provided in an embodiment of the present invention;
[0103] Figure 5a This is a step diagram of a preset selection window in a voltage-time schedule provided by an embodiment of the present invention;
[0104] Figure 5b This is a schematic diagram of the stepping of a preset selection window in a current-time meter provided by an embodiment of the present invention;
[0105] Figure 6a This is a schematic diagram of the voltage-time rising edge of a modified model curve provided in an embodiment of the present invention;
[0106] Figure 6b A schematic diagram of the current-time rising edge of a modified model curve provided in an embodiment of the present invention;
[0107] Figure 7 A schematic diagram of a simulation circuit provided in an embodiment of the present invention;
[0108] Figure 8 This is a schematic diagram of eye diagram comparison provided in an embodiment of the present invention;
[0109] Figure 9a This is another eye diagram comparison diagram provided in an embodiment of the present invention;
[0110] Figure 9b A schematic diagram of a square hole in a simulated eye diagram provided in an embodiment of the present invention;
[0111] Figure 9c A schematic diagram of a square hole in a standard eye diagram provided in an embodiment of the present invention;
[0112] Figure 10 A schematic diagram of a chip simulation model correction device provided in an embodiment of the present invention;
[0113] Figure 11 This is a schematic diagram of the structure of an electronic device based on a chip simulation model provided in an embodiment of the present invention;
[0114] Figure 12 This is a schematic diagram of a program product for a chip simulation model provided in an embodiment of the present invention. Detailed Implementation
[0115] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail below with reference to the accompanying drawings. Obviously, the described embodiments are merely some embodiments of this invention, and not all embodiments. Based on the embodiments of this invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this invention.
[0116] Currently, in the field of circuit simulation, the increasing number of internal departmental circuits within chips leads to longer simulation times. Researchers typically use different models to simulate and verify circuit functionality. Among these, the most widely used models are SPICE and IBIS models. IBIS models are derived from SPICE models. While improving simulation efficiency, they often result in a decrease in simulation accuracy. Therefore, ensuring simulation efficiency without compromising accuracy has become a major challenge in high-speed circuit simulation. Overclocking is one of the most frequently encountered problems after converting from SPICE to IBIS models.
[0117] The overclocking problem of the IBIS model refers to the situation where, when using the IBIS model for simulation, the applied SPICE model-supported frequency F exceeds the highest frequency Fmax supported by the IBIS model. The IBIS model includes a series of voltage-current curves, which include voltage-time curves and current-time curves, such as... Figure 1a The image shown is a schematic diagram of a rise-edge voltage-time curve in related technologies, as follows: Figure 1b The image shows a schematic diagram of a rise-edge current-time curve in a related technology, as shown below. Figure 1c The image shows a schematic diagram of a falling edge current-time curve in a related technology, as shown below. Figure 1d The figure shows a schematic diagram of a falling edge current-time curve in related technologies. Combining the aforementioned curves, the sum of the rising edge time Tr and the falling edge time Tf of the voltage-current curve determines the highest frequency Fmax that the IBIS model can support, i.e., Fmax = 1 / (Tr + Tf). After the SPICE model is converted into the IBIS model, a useless steady-state time will inevitably be introduced before and after the rising and falling edges. The addition of this steady-state time leads to an increase in the rising edge time Tr and the falling edge time Tf, thereby reducing the highest frequency Fmax that the IBIS model can work normally. If the IBIS model is forced to run at the frequency F of the SPICE model, it will cause distortion of the simulation results.
[0118] To address the aforementioned problems, embodiments of the present invention provide a method, apparatus, device, and medium for correcting chip simulation models, thereby solving the problem of how to improve simulation efficiency without affecting simulation accuracy.
[0119] The following describes the chip simulation model correction method provided by the exemplary embodiments of this application in conjunction with the application scenarios described above and with reference to the accompanying drawings. It should be noted that the above application scenarios are only shown to facilitate understanding of the spirit and principles of this application, and the embodiments of this application are not limited in any way in this respect.
[0120] likeFigure 2 The diagram shown is a flowchart illustrating a chip simulation model correction method provided in an embodiment of the present invention. The method includes:
[0121] Step 201: Generate an initial model curve based on the initial data;
[0122] Step 202: Determine a preset selection window, and scan the initial model curve multiple times through the preset selection window to obtain multiple corrected model curves, wherein the corrected model curves are the initial model curves within the preset selection window;
[0123] Step 203: Generate simulation waveforms based on the correction model data corresponding to each correction model curve;
[0124] Step 204: Compare each simulated waveform with the standard waveform and determine the corrected model data with the smallest error parameter as the final corrected data.
[0125] This invention discloses a method for correcting a chip simulation model. The method includes: forming an initial model curve based on initial data; determining a preset selection window; scanning the initial model curve multiple times through the preset selection window to obtain multiple corrected model curves, wherein the corrected model curves are the initial model curves within the preset selection window; generating a simulation waveform based on the corrected model data corresponding to each corrected model curve; comparing each simulation waveform with a standard waveform; and determining the corrected model data with the smallest error parameter as the final corrected data. By selecting multiple corrected model curves from the initial model curve through the preset selection window and comparing the simulation waveform generated by the corrected model data corresponding to each corrected model curve with the standard waveform, the corrected model data with the smallest error parameter is used as the final corrected data. This reduces the invalid steady-state time in the initial model curve, increases the highest frequency supported by the chip simulation model, avoids overclocking, and thus improves the simulation accuracy of the chip simulation model.
[0126] The correction method for the above chip simulation model is explained in detail below:
[0127] like Figure 3 The diagram shown is a detailed flowchart of a chip simulation model correction method provided in an embodiment of the present invention. The method includes:
[0128] Step 301: Generate an initial model curve based on the initial data, then proceed to step 302;
[0129] It should be noted that the rising / falling edge waveforms within the IBIS model are represented as data, as shown in Table 1, which represents one type of rising edge waveform data in related technologies. When using IBIS models with long ineffective steady-state times, some simulation software supports automatically removing these times, while others do not. Therefore, removing the steady-state times from the source, i.e., the IBIS model file, in advance ensures that the IBIS model can function correctly in various simulation software without encountering overclocking issues.
[0130]
[0131]
[0132] Table 1
[0133] Step 302: Obtain the highest frequency supported by the chip; according to preset rules, select a value that is 0.5% to 5% smaller than the reciprocal of the highest frequency as the width of the preset selection window; determine the length of the preset selection window based on the vertical distance between the peak and trough of the largest amplitude of the initial model curve; and execute step 303.
[0134] For example, combining Figure 1a and Figure 1b If the highest frequency supported by the chip under test is 4.266Gbps, take the reciprocal of the highest frequency, which is 1 / 4.266Gbps = 234.4ps. Then, choose a value that is 0.5% to 5% smaller than the reciprocal of the highest frequency, such as 230ps, as the width of the preset selection window. Simultaneously, determine the length of the preset selection window based on the vertical distance between the peak and trough of the largest amplitude in the initial model curve. To ensure that most of the changes in the voltage-time and current-time curves fall within the preset selection window, its length should be greater than the vertical distance between the peak and trough of the largest amplitude in the initial model curve. For safety, the length of the preset selection window can be much larger than the vertical distance between the peak and trough of the largest amplitude in the initial model curve, for example, for... Figure 1a Using 420mV as the preset selection window length, for Figure 1b Using 1.9mA as the preset selection window length, to facilitate calculation, the lengths of the two preset selection windows mentioned above can be unified to obtain the preset selection window length. In summary, the length a and width b of the preset selection window are obtained.
[0135] Step 303: Determine the preset selection window based on its length and width, and proceed to step 304.
[0136] Referring to the example in step 302, combined with Figure 1a ,likeFigure 4a The diagram shown is a schematic of a preset selection window in a voltage-time chart according to an embodiment of the present invention. The length of the window is a1, and the width of the window is b1. Figure 4b The diagram shown is a schematic of a preset selection window in a current-time meter according to an embodiment of the present invention. The length of the window is a2 and the width of the window is b2.
[0137] Step 304: Determine the step length and initial position of the preset selection window, and then proceed to step 305.
[0138] In practice, the step length can be set to the preset selection window width. Times, referring to the example in step 302 above, such as Figure 5a The diagram shown is a stepping schematic of a preset selection window in a voltage-time schedule according to an embodiment of the present invention. Figure 5b The figure shows a stepping diagram of a preset selection window in a current-time meter according to an embodiment of the present invention. The width of the preset selection window is 230ps. The stepping length of the preset selection window in both figures is set to 5ps. After generating the correction model curve A at position m, the preset selection window is moved to position n, where n = m + 5ps.
[0139] In one implementation, the initial position can be the x-coordinate of the side of the preset selection window closest to the origin, such as any point between 0 and 10 ps of the initial model curve.
[0140] Step 305: Move the preset selection window multiple times along the horizontal axis of the initial model curve from the starting point of the movement, with each movement being a step length, and take the initial model curve in the preset selection window at the initial position and the initial model curve in the preset selection window after each movement as multiple corrected model curves, and then execute step 306.
[0141] It should be noted that the starting point of the movement can be the initial position or the position of the preset selection window after the last movement ended.
[0142] In one possible embodiment, referring to the example in step 304, after moving the preset selection window to position n, the corrected model curve B is generated, as follows: Figure 6a As shown, this is a schematic diagram of the voltage-time rising edge of a modified model curve provided in an embodiment of the present invention. Figure 6bThe diagram shown illustrates the current-time rising edge of a corrected model curve according to an embodiment of the present invention. In actual operation, when scanning the initial model curve through a preset selection window, each movement should ensure that most of the changes in the voltage-time curve and the current-time curve are within the preset selection window, and discard waveforms located outside the preset selection window to obtain a corrected model curve. However, since the 230ps preset selection window is difficult to completely cover all waveform changes, some waveform changes will always be discarded. Therefore, it is necessary to obtain multiple corrected model curves by moving the preset selection window multiple times to avoid discarding key waveforms.
[0143] Step 306: Determine whether the fluctuation amplitude of the curve outside the preset selection window is greater than the preset ratio of the fluctuation amplitude of the initial model curve. If yes, proceed to step 307; otherwise, proceed to step 305.
[0144] It should be noted that the fluctuation range of the initial model curve is the difference between the ordinate of the highest point and the ordinate of the lowest point in the initial model curve.
[0145] In one embodiment, the preset proportion by which the fluctuation amplitude of the curve outside the preset selection window is greater than the fluctuation amplitude of the initial model curve can be set to 3% to 8%. If the width of the preset selection window is 230ps, the preset proportion is set to 4%.
[0146] Step 307: The preset selection window stops moving, and step 308 is executed.
[0147] Step 308: Obtain the voltage or current value in the corrected model data, input the corrected model data into the standard drive model, and input the excitation signal into the standard drive model to generate the simulation waveform of the corrected model data, i.e., the corrected waveform.
[0148] Obtain the voltage or current values from the standard model data, input the standard model data into the standard drive model, input the same excitation signal as the modified model data into the standard drive model to generate the waveform of the standard model data, i.e. the standard waveform, and execute step 309.
[0149] In practice, the SPICE model corresponding to the IBIS model can be used as the standard model number.
[0150] like Figure 7The diagram shows a schematic of a simulation circuit according to an embodiment of the present invention. The simulation circuit includes a data type generator 701, a driving unit 702, and a receiving unit 703. Specifically, an ideal resistor can be used as the receiving unit 703, and a SPICE model or an IBIS model can be used as the driving unit 702. The data type generator 701 is used in conjunction to generate an excitation signal. The output terminal of the data type generator 701 is connected to the first terminal of the driving unit 702, and the second terminal of the driving unit 702 is connected to the first terminal of the receiving unit 703. The second terminal of the receiving unit 703 is grounded. The corrected model data is input into the SPICE model for simulation, and the input excitation signal generates a corrected waveform.
[0151] Among them, the receiving unit 703 has an ideal resistance value, which is the equivalent resistance value when the chip is used as a signal receiving unit.
[0152] Meanwhile, referring to the above standard driving model, the standard model data is brought into the standard driving model, and the same excitation signal as the modified model data is input into the standard driving model to generate a standard waveform.
[0153] The drive unit simulates the voltage and current characteristics at different times based on the input model data, which leads to different changes in the effect of transmitting the excitation signal. The waveform of the drive unit transmitting the excitation signal is collected by the waveform acquisition device, which is the simulation waveform of the model data corresponding to the drive end.
[0154] Step 309: Compare the amplitude of the simulated waveform with that of the standard waveform, and compare the contours of the amplitudes of the simulated waveform with those of the standard waveform, to determine the corrected model data with the smallest error parameter as the final corrected data.
[0155] In practice, the standard waveform obtained in the previous step is used as a reference and compared with the corrected waveform obtained in step 309.
[0156] In one possible embodiment, comparing the amplitude of a simulated waveform with that of a standard waveform may include: calculating the amplitude difference of each waveform in the simulated waveform and the standard waveform, and determining one or more of the average, variance, and average difference of the total amplitude difference ratio of the simulated waveforms as a first error parameter. Figure 8 As shown, since the shape of the simulated waveform is basically the same as that of the standard waveform, both the simulated waveform and the standard waveform have three troughs in amplitude. The difference between the ordinate of the highest and lowest points in each trough is the amplitude of the current trough. The amplitude difference of each trough can be obtained by comparing the amplitude of the simulated waveform and the amplitude of the standard waveform at the corresponding position. The first error parameter can be obtained by calculating the average, variance, or average difference of the amplitude differences of the three troughs.
[0157] In one possible embodiment, comparing the amplitude of the simulated waveform with that of the standard waveform may include: selecting multiple error determination points in the simulated waveform, calculating the difference between the vertical coordinate of each error determination point on the simulated waveform and the vertical coordinate of the standard waveform, and determining one or more of the average, variance, and average difference of the vertical coordinate differences of the multiple error determination points as a second error parameter.
[0158] It should be noted that the aforementioned multiple error determination points can be all points in the waveform or only some points. In practical applications, the simulated waveform and the standard waveform can be compared within the same coordinate system, such as... Figure 8 As shown, this is a schematic diagram of eye diagram comparison provided by an embodiment of the present invention. The point value on the non-overlapping waveform is determined as the above-mentioned error determination point, such as point A in the figure.
[0159] Finally, the corrected model data corresponding to the simulation waveform with the smallest first and second error parameter values is selected as the final corrected data.
[0160] In another possible embodiment, comparing the amplitude profiles of the simulated waveform and the standard waveform may include: comparing the simulated eye diagram corresponding to each simulated waveform with the standard eye diagram corresponding to the standard waveform, such as... Figure 9a As shown, this is another eye diagram comparison diagram provided by an embodiment of the present invention. It can determine the intersection points B and B' of the simulated eye diagram and the standard eye diagram, compare the coordinates of the intersection points of the simulated eye diagram and the standard eye diagram, and determine the difference between the horizontal and vertical coordinates of the intersection points as the third error parameter; as shown... Figure 9b As shown, this is a schematic diagram of a square hole in a simulated eye diagram provided by an embodiment of the present invention. Figure 9c As shown, this is a schematic diagram of a square hole in a standard eye diagram provided by an embodiment of the present invention. By comparing the lengths of the square hole K in the simulated eye diagram and the square hole K' in the standard eye diagram, the difference between the lengths of the square hole in the simulated eye diagram and the square hole in the standard eye diagram is determined as the fourth error parameter.
[0161] It should be noted that the process of determining the square hole is as follows: the straight line connecting the intersection points of the eye diagram edges is used as the axis of symmetry, and the height of the square hole is determined by a preset height. All four vertices of the square hole are located on the simulated eye diagram curve or the standard eye diagram curve. The preset height is a voltage of 100-120mV as specified in general standards.
[0162] Finally, the corrected model data corresponding to the simulation waveform with the smallest value among the third and fourth error parameters is selected as the final corrected data.
[0163] Furthermore, regarding the two methods for determining the final corrected data mentioned above, one method can be chosen or used in combination. For example, the corrected model data corresponding to the simulation waveform with the smallest error parameter value among the above error parameter values can be determined as the final corrected data.
[0164] The correction data with the smallest error obtained through the above steps effectively removes the invalid steady-state time in the initial model curve, thereby reducing the rise time and fall time, increasing the maximum frequency Fmax supported by the IBIS model, avoiding overclocking problems, and improving the simulation accuracy of the chip simulation model.
[0165] Based on the same inventive concept, this embodiment of the invention also provides a chip simulation model correction device. The implementation of the device can refer to the implementation of the chip simulation model correction method, and the repeated parts will not be described again.
[0166] like Figure 10 The diagram shown is a structural schematic of a chip simulation model correction device provided in an embodiment of the present invention. The device includes a first curve generation module 1001, a second curve generation module 1002, a waveform generation module 1003, and a determination module 1004.
[0167] The first curve generation module 1001 is used to generate an initial model curve based on the initial data;
[0168] The second curve generation module 1002 is used to determine a preset selection window, and to scan the initial model curve multiple times through the preset selection window to obtain multiple corrected model curves, wherein the corrected model curves are the initial model curves within the preset selection window.
[0169] The waveform generation module 1003 generates a simulation waveform based on the correction model data corresponding to each correction model curve.
[0170] The determination module 1004 compares each of the simulated waveforms with the standard waveform and determines the corrected model data with the smallest error parameter as the final corrected data.
[0171] Optionally, the second curve generation module 1002 is used to determine the preset selection window, including determining the width and length of the preset selection window. Determining the width of the preset selection window includes:
[0172] Obtain the highest frequency supported by the chip simulation model;
[0173] According to preset rules, a value that is 0.5% to 5% smaller than the reciprocal of the highest frequency is selected as the width of the preset selection window.
[0174] Optionally, after determining the width of the preset selection window and before scanning the initial model curve multiple times through the preset selection window, the second curve generation module 1002 is further configured to:
[0175] The length of the preset selection window is determined based on the vertical distance between the peak and trough with the largest amplitude of the initial model curve.
[0176] The preset selection window is determined based on its length and width.
[0177] Optionally, the second curve generation module 1002 is used to scan the initial model curve multiple times through a preset selection window to obtain multiple corrected model curves, including:
[0178] Determine the step length and initial position of the preset selection window;
[0179] The preset selection window is moved multiple times from the starting point along the horizontal axis of the initial model curve, with each movement being the step length;
[0180] The initial model curve within the preset selection window at the initial position and the initial model curve within the preset selection window after each movement are used as the plurality of corrected model curves.
[0181] Optionally, the second curve generation module is used to move the preset selection window multiple times from the starting point along the horizontal coordinate direction of the initial model curve, including:
[0182] If the fluctuation amplitude of the curve outside the preset selection window is greater than 3% to 8% of the fluctuation amplitude of the initial model curve, then the preset selection window stops moving;
[0183] The width of the preset selection window is 20 to 100 times the step length;
[0184] The initial position is the horizontal coordinate of the side of the preset selection window closest to the origin of the coordinate system, and the initial position is any point between 0 and 10 ps of the initial model curve;
[0185] The fluctuation range of the initial model curve is the difference between the ordinate of the highest point and the ordinate of the lowest point in the initial model curve.
[0186] Optionally, the waveform generation module 1003 is used to generate simulation waveforms based on the correction model data corresponding to each correction model curve, including:
[0187] Obtain the voltage or current value from the corrected model data, and input the corrected model data into the standard driving model;
[0188] The simulation waveform of the modified model data is generated by inputting an excitation signal into the standard driving model.
[0189] Optionally, the standard waveform is generated by inputting standard model data into the standard driving model and inputting the same excitation signal as the modified model data into the standard driving model.
[0190] Optionally, the determining module 1004 is used to compare each of the simulated waveforms with a standard waveform, including:
[0191] The amplitude of the simulated waveform is compared with that of the standard waveform, and the contours of the amplitudes of the simulated waveform and the standard waveform are also compared.
[0192] Optionally, the determining module 1004 is used to compare the amplitude of the simulated waveform with that of the standard waveform, including:
[0193] Calculate the amplitude difference of each waveform in the simulated waveform and the standard waveform, and the ratio of the amplitude of the standard waveform;
[0194] One or more of the average value, variance, and mean difference of the total amplitude ratio of the simulated waveform are determined as the first error parameter.
[0195] Optionally, the waveform generation module 1003 for comparing the amplitude contours of the simulated waveform and the standard waveform includes:
[0196] Multiple error determination points are selected from the simulation waveform;
[0197] Calculate the difference between the ordinate of each error determination point on the simulated waveform and the ordinate of the standard waveform;
[0198] One or more of the following—the average, variance, and mean difference—of the ordinate differences of multiple error determination points are determined as the second error parameter.
[0199] Optionally, the determining module 1004 is used to determine the corrected model data with the smallest error parameter as the final corrected data, including:
[0200] The corrected model data corresponding to the simulation waveform with the smallest value between the first error parameter value and the second error parameter value is selected as the final corrected data.
[0201] Optionally, the determining module 1004 is used to compare each of the simulated waveforms with a standard waveform, including:
[0202] The simulated eye diagram corresponding to each simulated waveform is compared with the standard eye diagram corresponding to the standard waveform.
[0203] Optionally, the determining module 1004 is used to compare the simulated eye diagram corresponding to each simulated waveform with the standard eye diagram corresponding to the standard waveform, including:
[0204] Compare the coordinates of the intersection points of the simulated eye diagram and the standard eye diagram, and compare the lengths of the square holes in the simulated eye diagram and the standard eye diagram.
[0205] The intersection points of the simulated eye diagram and the intersection points of the standard eye diagram are compared, and the difference between the horizontal and vertical coordinates of the intersection points is determined as the third error parameter.
[0206] By comparing the length of the square hole in the simulated eye diagram with that in the standard eye diagram, the difference between the length of the square hole in the simulated eye diagram and that in the standard eye diagram is determined as the fourth error parameter.
[0207] Optionally, the determining module 1004 is used to determine the corrected model data with the smallest error parameter as the final corrected data, including:
[0208] The corrected model data corresponding to the simulation waveform with the smallest value among the third and fourth error parameter values is selected as the final corrected data.
[0209] Based on the same inventive concept, this embodiment of the invention also provides an electronic device with a chip simulation model. Since this electronic device is the same as the electronic device in the method of this embodiment of the invention, and the principle of solving the problem by this electronic device is similar to that of this method, the implementation of this electronic device can refer to the implementation of the method, and the repeated parts will not be described again.
[0210] The following reference Figure 11 To describe an electronic device 110 according to this embodiment of the present invention. Figure 11 The electronic device 110 shown is merely an example and should not impose any limitations on the functionality and scope of use of the embodiments of the present invention.
[0211] like Figure 11 As shown, the electronic device 110 can be manifested as a general-purpose computing device, such as a terminal device. The components of the electronic device 110 may include, but are not limited to: at least one processor 111, at least one memory 112 storing processor-executable instructions, and a bus 113 connecting different system components (including memory 112 and processor 111).
[0212] The processor 111 implements the above-mentioned chip simulation model correction method by running executable instructions.
[0213] Bus 113 represents one or more of several bus structures, including a memory bus or memory controller, peripheral bus, processor, or local bus using any of the various bus structures.
[0214] The memory 112 may include a readable medium in the form of volatile memory, such as random access memory (RAM) 1121 and / or cache memory 1122, and may further include read-only memory (ROM) 1123.
[0215] The memory 112 may also include a program / utility 1125 having a set (at least one) of program modules 1124, including but not limited to: an operating system, one or more application programs, other program modules, and program data, each or some combination of these examples may include an implementation of a network environment.
[0216] Electronic device 110 can also communicate with one or more external devices 114 (e.g., keyboard, pointing device, etc.), and with one or more devices that enable a user to interact with electronic device 110, and / or with any device that enables electronic device 110 to communicate with one or more other computing devices (e.g., router, modem, etc.). This communication can be performed via input / output (I / O) interface 115. Furthermore, electronic device 110 can also communicate with one or more networks (e.g., local area network (LAN), wide area network (WAN), and / or public networks, such as the Internet) via network adapter 116. As shown, network adapter 116 communicates with other modules of electronic device 110 via bus 113. It should be understood that, although not shown in the figures, other hardware and / or software modules can be used in conjunction with electronic device 110, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.
[0217] In some possible implementations, various aspects of the present invention can also be implemented as a program product, including program code. When the program product is run on a terminal device, the program code is used to cause the terminal device to perform the steps of each module in the resource treatment analysis apparatus according to various exemplary embodiments of the present invention as described in the "Exemplary Methods" section above. For example, the terminal device can be used to form an initial model curve based on initial data; determine a preset selection window; scan the initial model curve multiple times through the preset selection window to obtain multiple corrected model curves, wherein the corrected model curves are the initial model curves within the preset selection window; generate a simulation waveform based on the corrected model data corresponding to each corrected model curve; compare each simulation waveform with a standard waveform, and determine the corrected model data with the smallest error parameter as the final corrected data, etc.
[0218] The program product may employ any combination of one or more readable media. A readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may be, for example—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples (a non-exhaustive list) of readable storage media include: electrical connections having one or more wires, portable disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.
[0219] like Figure 12 As shown, a program product 120 for resource treatment analysis according to an embodiment of the present invention is described. This product may employ a portable compact disc read-only memory (CD-ROM) and include program code, and may run on a terminal device, such as a personal computer. However, the program product of the present invention is not limited thereto. In this document, the readable storage medium may be any tangible medium containing or storing a program that may be used by or in conjunction with an instruction execution system, apparatus, or device.
[0220] A readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, carrying readable program code. This propagated data signal may take many forms, including—but not limited to—electromagnetic signals, optical signals, or any suitable combination thereof. A readable signal medium may also be any readable medium other than a readable storage medium, capable of sending, propagating, or transmitting a program for use by or in conjunction with an instruction execution system, apparatus, or device.
[0221] The program code contained on the readable medium may be transmitted using any suitable medium, including—but not limited to—wireless, wired, fiber optic, RF, etc., or any suitable combination thereof.
[0222] Program code for performing the operations of this invention can be written in any combination of one or more programming languages, including object-oriented programming languages such as Java and C++, and conventional procedural programming languages such as C or similar languages. The program code can execute entirely on the user's computing device, partially on the user's device, as a standalone software package, partially on the user's computing device and partially on a remote computing device, or entirely on a remote computing device or server. In cases involving remote computing devices, the remote computing device can be connected to the user's computing device via any type of network—including a local area network (LAN) or a wide area network (WAN)—or can be connected to an external computing device (e.g., via the Internet using an Internet service provider).
[0223] This invention discloses a method, apparatus, device, and medium for correcting a chip simulation model. The correction method includes: forming an initial model curve based on initial data; removing the steady-state times from the source, i.e., the IBIS model file, in advance; ensuring that the IBIS model can work normally on various simulation software; broadening the applicability of the correction method; obtaining the corrected data with the smallest error through the chip simulation model correction method; effectively removing invalid steady-state times from the initial model curve; thereby reducing rise time and fall time; increasing the maximum frequency Fmax supported by the IBIS model; avoiding overclocking problems; and thus improving the simulation accuracy of the chip simulation model.
[0224] It should be noted that although several modules or sub-modules of the system have been mentioned in the detailed description above, this division is merely exemplary and not mandatory. In fact, according to embodiments of the present invention, the features and functions of two or more modules described above can be embodied in one module. Conversely, the features and functions of one module described above can be further divided and embodied by multiple modules.
[0225] Furthermore, although the operation of the modules of the system of the present invention is described in a specific order in the accompanying drawings, this does not require or imply that these operations must be performed in that specific order, or that all the operations shown must be performed to achieve the desired result. Additionally or alternatively, certain operations may be omitted, multiple operations may be combined into one operation, and / or one operation may be broken down into multiple operations.
[0226] Those skilled in the art will understand that embodiments of the present invention can be provided as methods, systems, or computer program products. Therefore, the present invention can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage and optical storage) containing computer-usable program code.
[0227] This invention is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in one or more blocks of the flowchart illustrations and / or one or more blocks of the block diagrams.
[0228] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including an instruction device that implements the functions specified in one or more flowcharts and / or one or more block diagrams.
[0229] These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process, such that the instructions, which execute on the computer or other programmable apparatus, provide steps for implementing the functions specified in one or more flowcharts and / or one or more block diagrams.
[0230] Other embodiments of the invention will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of the invention that follow the general principles of the invention and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of the invention are indicated by the following claims.
[0231] It should be understood that the present invention is not limited to the precise structure described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of the invention is limited only by the appended claims.
Claims
1. A method for correcting a chip simulation model, characterized in that, The method includes: Generate an initial model curve based on the initial data; A preset selection window is determined, and the initial model curve is scanned multiple times through the preset selection window to obtain multiple corrected model curves, wherein the corrected model curves are the initial model curves within the preset selection window; Simulation waveforms are generated based on the correction model data corresponding to each of the correction model curves; Each simulated waveform is compared with a standard waveform to determine the corrected model data with the smallest error parameter as the final corrected data; wherein, comparing each simulated waveform with a standard waveform includes: The simulated eye diagram corresponding to each simulated waveform is compared with the standard eye diagram corresponding to the standard waveform. This comparison includes: comparing the coordinates of the intersection points of the simulated eye diagram and the standard eye diagram; comparing the lengths of the square holes in the simulated eye diagram and the standard eye diagram; comparing the intersection points of the simulated eye diagram and the standard eye diagram to determine the difference between the horizontal and vertical coordinates of the intersection points as a third error parameter; and comparing the lengths of the square holes in the simulated eye diagram and the standard eye diagram to determine the difference between the lengths of the square holes in the simulated eye diagram and the standard eye diagram as a fourth error parameter.
2. The method as described in claim 1, characterized in that, The process of determining the preset selection window includes determining the width and length of the preset selection window. The determination of the width of the preset selection window includes: Obtain the highest frequency supported by the chip simulation model after conversion; According to preset rules, a value that is 0.5% to 5% smaller than the reciprocal of the highest frequency is selected as the width of the preset selection window.
3. The method as described in claim 2, characterized in that, After determining the width of the preset selection window, and before scanning the initial model curve multiple times through the preset selection window, the method further includes: The length of the preset selection window is determined based on the vertical distance between the peak and trough with the largest amplitude of the initial model curve. The preset selection window is determined based on its length and width.
4. The method as described in claim 1, characterized in that, The process of repeatedly scanning the initial model curve through the preset selection window to obtain multiple corrected model curves includes: Determine the step length and initial position of the preset selection window; The preset selection window is moved multiple times from the starting point along the horizontal axis of the initial model curve, with each movement being the step length; The initial model curve within the preset selection window at the initial position and the initial model curve within the preset selection window after each movement are used as the plurality of corrected model curves.
5. The method as described in claim 4, characterized in that, The step of moving the preset selection window multiple times from the starting point along the horizontal axis of the initial model curve includes: If the fluctuation amplitude of the curve outside the preset selection window is greater than 3% to 8% of the fluctuation amplitude of the initial model curve, then the preset selection window stops moving; The width of the preset selection window is 20 to 100 times the step length; The initial position is the horizontal coordinate of the side of the preset selection window closest to the origin of the coordinate system, and the initial position is any point between 0 and 10 ps of the initial model curve; The fluctuation range of the initial model curve is the difference between the ordinate of the highest point and the ordinate of the lowest point in the initial model curve.
6. The method as described in claim 1, characterized in that, The step of generating simulation waveforms based on the correction model data corresponding to each correction model curve includes: Obtain the voltage or current value from the corrected model data, and then input the corrected model data into the standard drive model; The simulation waveform of the modified model data is generated by inputting an excitation signal into the standard driving model.
7. The method as described in claim 6, characterized in that, The standard waveform is generated by inputting standard model data into the standard driving model and inputting the same excitation signal as the modified model data into the standard driving model.
8. The method as described in claim 1, characterized in that, The comparison of each simulated waveform with a standard waveform further includes: The amplitude of the simulated waveform is compared with that of the standard waveform, and the contours of the amplitudes of the simulated waveform and the standard waveform are also compared.
9. The method as described in claim 8, characterized in that, The comparison of the amplitude of the simulated waveform with that of the standard waveform includes: Calculate the amplitude difference of each waveform in the simulated waveform and the standard waveform, and the ratio of the amplitude of the standard waveform; One or more of the average value, variance, and mean difference of the total amplitude ratio of the simulated waveform are determined as the first error parameter.
10. The method as described in claim 9, characterized in that, The contours of the amplitudes of the simulated waveform and the standard waveform compared include: Multiple error determination points are selected from the simulation waveform; Calculate the difference between the ordinate of each error determination point on the simulated waveform and the ordinate of the standard waveform; One or more of the following—the average, variance, and mean difference—of the ordinate differences of multiple error determination points are determined as the second error parameter.
11. The method as described in claim 10, characterized in that, The corrected model data with the smallest determined error parameter is the final corrected data, including: The corrected model data corresponding to the simulation waveform with the smallest value between the first error parameter value and the second error parameter value is selected as the final corrected data.
12. The method as described in claim 1, characterized in that, The corrected model data with the smallest determined error parameter is the final corrected data, including: The corrected model data corresponding to the simulation waveform with the smallest error parameter value among the third and fourth error parameter values is selected as the final corrected data.
13. A correction device for a chip simulation model, characterized in that, The device includes: The first curve generation module is used to generate the initial model curve based on the initial data; The second curve generation module is used to determine a preset selection window, and to scan the initial model curve multiple times through the preset selection window to obtain multiple corrected model curves, wherein the corrected model curves are the initial model curves within the preset selection window; The waveform generation module generates simulation waveforms based on the correction model data corresponding to each correction model curve. The determination module compares each simulated waveform with a standard waveform to determine the corrected model data with the smallest error parameter as the final corrected data; wherein, comparing each simulated waveform with a standard waveform includes: The simulated eye diagram corresponding to each simulated waveform is compared with the standard eye diagram corresponding to the standard waveform. This comparison includes: comparing the coordinates of the intersection points of the simulated eye diagram and the standard eye diagram; comparing the lengths of the square holes in the simulated eye diagram and the standard eye diagram; comparing the intersection points of the simulated eye diagram and the standard eye diagram to determine the difference between the horizontal and vertical coordinates of the intersection points as a third error parameter; and comparing the lengths of the square holes in the simulated eye diagram and the standard eye diagram to determine the difference between the lengths of the square holes in the simulated eye diagram and the standard eye diagram as a fourth error parameter.
14. The apparatus as claimed in claim 13, characterized in that, The second curve generation module is used to determine the preset selection window, including determining the width and length of the preset selection window. Determining the width of the preset selection window includes: Obtain the highest frequency supported by the chip simulation model; According to preset rules, a value that is 0.5% to 5% smaller than the reciprocal of the highest frequency is selected as the width of the preset selection window; The second curve generation module is used to scan the initial model curve multiple times through a preset selection window to obtain multiple corrected model curves, including: Determine the step length and initial position of the preset selection window; The preset selection window is moved multiple times from the starting point along the horizontal axis of the initial model curve, with each movement being the step length; The initial model curve within the preset selection window at the initial position and the initial model curve within the preset selection window after each movement are used as the plurality of corrected model curves.
15. The apparatus as claimed in claim 13, characterized in that, The waveform generation module is used to generate simulation waveforms based on the correction model data corresponding to each correction model curve, including: Obtain the voltage or current value from the corrected model data, and then input the corrected model data into the standard drive model; The standard driving model is input with an excitation signal to generate the simulation waveform of the modified model data; The standard waveform is generated by inputting standard model data into a standard driving model and then inputting an excitation signal to the standard driving model that is the same as the modified model data.
16. The apparatus as claimed in claim 13, characterized in that, The determining module is used to compare each of the simulated waveforms with a standard waveform, including: Compare the amplitude of the simulated waveform with that of the standard waveform, and compare the contours of the amplitudes of the simulated waveform and the standard waveform; or Compare the simulated eye diagram corresponding to each simulated waveform with the standard eye diagram corresponding to the standard waveform; The determining module is used to compare the amplitude of the simulated waveform with that of the standard waveform, including: Calculate the amplitude difference of each waveform in the simulated waveform and the standard waveform, and the ratio of the amplitude of the standard waveform; One or more of the average value, variance, and mean difference of the total amplitude ratio of the simulated waveform are determined as the first error parameter.
17. An electronic device, characterized in that, include: processor; A memory for storing processor-executable instructions; wherein the processor implements the steps of the method according to any one of claims 1 to 12 by executing the executable instructions.
18. A computer-readable and writable storage medium storing computer instructions thereon, characterized in that, When executed by a processor, this instruction implements the steps of the method according to any one of claims 1 to 12.
Citation Information
Patent Citations
Wind turbine power curve correction method based on sliding window feature data fitting
CN108985490A