Circuit verification apparatus and circuit verification method
The circuit verification device addresses the challenge of verifying programmable devices by using a netlist and design information storage to check terminal attributes and resistor presence, ensuring accurate circuit design.
Patent Information
- Application Number
- JP2024107851
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-04
- Publication Date
- 2026-01-16
AI Technical Summary
Conventional techniques struggle to accurately verify circuits including programmable devices, as they fail to consider the attributes of each terminal of integrated circuits, leading to issues like overlapping or missing pull-up/pull-down resistors.
A circuit verification device that includes a netlist storage unit, device design information storage unit, and verification unit, which utilizes netlist and design information to verify circuits by checking terminal attributes, resistor presence, and adherence to verification rules.
Enables accurate verification of circuits with programmable devices by identifying design errors such as redundant resistors and signal name mismatches, ensuring proper circuit design.
Smart Images

Figure 2026007731000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to an apparatus and method for verifying circuits that include programmable devices. [Background technology]
[0002] When various devices are manufactured, the designed circuits are verified in advance. Recently, various devices often use programmable devices to increase design flexibility. Programmable devices have internal configurations that can be set by the user. Therefore, circuits are verified taking into account the internal configuration of the programmable device. A method has been proposed for checking the consistency between the internal and external resistances of a programmable logic device (PLD) during circuit design (see, for example, Patent Document 1). [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2020-095607 Summary of the Invention [Problem to be solved by the invention]
[0004] Conventional techniques (such as the method described in Patent Document 1) can detect overlapping or missing pull-up / pull-down resistors, but cannot verify circuits according to the attributes of each terminal of each integrated circuit (IC). For this reason, it is difficult to accurately verify whether a circuit including a programmable device is properly designed using conventional techniques.
[0005] An object of one aspect of the present invention is to provide an apparatus and method capable of accurately verifying a circuit including a programmable device. [Means for solving the problem]
[0006] A circuit verification device according to one aspect of the present invention verifies a target circuit including multiple ICs. The circuit verification device includes a first storage unit that stores netlist information representing connections between the multiple ICs, a second storage unit that stores design information for each of the multiple ICs, and a verification unit that verifies the target circuit based on the netlist information and the design information for each of the multiple ICs. The design information includes, for each of the multiple ICs, attribute information representing attributes of each terminal of the IC and internal circuit information representing internal circuits connected to each terminal within the IC. When a first terminal of a first IC of the multiple ICs is specified, the verification unit detects a second terminal of a second IC of the multiple ICs that is electrically connected to the first terminal based on the netlist information. The verification unit detects a portion of the target circuit that is electrically connected to the first terminal based on the netlist information, the internal circuit information related to the first terminal, and the internal circuit information related to the second terminal. The verification unit performs a first determination based on the attribute information related to the first terminal and the attribute information related to the second terminal to determine whether the first terminal and the second terminal may be electrically connected, and a second determination based on the netlist information, the attribute information and internal circuit information related to the first terminal, and the attribute information and internal circuit information related to the second terminal to determine whether a resistor is correctly provided in the circuit portion to be verified. [Effects of the Invention]
[0007] According to the above-described aspect, a circuit including a programmable device can be verified with high accuracy. [Brief explanation of the drawings]
[0008] [Figure 1] FIG. 1 illustrates an example of a circuit to be verified. [Figure 2] FIG. 1 illustrates an example of a programmable device. [Figure 3]1 is a diagram illustrating an example of a circuit verification device according to an embodiment of the present invention. [Figure 4] FIG. 2 is a diagram illustrating an example of design information of a programmable device. [Figure 5] FIG. 10 illustrates an example of verification by a circuit verification device. [Figure 6] FIG. 10 is a diagram illustrating an example of a validation rule. [Figure 7] FIG. 10 is a diagram (part 1) showing an example of a verification result obtained by the circuit verification device. [Figure 8] FIG. 10 is a diagram (part 2) showing an example of a verification result obtained by the circuit verification device. [Figure 9] FIG. 10 is a diagram illustrating an example of a circuit format used when verifying a circuit. [Figure 10] 10A and 10B are diagrams illustrating examples of display of a verification form and verification results. [Figure 11] 10 is a flowchart illustrating an example of a method for registering design information. [Figure 12] 10 is a flowchart illustrating an example of processing performed by the circuit verification device. [Figure 13] FIG. 10 is a diagram (part 1) showing an example of a procedure for entering necessary information into a verification form. [Figure 14] FIG. 10 is a diagram (part 2) showing an example of a procedure for entering necessary information into a verification form. [Figure 15] FIG. 10 is a diagram (part 3) showing an example of a procedure for entering necessary information into a verification form. [Figure 16] 10 is a flowchart showing an outline of a verification process performed by a verification unit. [Figure 17] 10 is a flowchart illustrating an example of a process for verifying a signal name. [Figure 18] 10 is a flowchart illustrating an example of a verification process related to an output terminal. [Figure 19] 10 is a flowchart illustrating an example of a verification process related to an open-drain input terminal. [Figure 20] 10 is a flowchart illustrating an example of a verification process related to an open drain terminal. [Figure 21]10 is a flowchart illustrating an example of a verification process related to a bidirectional terminal. [Figure 22] 10 is a flowchart showing an example of a verification process related to an input terminal. [Figure 23] FIG. 1 illustrates an example of a hardware configuration of a circuit verification apparatus. DETAILED DESCRIPTION OF THE INVENTION
[0009] 1 shows an example of a circuit to be verified. In this example, the circuit to be verified includes three integrated circuits (IC1 to IC3). Terminal B3 of IC1, terminal A2 of IC2, and terminal 4 of IC3 are electrically connected to each other. A pull-up resistor is provided on the signal line connecting terminal B3 of IC1, terminal A2 of IC2, and terminal 4 of IC3 to each other.
[0010] IC1 and IC2 are programmable devices. That is, IC1 and IC2 each have a user-configurable configuration. Therefore, the user can assign signal names to each terminal of IC1 and IC2 as needed. In this example, the signal name "IO04" is assigned to terminal B3 of IC1, and the signal name "GPIO1_0" is assigned to terminal A2 of IC2. IC3 is a non-programmable device, and the signal names of each terminal are preset by the IC manufacturer. In this example, the signal name "ADDR3" is assigned to terminal 4 of IC3. Furthermore, the user assigns the signal name "ADDR[3]" to the signal line (or the signal propagating through that signal line) connecting terminal B3 of IC1, terminal A2 of IC2, and terminal 4 of IC3 to each other.
[0011] The IC1 is, for example, a Field Programmable Gate Array (FPGA), the IC2 is, for example, a System on Chip (SoC) or a Central Processing Unit (CPU), and the IC3 is, for example, a memory chip.
[0012] Figure 2 shows an example of a programmable device. In this example, IC1 and IC2 are programmable devices. A programmable device has a configuration within it that can be set by a user.
[0013] The B3 pin of IC1 is connected to switches S1 and S2, resistors R1 and R2, a buffer BUF, and a tri-state buffer TRIBUF with an OE (Output Enable) pin. The user can set the on / off states of switches S1 and S2. For example, to pull up the B3 pin, set switch S1 to the on state and switch S2 to the off state. To pull down the B3 pin, set switch S1 to the off state and switch S2 to the on state. To fix the B3 pin to a specified voltage, set switches S1 and S2 to the on state. Note that switches S1 and S2 can also be set to the off state. The user can also set the states of BUF and TRIBUF according to the pin attributes. For example, when using the B3 pin as an input pin, enable BUF and disable TRIBUF. When using the B3 pin as an output pin, disable BUF and enable TRIBUF by keeping OE always enabled. When using the B3 terminal as a bidirectional terminal, BUF is enabled and the OE terminal of TRIBUF is made controllable by user logic.
[0014] When a circuit includes a programmable device, the internal configuration of the programmable device must also be taken into account when verifying the circuit. For example, in the example shown in Figure 2, signal line ADD[3] is pulled up by resistor R3. Let's assume that switch S1 in IC1 is set to the on state and switch S2 is set to the off state. That is, the B3 terminal of IC1 is pulled up by its internal circuit. In this case, the pull-up resistor is redundant, and the circuit design is deemed inappropriate.
[0015] As the scale of a circuit increases, it is common for multiple people to share the design work of a single circuit. For example, different designers may be responsible for the design of each IC. This can result in, for example, overlapping or disconnected pull-up / pull-down resistors, as described above. Therefore, there is a need for an apparatus and method that can accurately verify circuits that include programmable devices.
[0016] Fig. 3 shows an example of a circuit verification device according to an embodiment of the present invention. As shown in Fig. 3, the circuit verification device 10 according to the embodiment of the present invention includes a netlist storage unit 1, a device design information storage unit 2, a verification unit 3, and a display unit 4. Note that the circuit verification device 10 may further include other functions not shown in Fig. 3.
[0017] The netlist of the circuit to be verified is stored in the netlist storage unit 1. The netlist represents the connections between the terminals of the components in the circuit. For example, the netlist of the circuit shown in FIG. 2 includes the following connection information: (1) Connect the B3 terminal of IC1 to the A2 terminal of IC2, the 4th terminal of IC3, and the 2nd terminal of resistor R3. (2) Connect terminal 1 of resistor R3 to the power supply.
[0018] The netlist is written in, for example, a Hardware Description Language (HDL), or is obtained by converting code written in HDL.
[0019] The device design information storage unit 2 stores design information for each device used in the circuit under verification. This design information includes signal name information indicating the signal names assigned to the signal lines within the device connected to each terminal, attribute information indicating the attributes of each terminal, and internal circuit information indicating the internal circuits connected to each terminal. Design information for programmable devices is created by the user. For example, design information for FPGAs is created using a place-and-route tool in accordance with user instructions. Design information for SoCs (CPUs) is created using a PinMux design tool in accordance with user instructions. Design information for non-programmable devices can be used by creating a unique library from data sheets provided by the manufacturer.
[0020] FIG. 4 shows an example of design information for a programmable device. The design information includes information representing terminal numbers, signal names, attributes, and pull resistors. The "terminal number" identifies each terminal of the device. In a device with multiple terminals arranged two-dimensionally, such as a BGA (Ball Grid Array) module, the terminal number may be position information representing the coordinates of the location of each terminal. In a programmable device, the "signal name" represents a name assigned by the user. For example, in an FPGA, the signal name corresponds to a name written in HDL. In an SoC (CPU), the signal name corresponds to a name selected by the user from among multiple names provided by the device manufacturer.
[0021] "Attribute" indicates whether the terminal is an output terminal, open-drain input terminal, open-drain terminal, bidirectional terminal, or input terminal. "Pull resistor" indicates whether a pull resistor is provided, and if a pull resistor is provided, identifies whether it is a pull-up resistor, pull-down resistor, or KEEPER circuit. A KEEPER circuit is an example of a voltage holding circuit. Note that "Pull resistor" is an example of internal circuit information that indicates the internal circuit connected to each terminal within the IC.
[0022] The design information may further include other information, such as information representing the output drive current, output load capacitance, and input capacitance for each terminal of the IC.
[0023] Before completing a circuit diagram, it may be necessary to verify whether the circuit design is valid. For example, it may be necessary to verify a circuit including an FPGA during the design stage of the FPGA. Therefore, it is assumed that the design information of the programmable device can be manually input by the user. Furthermore, even if some items of the design information are not set, it is preferable that the circuit verification device 10 can verify the circuit by leaving those items blank.
[0024] The verification unit 3 verifies the circuit to be verified based on the netlist of the circuit to be verified stored in the netlist storage unit 1 and the design information for each device stored in the device design information storage unit 2. At this time, the verification unit 3 may verify, for each terminal of each device, whether the circuit has been designed in accordance with the verification rules.
[0025] The display unit 4 displays the verification results obtained by the verification unit 3. At this time, the display unit 4 may highlight any violations of the verification rules. For example, a case where multiple pull-up resistors are provided for one signal line, or a case where a required pull-up resistor is not provided for a signal line, may be highlighted. The display unit 4 may also highlight any content that requires attention. For example, a case where the same signal is given a different signal name between devices may be highlighted.
[0026] 5 shows an example of verification by the circuit verification device 10. In this example, verification is performed on the circuit under verification shown in FIG. 5A. In the circuit under verification, terminal A3 of IC1, terminal H6 of IC2, and terminal 5 of IC3 are connected to each other, and the signal line connecting these terminals is given the signal name "GPMC_D[8]." This signal line is also pulled up by resistor R100.
[0027] The A3 terminal of IC1 is a bidirectional terminal, and its signal name is "DATA[8]". The H6 terminal of IC2 is a bidirectional terminal, and its signal name is "GPMC_D08". The H6 terminal is also pulled up within IC2. The 5th terminal of IC3 is a bidirectional terminal, and its signal name is "D08".
[0028] 5B shows the results of the verification performed on the A3 terminal of IC1. By referring to the netlist, the verification unit 3 of the circuit verification device 10 recognizes that the A3 terminal of IC1, the H6 terminal of IC2, and the 5th terminal of IC3 are connected to each other and that the signal line connecting these terminals is pulled up by a resistor R100. The verification unit 3 also acquires design information for the A3 terminal of IC1, the H6 terminal of IC2, and the 5th terminal of IC3. Then, based on the netlist of the circuit under verification and the design information of each IC, the verification unit 3 verifies whether the circuit under verification has been designed in accordance with the verification rules.
[0029] Figure 6 shows an example of a verification rule. This example shows the error / warning conditions for multi-function (programmable) terminals of a CMOS device. In addition, power supply terminals, GND terminals, and dedicated terminals (clock, SerDes, etc.) are excluded from the attributes of the starting terminals.
[0030] The validation rules include rule information that indicates combinations of terminal attributes that must not be electrically connected to each other. The validation rules also include rule information that indicates resistor circuits (pull-up resistors, pull-down resistors, and KEEPER circuits) required for each terminal attribute. The validation rules also include rule information that indicates resistor circuits that must not be provided for each terminal attribute.
[0031] For example, the first rule regarding output terminals states that if one of multiple terminals connected to each other is an output terminal, the other terminals must all be input terminals. If this rule is violated, the verification unit 3 outputs an error message.
[0032] The second rule, which is related to output terminals, states that if one of multiple terminals connected to each other is an output terminal, two or more pull-up resistors must not be provided in the circuit including these terminals. If this rule is violated, the verification unit 3 also outputs an error message.
[0033] In the example shown in FIG. 5, verification is being performed on the A3 terminal of IC1. Here, the A3 terminal of IC1 is a bidirectional terminal, as shown in FIG. 5A. The other terminals (the H6 terminal of IC2 and the 5th terminal of IC3) are also bidirectional terminals. Therefore, the attributes of these three terminals do not violate the verification rules. However, the signal line electrically connected to the A3 terminal of IC1 is provided with a pull-up resistor R100 and a pull-up resistor Up. In other words, the pull-up resistors are redundant. Therefore, the verification unit 3 determines that the resistor connection violates the verification rules, and the display unit 4 highlights the pull-up resistor R100 and the pull-up resistor Up connected to the H6 terminal in IC2, as shown in FIG. 5B.
[0034] Furthermore, different signal names are assigned to the signals propagating through these signal lines for each device, and the display unit 4 therefore highlights the signal names used within each device, as shown in Figure 5.
[0035] The user (circuit designer) can examine the validity of the target circuit by referring to the verification results displayed on the display unit 4. In the example shown in FIG. 5, the overlapping pull-up resistors are recognized as a design error. In this case, the user deletes one of the overlapping pull-up resistors (e.g., resistor R100) and re-verifies the target circuit. In this case, the error message related to the overlapping pull-up resistors is no longer output.
[0036] Furthermore, the verification results allow the user to recognize that different signal names are used for the same signal among devices, and the user can change the signal name as necessary.
[0037] 7 and 8 show examples of verification results by the circuit verification device 10. Note that in the examples shown in Figs. 7 and 8, a description of verification relating to consistency of signal names will be omitted.
[0038] In the case shown in Figure 7A, pin A3 of IC1, pin H6 of IC2, and pin 5 of IC3 are connected to each other. These pins are all bidirectional. The signal line electrically connected to pin A3 of IC1 must not have a pull-up resistor, pull-down resistor, or KEEPER circuit.
[0039] According to the verification rules, the signal line connected to the bidirectional terminal must have either a pull-up resistor, a pull-down resistor, or a KEEPER circuit. Therefore, in this case, an error message is output indicating that a pull-up resistor, a pull-down resistor, or a KEEPER circuit is not provided. Also, an "X" mark is displayed in the location where a resistor circuit (pull-up, pull-down, or KEEPER) should be provided.
[0040] In the case shown in Figure 7B, the A3 terminal of IC1, the H6 terminal of IC2, and the 5th terminal of IC3 are connected to each other. These terminals are all bidirectional. In IC1, the internal circuit connected to the A3 terminal includes a KEEPER circuit (V-Keeper). In IC2, the internal circuit connected to the H6 terminal includes a pull-up resistor.
[0041] According to the verification rules, signal lines connected to bidirectional terminals are prohibited from having two or more of the following: pull-up resistors, pull-down resistors, or KEEPER circuits. Therefore, in this case, an error message indicating that two or more of the following are included is output. In addition, the parts that violate the verification rules are highlighted.
[0042] In the case shown in Figure 8A, the C2 terminal of IC1, the D9 terminal of IC2, and the 5th terminal of IC3 are connected to each other. The D9 terminal of IC2 is the output terminal, and the C2 terminal of IC1 and the 5th terminal of IC3 are the input terminals. The signal lines connecting these terminals are connected to a pull-up resistor R101.
[0043] According to the verification rules, it is necessary to consider whether to install a pull-up resistor, pull-down resistor, or KEEPER circuit on the signal line connected to the output terminal (in Figure 8, terminal D9 of IC2). Therefore, in this case, a warning message is output stating that a pull-up resistor is installed.
[0044] In the case shown in Figure 8B, the C2 terminal of IC1, the D9 terminal of IC2, and the 5th terminal of IC11 are connected to each other. The D9 terminal of IC2 is an input terminal, and the C2 terminal of IC1 and the 5th terminal of IC11 are open-drain terminals. The signal lines connecting these terminals do not have pull-up resistors, pull-down resistors, or KEEPER circuits.
[0045] According to the verification rules, the signal line connected to the open drain terminal must have a pull-up resistor. Therefore, in this case, an error message indicating that there is no pull-up resistor is output. Also, an "X" mark is displayed in the location where the pull-up resistor should be installed.
[0046] In this way, the circuit verification apparatus 10 considers the attributes of the terminals when verifying whether the circuit configuration of each terminal of each device constituting the target circuit is correct. Therefore, the circuit verification apparatus 10 can not only check for overlapping pull-up or pull-down resistors, but also verify the appropriateness of providing or not providing a pull-up resistor, a pull-down resistor, or a KEEPER circuit for a signal line connected to each terminal. In other words, it is possible to accurately verify a circuit including a programmable device.
[0047] Figure 9 shows an example of a circuit format used when verifying a circuit. In this circuit format, multiple devices are electrically connected to one another. That is, the P1 terminal of IC1, the P2 terminal of IC2, the P3 terminal of IC3, and the P9 terminal of IC9 are electrically connected to one another. A pull-up resistor Rup and a pull-down resistor Rdn can be provided on the signal line connecting these terminals. When both the pull-up resistor Rup and the pull-down resistor Rdn are provided, a KEEPER circuit is formed. Damping resistors (Rdu_1 to Rdu_9) can be provided between the set points of the pull-up resistor Rup / pull-down resistor Rdn and each device (IC1 to IC9). Note that Net_0 to Net_9 represent variables for inputting signal names.
[0048] The circuit verification device 10 creates a verification form by reflecting the netlist of the circuit to be verified and the design information of each device in this circuit format. The verification form is realized, for example, by general spreadsheet software and is used to verify the circuit. Furthermore, the verification form can display the verification results.
[0049] Figure 10 shows an example of the verification form and verification results. In this example, the A3 terminal of IC1 shown in Figure 5A is specified, and a verification form corresponding to the circuit electrically connected to that terminal is created.
[0050] In this case, the circuit verification device 10 acquires the netlist of the circuit under verification and recognizes that a pull-up resistor R100 is provided on the signal line connected to the A3 terminal of IC1. Therefore, as shown in Figure 10, the resistor R100 is displayed for the pull-up resistor Rup, and "none" is displayed for the pull-down resistor Rdn. Furthermore, the resistor R10 is displayed as the damping resistor Rdu_1.
[0051] The circuit verification device 10 acquires design information for the selected terminal (here, terminal A3 of IC1) and the terminals of other devices (here, terminal H6 of IC2 and terminal 5 of IC3) that are electrically connected to the selected terminal. Then, as shown in FIG. 10, the circuit verification device 10 writes the acquired design information into a verification form. At this time, at least the part number, terminal number, signal name, attribute, and pull resistor are written. Note that "pull resistor" indicates the presence or absence of a pull-up resistor, pull-down resistor, and KEEPER circuit within the device. The verification form shown in FIG. 10 indicates that a pull-up resistor is provided at terminal H6 of IC2.
[0052] In this example, the selected terminal (i.e., the A3 terminal of IC1) is a bidirectional terminal. Therefore, the circuit verification device 10 verifies three items for "Bidirectional" shown in FIG. 6. First, the other terminals (i.e., the H6 terminal of IC2 and the 5th terminal of IC3) are bidirectional terminals, so they do not violate the first item. Next, the signal line electrically connected to the A3 terminal of IC1 is provided with pull-up resistors R100 and Up, so they violate the second item (design error). Therefore, as shown in FIG. 10, the pull-up resistors R100 and Up are each highlighted. As an example, the pull-up resistors R100 and Up may be displayed in red. Furthermore, the signal line electrically connected to the A3 terminal of IC1 is provided with pull-up resistors, so they do not violate the third item.
[0053] In addition to the above-described verification, the circuit verification device 10 may also verify signal names. In this example, different signal names are assigned to the same signal or signal line within each device. Therefore, as shown in FIG. 10, the signal names are highlighted. However, even if the signal names do not match, the circuit will operate correctly if the design itself is correct. In other words, a mismatch in signal names is less important than a design error. Therefore, a mismatch in signal names is displayed in a different color (e.g., green) from cases where a design error has occurred.
[0054] 11 is a flowchart showing an example of a method for registering design information. The process of this flowchart is executed, for example, when a circuit to be verified is designated by a user.
[0055] In S1, the circuit verification device 10 acquires a netlist of the circuit under verification and stores it in the netlist storage unit 1. The netlist represents the connections between components in the circuit under verification. Therefore, the netlist describes all devices in the circuit under verification.
[0056] In S2, the circuit verification apparatus 10 refers to the netlist and selects one of the devices in the circuit under verification. At this time, an IC to be verified as a set with the internal circuit of the programmable device may be selected.
[0057] In S3, the circuit verification device 10 checks whether it can acquire design information (report file) output from the design tool for the device selected in S2. If the design information can be acquired, in S4 the circuit verification device 10 sets a component number for the device selected in S2. In the example shown in FIG. 4, for example, "IC1" is set. Next, in S5, the circuit verification device 10 reads the design information for the device selected in S2 and stores it in the device design information storage unit 2 in association with the component number set in S4.
[0058] If the design information cannot be acquired from the design tool, the circuit verification device 10 checks in S6 whether or not it is possible to acquire design information created by the user for the device selected in S2. If the design information can be acquired, the circuit verification device 10 sets a part number for the device selected in S2 in S7. Next, in S8, the circuit verification device 10 reads the design information for the device selected in S2 and stores it in the device design information storage unit 2 in association with the part number set in S7.
[0059] If neither the design information output from the design tool nor the design information created by the user can be acquired, the processing of the circuit verification device 10 ends. In this case, the user needs to create design information for each device.
[0060] In S9, the circuit verification device 10 determines whether or not any unselected devices remain. If any unselected devices remain, the processing of the circuit verification device 10 returns to S2. That is, the processing of S3 to S8 is executed for each device in the circuit to be verified. Then, when design information for all devices is acquired and stored in the device design information storage unit 2, the processing of the circuit verification device 10 proceeds to the verification procedure.
[0061] Fig. 12 is a flowchart showing an example of processing by the circuit verification device 10. Before executing the processing of this flowchart, it is assumed that necessary information has been registered in the netlist storage unit 1 and the device design information storage unit 2 according to the procedure shown in Fig. 11, and that the circuit format shown in Fig. 9 has been prepared in advance. Then, the user specifies a desired device (here, a desired IC) in the circuit to be verified.
[0062] In S11, the verification unit 3 selects one of a plurality of terminals included in the specified device. In the following description, the terminal selected in S11 may be referred to as a "target terminal."
[0063] In S12, the verification unit 3 determines whether the target terminal is a power supply terminal, a GND terminal, or a predetermined dedicated terminal (e.g., clock, SerDes). If the target terminal is a power supply terminal, a GND terminal, or a predetermined dedicated terminal, the verification unit 3 registers the terminal number identifying the target terminal in a non-check terminal list (not shown) in S13. Thereafter, the status of the target terminal is managed as "checked."
[0064] If the target terminal is not a power supply terminal, GND terminal, or a specified dedicated terminal, the verification unit 3, in S14, references the netlist and detects other devices and resistors electrically connected to the target terminal. In the description of this flowchart, "other devices" refers to devices other than the specified device. Furthermore, "electrically connected to the target terminal" includes a configuration in which the device is connected via a conductor pattern such as a signal line, and a configuration in which the device is connected via a damping resistor. For example, in the example shown in FIG. 5A, the target terminal is assumed to be the A3 terminal of IC1. In this case, the H6 terminal of IC2, the 5th terminal of IC3, the resistor R100 used as a pull-up resistor, and the resistor R10 used as a damping resistor are detected.
[0065] In S15, the verification unit 3 determines whether the circuit portion electrically connected to the target terminal conforms to the circuit format shown in Fig. 9. The circuit portion electrically connected to the target terminal is composed of a device including the target terminal (i.e., a device specified by the user), and other devices and resistors detected in S14. For example, in the example shown in Fig. 5A, if the target terminal is the A3 terminal of IC1, the H6 terminal of IC2, the 5th terminal of IC3, the resistor R100, and the resistor R10 correspond to the P2 terminal of IC2, the P3 terminal of IC3, the resistor Rup, and the resistor Rdu_1, respectively, and therefore it is determined that the circuit portion electrically connected to the target terminal conforms to the circuit format shown in Fig. 9.
[0066] 9, the verification unit 3 registers the terminal number identifying the target terminal in an out-of-format terminal list (not shown) in S16. After this, the status of the target terminal is managed as "checked."
[0067] 9, the verification unit 3 writes component information representing the components detected in S14 into the verification form in S17. Then, in S18, the verification unit 3 copies the design information of each device (i.e., the IC including the target terminal and other ICs detected in S14) from the device design information storage unit 2 into the verification form.
[0068] For example, consider the case where the A3 terminal of IC1 shown in FIG. 5A is selected as the target terminal. Here, the verification form is initialized as shown in FIG. 13. This state corresponds to the circuit format shown in FIG. 9. Then, when the A3 terminal of IC1 is selected as the target terminal, the device (IC1) including the target terminal, other devices (IC2, IC3) detected by S14, and resistors (R100, R10) detected by S14 are written into the verification form as shown in FIG. 14. At this time, the signal names are also written into the verification form. Next, as shown in FIG. 15, the design information of each device is copied from the device design information storage unit 2 to the verification form.
[0069] Once the necessary information has been entered into the verification form as described above, the verification unit 3 executes verification processing in S19, which will be described in detail later.
[0070] In S20, the verification unit 3 checks whether or not there are any unchecked terminals remaining. If there are any unchecked terminals remaining, the processing of the verification unit 3 returns to S11. That is, the verification unit 11 executes the processing of S12 to S19 for the next terminal of the specified device. Then, when the processing of S12 to S19 has been executed for all terminals of the specified device, the processing of the verification unit 3 ends.
[0071] 16 is a flowchart showing an outline of the verification process performed by the verification unit 3. This process corresponds to S19 in the flowchart shown in FIG.
[0072] In S31, the verification unit 3 verifies the signal names. In S32, the verification unit 3 verifies the circuit based on verification rules related to output terminals. In S33, the verification unit 3 verifies the circuit based on verification rules related to open-drain input terminals. In S34, the verification unit 3 verifies the circuit based on verification rules related to open-drain terminals. In S35, the verification unit 3 verifies the circuit based on verification rules related to bidirectional terminals. In S36, the verification unit 3 verifies the circuit based on verification rules related to input terminals. Note that the procedure shown in FIG. 16 is an example, and the verification unit 3 may execute the processes of S31 to S36 in any order.
[0073] 17 is a flowchart showing an example of a process for verifying a signal name. The process of this flowchart corresponds to S31 shown in FIG. 16. This process is executed for a circuit portion electrically connected to the target terminal. In the following description, the circuit portion electrically connected to the target terminal may be referred to as the "target circuit portion."
[0074] In S41, the verification unit 3 refers to the verification form in which the necessary information has been written, and compares one or more signal names assigned to signal lines connecting devices in the target circuit portion with the signal names used within each device. If these signal names match, the verification unit 3 outputs a normal message indicating that there is no problem with the signal name settings in S52. On the other hand, if these signal names do not match, the verification unit 3 outputs a warning message indicating that there is a problem with the signal name settings in S53. The normal message and the warning message may be displayed on the verification form. In the example shown in FIG. 10, the signal names do not match, so the warning message "W: Signal names are different" is displayed. "W" stands for warning.
[0075] Fig. 18 is a flowchart showing an example of verification processing related to output terminals. The processing of this flowchart corresponds to S32 shown in Fig. 16, and is executed when the target circuit portion includes an output terminal.
[0076] In S51, the verification unit 3 refers to the design information of each device and determines whether or not there are any terminals other than input terminals in the target circuit portion. At this time, when checking the attributes of each terminal, the verification unit 3 extracts the value written as "attribute" in the verification form. This procedure is the same in Figures 18 to 22.
[0077] Here, if an output terminal exists in the target circuit portion, the other terminals must be input terminals. Therefore, if a terminal other than an input terminal exists in the target circuit portion, the verification unit 3 outputs an attribute error message in S52. In this case, the verification unit 3 may display "E: Includes terminals other than input terminals" as the attribute error message. "E" indicates an error. On the other hand, if all terminals except the target terminal are input terminals, the verification unit 3 outputs a normal message about the attribute in S53. In this case, the verification unit 3 may display "No abnormality in the terminal attributes" as the normal message.
[0078] In S54 to S55, the verification unit 3 detects the number of pull resistors provided in the target circuit portion. The pull resistors include pull-up resistors, pull-down resistors, and KEEPER circuits. The pull resistors also include pull resistors connected to signal lines between devices and pull resistors provided within the devices. Furthermore, the pull resistors do not include damping resistors.
[0079] When detecting a pull resistor provided in the target circuit portion, the verification unit 3 extracts the values written as "Rup," "Rdn," and "pull resistor" in the verification form. This procedure is the same in FIGS. 18 to 22.
[0080] If two or more pull resistors are provided in the target circuit portion, the verification unit 3 determines that the resistor connections are incorrect and outputs a resistor error message in S56. For example, if duplicate pull-up resistors are provided, the verification unit 3 may display a resistor error message saying "Duplicate pull-up resistors."
[0081] If one pull resistor is provided in the target circuit portion, it is not possible to determine whether the design is correct. Therefore, the verification unit 3 outputs a resistor advice message in S57. In this case, the verification unit 3 may display "Resistor connection needs to be checked" as the resistor advice message.
[0082] If no pull resistor is provided in the target circuit portion, the verification unit 3 outputs a normal message regarding the resistor connection in S58. In this case, the verification unit 3 may display "No problem" as the normal message.
[0083] Fig. 19 is a flowchart showing an example of a verification process related to an open-drain input terminal. The process of this flowchart corresponds to S33 shown in Fig. 16 and is executed when the target circuit portion includes an open-drain input terminal. In this embodiment, it is assumed that the process shown in Fig. 18 (i.e., verification related to the output terminal) has been completed.
[0084] In S61, the verification unit 3 refers to the design information of each device and determines whether or not a bidirectional terminal exists in the target circuit portion. If a bidirectional terminal exists in the target circuit portion, the verification unit 3 outputs an attribute error message in S62. In this case, the verification unit 3 may display "E: Bidirectional terminal included" as the attribute error message. On the other hand, if a bidirectional terminal does not exist in the target circuit portion, the verification unit 3 outputs a normal message about the attribute in S63.
[0085] Note that a design in which open-drain input terminals and output terminals are mixed within the target circuit portion is an error. However, verification of the output terminals has already been completed. Therefore, in the flowchart shown in Figure 19, it is not necessary to determine whether an output terminal exists as part of the verification of the attributes of each terminal.
[0086] In S64, the verification unit 3 determines whether or not two or more pull-ups exist in the target circuit portion. If two or more pull-ups exist in the target circuit portion, the verification unit 3 determines that the resistor connection is incorrect, and outputs a resistor error message in S65. In this case, the verification unit 3 may display "duplicate pull-up resistor" as the resistor error message.
[0087] In S66, the verification unit 3 determines whether a pull-down resistor or a KEEPER circuit is present in the target circuit portion. If a pull-down resistor or a KEEPER circuit is present in the target circuit portion, the verification unit 3 determines that the resistor connection is incorrect, and outputs a resistor error message in S67. In this case, the verification unit 3 may display "A pull-down or KEEPER circuit is present" as the resistor error message.
[0088] In S68, the verification unit 3 determines whether the target circuit portion has a pull-up. If there is no pull-up in the target circuit portion, the verification unit 3 determines that the resistor connection is incorrect, and outputs a resistor error message in S69. In this case, the verification unit 3 may display "no pull-up" as the resistor error message. On the other hand, if the target circuit portion has a pull-up, the verification unit 3 determines that the resistor connection is correct, and outputs a normal message about the resistor connection in S70.
[0089] Fig. 20 is a flowchart showing an example of a verification process related to an open drain terminal. The process of this flowchart corresponds to S34 shown in Fig. 16, and is executed when the target circuit portion includes an open drain terminal. In this example, it is assumed that the processes shown in Figs. 18 and 19 (i.e., verification related to the output terminal and open drain input terminal) have been completed.
[0090] In S81, the verification unit 3 refers to the design information of each device and determines whether or not a bidirectional terminal exists in the target circuit portion. If a bidirectional terminal exists in the target circuit portion, the verification unit 3 outputs an attribute error message in S82. In this case, the verification unit 3 may display "E: Bidirectional terminal included" as the attribute error message. On the other hand, if a bidirectional terminal does not exist in the target circuit portion, the processing of the verification unit 3 proceeds to S83.
[0091] Note that a design in which open-drain terminals and output terminals are mixed within the target circuit portion is incorrect. However, verification of the output terminals has already been completed. Therefore, in the flowchart shown in Figure 20, it is not necessary to determine whether an output terminal exists as part of the verification of the attributes of each terminal.
[0092] In S83, the verification unit 3 refers to the design information of each device and determines whether or not an input terminal exists in the target circuit portion. If an input terminal does not exist in the target circuit portion, the verification unit 3 outputs an attribute error message in S84. In this case, the verification unit 3 may display "E: No input terminal" as the attribute error message. On the other hand, if an input terminal exists in the target circuit portion, the verification unit 3 outputs a normal message for the attribute in S85.
[0093] The processing of S86 to S92 is substantially the same as S64 to S70 in the flowchart shown in Fig. 19. Therefore, a description of S86 to S92 will be omitted.
[0094] Fig. 21 is a flowchart showing an example of a verification process related to a bidirectional terminal. The process of this flowchart corresponds to S35 shown in Fig. 16, and is executed when the target circuit portion includes a bidirectional terminal. In this example, it is assumed that the processes shown in Figs. 18 to 20 (i.e., verification related to an output terminal, an open-drain input terminal, and an open-drain terminal) have been completed.
[0095] A design in which bidirectional terminals and output terminals, open-drain input terminals, or open-drain terminals are mixed within the target circuit portion is incorrect. However, verification of output terminals, open-drain input terminals, and open-drain terminals has already been completed. Therefore, in the flowchart shown in Figure 21, verification of the attributes of each terminal is not necessary.
[0096] In S101, the verification unit 3 determines whether the target circuit portion has two or more pull resistors. If the target circuit portion has two or more pull resistors, the verification unit 3 determines that the resistor connections are incorrect, and outputs a resistor error message in S102. For example, if duplicate pull-up resistors are provided, the verification unit 3 may display a resistor error message saying "Duplicate pull-up resistors."
[0097] In S103, the verification unit 3 determines whether the target circuit portion has a pull resistor. If the target circuit portion does not have a pull resistor, the verification unit 3 determines that the resistor connection is incorrect, and outputs a resistor error message in S104. In this case, the verification unit 3 may display "no pull resistor" as the resistor error message. On the other hand, if the target circuit portion has one pull resistor, the verification unit 3 determines that the resistor connection is correct, and outputs a normal message about the resistor connection in S105.
[0098] Fig. 22 is a flowchart showing an example of a verification process related to an input terminal. The process of this flowchart corresponds to S36 shown in Fig. 16, and is executed when the target circuit portion includes an input terminal. In this example, it is assumed that the processes shown in Figs. 18 to 21 (i.e., verification related to an output terminal, an open-drain input terminal, an open-drain terminal, and a bidirectional terminal) have been completed.
[0099] In S111, the verification unit 3 refers to the design information of each device and determines whether all terminals in the target circuit portion are input terminals only. In this example, the verification process for output terminals, open-drain input terminals, open-drain terminals, and bidirectional terminals has been completed. Therefore, if any terminals other than input terminals remain, it is assumed that some kind of abnormality (for example, a database error) has occurred. Therefore, in this case, the process of the verification unit 3 is terminated by an abnormal stop.
[0100] If all the terminals are input terminals, the processing of the verification unit 3 proceeds to S112. The processing of S112 to S116 is substantially the same as S101 to S105 in the flowchart shown in Fig. 21. However, in S114, the verification unit 3 determines whether the target circuit portion is connected to a pull resistor, a power supply, or GND. Then, if the target circuit portion is connected to a pull resistor, a power supply, or GND, the verification unit 3 outputs a normal message in S116.
[0101] <Hardware configuration> 23 shows an example of the hardware configuration of the circuit verification device 10. The circuit verification device 10 is realized by a computer 100 including a processor 101, a memory 102, a storage device 103, an input / output device 104, a recording medium reader 105, and a communication interface 106.
[0102] The processor 101 executes a circuit verification program stored in the storage device 103. When the processor 101 executes the circuit verification program, the function of the verification unit 3 shown in FIG. 3 is provided. The memory 102 is used as a work area for the processor 101. The storage device 103 stores the circuit verification program and other programs. The netlist storage unit 1 and the device design information storage unit 2 are realized by the memory 102 or the storage device 103.
[0103] The input / output device 104 may include input devices such as a keyboard, a mouse, a touch panel, and a microphone. The input / output device 104 may also include output devices such as a display device and a speaker. The recording medium reader 105 can acquire data and information recorded on the recording medium 110. The recording medium 110 is a removable recording medium that can be attached to or detached from the computer 100. The recording medium 110 may be realized by, for example, a semiconductor memory, a medium that records signals optically, or a medium that records signals magnetically. The circuit verification program may be provided to the computer 100 from the recording medium 110. The communication interface 106 provides a function for connecting to a network. When the circuit verification program is stored in the program server 120, the computer 100 may acquire the circuit verification program from the program server 120. [Explanation of symbols]
[0104] 1 Netlist storage section 2. Device design information storage section 3 Verification Department 4 Display 10 Circuit verification equipment 101 processors 102 memory
Claims
1. A circuit verification device that verifies a target circuit including a plurality of ICs, a first storage unit that stores netlist information representing connections between the plurality of ICs; a second storage unit that stores design information for each of the plurality of ICs; a verification unit that verifies the target circuit based on the netlist information and design information for each of the plurality of ICs, the design information includes, for each of the plurality of ICs, attribute information representing attributes of each terminal of the IC, and internal circuit information representing an internal circuit connected to each terminal within the IC; The verification unit when a first terminal of a first IC among the plurality of ICs is designated, detecting a second terminal of a second IC among the plurality of ICs that is electrically connected to the first terminal based on the netlist information; detecting a circuit portion to be verified that is electrically connected to the first terminal based on the netlist information, the internal circuit information related to the first terminal, and the internal circuit information related to the second terminal; performing a first determination based on the attribute information related to the first terminal and the attribute information related to the second terminal to determine whether or not the first terminal and the second terminal may be electrically connected; a second determination is made to determine whether or not a resistor is correctly provided in the circuit portion to be verified based on the netlist information, the attribute information and the internal circuit information related to the first terminal, and the attribute information and the internal circuit information related to the second terminal; A circuit verification device comprising:
2. the attribute information indicates whether the attribute of each terminal is an output terminal, an open-drain input terminal, an open-drain terminal, a bidirectional terminal, or an input terminal; The verification unit In the first determination, it is determined whether or not the first terminal and the second terminal may be electrically connected based on rule information indicating a combination of attributes of terminals that must not be electrically connected to each other, an attribute of the first terminal, and an attribute of the second terminal.
2. The circuit verification device according to claim 1.
3. the internal circuit information indicates whether a pull-up resistor is connected to each of the terminals, whether a pull-down resistor is connected to each of the terminals, and whether a voltage holding circuit is connected to each of the terminals; the rule information includes information indicating a resistor circuit required for each attribute of a terminal; The verification unit In the second determination, it is determined whether or not a resistor is correctly provided in the circuit portion under verification based on the rule information, the attribute of the first terminal, and the attribute of the second terminal.
3. The circuit verification device according to claim 2.
4. the internal circuit information indicates whether a pull-up resistor is connected to each of the terminals, whether a pull-down resistor is connected to each of the terminals, and whether a voltage holding circuit is connected to each of the terminals; the rule information includes information indicating a resistor circuit that should not be provided for each attribute of the terminal; The verification unit In the second determination, it is determined whether or not a resistor is correctly provided in the circuit portion under verification based on the rule information, the attribute of the first terminal, and the attribute of the second terminal.
3. The circuit verification device according to claim 2.
5. the design information further includes signal name information indicating signal names assigned to each terminal of each of the plurality of ICs; The verification unit compares the signal name assigned to the first terminal with the signal name assigned to the second terminal and outputs a result of the comparison.
2. The circuit verification device according to claim 1.
6. A circuit verification method for verifying a circuit including a plurality of ICs based on netlist information representing connections between the plurality of ICs and design information for each of the plurality of ICs, comprising: the design information includes, for each of the plurality of ICs, attribute information representing attributes of each terminal of the IC, and internal circuit information representing an internal circuit connected to each terminal within the IC; when a first terminal of a first IC among the plurality of ICs is designated, detecting a second terminal of a second IC among the plurality of ICs that is electrically connected to the first terminal based on the netlist information; detecting a circuit portion to be verified that is electrically connected to the first terminal based on the netlist information, the internal circuit information related to the first terminal, and the internal circuit information related to the second terminal; performing a first determination based on the attribute information related to the first terminal and the attribute information related to the second terminal to determine whether or not the first terminal and the second terminal may be electrically connected; a second determination is made to determine whether or not a resistor is correctly provided in the circuit portion to be verified based on the netlist information, the attribute information and the internal circuit information related to the first terminal, and the attribute information and the internal circuit information related to the second terminal; A circuit verification method comprising:
Citation Information
Patent Citations
Pull-up / pull-down resistance verification program, pull-up / pull-down resistance verification method, and information processing apparatus
JP2020095607A