← Back to Patent Explorer
US5029102A Expired / Lapsed US ⏱️ 0.0 years remaining

Logical synthesis

Assignee: International Business Machines Corp
•
Filing: 1987-06-08
•
Granted: 1991-07-02
•
Expires: 2007-06-08
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract The present invention provides a logic synthesis method and system which begins with a set of register transfer statements describing the desired logic. These statements are converted to expressions in prefix form. Next, logic reduction is performed on the individual expressions. The modified expressions are then converted to a set of logical function blocks, some of which may not be primitive blocks. Logical reduction is performed on the global set of any remaining primitives. The output of the above process is then used to synthesize the logic circuit. Included in the invention are novel techniques for performing logic reduction on the individual expressions.

Inventors

  • 👤 Anthony D. Drumm
  • 👤 Charles P. Sweet

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-27 23:25
CPC Classifications
G; G06; G06F; G06F30/00; G06F30/30; G06F30/32; G06F30/327

Claims Analysis

Total Claims: 31
Claim 1
Independent Claim 140 words
A method of logic synthesis comprising the steps of: providing a set of register transfer statements describing the desired logic, converting said set of statements to a corresponding set of individual expressions, each of said expressions comprising a character string of at least one operator and one associated operand, and one of said expressions comprising a character string of a plurality of operators and a plurality of associated operands, performing logic reduction on said expressions individually, said logic reduction including at least one type of logic level reduction, converting each reduced expression individually to a corresponding set of logical function blocks including primitive and grouped blocks, and performing logic reduction on said primitive blocks globally, whereby primitive blocks corresponding to different expressions are reduced together, and wherein both converting steps and both logic reduction steps are performed by a computer.
Claim 2
Independent Claim 140 words
A method of logic synthesis comprising the steps of: providing a set of register transfer statements describing the desired logic, converting said set of statements to a corresponding set of individual expressions, each of said expressions comprising a character string of at least one operator and one associated operand, and one of said expressions comprising a character string of a plurality of operators and a plurality of associated operands, performing logic reduction on said expressions individually, said logic reduction including at least one type of logic level reduction, converting each reduced expression individually to a corresponding set of logical function blocks including primitive and grouped blocks, and performing logic reduction on said primitive blocks globally, whereby primitive blocks corresponding to different expressions are reduced together, and wherein both converting steps and both logic reduction steps are performed by a computer.
Claim 3
Dependent Claim 77 words
The method recited in claim 1 wherein said logical reduction on said expressions is performed by: removing inverters from said expression, performing all reduction of simple blocks feeding simple blocks which compress to simple blocks, performing all reduction of simple blocks feeding simple blocks which compress to grouped blocks, performing all reduction of grouped blocks feeding simple blocks which compress to grouped blocks, performing all reduction of simple blocks feeding grouped blocks which compress to grouped blocks.
Claim 4
Dependent Claim 12 words
The method recited in claim 1 wherein said process is performed recursively.
Claim 5
Dependent Claim 34 words
A method as set forth in claim 1 further comprising the computerized step of modeling a logic circuit based on the logical function blocks after the step of logical reduction on said primitive blocks.
Claim 6
Dependent Claim 16 words
A method as set forth in claim 1 wherein said individual expressions are in prefix form.
Claim 7
Independent Claim 101 words
A method of performing logical reduction on a set of logical blocks, said method comprising the steps of: performing reduction of simple blocks feeding simple blocks which compress to simple blocks, after said compression to simple blocks, performing reduction of simple blocks feeding simple blocks which compress to grouped blocks, after said compression to grouped blocks, performing reduction of grouped blocks feeding simple blocks which compress to grouped blocks, and after said reduction of grouped blocks, performing reduction of simple blocks feeding grouped blocks which compress to grouped blocks, and wherein all of said reduction steps are performed by a computer.
Claim 8
Independent Claim 101 words
A method of performing logical reduction on a set of logical blocks, said method comprising the steps of: performing reduction of simple blocks feeding simple blocks which compress to simple blocks, after said compression to simple blocks, performing reduction of simple blocks feeding simple blocks which compress to grouped blocks, after said compression to grouped blocks, performing reduction of grouped blocks feeding simple blocks which compress to grouped blocks, and after said reduction of grouped blocks, performing reduction of simple blocks feeding grouped blocks which compress to grouped blocks, and wherein all of said reduction steps are performed by a computer.
Claim 9
Dependent Claim 164 words
The method recited in claim 6 wherein said inverters are removed by: a computerized method of inverter circuit reduction, each circuit being described by an expression including operands and operators in prefix notation, the operators including inverters, said method including the steps of: recursively operating on any inner expression such that the operands are processed left to right during said recursive operation, one of the expression's operators being an inverter and its operand being an operator, and if the inner expression's operator is an inverter replacing the expression by the operand of the inner expression, otherwise, inverting the expression's operator and replacing its operand with the inner expression's operand, if another one of the expression's operator is not an inverter and all of tis operands are inverter inner expressions, then performing a De Morgan translation on the expression and replacing its operands by the operands of the inverter inner expressions, whereby the resulting expression will represent a circuit which has been reduced if possible.
Claim 10
Dependent Claim 33 words
A method as set forth in claim 6 further comprising the subsequent computerized step of modeling a logic circuit based in part on the simple and grouped blocks resulting after said reduction steps.
Claim 11
Dependent Claim 35 words
A method as set forth in claim 6 wherein all of said steps are performed on an expression, said expression comprising a character string of a plurality of operators and a plurality of associated operands.
Claim 12
Dependent Claim 27 words
A method as set forth in claim 9 further comprising the step of removing inverters from said expression before performing reduction of simple blocks feeding simple blocks.
Claim 13
Independent Claim 161 words
A method of reducing inverters in a logical circuit, said logical circuit being described by an expression including operands and operators in prefix notation, the operators including inverters, said method being implemented by a computer and including the steps of: recursively operating on any inner expression such that the operands are processed left to right during said recursive operation, one of the expression's operators being an inverter, and its operand being an operator, and if the inner expression's operator is an inverter, replacing the expression by the operand of the inner expression, otherwise, inverting the expression's operator and replacing its operand with the inner expression's operand, if another one of the expression's operators is not an inverter and all of its operands are inverter inner expressions, then performing a De Morgan translation on the expression and replacing its operands by the operands of the inverter inner expressions, whereby the resulting expression will represent a circuit which has been reduced if possible.
Claim 14
Independent Claim 161 words
A method of reducing inverters in a logical circuit, said logical circuit being described by an expression including operands and operators in prefix notation, the operators including inverters, said method being implemented by a computer and including the steps of: recursively operating on any inner expression such that the operands are processed left to right during said recursive operation, one of the expression's operators being an inverter, and its operand being an operator, and if the inner expression's operator is an inverter, replacing the expression by the operand of the inner expression, otherwise, inverting the expression's operator and replacing its operand with the inner expression's operand, if another one of the expression's operators is not an inverter and all of its operands are inverter inner expressions, then performing a De Morgan translation on the expression and replacing its operands by the operands of the inverter inner expressions, whereby the resulting expression will represent a circuit which has been reduced if possible.
Claim 15
Dependent Claim 12 words
The method recited in claim 11 wherein said process is performed recursively.
Claim 16
Dependent Claim 27 words
A method as set forth in claim 11 further comprising the subsequent computerized step of modeling a logic circuit based in part on the inverter reduced expression.
Claim 17
Dependent Claim 171 words
A logic level reduction process to perform all the required reductions within a group of logic, said process being independent of the partitioning of the possibilities, and complete reduction occurring after procession for all groups, said process beginning with an expression including a plurality of operators and a plurality of associated operands in prefix form, being implemented by a computer, and comprising the steps of: recursively operating on any expression, each of said expressions including a plurality of operands which are processed left to right during said recursive operation, at least one operand being an inner expression with a compressible operator, and no operand being incompatible with this compression, and further comprising the steps of: changing the expression operator to the compressed operator and replacing compressible inner expressions with their operands, and wherein said expression is initially reduced such that simple logic elements feeding simple logic elements are reduced to simple logic elements, and subsequently reduced such that simple logic elements feeding simple logic elements are reduced to grouped logic elements.
Claim 18
Dependent Claim 171 words
A logic level reduction process to perform all the required reductions within a group of logic, said process being independent of the partitioning of the possibilities, and complete reduction occurring after procession for all groups, said process beginning with an expression including a plurality of operators and a plurality of associated operands in prefix form, being implemented by a computer, and comprising the steps of: recursively operating on any expression, each of said expressions including a plurality of operands which are processed left to right during said recursive operation, at least one operand being an inner expression with a compressible operator, and no operand being incompatible with this compression, and further comprising the steps of: changing the expression operator to the compressed operator and replacing compressible inner expressions with their operands, and wherein said expression is initially reduced such that simple logic elements feeding simple logic elements are reduced to simple logic elements, and subsequently reduced such that simple logic elements feeding simple logic elements are reduced to grouped logic elements.
Claim 19
Dependent Claim 12 words
The method recited in claim 14 wherein said process is performed recursively.
Claim 20
Dependent Claim 26 words
A method as set forth in claim 14 further comprising the subsequent computerized step of modeling a logic circuit based in part on the reduced expression.
Claim 21
Dependent Claim 143 words
The process of creating logic block representation from an expression representing said logic, said logic block representation of the expression including definitions of the input pins, the output pins and logic block interconnections, said process being implemented by a computer and including the following steps: recursively operating on any inner expressions, each of said expressions including a plurality of operands which are processed left to right during said recursive operation, and for a first operand in the expression, creating a logic block whose function is the same as the expression's operator and adding an output pin to the block, adding an input pin to the block and connecting to the operand's source for all operands, and returning the output pin of each operator block as a source to the adjacent block corresponding to the leftward-operator, if any, when all operands have been processed.
Claim 22
Dependent Claim 143 words
The process of creating logic block representation from an expression representing said logic, said logic block representation of the expression including definitions of the input pins, the output pins and logic block interconnections, said process being implemented by a computer and including the following steps: recursively operating on any inner expressions, each of said expressions including a plurality of operands which are processed left to right during said recursive operation, and for a first operand in the expression, creating a logic block whose function is the same as the expression's operator and adding an output pin to the block, adding an input pin to the block and connecting to the operand's source for all operands, and returning the output pin of each operator block as a source to the adjacent block corresponding to the leftward-operator, if any, when all operands have been processed.
Claim 23
Dependent Claim 12 words
The method recited in claim 17 wherein said process is performed recursively.
Claim 24
Independent Claim 161 words
A method of reducing a logic circuit representation, said logic circuit being represented by a set of register transfer statements describing the desired logic, said method comprising the steps of: converting each of said statements to an individual expression, each of said expressions comprising a character string of at least one operator and one associated operand, and one of said expressions comprising a character string of a plurality of operators and a plurally of associated operands, performing logic reduction on each expression individually to substantially reduce Inverter, And or Nand, and Or or Nor operators within each expression, said logic reduction including at least one type of logic level reduction, converting each reduced expression individually to a set of logical function blocks, and globally performing logical reduction on said sets of logical function blocks, whereby logical function blocks of different sets are used in the same reduction, and wherein all of said converting and reduction steps are performed by a computer.
Claim 25
Independent Claim 161 words
A method of reducing a logic circuit representation, said logic circuit being represented by a set of register transfer statements describing the desired logic, said method comprising the steps of: converting each of said statements to an individual expression, each of said expressions comprising a character string of at least one operator and one associated operand, and one of said expressions comprising a character string of a plurality of operators and a plurally of associated operands, performing logic reduction on each expression individually to substantially reduce Inverter, And or Nand, and Or or Nor operators within each expression, said logic reduction including at least one type of logic level reduction, converting each reduced expression individually to a set of logical function blocks, and globally performing logical reduction on said sets of logical function blocks, whereby logical function blocks of different sets are used in the same reduction, and wherein all of said converting and reduction steps are performed by a computer.
Claim 26
Dependent Claim 17 words
The method recited in claim 13 wherein the logical reduction of said expressions produces non primitive blocks.
Claim 27
Dependent Claim 27 words
A method as set forth in claim 19 further comprising the subsequent computerized step of modeling a logic circuit corresponding to the globally reduced logical function blocks.
Claim 28
Dependent Claim 17 words
A method as set forth in claim 19 wherein each of individual expressions is in prefix form.
Claim 29
Dependent Claim 107 words
A single pass method of performing logical reduction on a set of logical blocks represented by an expression, said method comprising the following steps in order: removing inverters from said expression, performing all reduction of simple blocks feeding simple blocks which compress to simple blocks, performing all reduction of simple blocks feeding simple blocks which compress to grouped blocks, performing all reduction of grouped blocks feeding simple blocks which compress to grouped blocks, performing all reduction of simple blocks feeding grouped blocks which compress to grouped blocks, whereby all reductions are completed in one pass, and wherein all of said reduction steps are performed by a computer.
Claim 30
Dependent Claim 107 words
A single pass method of performing logical reduction on a set of logical blocks represented by an expression, said method comprising the following steps in order: removing inverters from said expression, performing all reduction of simple blocks feeding simple blocks which compress to simple blocks, performing all reduction of simple blocks feeding simple blocks which compress to grouped blocks, performing all reduction of grouped blocks feeding simple blocks which compress to grouped blocks, performing all reduction of simple blocks feeding grouped blocks which compress to grouped blocks, whereby all reductions are completed in one pass, and wherein all of said reduction steps are performed by a computer.
Claim 31
Dependent Claim 13 words
The method recited in claim 23 where said expressions are in prefix form.

References Cited (Backward Citations)

EP0168650A2 Cited
US4703435A Cited
US4803636A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1994-07-01 1994-12-31 1995-07-02 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1998-07-01 1998-12-31 1999-07-02 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2002-07-01 2002-12-31 2003-07-02 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag