The present invention relates to a circuit design method.
In a conventional design flow of an integrated circuit (IC), the designer first uses the hardware description language to design the circuit function for the register transfer level (RTL), and then a logic synthesis tool is used to convert the design into a gate-level netlist of the actual semiconductor technologies, taking into account various conditions. In this conversion process, the logic synthesis tool tries to optimize the logic. However, due to the increasing complexity of the design, the algorithms in synthesis tools are usually very complicated, and the designer need to set various settings and iteratively adjust the setting for better circuit performance. Unfortunately, there is no guarantee that the internal circuit will be globally optimized.
It is therefore an objective of the present invention to provide a circuit design method, which can re-optimize the gate-level netlist generated by the logic synthesis operations, to solve the above-mentioned problems.
In one embodiment of the present invention, a circuit design method is disclosed, wherein the circuit design method comprises the steps of: generating a gate-level netlist; determining at least one specific cell within a circuit according to the gate-level netlist, wherein an output signal of the at least one specific cell is always a fixed value; and replacing at least one specific cell by a tie cell to generate an updated gate-level netlist.
In another embodiment of the present invention, a computer program product used for a circuit design is disclosed, wherein the computer program product is executed by a computer to perform the steps of: determining at least one specific cell within a circuit according to a gate-level netlist, wherein an output signal of the at least one specific cell is always a fixed value; and replacing at least one specific cell by a tie cell to generate an updated gate-level netlist.
These and other objectives of the present invention will no doubt become obvious to those of ordinary skill in the art after reading the following detailed description of the preferred embodiment that is illustrated in the various figures and drawings.
In Step 102, the processor performs a logic synthesis operation according to an RTL design and specific constraints to generate a gate-level netlist, wherein the constraints may be clock frequency, pin function and/or other parameters that are entered by the engineer, and the gate-level netlist is a file format describing the circuit, which is logically identical to the RTL design.
In Step 104, the processor performs an attribute generation setting on the gate-level netlist. Specifically, in the present embodiment, the attribute describes a cell whether it always outputs a fixed value (that is, a cell whose output signal is always “1” or always “0”). The processor can put an attribute to detect signal variation at the output terminals of a cell in the gate-level netlist. The attributes can be expressed by SystemVerilog assertions, but it is not limited thereto.
In Step 106, the processor uses a formal method to determine if the attribute generated in Step 104 is met in the circuit of the gate-level netlist generated in Step 102, that is, the processor performs the attribute verification to determine at least one specific cell. Specifically, the processor uses the formal method to determine whether the output signal of each cell in the circuit will change. If the output signal of the cell changes, the verification attribute is met; and if the output signal of the cell does not change, the verification attribute is not met. Therefore, the processor can collect the cells whose attribute verification is not met as the specific cells whose output signals are always fixed values.
It is noted that the formal method is a computer science term, whose core is model-checking or property-checking. Because the formal method is based on rigorous mathematical proof, the formal method has higher reliability and it is possible to accurately find all the specific cells, whose output signals are always fixed values, in the circuit described in the gate-level netlist. In addition, because the present invention does not focus on the details of the formal method, the detailed descriptions of the formal method are therefore omitted here.
In Step 108, after determining all the specific cells that always output fixed values in the circuit, the processor adds a tie cell to the gate-level netlist to replace the function of the specific cell. That is, the output signal of the tie cell is used to replace the output signal of the specific cell, where the tie cell can be the simplest cell outputting the fixed value. For example, Referring to
In Step 110, the processor repeatedly searches for redundant cells in the temporary gate-level netlist that do not have any function, and removes these redundant cells from the circuit to generate an updated gate-level netlist. Specifically, referring to
In Step 112, the processor may determine whether the functions of the gate-level netlist and the updated gate-level netlist are the same by using the normal method to generate a determination result. Specifically, the processor may use a logic equivalence check (LEC) or a sequential equivalence check (SEC), and test the gate-level netlist and the updated gate-level netlist to determine if the gate-level netlist and the updated gate-level netlist have the same output results while receiving the same input signals, to determine if the functions of the gate-level netlist and the updated gate-level netlist are the same. If the determination result indicates that the gate-level netlist and the updated gate-level netlist have the same functions, it means that the updated gate-level netlist has a simpler architecture than the gate-level netlist generated in Step 102, and the updated gate-level netlist can be used for the subsequent physical circuit layout.
Briefly summarized, in the circuit design method of the present invention, by replacing the specific cell whose output signal is always a fixed value by a tie cell with less chip area, and removing the redundant cells repeatedly after completing the tie cell replacement, the circuit architecture can become simpler while maintaining the same functions to generated the optimized gate-level netlist. By using the circuit design method of the present invention, the problems that the optimization ability of the conventional logic synthesis tool is insufficient or the RTL design cannot be well matched can be solved.
Those skilled in the art will readily observe that numerous modifications and alterations of the device and method may be made while retaining the teachings of the invention. Accordingly, the above disclosure should be construed as limited only by the metes and bounds of the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
108107337 | Mar 2019 | TW | national |