The invention relates generally to the field of electronic design automation systems for digital logic, and more particularly to a method and system for allowing a designer to re-target integrated circuit of different vendors from a set of post routed boolean equations targeted to an integrated circuit of one vendor.
Due to advancements in processing technology, it is now possible to pack millions of transistors in an integrated circuit (IC). As a result, very large and complex circuits can be implemented into an IC. This means that it is extremely difficult for a design engineer to design ICs manually. Currently, almost all design engineers use a broad range of software tools to generate and analyze models of an intended system prior to its fabrication. These tools support the efficient generation of circuit implementation details from abstract specification models. They are also able to detect design mistakes early in the design process, thereby reducing unnecessary efforts spent on erroneous designs. These tools contribute to great savings in time and money needed to develop ICs.
During the early development of electronic design automation, designers define the various modules of an IC at the gate level using a schematic capture and/or simple Hardware Description Language (HDL) technique. Evolution of HDLs and advances in simulation and synthesis technologies have enabled IC designers to design at a higher level (register transfer level, or RTL) than at the gate level.
When designing using a HDL, the designer describes a module in terms of signals that are generated and propagated through combinatorial modules from one set of registers to another set of registers. HDLs provide a rich set of constructs to describe the functionality of a module. HDLs allows designs to be described at different levels. At a high level, the functionality is described using high level constructs such as ALWAYS blocks with sensitivity list, IF statements, CASE statements, and procedural continuous assignment statements that use logic operators, arithmetic operators, and relational operators. For example, Verilog and VHDL allow designs to be described at the behavioral, register transfer, and at the gate level. Similarly, ABEL allows designs to be described at the register transfer level (RTL) and at the structural level. There are a number of HDLs in addition to Verilog, VHDL, and ABEL. Some are proprietary to a single commercial vendor. A more detailed description of Verilog is set forth in Thomas and Moorby, “The Verilog Hardware Description Language,” Kluwer Academic Publishers (1990). A more detailed description of VHDL is set forth in K. C. Chang, “Digital Design and Modeling with VHDL and Synthesis,” IEEE Computer Society Press (1997). A more detailed description of ABEL is set forth in “ABEL-HDL Reference,” Data I/O Corporation (1994).
After a HDL design is defined, the designer uses design software supplied by an IC vendor to optimize the design entry source and then place and route the design into that vendor's target IC. The design software also generates a set of optimized and post-routed low level boolean equations which represent the design functionality. These equations may be hardware dependent or independent. The equations are not written in a standard HDL, such as Verilog or VHDL. Instead, they are generally written using a proprietary language format of the vendor.
In the programmable logic device (PLD) industry, some design software supplied by a first PLD vendor can read low-level boolean equations written by the software of a second vendor, and then compile the equations to target devices of the first vendor. This is generally done to allow a designer who has originally targeted his/her design to the technology of the second vendor the ability to re-target the same design into a technology supported by the first vendor. One of the problems is that when designs are re-targeted from one vendor to another using this method, the designer cannot read the intermediate files generated by the design software, edit the design, or simulate the design.
Mixed schematic/HDL designs present additional difficulties. They contain top level schematics having user-defined block symbols for the HDL modules only. Typically, the schematics are vendor dependent, and are written using a proprietary schematic editor and proprietary symbol library of a vendor. As a result, they cannot be re-targeted to another family of ICs marketed by another vendor.
The present invention provides a novel method and system of electronic design. It allows a designer to easily re-target a design optimized for the device of one IC vendor to the device of another vendor. The designer can start with a set of post-routed boolean equations optimized for a certain target. A corresponding synthesizable, editable, and simulatable HDL description is generated. The designer may edit the HDL code. Another target may be selected. Design optimization and placement and routing can be performed for the new target.
To implement the present invention, a system for automatically generating a HDL description of a design from low-level boolean equations is provided. This HDL description is synthesizable, editable, and simulatable. The designer is no longer required to manually re-write the design into HDL code.
The above summary of the present invention is not intended to describe each disclosed embodiment of the present invention. The figures and detailed description that follow provide additional example embodiments and aspects of the present invention.
The present invention relates to an innovative method to generate high-level hardware description language code. In the following description, numerous specific details are set forth in order to provide a more thorough understanding of the present invention. However, it will be apparent to one skilled in the art that the present invention may be practiced without these specific details. In other instances, well-known features have not been described in detail in order to avoid obscuring the present invention.
As explained above, many designers prefer to work with high level techniques (such as HDL) in designing ICs. The scope of describing designs in HDL is quite large, and a rich set of constructs and functionalities are available to describe any design. However, only a subset of these constructs are synthesizable. That is, only a subset of all of the available constructs can be taken through automated synthesis tools (such as the Design Compiler that is commercially available from Synopsys, Mountain View, Calif.) to generate gate level netlist in terms of the cells from a target technology library provided by the semiconductor vendor. This limited set of synthesizable constructs is referred to herein as synthesizable set, and members of this set is called synthesizable objects.
Many designers like to work with synthesizable HDL constructs that can be easily targeted to ICs of different vendors. One aspect of the present invention is that it is able to identify the synthesizable objects in a set of boolean equations and translates them into synthesizable, editable, and simulatable HDL constructs. With the present invention, the designer does not need to know the syntax of the boolean equations to understand the functionality of the design.
The present invention operates in a development environment 100 as shown in
In one embodiment, the processor of
The present invention provides a procedure of electronic design that is different from the prior art.
The details of step 144 are shown in
As an example, a 4-bit counter (described using boolean equations in according with the present invention) is shown in
The above principle can be applied to Verilog.
Steps similar to that illustrated in
The above principle can be applied to ABEL.
Steps similar to that illustrated in
Exemplary listings of programs (written in PERL) that can generate VHDL, Verilog and ABEL codes of the present invention are provided herein as appendix. The listings are recorded on a compact disc as a single text file entitled retarget.txt (created Apr. 22, 2001 and is 84 KB in size). The content of this file is incorporated herein by reference.
While the invention has been particularly shown and described with reference to a preferred embodiment and several alternate embodiments, it will be understood by persons skilled in the relevant art that various changes in form and detail can be made therein without departing from the spirit and scope of the invention.
| Number | Name | Date | Kind |
|---|---|---|---|
| 5452227 | Kelsey et al. | Sep 1995 | A |
| 5659484 | Bennett et al. | Aug 1997 | A |
| 5673198 | Lawman et al. | Sep 1997 | A |
| 6035106 | Carruthers et al. | Mar 2000 | A |
| 6044211 | Jain | Mar 2000 | A |
| 6086625 | Shouen | Jul 2000 | A |
| 6135647 | Balakrishnan et al. | Oct 2000 | A |
| 6205574 | Dellinger et al. | Mar 2001 | B1 |
| 6216257 | Agrawal et al. | Apr 2001 | B1 |
| 6216259 | Guccione et al. | Apr 2001 | B1 |
| 6226776 | Panchul et al. | May 2001 | B1 |
| 6243851 | Hwang et al. | Jun 2001 | B1 |
| 6493648 | Anderson | Dec 2002 | B1 |
| 6519755 | Anderson | Feb 2003 | B1 |
| 6691078 | Beer et al. | Feb 2004 | B1 |
| 6691301 | Bowen | Feb 2004 | B2 |
| 6763506 | Betz et al. | Jul 2004 | B1 |
| 7133819 | Hutton | Nov 2006 | B1 |
| 20020069396 | Bhattacharya et al. | Jun 2002 | A1 |
| 20020100001 | Lai et al. | Jul 2002 | A1 |
| 20030216901 | Schaumont et al. | Nov 2003 | A1 |