Knowledge based method and apparatus for designing integrated circuits using functional specifications
DC CAFCFirst Claim
1. A computer-aided design system for designing an application specific integrated circuit directly from architecture independent functional specifications for the integrated circuit, comprisinga macro library defining a set of architecture independent operations comprised of actions and conditions;
- input specification means operable by a user for defining architecture independent functional specifications for the integrated circuit, said functional specifications being comprised of a series of operations comprised of actions and conditions, said input specification means including means to permit the user to specify for each operation a macro selected from said macro library;
a cell library defining a set of available integrated circuit hardware cells for performing the available operations defined in said macro library;
cell selection means for selecting from said cell library for each macro specified by said input specification means, appropriate hardware cells for performing the operation defined by the specified macro, said cell selection means comprising an expert system including a knowledge base containing rules for. selecting hardware cells from said cell library and inference engine means for selecting appropriate hardware cells from said cell library in accordance with the rules of said knowledge base; and
netlist generator means cooperating with said cell selection means for generating as output from the system a netlist defining the hardware cells which are needed to achieve the functional requirements of the integrated circuit and the connections therebetween.
3 Assignments
Litigations
0 Petitions
Reexaminations
Accused Products
Abstract
The present invention provides a computer-aided design system and method for designing an application specific integrated circuit which enables a user to define functional architecture independent specifications for the integrated circuit and which translates the functional architecture independent specifications into the detailed information needed for directly producing the integrated circuit. The functional architecture independent specifications of the desired integrated circuit can be defined at the functional architecture independent level in a flowchart format. From the flowchart, the system and method uses artificial intelligence and expert systems technology to generate a system controller, to select the necessary integrated circuit hardware cells needed to achieve the functional specifications, and to generate data and control paths for operation of the integrated circuit. This list of hardware cells and their interconnection requirements is set forth in a netlist. From the netlist it is possible using known manual techniques or existing VLSI CAD layout systems to generate the detailed chip level topological information (mask data) required to produce the particular application specific integrated circuit.
186 Citations
20 Claims
-
1. A computer-aided design system for designing an application specific integrated circuit directly from architecture independent functional specifications for the integrated circuit, comprising
a macro library defining a set of architecture independent operations comprised of actions and conditions; -
input specification means operable by a user for defining architecture independent functional specifications for the integrated circuit, said functional specifications being comprised of a series of operations comprised of actions and conditions, said input specification means including means to permit the user to specify for each operation a macro selected from said macro library; a cell library defining a set of available integrated circuit hardware cells for performing the available operations defined in said macro library; cell selection means for selecting from said cell library for each macro specified by said input specification means, appropriate hardware cells for performing the operation defined by the specified macro, said cell selection means comprising an expert system including a knowledge base containing rules for. selecting hardware cells from said cell library and inference engine means for selecting appropriate hardware cells from said cell library in accordance with the rules of said knowledge base; and netlist generator means cooperating with said cell selection means for generating as output from the system a netlist defining the hardware cells which are needed to achieve the functional requirements of the integrated circuit and the connections therebetween. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer-aided design system for designing an application specific integrated circuit directly from a flowchart defining architecture independent functional requirements of the integrated circuit comprising
a marco library defining a set of architecture independent operations comprised of actions and conditions; -
flowchart editor means operable by a user for creating a flowchart having elements representing said architecture independent operations; said flowchart editor means including macro specification means for permitting the user to specify for each operation represented in the flowchart a macro selected from said macro library; a cell library defining a set of available integrated circuit hardware cells for performing the available operations defined in said macro library; cell selection means for selecting form said cell library for each specified macro, appropriate hardware cells for performing the operation defined by the specified macro, said cell selection means comprising an expert system including a knowledge base containing rules for selecting hardware cells from said cell library and inference engine means for selecting appropriate hardware cells from said cell library in accordance with the rules of said knowledge base; and data path generator means cooperating with said cell selection means for generating data paths for the hardware cells selected by said cell selector means, said data path generator means comprising a knowledge base containing rules for selecting data paths between hardware cells and inference engine means for selecting data paths between hardware cells selected by said cell selection means in accordance with the rules of said knowledge base and the arguments of the specified macros. - View Dependent Claims (10)
-
-
11. A computer-aided design system for designing an application specific integrated circuit directly from a flowchart defining architecture independent functional requirements of the integrated circuit, comprising
flowchart editor means operable by a user for creating a flowchart having boxes representing architecture independent actions, diamonds representing architecture independent conditions, and lines with arrows representing transitions between actions and condition and including means for specifying for each box or diamond, a particular action or condition to be performed; -
a cell library defining a set of available integrated circuit hardware cells for performing actions and conditions; a knowledge base containing rules for selecting hardware cells from said cell library and for generating data and control paths for hardware cells; and expert system means operable with said knowledge base for translating the flowchart defined by said flowchart editor means into a netlist defining the necessary hardware cells and data and control paths required in an integrated circuit having the specified functional requirements. - View Dependent Claims (12)
-
-
13. A computer-aided design process for designing an application specific integrated circuit which will perform a desired function comprising
storing a set of definitions of architecture independent actions and conditions; -
storing data describing a set of available integrated circuit hardware cells for performing the actions and conditions defined in the stored set; storing in an expert system knowledge base a set of rules for selecting hardware cells to perform the actions and conditions; describing for a proposed application specific integrated circuit a series of architecture independent actions and conditions; specifying for each described action and condition of the series one of said stored definitions which corresponds to the desired action or condition to be performed; and selecting from said stored data for each of the specified definitions a corresponding integrated circuit hardware cell for performing the desired function of the application specific integrated circuit, said step of selecting a hardware cell comprising applying to the specified definition of the action or condition to be performed, a set of cell selection rules stored in said expert system knowledge base and generating for the selected integrated circuit hardware cells, a netlist defining the hardware cells which are needed to perform the desired function of the integrated circuit and the interconnection requirements therefor. - View Dependent Claims (14, 15, 16, 17)
-
-
18. A knowledge based design process for designing an application specific integrated circuit which will perform a desired function comprising
storing in a macro library a set of macros defining architecture independent actions and conditions; -
storing in a cell library a set of available integrated circuit hardware cells for performing the actions and conditions; storing in a knowledge base set of rules for selecting hardware cells from said cell library to perform the actions and conditions defined by the stored macros; describing for a proposed application specific integrated circuit a flowchart comprised of elements representing a series of architecture independent actions and conditions which carry out the function to be performed by the integrated circuit; specifying for each described action and condition of said series a macro selected from the macro library which corresponds to the action or condition; and applying rules of said knowledge base to the specified macros to select from said cell library the hardware cells required for performing the desired function of the application specific integrated circuit and generating for the selected integrated circuit hardware cells, a netlist defining the hardware cells which are needed to perform the desired function of the integrated circuit and the interconnection requirements therefor. - View Dependent Claims (19, 20)
-
Specification