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.

Mismatch between SPEF file generated by StarRC and the verilog netlist

Status
Not open for further replies.

ahmad898

Junior Member level 3
Joined
Aug 21, 2022
Messages
26
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
187
I have recently finished the P&R stage of a digital design. Then, I extracted the .SPEF file from Innovus and use the PrimeTime (PT) to extract the accurate sdf file. Everything goes well. But, someone said that the .spef file generated by Innovus is not much accurate. So, I decided to use Calibre or StarRC to extract the parasitic RC. The problem is that unlike the innovus the spef file generated by these tools are not match with the Verilog netlist that I was imported to the primetime. So, PT will issue the node mismatch error. My question is that how can I generate the spef file from StarRC compatible with Verilog netlist just like the Innovus software. I want to use it in PT to extract accurate timing and sdf file. I used the Calibre runset file in StarRC and to provide a schematic reference I use the v2lvs command. Note that the LVS and DRC of my design are clean. It seems the spef file is match in terms of internal nets with the output of schematic generated by v2lvs and not the Verilog netlist.
 

StarRC can also read the netlist verilog, no need to go through the v2lvs flow.

It's also good to correlate the innovus spef versus the StarRC spef with osctrich for example which will give the R/C correction factor to use in Innovus while RC view are read in the mmmc.
 

I already have tested the StarRC with the verilog netlist input and the error results is the same when I call the PrimeTime. This is becuase the same v2lvs process is performed. To solve the problem, I used the Quantus with QRC tech file calling from the innovus. Could you please explain more about the RC correlation factor and should I need to provide this factor to innovus even when I use the qrc tech file in MMMC.
 

StarRC has a flow you can provide the netlist as input, no need of v2lvs.

first question, from the foundry which RC tool is signoff?
This signoff-spef should be used to provide the factor versus the Quantus-Innovus extraction tool (no the signoff one) to adapt the R/C calibration factor.
 

The StarRC or the calibre pex is defined by foundry for sign-off. So, based on your answer, the qrc tech file is not enough for accurate sign-off using Quantus and the scaling factor should be provided by comparing spef file with the calibre or StarRC. Is that right?
Also the innovus has the option to set the extraction accuracy to sign-off. Do I need to set this option or the scaling factor with high accuracy option is enough.
 

right

using Innovus with high extraction accuracy increased the runtime, so the trade off is to update the R/C factor to be close with less run time penality.

The "signoff" innovus extraction can be used to do a pre-eco hold/setup, but I always prefer to used the ECO given by PT into innovus to fix the DRV, hold & setup violation.

and if you provide the DEF to PT, it can directly select the cell to add or to change + the position to minimize the routing impact.
 
right

using Innovus with high extraction accuracy increased the runtime, so the trade off is to update the R/C factor to be close with less run time penality.

The "signoff" innovus extraction can be used to do a pre-eco hold/setup, but I always prefer to used the ECO given by PT into innovus to fix the DRV, hold & setup violation.

and if you provide the DEF to PT, it can directly select the cell to add or to change + the position to minimize the routing impact.
Thats a good idea. I was faced with this issue in PT when used the ECO given by the PT without P&R information. I didnot know that we can import DEF file to the PT to select the position of modified or added cells. I should try this. Thanks for this guide.
 

Thanks for your replay rca. I have another question. Is it possible to import the spef file generated by third-party tools and import it to innovus using spfIn or read_parasitics commands to aviod updating RC scale factors. In my opinion, we have two options here, one is to update the RC scale factors by corelating the spef file with the sign-off spef file, or importing the sign-off spef using the read_parasitics command. Is that right?
 

1- importing SPEF, will just confirm the sign-off STA inside innovus (tempus call in background). Personally I prefer to do that inside a sign-off timing engine (tempus or primetime), also depend of the foundry which sign-off STA is "approved".

2- in any case, adapting the RC scale factor is interesting as it's also "impact" positively the non-sign-off RC extraction during the placement, CCOPT...
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top