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.

What is the ring concept for placement blockage?

Status
Not open for further replies.

ttxs

Junior Member level 1
Joined
Jun 26, 2013
Messages
16
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
249
I came across a Cadence command "create_place_blockage" for Innovus tools, which is like this:

create_place_blockage -hinst DT_INST/RESS_CONV_INST -inner_ring_by_side {10 10 10 10} -outer_ring_by_side {5 5 5 5}

But I did not find the documentation of this command, so I am trying to understand what these three options mean:
(1) -hinst something : Does it mean the other two options are dependent on this one? It is like we are going to create a blockage on this hier instance, and the shape of the blockage is determined by the other two options?
(2) I thought "blockages" are just rectangular chunks, in other words, it is just big squares. But what does "inner_ring/outer_ring" mean?

Thanks
 

check the manual for createPlaceBlockage

these options you mention help you to cover some macro with a placement screen. the ring options are like an offset that can be applied to every edge or side. I agree that ring is not a good name, but it is what it is.
 
  • Like
Reactions: ttxs

    ttxs

    Points: 2
    Helpful Answer Positive Rating
check the manual for createPlaceBlockage

these options you mention help you to cover some macro with a placement screen. the ring options are like an offset that can be applied to every edge or side. I agree that ring is not a good name, but it is what it is.

Thank you so much for your response. However, I still have some trouble with visualizing it in my mind, because I don't understand how it works when both "inner_ring_by side" and "outer_ring_by _side" are specified, like this:

create_place_blockage -hinst something -inner_ring_by_side {10 10 10 10} -outer_ring_by_side {5 5 5 5}

Let us assume hinst named something has an initial shape {llx, lly, urx, ury = 100 100 200 200}. When applying inner_ring_by_side to it , it shrinks to {llx, lly, urx, ury = 110 110 190 190}
, but when applying outer_ring_by_side to it, it then grows to {llx, lly, urx, ury = 105 105 195 195}.

I am new to placement. So when people say "to apply a blockage on an hinst", what does it really mean? To my understanding, the blockage was first put there, and then placer needs to put instances somewhere else to avoid this region, but this "inner/outer ring offset" thing really confused me, because it sound like "You first have instances put somewhere, and then your blockage shape will be calculated from the instances coordinate and inner/outer ring offsets".
 

I can't think of an use for inner ring off the top of my head, also can't think of an use for both at the same time. But the outer ring is useful. Sometimes you are in charge of putting power rings around macros. You can extend your placement blockage to cover your macro + power ring area too.
 
  • Like
Reactions: ttxs

    ttxs

    Points: 2
    Helpful Answer Positive Rating
Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top