Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Using SPEF files for STA in INNOVUS

Status
Not open for further replies.

Windywast

Newbie level 3
Joined
Feb 12, 2019
Messages
3
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
29
Hi, I have two sets of two SPEF files (fast/slow corners, respectively) that I wish to read into Innovus and run STA with MMMC. For each set, I have created two rc corners that are from the two SPEF files I have, like so:

Code:
# # MCMM setup

create_constraint_mode -name CON -sdc_file test.sdc

create_library_set -name WC_LIB_SLOW -timing slow.lib
create_rc_corner -name _slow_rc_corner_
create_delay_corner -name WC_SLOW -library_set WC_LIB_SLOW -rc_corner _slow_rc_corner_
create_analysis_view -name WC_SLOW_VIEW -delay_corner WC_SLOW -constraint_mode CON

create_library_set -name WC_LIB_FAST -timing fast.lib
create_rc_corner -name _fast_rc_corner_
create_delay_corner -name WC_FAST -library_set WC_LIB_FAST -rc_corner _fast_rc_corner_
create_analysis_view -name WC_FAST_VIEW -delay_corner WC_FAST -constraint_mode CON

spefIn fast.spef -rc_corner fast_corner
spefIn slow.spef -rc_corner spef_corner

setAnalysisMode -analysisType onChipVariation -cppr both
set_analysis_view -setup [list WC_SLOW_VIEW] -hold [list WC_FAST_VIEW]

report_timing -early > fast.report
report_timing -late > slow.report

However, my problem is that even though the two sets of fast/slow SPEF files are different, they have the same slack values in the reports. Even if I manually modify the spef files to have unrealistic cap values, the slack does not change. Since several warnings jump out when setting the analysis view:

Code:
**WARN: (IMPEXT-2776):  The via resistance between layers M1 and M2 is not defined in the capacitance table file. The via resistance of 4 Ohms defined in the LEF technology file will be used as via resistance between these layers.

Does the default values actually overwrite the cap/res values in the spef file? Is there a way to force the program to use the values in the spef instead? Thanks!
 

I am almost sure you have to issue the spefIn command later, after you initialize/configure MMMC.
 

I am almost sure you have to issue the spefIn command later, after you initialize/configure MMMC.

Thanks for the reply!
I'm pretty sure I have though? The spefIn command seems to annotate the spef into rc corners; the rc corners in question are initialized before spefIn.
 

In your code, spefIn comes before the set_analysis_view command. The problem is that the MMMC flow by default uses Innovus/qrc extraction by default. It doesn't take external spef files. Whatever you are setting, I think it is being ignored when timing is actually calculated. I don't have a design with external spef files that I can use to validate my hypothesis right now...
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top