An LVS after place&route should compare final layout with input
verilog code (i mean that verilog code used as input for
But during place&route, some new buffers may be added
automatically by the tool which were not in the original verilog code.
My question is how LVS should realize the new buffers?
when I run LVS by Calibre, it fails with many error messages like this:
Error: No matching ".SUBCKT" statement for "BFLVTX1" at line 1490 in file "/tmp/lvsRunDir/_decoder36.v.sp"
BFLVTX1 is a buffer used from std library.
Can anyone help me please with this issue?
Hi Ali,LVS is not meant to compare the STARTING verilog to the final layout. It is meant to compare the FINAL verilog netlist to the final layout. All the buffers in the final layout will also be in the final netlist.- Kari
Hi Kari,Thanks for you reply.Then how do you make sure your final layout is functioning exactly like the original verilog code?Full simulation of final netlist (post-layout) may not be possible as digital designs are usually very large in my case 4M gates. Such simulation time is more than few months.In analog, we used compare layout with schematic and the schematic may play a roll like starting verilog codes.Regards,Ali
Ali,To compare your starting verilog to your final verilog and make sure the functionality has not changed, you need to run Conformal LEC. You can also compare the starting RTL to the final verilog. LEC does not verify layout, but if you use LEC to make sure the final netlist is functionally equivalent to the starting netlist and then use LVS to make sure the layout matches the final netlist, you should be good.- Kari
Okay, the LEC is what I need to learn.Thanks again,Ali