Read/write DEF in Skill

P

Piyush

Guest
Hi..

I want to read and write DEF file ,especially to blockage & net section
through a skill code irrespective of the design tool. Does any one know
how can it be done? I don't have the header file for the c/c++ api. Also,
I have a sample DEF file which have component and net section but no
blockage section. Even after doing place & route with silicon ensemble, it
is not generating that section. Does any one know how to generate blockages
section.

Thanks....
 
Even after doing place & route with silicon ensemble, it
is not generating that section. Does any one know how to generate blockages
section.
that's how it should be. there no reason the router would add blockage,
it adds routes in the net section.

( are you the same guy as yogeshg? why do you post under two different
names )
 
hi...
i am not yogesh..but ya we two are working together....
now abt blockages...then should nt the placement or router tool update
this section..after they are done...???coz' how do we know that wats the
layer or placement blockage occuring due to a net or via traversal or a
component placed on substrate...??
c we r novice at this tool...so any help is welcome..
thanks...
 
i am not yogesh..but ya we two are working together....
now abt blockages...then should nt the placement or router tool update
this section..after they are done...???coz' how do we know that wats the
layer or placement blockage occuring due to a net or via traversal or a
component placed on substrate...??
BUT A NET IS A BLOCKAGE - picture it as a blockage with additionnal
information (the net it belongs to, and related connections).

ok, it is not described in the same way. instead of describing geometry,
it is specified as a route (set of point + vias) which, together with
technology information (wire widths, via definitions, non-default rules
maybe) represents a geometry which CAN be interpreted as a blockage.

if you want geometrical information, go for an easy way : import the DEF
in DFII, flatten all the vias, then merge all the routes togheter -> you
get a set of shapes (rectangles+polygons) that you can process.

what do you want to do exactly ?
 
actually i want the blockages( net and placement) in form of rectangles ie
lower left and top right points. and with DEF having that information, i
thought that i could use it. I m working on a tool that will insert
buffers, at some dynamically determined points, based on my algo even
before routing is done; and using DFII will make it tool dependent. Is
there no way that the(any) placement tool will give me a placed DEF having
blockage section?
 
Piyush wrote:
actually i want the blockages( net and placement) in form of rectangles ie
lower left and top right points. and with DEF having that information, i
thought that i could use it. I m working on a tool that will insert
buffers, at some dynamically determined points, based on my algo even
before routing is done; and using DFII will make it tool dependent.
i do not understand - first you say you want net blockage and now it's
before routing. so, to put it flat, you need to input both DEF and LEF.
First, from DEF, you get net routes, which together with routing width
and via definitions from LEF can be turned into a set of rectangles that
define your (net) blockages. Second, from LEF you get macro definitions
including pins and blockage in the cells. With the placement you get
from DEF you can turn this into a set of blockage corresponding to the
standard cells. It's true that DEF can also contain blockages, but this
is any additional blockage that may have been added apart from cell/net
blockage (ie, the user may manually and intentionally block some region,
and that would be written to DEF).

Let me also point out that you want tool independance ; in this respect
your choice of LEF/DEF makes sense, because the formats are quite widely
supported as far as I know. However, it doesn't make sense then, that
you want to use SKILL for processing - that would make it tool dependant.

your tool, you say, inserts buffers. why do you need blockage then?
all you need to know is where there is room for placing a new cell. so
what you need is cell size and placement information. and you need also
to reflect the changes in the netlist (net section) if you want your
buffers connect to something.

Is there no way that the(any) placement tool will give me a placed DEF
having blockage section?
But no, this would be a step backward. by turning nets into blockage,
for example, you actually drop many informations. why would any tool do
this?

stéphane
 
hi...

thanks for ur info...
it seems that i misunderstood the def file...now i have to use both def
and lef file and get my required info..
well..by blockages i meant the blockage created by placing cells and nets.
u were right when u say that for placing buffers i need only placement
information and cell size, and i thought that this placement information
could be given by the blockages. And yes, i will b updating the net
section as buffers are placed...

thanks again...
Piyush
 

Welcome to EDABoard.com

Sponsor

Back
Top