IP Library Granted Patent US 9,836,567
Granted Patent B2
US 9,836,567 · App. 14/424,212 · Granted Dec 5, 2017

Method of simulating a semiconductor integrated circuit, computer program product, and device for simulating a semiconductor integrated circuit

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 9,836,567
App. No.
14/424,212
Granted
Dec 5, 2017
Kind
B2
Abstract

A method and device for simulating a semiconductor IC is provided, which comprises generating a high level description of the IC, generating a low level description of the IC comprising a plurality of instances describing the operation of the IC, conducting a low level function analysis of the IC based on metrics values associated with the instances, and performing a design optimization scheme. The scheme comprises mapping the metric values of instances describing functional units different from standard cells, to standard cells logically connected to said instances, by dividing each of the instance metrics values between a group of standard cells logically connected to the corresponding instance and adding each resulting portion of said instance metric value to the metric value of each of the group of standard cells, respectively.

Claims (32)

1. A method for optimizing performance of a semiconductor integrated circuit, the method comprising:

generating from a behavioral description of the semiconductor integrated circuit, a high level description of said semiconductor integrated circuit, in which the semiconductor integrated circuit is partitioned into sub-modules, each sub-module including at least one register;

generating, from the high level description of the semiconductor integrated circuit, a low level description of the semiconductor integrated circuit comprising a plurality of instances describing operation of the semiconductor integrated circuit, in which the plurality of instances respectively describe logically interconnected functional units including standard cells and other functional units different from said standard cells;

retrieving, from a technology library, metrics values respectively associated with each instance of the low level description of the semiconductor integrated circuit;

conducting a low level function analysis of the semiconductor integrated circuit based on said metrics values;

performing a design optimization comprising first mapping the metrics values of instances describing, in the low level description of the semiconductor integrated circuit, functional units different from the standard cells, to standard cells logically connected to said instances, by dividing each of said instance metrics values between standard cells logically connected to the corresponding instance and adding each resulting portion of said instance metrics value to the metrics value of each of said standard cells logically connected to said corresponding instance, second mapping the metrics values respectively associated with each standard cell of the low level description of the semiconductor integrated circuit to a corresponding register of the high level description of the integrated circuit, based on the first mapping, and determining metrics values respectively associated with the sub-modules based on the second mapping;

generating an optimized layout of the semiconductor integrated circuit based upon the determined metrics values; and

fabricating the semiconductor integrated circuit based upon the optimized layout.

2. The method of claim 1 , wherein the first mapping is performed by dividing the metrics value of the instance equally between all the flip-flops logically connected to said instance.

3. The method of claim 1 , wherein, in the high level description of the semiconductor integrated circuit, said integrated circuit is partitioned into sub-modules at least some of which including a plurality of registers logically associated according to a hierarchy, and wherein for every sub-module of the low level description of the integrated circuit, the determining of the metrics value of the sub-module comprises setting said metrics value as the sum of respective metrics values of all registers of the sub-module in the hierarchy.

4. The method of claim 1 , wherein in the high level description of the semiconductor integrated circuit, said integrated circuit is partitioned into sub-modules at least some of which including a plurality of registers logically associated according to a hierarchy with at least one sub-hierarchy, for every sub-module of the low level description of the integrated circuit, the determining of the metrics value of the sub-module comprises setting said metrics value as the sum of respective metrics values of all registers of the sub-module in the hierarchy and in every sub-hierarchy of said hierarchy.

5. The method of claim 1 , wherein the high level description of the semiconductor integrated circuit comprises a Register Transfer Level (RTL) description in which the semiconductor integrated circuit is partitioned into sub-modules, each sub-module including RTL registers.

6. The method of claim 1 , wherein the low level description of the semiconductor integrated circuit comprises a Gate Level (GL) net list having instances describing the operation of the semiconductor integrated circuit.

7. The method of claim 1 , wherein the metrics values include power consumption values respectively associated with each instance of the low level description of the semiconductor integrated circuit.

8. The method of claim 7 , wherein the first mapping comprises dividing the instance metrics values of each of the instances between standard cells logically connected to the corresponding instance substantially equally between at least one drive standard cell and at least one load standard cell to which said corresponding instance is logically connected.

9. The method of claim 1 , wherein the standard cells are flip-flops.

10. A computer program product embodied on a non-transitory computer readable medium comprising computer readable code which, when implemented on a design processor causes the design processor to perform the method according to claim 1 .

11. A design processor configured to optimize performance of a semiconductor integrated circuit comprising:

a high level synthesizer configured to generate, from a behavioral description of the semiconductor integrated circuit, a high level description of said semiconductor integrated circuit, in which the semiconductor integrated circuit is partitioned into sub-modules, each sub-module including at least one register;

a low level synthesizer configured to generate, from the high level description of the semiconductor integrated circuit, a low level description of the semiconductor integrated circuit comprising a plurality of instances describing operation of the semiconductor integrated circuit, in which the plurality of instances respectively describe logically interconnected functional units including standard cells and other cells different from said standard cells;

a low level function simulation unit configured to retrieve, from a technology library, metrics values respectively associated with each instance of the low level description of the semiconductor integrated circuit, and to conduct a low level function analysis of the semiconductor integrated circuit based on said metrics values;

a design optimization unit configured to perform a first mapping of the metrics values of instances describing, in the low level description of the semiconductor integrated circuit, functional units different from the standard cells, to standard cells logically connected to said instances, by dividing each of said instance metrics values between standard cells logically connected to the corresponding instance and adding each resulting portion of said instance metrics value to the metrics value of each of said standard cells logically connected to said corresponding instance, a second mapping of the metrics values respectively associated with each standard cell of the low level description of the semiconductor integrated circuit to a corresponding register of the high level description of the integrated circuit, based on the first mapping, and a determination of the metrics values respectively associated to the sub-modules, based on the second mapping; and

a layout unit configured to generate an optimized layout of the semiconductor integrated circuit based upon the determined metrics values; and

a tape output unit configured to fabricate the semiconductor integrated circuit based upon the optimized layout.

12. The design processor of claim 11 , wherein the first mapping is done by dividing the metrics value of the instance equally between all the flip-flops logically connected to said instance.

13. The design processor of claim 11 , wherein, in the high level description of the semiconductor integrated circuit, said integrated circuit is partitioned into sub-modules at least some of which including a plurality of registers logically associated according to a hierarchy, and wherein for every sub-module of the low level description of the semiconductor integrated circuit, the determination of the metrics value of the sub-module comprises the setting of said metrics value as the sum of respective metrics values of all registers of the sub-module in the hierarchy.

14. The design processor of claim 11 , wherein in the high level description of the semiconductor integrated circuit, said semiconductor integrated circuit is partitioned into sub-modules at least some of which including a plurality of registers logically associated according to a hierarchy with at least one sub-hierarchy, for every sub-module of the low level description of the integrated circuit, the determination of the metrics value of the sub-module comprises the setting of said metrics value as the sum of respective metrics values of all registers of the sub-module in the hierarchy and in every sub-hierarchy of said hierarchy.

15. The design processor of claim 11 , wherein the high level description of the semiconductor integrated circuit comprises a Register Transfer Level (RTL) description in which the semiconductor integrated circuit is partitioned into sub-modules, each sub-module including RTL registers.

16. The design processor of claim 11 , wherein the low level description of the integrated circuit comprises a Gate Level (GL) net list having instances describing the operation of the semiconductor integrated circuit.

17. The design processor of claim 11 , wherein the metrics values include power consumption values respectively associated with each instance of the low level description of the semiconductor integrated circuit.

18. The design processor of claim 17 , wherein the first mapping comprises dividing the instance metrics values of each of the instances between standard cells logically connected to the corresponding instance substantially equally between at least one drive standard cell and at least one load standard cell to which said corresponding instance is logically connected.

19. The design processor of claim 11 , wherein the standard cells are flip-flops.

Assignments (24)
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040925 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Feb 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V. F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 052917/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040928 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Jan 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 052915/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042985 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051029/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042762 FRAME 0145. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051145/0184 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051030/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051029/0387 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050744/0097 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050745/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded May 9, 2017
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 042762/0145 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded May 9, 2017
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 042985/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE NATURE OF CONVEYANCE PREVIOUSLY RECORDED AT REEL: 040626 FRAME: 0683. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER AND CHANGE OF NAME EFFECTIVE NOVEMBER 7, 2016. Recorded Jan 12, 2017
From: NXP SEMICONDUCTORS USA, INC. (MERGED INTO); FREESCALE SEMICONDUCTOR, INC. (UNDER)
To: NXP USA, INC.
Reel/Frame 041414/0883 →
CHANGE OF NAME Recorded Nov 16, 2016
From: FREESCALE SEMICONDUCTOR INC.
To: NXP USA, INC.
Reel/Frame 040626/0683 →
RELEASE OF SECURITY INTEREST Recorded Nov 7, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 040928/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 21, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V., F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 040925/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12092129 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Jul 14, 2016
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039361/0212 →
SUPPLEMENT TO THE SECURITY AGREEMENT Recorded Jun 16, 2016
From: FREESCALE SEMICONDUCTOR, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039138/0001 →
SECURITY AGREEMENT SUPPLEMENT Recorded Mar 7, 2016
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 038017/0058 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 7, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037458/0359 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 7, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037458/0341 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037357/0974 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded May 4, 2015
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 035571/0080 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded May 4, 2015
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 035571/0095 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded May 4, 2015
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 035571/0112 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2015
From: BERKOVITZ, ASHER; MAGINI, UZI; PRIEL, MICHAEL
To: FREESCALE SEMICONDUCTOR INC.
Reel/Frame 035040/0526 →