1. Field of the Invention
The present invention relates to a logic circuit design support apparatus that employs a hardware description language in the design of a logic circuit, and a logic circuit design support method that employs this apparatus.
2. Description of the Related Art
Conventionally, for designing a logic circuit, logic synthesis is performed. According to this method, based on design information at a register transfer level (hereinafter referred to as an RTL) in a hardware description language (hereinafter referred to as an HDL), such as VerilogHDL or VHDL, a gate level net list is generated that is optimized, depending on technology mapping, by employing, as objective functions, constraints, such as dimensions, timing and power consumption.
To perform logic synthesis, not only must there be entered constraints, such as dimensions, timing and power consumption, which are objectives for optimization, but also synthesis instructions, in order to designate how a circuit is to be handled that has currently been synthesized. These instructions are used, for example, to designate timing exceptions for paths, such as false paths, for which actual operations are not performed, to designate case analyses for identifying paths in test modes, or to designate hierarchical development.
A synthesis instruction is written as a script at the time logic synthesis is executed, and instance names or net names are employed in logic hierarchy. A script is a written guide on how to perform synthesization.
It should be noted that part of a synthesis instruction can be set by each module that constitutes a logic circuit, and for a logic synthesis tool currently available on the market, a setup of the constraints and attributes for the module can be written as a synthesis instruction for the tool by using comments in the HDL description. For example, in the logic synthesis tool “Design Compiler” produced by Synopsys Inc., although it is one example, it is possible that each module has an objective dimension (max area) as attribute, and it is possible to describe an instruction for that value by using comments in the HDL description.
As a method for a synthesis instruction to be included in the HDL description, proposed is a logic synthesis method for designating partial mapping for synthesizing a target portion using a form similar to a logic description (see, for example, patent document 1).
Here, the patent Document 1 indicates Japanese Patent No. 2,848,332 (Page 4, FIG. 2).
However, the target circuit scale for a logic synthesis tool is increasing year by year, and logic synthesis can now be performed for several millions to several tens of millions of gates. Thus, using the conventional method, wherein an instruction for a module at a lower level is written by using the script at the time logic synthesis is executed, the hierarchical name is extended and logic synthesis must be performed again, for either some of the setup will be missing or a setup error due to manual preparation will have occurred. As a result, the number of steps required for logic synthesis is increased.
Further, when a set consisting of an HDL description and a synthesis script are provided for IP use, and when the level of this set, reading from the top, is employed as a target for a collective synthesis, the net name and the instance name written in the original script must be changed to the hierarchical name read from the top. In this case, a manual preparation error may also occur. Further, the hierarchial name thus obtained is not very versatile, and each time the set is applied for IP use, the name must be changed.
Furthermore, in non-patent document 1, a compatible synthesis instruction in the HDL description is limited to a constraint for and an attribute of a module that is an objective. Since a synthesis instruction for the instance name or the net name in the module is written by using a script to be executed, the same problem is encountered as is described above.
In addition, in non-patent document 1 and in patent document 1, a compatible synthesis instruction in the HDL description is written manually, and does not suffice as a synthesis instruction when the characteristic of a synthesis instruction tool is taken into account. Since there is a case wherein a synthesis instruction is written after the results obtained by synthesis have been examined, again, the same problem is encountered as is described above.
To resolve the conventional problem, one objective of the present invention is to simplify preparation of a synthesis script to be executed for large-scale collective synthesis, and to reduce the number of logic synthesis steps.
Another objective of the invention is to provide a logic circuit design support apparatus that increases multiplicity of use of HDL description and easily diverts the HDL description for design, and a method for employing this apparatus.
To achieve these objectives, a logic circuit design support apparatus and a method therefor have the following characteristics.
According to the present invention, a logic circuit design support apparatus, which employs an HDL description in which circuit information is written at a register transfer level, comprises:
an HDL description input unit, for receiving a first HDL description;
a circuit structure analysis unit, for analyzing types of function parts and connections of the function parts based on the circuit information;
a synthesis instruction generation unit, for employing the analysis results to generate a synthesis instruction for a designated logic synthesis tool; and
a synthesis instruction added HDL description output unit, for outputting a second HDL description obtained by adding the synthesis instruction to the first HDL description. With this arrangement, since the synthesis instruction is generated based on the circuit structure and is provided for the HDL description, preparation of the synthesis script can be simplified for a large-scale collective synthesization process, and the number of logic synthesis steps can be reduced. Further, the thus output HDL description with the added synthesis instruction can be easily applied for a variety of designs.
Furthermore, the logic circuit design support apparatus further comprises:
a synthesis instruction correlation rule storage unit, for storing a rule for correlating, with a characteristic of a circuit structure, a synthesis instruction method for a designated logic synthesis tool,
wherein the synthesis instruction generation unit refers to the synthesis instruction correlation rule.
The logic circuit design support apparatus of the invention further comprises:
a display unit, for displaying a synthesis instruction generated by the synthesis instruction generation unit;
an external input unit, for manually, establishing an adoption of a synthesis instruction and additionally entering the synthesis instruction; and
a synthesis instruction setup unit, for correlating the established synthesis instruction with a description location in the first HDL description.
The logic circuit design support apparatus of the invention further comprises:
a synthesis instruction optimization unit, for selecting an optimal synthesis instruction from either the synthesis instruction, written in the first HDL description, or the synthesis instruction, generated by the synthesis instruction generation unit. With this arrangement, when the second, previously prepared HDL description is changed, or when alteration of a synthesis instruction is required because the specification for a logic synthesis tool to be employed is changed, switching to the optical synthesis instruction can be easily performed.
Furthermore, according to the invention, a logic circuit design support apparatus, which employs an HDL description in which is written circuit information at a register transfer level, comprises:
an HDL description input unit, for receiving a first HDL description;
a function verification unit, for employing the circuit information to detect a false path for a circuit operation; and
a synthesis instruction added HDL description output unit, for outputting a second HDL description obtained by adding information for the false path to the first HDL description. With this arrangement, information for a false path in a target module can be included in the HDL description, a timing constraint can be easily prepared for a large-scale collective synthesis process, and the number of logic synthesis steps can be reduced.
In addition, according to the invention, a logic circuit design support apparatus, which employs an HDL description in which is written circuit information at a register transfer level, comprises:
an HDL description input unit, for receiving a first HDL description;
a synthesis instruction input unit, for receiving a synthesis instruction, relative to the first HDL description, included in a logic synthesis tool execution script;
a synthesis instruction allocation unit, for correlating the first HDL description with the synthesis instruction; and
a synthesis instruction added HDL description output unit, for outputting a second HDL description obtained by adding the synthesis instruction to the first HDL description. With this arrangement, when the IP or the HDL description output by an RTL generation tool is included, a script wherein an individual constraint is written need not be employed, and during the performance of the large-scale collective synthesis process, preparation of a script can be easily performed.
According to the present invention, a logic circuit design support method, for employing an HDL description in which is written circuit information at a register transfer level, comprises:
an HDL description input step of receiving a first HDL description;
a circuit structure analysis step of analyzing types of function parts and connections of the function parts based on the circuit information;
a synthesis instruction generation step of employing the analysis results to generate a synthesis instruction for a designated logic synthesis tool;
a synthesis instruction setup step of manually, establishing an adoption of a synthesis instruction and additionally entering the synthesis instruction, and of correlating the established synthesis instruction with a description location in the first HDL description; and
a synthesis instruction added HDL description output step of outputting a second HDL description obtained by adding the synthesis instruction to the first HDL description. With this arrangement, since the synthesis instruction is generated based on the circuit structure and is provided for the HDL description, preparation of the synthesis script can be simplified for a large-scale collective synthesization process, and the number of logic synthesis steps can be reduced. Further, the thus output HDL description with the added synthesis instruction can be easily applied for a variety of designs.
The logic circuit design support method of the invention further comprises:
a synthesis instruction optimization step of selecting an optimal synthesis instruction from either the synthesis instruction, written in the first HDL description, or the synthesis instruction, generated at the synthesis instruction generation step. With this arrangement, when the second, previously prepared HDL description is changed, or when alteration of a synthesis instruction is required because the specification for a logic synthesis tool to be employed is changed, switching to the optical synthesis instruction can be easily performed.
Furthermore, according to the invention, a logic circuit design support method, for employing an HDL description in which is written circuit information at a register transfer level, comprises:
an HDL description input step of receiving a first HDL description;
a function verification step of employing the circuit information to detect a false path for a circuit operation; and
a synthesis instruction added HDL description output step of outputting a second HDL description obtained by adding information for the false path to the first HDL description. With this arrangement, information for a false path in a target module can be included in the HDL description, a timing constraint can be easily prepared for a large-scale collective synthesis process, and the number of logic synthesis steps can be reduced.
In addition, according to the invention, a logic circuit design support method, for employing an HDL description in which is written circuit information at a register transfer level, comprises:
an HDL description input step of receiving a first HDL description;
a synthesis instruction input step of receiving a synthesis instruction, relative to the first HDL description, included in a logic synthesis tool execution script;
a synthesis instruction allocation step of correlating the first HDL description with the synthesis instruction; and
a synthesis instruction added HDL description output step of outputting a second HDL description obtained by adding the synthesis instruction to the first HDL description. With this arrangement, when the IP or the HDL description output by an RTL generation tool is included, a script wherein an individual constraint is written need not be employed, and during the performance of the large-scale collective synthesis process, preparation of a script can be easily performed.
Furthermore, according to the logic circuit design support method, at the synthesis instruction added HDL description output step, conditional branching of the HDL description employing a macro variable written in VerilogHDL is output. With this arrangement, even for a circuit wherein a problem occurs for a circuit operation under a specific condition, logic that prevents this problem is automatically inserted in the HDL description. Thus, this problem need not be taken into account during the RTL design process.
Further, for the logic circuit design support method of the invention, at the synthesis instruction generation step, when a conditional branch using a macro variable is included in the first HDL description, a macro variable value is determined based on circuit structure analysis results, and at the synthesis instruction added HDL description output step, a description for setting the value of the macro variable is added to the second HDL description. With this arrangement, the macro variable can be designated based on the structure analysis, and an instruction can be easily issued for logic synthesis.
Furthermore, for the logic circuit design support method, the synthesis instruction added HDL description output step includes the steps of: designating an output in an extensible language;
allocating a conversion rule extracted between a synthesis instruction and a description method in the extensible language for a synthesis instruction; and outputting a second HDL description in the extensible language. With this arrangement, the tool dependency of a synthesis instruction added HDL description to be output can be reduced, and the HDL description can be employed for various other purposes.
Moreover, according to the invention, for the logic circuit design support method, for employing an HDL description in which circuit information is written at a register transfer level, the HDL description includes:
a synthesis instruction relative to a module; and
a synthesis instruction relative to an instance that is a module at a lower level. With this arrangement, a flexible instruction can be issued when the same module is employed as a plurality of instances.
In addition, according to the invention, provided is a logic circuit design support method, wherein logic synthesis is performed employing an HDL description, in which circuit information is written at a register transfer level, and a logic library, and wherein designation of a cell for inhibiting an allocation in the logic library is enabled relative to individual modules in a logic hierarchy. With this arrangement, only collective synthesis from the top must be performed, and resynthezation of individual modules is not required. As a result, the number of logic synthesis steps can be reduced.
Furthermore, according to the invention, a logic circuit design support method is provided wherein, based on a plurality of evaluation values, logic synthesis is performed by employing an HDL description, in which circuit information at a register transfer level is written, and a logic library, and wherein priority ranks for the evaluation values are designated for individual modules in a logic hierarchy. With this arrangement, only collective synthesization from the top must be performed, so that an optimization method can be employed that is consonant with the characteristic of the circuit.
Further, according to the invention, provided is a logic circuit design support method, wherein logic synthesis is performed by employing an HDL description, in which circuit information at a register transfer level is written, and a logic library; and wherein the HDL description is a synthesis instruction added HDL description that includes a logic optimization inhibition instruction relative to a wire-declared signal name. With this arrangement, logic optimization can be prevented between a fault observation point and a selector consonant by using a test mode signal, and a desired fault detection rate can be maintained.
Also, according to the invention, provided is a logic circuit design support method, wherein logic synthesis is performed by employing an HDL description, in which circuit information is written at a register transfer level, and a logic library; and wherein the HDL description is a synthesis instruction added HDL description that designates an instance name for of a selector cell relative to a case sentence or an if sentence. With this arrangement, when the instance name is received for a cell that is mapped as a selector, a constraint for a selector, relative to a test circuit, can be easily designated. Further, a cell need not directly be designated as an instance, and the HDL description can be used in many more ways.
According to the logic circuit design support apparatus of the invention, a synthesis instruction for a designated logic synthesis tool is generated based on the structure analysis or function verification in accordance with the HDL description of the RTL, and is output as an HDL description to which a synthesis instruction has been added. Further, when an output in an extensible language is designated, conversion of a synthesis instruction into an extensible language is performed. Further, when, like the IP, a pair consisting of an HDL description and a synthesis script is provided, a synthesis instruction included in a synthesis script is inserted in the HDL description. In addition, an HDL description with an added, previously generated synthesis instruction is changed into an optimal synthesis instruction.
Therefore, a synthesis instruction added HDL description that is output can be easily applied for a design process, and also, another type of design process that employs this HDL description can be efficiently performed.
Furthermore, the logic circuit design support apparatus of the invention performs logic synthesis by accepting the individual synthesis instruction added HDL descriptions that have been output.
Therefore, the preparation of a synthesis script can be easily performed during the large-scale collective synthesis processing, and the number of logic synthesis steps can be reduced.
In addition, according to the logic circuit design support method of the invention, as synthesis instructions, an optimization preference and an allocation inhibition cell designation can be generated for individual modules.
Therefore, collective synthesis from a top hierarchical level can be performed, and the number of logic synthesis steps can be reduced.
Further, according to the logic circuit design support method of the invention, the designation of the instance name of a selector and the designation of an optimization inhibition net can be generated as synthesis instructions.
Therefore, a constraint for selector logic can be easily designated for a test circuit, and a desired fault detection rate can be maintained.
Also, according to the logic circuit design support method of the invention, conditional branching of an HDL description using a macro variable can be generated based on the structure analysis, and the value of a macro variable can be designated.
Therefore, for a circuit wherein a circuit operation problem occurs when a specific condition is encountered, this must be taken into consideration during the RTL design process and during the logic synthesis process.
FIGS. 4(a) and 4(b) are diagrams showing example synthesis instruction added HDL descriptions.
FIGS. 5(a), 5(b), 5(c) and 5(d) are diagrams showing example synthesis instruction added HDL descriptions.
FIGS. 13(a) and 13(b) are diagrams showing example HDL descriptions to which an allocation inhibition cell instruction is added.
FIGS. 14(a) and 14(b) are diagrams showing example HDL descriptions to which an optimization priority level instruction is added.
FIGS. 15(a) and 15(b) are diagrams showing example HDL descriptions to which a wire logic optimization inhibition instruction is added.
FIGS. 16(a) and 16(b) are diagrams showing example HDL descriptions to which an instance name instruction for a selector cell is added.
The preferred embodiments of the present invention will now be described in detail while referring to the accompanying drawings.
(First Embodiment)
First, at step 101, the HDL description input unit 2 receives the RTL circuit information written in the HDL description 1. At step 102, based on the circuit information, the circuit structure analysis unit 3 prepares connection information formed of function parts, such as a register, an operation unit and a multiplexer, that are components of an RTL logic circuit, and generates the analysis results that include the types of function parts, the connection relationship and the number of logical stages.
At step 103, the synthesis instruction generation unit 5 correlates the logic circuit analysis results with a synthesis instruction correlation rule that is stored in the synthesis instruction correlation rule storage unit 4. At step 104, the synthesis instruction setup unit 6 displays the generated synthesis instruction on the display unit 7. The adoption of a synthesis instruction is established, manually, through the external input unit 8, and the synthesis instruction is additionally entered. Then, the established synthesis instruction is correlated with the description location in the HDL description 1. At step 105, the synthesis instruction added HDL description output unit 9 outputs the synthesis instruction added HDL description 10 for which the synthesis instruction is additionally provided.
Examples for synthesis instruction added HDL descriptions, which are output by the synthesis instruction added HDL description output unit 9, are shown while referring to FIGS. 4 to 6.
FIGS. 4(a) and 4(b) are diagrams showing example synthesis instruction added HDL descriptions that are output by the synthesis instruction added HDL description output unit 9. In
The synthesis instruction 201 in
An example shown in FIGS. 5(a) to 5(d) will now be explained.
An input HDL description is shown
Alteration of the HDL description in
As described above, since the logic circuit design support apparatus includes: the circuit structure analysis unit 3, for analyzing, as a target, the HDL description at the RTL, the synthesis instruction generation unit 5, for employing the analysis results to generate a synthesis instruction relative to a designated logic synthesis tool, and a synthesis instruction added HDL description output unit 9, for outputting an HDL description, for which a synthesis instruction is additionally provided, the synthesis script preparation can be easily performed during the large-scale collective synthesis processing. Further, the synthesis instruction added HDL description that is output can be easily applied for a variety of designs.
(Second Embodiment)
The characteristic of this embodiment is that a circuit structure analysis unit 3 analyzes a circuit structure and thereafter performs a verification function. In
In
The process performed by the function verification unit 11 at step 111 will now be described.
A conventional, formal verification technique is employed as a function verification method, and the following two methods are performed for the detection of a false path.
One method involves verification based on the circuit specification. According to this method, a set of values that are actually impossible is designated for two or more selector control signals, and an inter-register path that can be connected at this time is defined as a false path.
When, for example, a specification is designated that “control signals s1 and s2 do not have the same value at the same time”, an inter-register path that is connected at the time s1=s2=1, or s1=s2=0 is designated a false path.
The other method is the opposite of this one. That is, relative to a path that is detected by the circuit structure analysis unit 3 and is located at a large number of logic stages, a value for a control signal is obtained when a selector on that path is connected. Then, verification is performed to determine whether the value is available for all the individual control signals at the same time. When the result is false, the path is defined as a false path.
As a result, at step 105 in
As described above, since the function verification unit 11, for employing circuit information to detect a false path in a circuit operation, is provided, the information for a false path in a target circuit can be included in the HDL description, and preparation of the timing constraint can be easily performed during the large-scale collective synthesis process.
(Third Embodiment)
In
While referring to
In
Thereafter, the process at step 105 is performed for the correlated synthesis instruction.
As described above, the logic circuit design support apparatus includes the synthesis instruction input unit 13, which receives the logic synthesis execution script 12 that is relative to the HDL description 1 and that extracts a synthesis instruction, and the synthesis instruction allocation unit 14, which correlates the HDL description with the synthesis instruction. Therefore, even when the IP or the HDL description output by the RTL generation tool is included, preparation of the script during the large-scale collective synthesis process can be easily performed, without having to employ the script wherein individual constraints are written.
(Fourth Embodiment)
In
In this embodiment, as shown in the block diagram in
Specifically, means Es, enclosed by the broken line in
Referring to
While referring to
When an HDL description and a synthesis script are provided as a pair, like IP, for a target logic circuit for logic synthesis, at steps 112 and 113 the synthesis instruction added HDL description 10 is generated in the same manner as in the third embodiment. For the other logic circuit, at steps 102 to 104 the synthesis instruction added HDL description 10 is generated in the same manner as in the first and the second embodiments.
At step 114, for outputting the HDL description, the HDL description collective input unit 16 receives the synthesis instruction added HDL description 10 and the HDL description 15 at the top level.
At step 115, the logic circuit/synthesis instruction coupling unit 18 receives a synthesis script 17 at the top level, and couples the individual modules in the hierarchical structure with the synthesis instruction. That is, for each module, descending from the top, the logic hierarchy includes a hierarchical name, and the synthesis instruction written in the synthesis instruction added HDL description is changed to the setup relative to the hierarchical name.
At step 116, the hierarchy development unit 19 performs the hierarchical development in accordance with the hierarchy instruction. Then, at step 117, the logic optimization unit 21 employs the logic library 20 to perform technology mapping, so that design constraints, such as dimensions, timing and power consumption, are satisfied. Finally, at step 118, the net list output unit 22 outputs the net list 23 for the entire target net list.
An explanation will now be given for an example synthesis instruction added HDL description 10 of this embodiment, and a logic synthesis method performed in accordance with the synthesis instruction.
An example HDL description for which an allocation inhibited cell instruction is additionally provided is shown in
FIGS. 14(a) and 14(b) are diagrams showing examples of the HDL descriptions in which optimization priority levels are included. In
As described above, since the logic synthesis is performed while each synthesis instruction added HDL description is employed as input, the number of logic synthesis steps can be reduced during the large-scale collective synthesis processing.
Furthermore, since designation of the optimization priority level for individual modules and designation of an allocation inhibition cell are enabled as synthesis instructions, the optimal collective synthesis can be performed from the top level.
Further, since designation of the instance name of a selector and designation of an optimization inhibition net are also enabled as synthesis instructions, the setup of the constraint for the selector logic can be easily performed for the test circuit. Furthermore, a desired fault detection rate can be maintained.
(Fifth Embodiment)
In
Similarly, in
When a synthesis instruction generation unit 5 has generated a synthesis instruction at step 103, at step 119, the synthesis instruction optimization unit 24 compares the synthesis instruction, generated at step 103, with a synthesis instruction obtained from an HDL description 1 entered at step 101. When the contents of the two synthesis instructions conflict, the synthesis instruction entered at step 101 is replaced by the new synthesis instruction generated at step 103. Thereafter, the processes at step 104 and the following steps are performed for all the synthesis instructions, including the replaced synthesis instruction.
As described above, the synthesis instruction optimization unit 24 has been provided, and is used to select an optimal synthesis instruction, from an synthesis instruction included in the HDL description 1 and a synthesis instruction generated by the synthesis instruction generation unit 5. Thus, when the synthesis instruction added HDL description that was previously generated is changed, or when alteration of a synthesis instruction is required because the specification for a logic synthesis tool that is employed is changed, the synthesis instruction can be easily changed to the optimal synthesis instruction.
The logic circuit design support apparatus and the logic circuit design support method of the invention include the synthesis instruction added HDL description output means, and are useful as an LSI design environment, which includes a logic synthesis process, and as the application of the IP.
Number | Date | Country | Kind |
---|---|---|---|
P2005-293826 | Oct 2005 | JP | national |