When a hierarchical cell is defined as an xcell during a PEX run setup and identified as such during a PEX job run, Calibre PEX tools block the cell's internal routings from being extracted and preserve the hierarchy to the xcells in the extracted netlist.
The xcells are, by default, treated and netlisted as primitive devices in the extracted parastic netlist. There are options that could specify to treat the xcells differently, for instance, as ideal cells. For all other hierarchical cells, Calibre PEX would then flatten them within the top-level cell and extract them in a flat manner.
This flow is referred to as "gate-level extraction" and the output netlist would then contain the following two hierarchical levels:
- top-level cell
- Instances for the highest-level xcells
Customers who wish to pursue this behavior for custom cells outside of foundry provided list of cells to be blocked, can either add these custom cells to the foundry provided xcell file or define them in a PEX XCELL
From the LVS side, the prerequisite for this flow is to have the LVS run preserve the hierarchy of the cells to be used as xcells. Usually, defining these cells as hcells should work.
There are also other method for preserving the cells hierarchy by defining the cells in an LVS CELL LIST
SVRF statement then reference this list in either:
- LVS PRESERVE CELL LIST SVRF statement during the LVS run
- PEX PRESERVE CELL LIST SVRF statement during the PEX run
PS. The use of LVS BOX flows is irrelevant to making Calibre PEX block the extraction of cell contents. As long as the hierarchy of the cell is preserved when the database is passed to the PEX tools, Calibre PEX will block the cell content of xcells.