Waivers

advertisement
Waiving Known DRC Violations from
Layout IP
John Ferguson
Technical Marketing Engineer
Mentor Graphics Corp.
The Problem

Due to Process Limitations the Number of DRC
Rules is Growing
—

Rule Complexity is Also Growing
Difficulty in Defining Rules to Capture Failure
Configuration Leads to Over Constrainment
—
Many ‘Errors’ Can Actually Yield Well
Additional Metal DRC Rules
3 Layer Metal DRC Rules

Meeting all Design Rules is Difficult if Not
Impossible
AE Training – mbDRC – Advanced Checks are simple
2
Manifestation: DRC “Waivers”

Waivers = Real DRC Violations That are Allowed
in a Design Layout for Mask and Chip
Manufacturing

Examples:
Historic IP Block Has Been Manufactured Clean for
Years. Now with New DRC Rules, It Fails.
— Certain Blocks (Memories) Take Advantage of Rigid
Design Approach. Fail Standard Logic Rules, But
Will Manufacture at a Reasonable Yield.
— Block is DRC Clean, but Has “Recommended Rule
Violations” that Cannot be Fixed Without
Generating DRC Violations
—
AE Training – mbDRC – Advanced Checks are simple
3
Traditional IP Waivers Dilemma
IP Provider (e.g. ARM, Virage, etc.)
Foundry (e.g. TSMC, UMC, etc.)
Can I waive these?
Sure, why not.
Runs DRC
Gets Results
Phones Foundry
Delivers IP to Customer
What is with this
IP you sold me!!.
What do you mean? Foundry said I could waive!
Can I waive these?
Let’s call him together and waste What?!? Heck No!!
tons of your time sorting thi out!
Designer:
Integrates IP into Design
Gets Results
Manually Reviews All
Why so many in IP??
Phones Foundry
Phones IP Provider
Fabless (e.g. Broadcom, Qualcomm, etc.)
AE Training – mbDRC – Advanced Checks are simple
4
Historic Approaches to Try to Solve the
Problem

Black-Box the IP During DRC
—
—
—

Fast RunTimes
False Results Eliminated
Missed Real Errors
Remove Results Per Block Per Cell
—
—
—
At DRC Runtime or Post-Process
No Missed Real Errors
Many False Errors Still Exist
AE Training – mbDRC – Advanced Checks are simple
5
Issue: Interaction Errors Between Waived Cells
Can be Incorrectly Waived
Identify Blue Inside Waived Cell
Waive Spacing Errors Between Identified Shapes
Waived Cell
Waived Result
Errors from Interactions
Also Waived
X = M1 NOT INSIDE CELL A
Y = M1 INSIDE CELL A
Check {EXTERNAL X < .2
EXTERNAL X Y < .2}
AE Training – mbDRC – Advanced Checks are simple
6
Result Promotion
Unique Errors
Reported at Top
Results Not Consistent with All Instances:
Reported at Top
Waived Cell
Waived Result
Results No Longer Associated
with Waived Cell
Waivers Do Not Apply
AE Training – mbDRC – Advanced Checks are simple
7
Proposed DRC Waiver Flow

The Waiver Flow is a 2-Step Process
1.
Waiver classification:
Cell
Library
Waiver_flow
Identify Waived Results within Cells
Cell
Characterization
Rules
2.
Chip level run:
Merge chip database with waived results
Distinguish waived results by waiver
requirements during DRC
Remaining results output
Also capture all waived results for record
keeping
AE Training – mbDRC – Advanced Checks are simple
Cell
Library
W/
Waivers
Waiver Setup
File
Chip Verification
Chip
GDSII
Results
Final Results
Waived Results
Unused waivers
8
Solving the IP Waiver Dilemma
IP Provider (e.g. ARM, Virage, etc.)
Foundry (e.g. TSMC, UMC, etc.)
Can I waive these?
Runs DRC
Gets Results
Phones Foundry
Delivers IP to Customer
Sure, why not.
Designer:
Integrates IP into Design
Gets Results
Waived Results Removed!
Goes Home Early for the Day!
Fabless (e.g. Broadcom, Qualcomm, etc.)
AE Training – mbDRC – Advanced Checks are simple
9
Typical Flows Representing 3rd Party Foundry
& IP Provider
IP Block Containing
Errors to Waive
3rd Party IP with Waivers Embedded into Design
Foundry
Golden
Rules
Waiver Setup
File
Waivers Merged with IP
By IP Provider
Rules from Foundry
Other Files Created by IP Provider
waiver_flow
DRC
Cell
Chip Verification
Characterization
Waiver
Description
File
Waivers Stripped from Final Results Using Info from Waiver Files
IP with Waivers and Waiver Files Passed to Customer By IP Provider
Purchased /
Reused IP
AE Training – mbDRC – Advanced Checks are simple
10
Proposed Waiver Flow
DRC
DRC
Debug
Debug

The Proposed Waiver Flow Provides a Automated
Communication Channel Between Foundry, IP
Providers and Designers for Significantly Reducing
Design Debug Time by Eliminating the Reporting
of Known and Waived Errors from IP Blocks

Unlike Historic Approaches, The Waiver Flow
Requires Little Effort by the Designer and
Minimizes the Risk of Missed Real Errors without
Increasing the Reporting of False Errors
AE Training – mbDRC – Advanced Checks are simple
11
Waiver_Flow: Capturing the Waivers
at the IP Level
waiver_flow:
Capturing the Cell Results to Waive
A
B
C
ALL
foo
bar
rules
waiver_flow waiver_setup
Chip or
Cell Lib
A
B
C
./Waiver_results/A/
DRC_RES.db
All Rule Results
./Waiver_results/B/
DRC_RES.db
./Waiver_results/C/
All Rule Results
DRC_RES.dbAll
Rule Results
Waiver.gds
Waived
Results Only
Ascii Result May be Edited to Selected Results Only
Optionally Create New Library with Original Lib and Waivers Merged
AE Training – mbDRC – Advanced Checks are simple
13
Minimizing Reserved Layers


Creates Empty Cell for Each Waived
Cell Name
Instantiates Child Cell into Waived
Cell
—
—
—
<waiver_keyword>_<check_name>_< orig cell
name>
Once Cell For Each Waived Check
All Results on Specified Layer from waiver_setup



Cell Nand2_2x
Cell =
Subsequent DRC Differentiates Results by Cell Name waive$$_PO.W.R.2_in_Nand2_2x
waive$$_PO.W.S.5_in_Nand2_2x
Only One Reserved Layer Required!
Output Library GDS Files Merges
Waiver.gds with Original Cell Data
—
—
Waiver Cells Instantiated
Added Cell Naming Convention Remains Intact
AE Training – mbDRC – Advanced Checks are simple
14
Waiving from Chip Level
Removal of Waivers

The Removal of Waived Results from Real Results
is Done at the Time of Running DRC
Determined by Pattern Matching Previously
Captured IP Waivers to Chip Level Results for the
Same Rule
— DRC Hierarchical Engine Resolves Issues of Results
Promotion
—

The Pattern Matching is Determined through the
Setup File
—
As Qualified Per Check by the Foundry or Fab
AE Training – mbDRC – Advanced Checks are simple
16
Pattern Matching Criteria:
Handling Multiple Overlaps
IP Block
Original IP Should Final
Generated
Result be
Parent
Level
Waivers
Waived?
Results
(pre-waived)
Context
Waiver Setup Specifies Handling of Multiple Overlaps
AE Training – mbDRC – Advanced Checks are simple
17
Tolerances for Waiver Overlap?
Chip
IP Block
IP Waiver
Should the Green Results Still Be Waived?
Waiver Setup Specifies Required IP Waiver to Chip Error Pattern Matching
AE Training – mbDRC – Advanced Checks are simple
18
Allowing Tolerances for Waiving
Chip
IP Block
Chip level result
IP Waiver
Allowable Difference?


Waiver Setup Specifies Chip Error to IP Waiver
Pattern Matching Criteria
A Result is Either Fully Waived or Not Waived
—
No chopping of results
AE Training – mbDRC – Advanced Checks are simple
19
Example 1
inv_1
inv_1 in Layout
Full-chip result
A single waiver interacts
with the result
m1_space_waiver
The waiver matches the
result exactly
The result matches the
waiver exactly
AE Training – mbDRC – Advanced Checks are simple
20
Example 2

Waiving Will Depend On the Specification of the
Waiver to Result Matching
inv_1
inv_1 in Layout
Full-chip result
A single waiver interacts
with the result
m1_space_waiver
The waiver is not fully
covered by the result
The result is fully covered
by the waiver
AE Training – mbDRC – Advanced Checks are simple
21
Example 3

Waiving Will Depend On the Specification of the
Result to Waiver Matching
inv_1
inv_1 in Layout
Full-chip result
m1_space_waiver
AE Training – mbDRC – Advanced Checks are simple
22
Example 4

Waiving Will Depend On the Specification of the
Waiver to Result Matching AND Count Tolerance
inv_1
inv_1 in Layout
m1_space_waiver
AE Training – mbDRC – Advanced Checks are simple
23
Summary

The Proposed Waiver Flow Provides Significant Value Over
Historic Automated Approaches to Waiving DRC Violations
—
—
—
—
—
—
All Waived Results Automatically and Accurately Waived at
DRC Run Time
Enables Passing of IP Between 3rd Parties with Waiver
Information in Tact
Enables Foundry to Specify Acceptable Waiving Tolerances
Per Rule Per IP
Eliminates Need for Rule File Modifications
Works from Standard GDSII, No Proprietary Formats
All Waived Results Captured for Final Review and Tracking
AE Training – mbDRC – Advanced Checks are simple
24
AE Training – mbDRC – Advanced Checks are simple
25
Download