IP Library › Granted Patent US 11,030,366
Granted Patent B2
US 11,030,366 · App. 15/930,010 · Granted Jun 8, 2021

Method and system of expanding set of standard cells which comprise a library

Inventors: Chi-Lin Liu (New Taipei, TW); Sheng-Hsiung Chen (Zhubei, TW); Jerry Chang-Jui Kao (Taipei, TW); Fong-Yuan Chang (Hsinchu, TW); Lee-Chung Lu (Taipei, TW); Shang-Chih Hsieh (Yangmei, TW); Wei-Hsiang Ma (Hsinchu, TW)
Assignee: TAIWAN SEMICONDUCTOR MANUFACTURING COMPANY, LTD.
G06F30/327G06F2111/06G06F2119/18
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,030,366
App. No.
15/930,010
Granted
Jun 8, 2021
Kind
B2
Abstract

A method includes: identifying ad hoc groups of elementary standard cells recurrent in a layout diagram; and selecting one group (selected group) of the recurrent ad hoc groups such that: the cells in the selected group have connections representing a corresponding logic circuit; each cell representing a logic gate; each ad hoc group has a number of transistors and a first number of logic gates; and the selected group providing a logical function. The method includes generating one or more macro standard cells such that: each macro standard cell has a number of transistors which is smaller than the number of transistors of a corresponding ad hoc group; or each macro standard cell has a second number of logic gates different than the first number of logic gates of the corresponding ad hoc group. The method also includes adding macro standard cells to the set of standard cells.

Claims (104)

1. A method of expanding a set of standard cells which comprise a library, the library being stored on a non-transitory computer-readable medium, the method comprising:

identifying ad hoc groups of elementary standard cells which are recurrent in a population of one or more layout diagrams;

selecting one group (selected group) of the recurrent ad hoc groups such that:

the elementary standard cells in the selected group having connections so as to represent a corresponding logic circuit;

each elementary standard cell representing a logic gate;

each ad hoc group, as a whole, has a first number of transistors;

each ad hoc group, as a whole, has a first number of logic gates; and

the selected group correspondingly providing a selected logical function which is representable correspondingly as a selected Boolean expression;

generating, in correspondence to the selected group, one or more macro standard cells such that:

each macro standard cell, as a whole, has a second number of transistors which is smaller than the first number of transistors of a corresponding ad hoc group; or

each macro standard cell, as a whole, has a second number of logic gates which is different than the first number of logic gates of the corresponding ad hoc group; and

adding the one or more macro standard cells to, and thereby expanding, the set of standard cells; and

wherein at least one aspect of the method is executed by a processor of a computer.

2. The method of claim 1 , wherein:

the identifying includes:

for each ad hoc group, determining a corresponding number of instances (count) of said each ad hoc group in the population;

for any ad hoc group having a count of two or more, treating the ad hoc group as a recurrent ad hoc group; and

the selecting includes:

choosing the selected group of the recurrent ad hoc groups based at least in part on the corresponding count; and

sorting the recurrent ad hoc groups according to the corresponding counts.

3. The method of claim 1 , wherein the generating includes:

configuring each macro standard cell of the one or more macro standard cells to be more efficient, in terms of at least one parameter including area, power consumption, driving capability, speed, fan-out or speed-power product.

4. The method of claim 1 , wherein the identifying ad hoc groups of elementary standard cells which are recurrent includes:

analyzing empirical data that is representative of layout diagrams which have been used to manufacture semiconductor devices.

5. The method of claim 1 , wherein:

each recurrent ad hoc group has a corresponding number (count) of instances in a population; and

the selecting includes:

sorting the recurrent ad hoc groups according to the corresponding counts.

6. The method of claim 1 , further comprising:

determining, after the selecting and before the generating, if the set of standard cells is to be expanded.

7. The method of claim 1 , further comprising:

fabricating, based on a layout diagram which includes the one or more of the macro standard cells, at least one of: (A) one or more semiconductor masks or (B) at least one component in a layer of an inchoate semiconductor integrated circuit.

8. A logic circuit comprising:

transistors configured such that:

a first set represents an OR-AND-INVERT (OAI) circuit; and

a second set represents an AND-OR-INVERT (AOI) circuit; and

wherein:

each of the OAI circuit and the AOI circuit is configured to receive a first data signal and a second data signal; and

in a first circumstance in which an output of the logic circuit represents an enable exclusive OR (enable XOR) (EXOR) function:

the OAI circuit is configured to receive an enable signal; and

the AOI circuit is configured to receive an output of the OAI circuit; and

in a second circumstance in which an output of the logic circuit represents an enable exclusive NOR (enable XNR) (EXNR) function:

the AOI circuit is configured to receive the enable signal; and

the OAI circuit is configured to receive an output of the AOI circuit.

9. The logic circuit of claim 8 , wherein:

a sum of the transistors in the first set and the second set is fewer than 18.

10. The logic circuit of claim 9 , wherein:

in the first circumstance in which the output of the logic circuit represents the EXOR function, the sum of the transistors in the first set and the second set is 12 or fewer; and

in the second circumstance in which the output of the logic circuit represents the EXNR function, the sum of the transistors in the first set and the second set is 14 or fewer.

11. The logic circuit of claim 8 , wherein, in the first circumstance in which the output of the logic circuit represents the EXOR function, the following is true:

the OAI circuit is representable as including an OR gate and a NAND gate;

the OR gate being configured to receive a first data signal and a second data signal; and

the NAND gate being configured to receive an output of the OR gate and an enable signal; and

an output of the NAND gate representing the output of the OAI circuit; and

the AOI circuit is representable as including an AND gate and a NOR gate;

the AND gate being configured to receive the first data signal and the second data signal;

the NOR gate being configured to receive an output of the AND gate and an output of the OAI circuit; and

an output of the NOR gate representing the output of the AOI circuit.

12. The logic circuit of claim 8 , wherein, in the second circumstance in which the output of the logic circuit represents the EXNR function, the following is true:

the AOI circuit is representable as including an AND gate and a NOR gate;

the AND gate being configured to receive a first data signal and a second data signal;

the NOR gate being configured to receive an output of the AND gate and an inverted version of an enable signal; and

an output of the NOR gate representing the output of the AOI circuit; and

the OAI circuit is representable as including an OR gate and a NAND gate;

the OR gate being configured to receive the first data signal and the second data signal; and

the NAND gate being configured to receive an output of the OR gate and the output of AOI circuit; and

an output of the NAND gate representing the output of the OAI circuit.

13. The logic circuit of claim 12 , wherein, in the second circumstance in which the output of the logic circuit represents the EXNR function, the logic circuit further includes:

an inverter configured to receive the enable signal and generate an inverted version of the enable signal.

14. A method of forming a logic circuit, the method comprising:

forming transistors;

configuring a first set of the transistors into an OR-AND-INVERT (OAI) circuit;

configuring a second set of the transistors into an AND-OR-INVERT (AOI) circuit;

configuring, for each of the OAI circuit and the AOI circuit, a first input terminal and a second input terminal thereof to receive corresponding a first data signal and a second data signal; and

at least one of the following:

for a first circumstance in which an output of the logic circuit would represent an enable exclusive OR (enable XOR) (EXOR) function:

configuring an input of the AOI circuit to receive an output of the OAI circuit; and

for a second circumstance in which an output of the logic circuit would represent an enable exclusive NOR (enable XNR) (EXNR) function:

configuring an input of the OAI circuit to receive an output of the AOI circuit.

15. The method of claim 14 , further comprising:

controlling a sum of the transistors in the first set and the second set to be fewer than 18.

16. The method of claim 15 , wherein the controlling the sum includes:

in the first circumstance in which the output of the method represents the EXOR function, limiting the sum of the transistors in the first set and the second set to be 12 or fewer; and

in the second circumstance in which the output of the method represents the EXNR function, limiting the sum of the transistors in the first set and the second set to 14 or fewer.

17. The method of claim 14 , wherein, in the first circumstance in which the output of the method represents the EXOR function, the method further comprises:

representing the OAI circuit as including an OR gate and a NAND gate, the representing the OAI circuit including:

arranging the OR gate to receive a first data signal and a second data signal; and

arranging the NAND gate to receive an output of the OR gate and an enable signal; and

using an output of the NAND gate as the output of the OAI circuit; and

representing the AOI circuit as including an AND gate and a NOR gate, the representing the AOI circuit including:

arranging the AND gate to receive the first data signal and the second data signal;

arranging the NOR gate to receive an output of the AND gate and an output of the OAI circuit; and

using an output of the NOR gate as the output of the AOI circuit.

18. The method of claim 14 , wherein, in the second circumstance in which the output of the method represents the EXNR function, the method further comprises:

representing the AOI circuit as including an AND gate and a NOR gate, the representing the AOI circuit including:

arranging the AND gate to receive a first data signal and a second data signal;

arranging the NOR gate to receive an output of the AND gate and an inverted version of an enable signal; and

using an output of the NOR gate as the output of the AOI circuit; and

the OAI circuit is representable as including an OR gate and a NAND gate, the representing the OAI circuit including:

arranging the OR gate to receive the first data signal and the second data signal; and

arranging the NAND gate to receive an output of the OR gate and the output of AOI circuit; and

using an output of the NAND gate as the output of the OAI circuit.

19. The method of claim 18 , wherein, in the second circumstance in which the output of the method represents the EXNR function, the method further includes:

configuring an inverter to receive the enable signal and generate an inverted version of the enable signal.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 12, 2020
From: LIU, CHI-LIN; CHEN, SHENG-HSIUNG; KAO, JERRY CHANG-JUI; CHANG, FONG-YUAN; LU, LEE-CHUNG; HSIEH, SHANG-CHIH; MA, WEI-HSIANG
To: TAIWAN SEMICONDUCTOR MANUFACTURING COMPANY, LTD.
Reel/Frame 052643/0670 →
Continuity (3)
Continuation 15936712 · Mar 27, 2018
Provisional Application 62509048 · May 19, 2017
Related Publication 20200272778A1 · Aug 27, 2020