Computer-aided design and analysis of circuits and semiconductor – Nanotechnology related integrated circuit design
Reexamination Certificate
2000-02-10
2003-09-23
Smith, Matthew (Department: 2825)
Computer-aided design and analysis of circuits and semiconductor
Nanotechnology related integrated circuit design
C716S030000, C716S030000, C716S030000, C716S030000, C702S085000, C702S108000, C702S125000
Reexamination Certificate
active
06625797
ABSTRACT:
FIELD OF THE INVENTION
The present invention relates generally to electronic design automation and computer-aided hardware design. In particular, it is a computer-based technique for compiling functional algorithmic descriptions written in a high-level software language into digital hardware implementations.
BACKGROUND OF THE INVENTION
Current digital hardware design is done using hardware description languages (HDLs) such as Verilog and VHDL. These languages provide special constructs to handle the description of digital hardware-specific entities such as registers and clocks. While these languages are effective in describing hardware circuits they provide little in the way of high level abstractions to manage the complexity of modern designs. In contrast, modern software languages, and in particular object-oriented software languages such as Java and C++ provide robust high-level constructs that are very effective at managing complexity and serve to improve designer productivity as well as design quality.
In order for designers to keep pace with the amount of resources available in digital integrated circuits, designers must be prepared to double their productivity every 18 months. This is because the amount of available silicon doubles every 18 months. Current approaches to improving designer productivity using HDLs have had only limited success. The key to overcoming this challenge is to leverage high-level software languages for the design of hardware. However, a number of obstacles are readily apparent. Software languages were not designed for the description of hardware, and as such have no constructs for handling hardware specific structures. In addition, the underlying assumptions inherent in a software program (sequential execution, availability of a stack and heap) are not necessarily valid or desirable in a hardware implementation.
These challenges have, in the past, largely been addressed by either working to extend current HDLs to provide higher level construct or by adding features to a high-level software language to describe hardware specific constructs. However, neither approach has resulted in acceptable results. Extending an HDL is simply a stop-gap measure that cannot scale and does not solve the problem for the long term. Adding features to an existing software language to describe hardware seems like a reasonable approach, but what then happens is that the higher level of abstraction is lost, and the language simply turns into another syntax that implements the same HDL semantics.
SUMMARY OF THE INVENTION
The invention addresses the compilation of a high-level software-based description of an algorithm into efficient digital hardware implementation(s). This is done through the definition of new semantics for software constructs with respect to hardware implementations. This approach allows a designer to work at a high level of abstraction while the semantic model can be used to infer the resulting hardware implementation. These semantics are interpreted through the use of a compilation tool that analyzes the software description to generate a control and data flow graph. This graph is then the intermediate format used for optimizations, transformations and annotations. The resulting graph is then translated to either a register transfer level or a netlist-level description of the hardware implementation.
REFERENCES:
patent: 4570217 (1986-02-01), Allen et al.
patent: 5251290 (1993-10-01), Pabon
patent: 5550489 (1996-08-01), Raab
patent: 5706205 (1998-01-01), Masuda et al.
patent: 5801958 (1998-09-01), Dangelo et al.
patent: 5831864 (1998-11-01), Raghunathan et al.
patent: 5937184 (1999-08-01), Rao
patent: 5966534 (1999-10-01), Cooke et al.
patent: 6064819 (2000-05-01), Franssen et al.
patent: 6219628 (2001-04-01), Kodosky et al.
patent: 6272559 (2001-08-01), Jones et al.
patent: 6278386 (2001-08-01), Hogan
patent: 0 829 812 (1998-03-01), None
patent: 2000-267693 (2000-09-01), None
EDN Electrical Design News; “System-Level Design Languages: to C or not to C?”; Cahners Publishing Co., Newton, Massachusetts; vol. 44, No. 21; Oct. 14, 1999; pp. 135-136, 138, 140, 142, 144, 146.
Reinaldo A. Bergamaschi; “Behavioral Network Graph Unifying the Domains of High-Level and Logic Synthesis”; Proceedings of the 1999 Design Automation Conference., 36th DAC,; Jun. 21-25, 1999; pp. 213-218.
Davis Donald J.
Edwards Stephen G.
Harris Jonathan Craig
Jensen James E.
Kollegger Andreas Benno
Lee Jr. Granvill D
Maunu LeRoy D.
Smith Matthew
Venable, Baetjer, Howard & Civiletti
Xilinx , Inc.
LandOfFree
Means and method for compiling high level software languages... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Means and method for compiling high level software languages..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Means and method for compiling high level software languages... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3089793