Today I'd like to highlight one of the new features in Encounter Digital Implementation System (EDI) 11: selective blockage. Everyone has used placement blockages before; most of us have used soft blockages also. (As a quick review, a soft blockage is a placement blockage that will keep blocks and cells from being placed there during placement, but cells may be placed there during any ecoPlace/refinePlace, CTS, or optDesign steps.) This is fine for most purposes, but sometimes we want a little more control over what gets placed in the area of a soft blockage.
To use selective blockages, create your soft blockages as you normally would, then set the following:
setPlaceMode -selectiveBlockage true
Setting this variable to true means that by default, buffers, inverters, isolation cells, and level shifters are allowed to be placed inside the soft blockages, as well as any other cells that you optionally specify. If you wish to specify more cells or instances that you would like to allow in the soft blockages, you set the following:
specifySelectiveBlkgGate -cell masterCellName
or:
specifySelectiveBlkgGate -inst instName
or all in one command:
specifySelectiveBlkgGate -cell masterCellName -inst instName
You can use wildcards to make things easy.
For example, let's say that you have an area that you don't want any functional cells to be placed in, but you do want filler cells to be placed there during your filler cell step. You could do this:
specifySelectiveBlkgGate -cell FILL*
You can also specify cells that you don't want to be placed in the selective blockage:
unspecifySelectiveBlkgGate -cell masterCellName -inst instName
What are some creative uses of selective blockage that you have in mind, or have wished you could do in the past? I'd love to hear some ideas in the comments!
- Kari Summers