Missing pins for LVS BOX cells are usually caused by text problems. I didn't see any text layers mentioned in the layer mapping, that could be a problem.
Missing pins for HCELL's are usually caused by lack of connections from devices inside the hcell to devices outside the hcell. I didn't see any device layers in the layer mapping, that could be a problem too.
There were statements there for HCELL CELL_A (with an underscore) but then another statement for LVS BOX CELLA (without an underscore) and the example subcircuit showed CELL_A with the underscore. With those in mind, I wasn't sure if there were typo's or maybe both forms existed intentionally.
Here's a link to a TechNote on Supportnet that discusses LVS BOX missing pin problems:
It might be interesting to see if you get the results you want with gds format, just to test the flow in a different way. It may help determine if the SVRF statements for connectivity extraction are a problem with this design, or if the lefdef is actually the problem.
When performing parasitic extraction with LVS BOX, or black box in general, the results do not include the sub-circuit/instances of these LVS/black boxes in the extracted netlist. Where these black boxes should have been are now empty spaces. I always had to add these LVS box instances manually after the extraction. This is often very tedious for large circuits with many of these instances. I'm not sure if this is true in general or just specific to my PDK (I'm using a parasitic tool called PLS which relies on starxtract from synopsys)
Is there a way to systematically tell the tool to also include these black-box instances inside the extracted net-list where they should be? I tried many different ways but to no avail except manual insertion.
I'd like to know if the LVS BOX cells are missing from the initial connectivity extraction results. Do the LVS BOX cells appear as empty subcircuits, where they belong, in the initial netlist extracted from "calibre -spice" ?
It should be easy for us to force automatic creation of these cells during "calibre -spice" hierarchical connectivity extraction. There are just a few requirements to make that happen.
If they do exist at this early stage, then are missing later in a flow, we probably need advice from someone else. If they're missing during the initial hierarchical connectivity extraction when GDS format is used as the input, it should be easy for me to help you fix that.
So for me, the two interesting questions at this point are:
1. Is it a problem at "calibre -spice" ?
2. Is the input format GDS or LEF/DEF ?
Thanks for the prompt reply. I really appreciate your response.
The input is GDS format.
Let me re-iterate what you said. When performing an extraction, this tool does LVS first, and the resulting netlist does have the empty subcircuits with just the pin definition of these LVS black boxes. So, i guess that the answer to your question is yes, it does place these empty subcircuits during the initial calibre -spice hierarchical connectivity extraction.
however, once this step is completed, the extraction begins. This step outputs a netlist with all the parasitics and everything else except the LVS black box that we declared. The net names still match the initial circuit though, and so it was possible for me to manually place these cells in once the extraction is done. However, this is only possible with just a few cells.
Is this something that we can fix?
That's good information. Now I see the problem appears to be later in the flow, closer to the parasitic extraction side of things. What extraction tool or flow are you using? I think we need to get someone in the conversation that is familiar with your extraction tool flow.
One other question... You mentioned the LVS extracted netlist contains the black boxes with pin definitions. Does that mean the pins aren'ty missing anymore, as in the original problem at the top of this thread? Maybe the original problem was: "LVS BOX cells don't have any pins". And the new problem is "LVS BOX cells are created during LVS but dropped during parasitic extraction flow"?