Uploaded by sanjanasaigal2

Floorplan

advertisement
FLOORPLAN
INPUTS FOR FLOORPLAN
• Netlist (.v)
• Technology file (techlef)
• Timing Library files (.lib)
• Physical library (.lef)
• Synopsys design constraints (.sdc)
• Tlu+
STEPS
• Decide core width and height for die size estimation.
• IO pad sites are created for placement of IO pad placement.
• Placement of macros.
• The standard cell rows created for standard cell placement.
• Power planning (pre routing)
• Adding physical only cells
Note:
Aspect ratio = height/width
core utilization = (macros area + std cell area +pads area)/ total core area)
Guidelines to place macros:
• Placement of macros are based on the fly-lines ( its shows the connectivity b/w macro to macro and macro to
pins) so we can minimize the interconnect length between IO pins and other cells.
• Place the macros around to the boundary of the core, leaving some space between macro to core edge so tha
during optimization this space will be used for buffer/inverter insertion and keeping large areas for placement
of standard cells during the placement stage.
• Macros that are communicating with pins/ports of core place them near to core boundary.
• Place the macros of same hierarchy together.
• Keep the sufficient channel between macros
• channel width = (number of pins * pitch )/ number of layers either horizontal or vertical
• Avoids notches while placing macros, if anywhere notches is present then use hard blockages in that area.
• Avoid crisscross connection of macro placement
• Keep keep-out margin around the four sides of macros so no standard cells will not sit near to Macro pins. This
technique avoids the congestion.
• Keep placement blockages at the corners of macros.
• For pin side of macros keep larger separation and for non-pin side, we can abut the macros with their halo so
that area will be saved and Halo of two macros can abut so that no standard cells are placed in between
macros.
• Between two macros at least one pair of power straps (power and Ground) should be present.
Types of macros:
• Hard macros: The circuit is fixed. We can’t see the functionality information about
macros. Only we know the timing information.
• Soft macros: The circuit is not fixed and we can see the functionality and which type of
gates are using inside it. Also we know the timing information
Abutted non-pin side macros with
fig: pin side macros with halo
abutted halo
fig: placement of IO pads, standard cells and macros hierarchy wise
macros to IO pin
macros to macros fly lines:
Halo(keep out margin)
create_keepout_margin -outer {10 10 10 10} macro_name -type soft/hard
create_keepout_margin -inner {10 10 10 10} macro_name -type soft/hard
Blocakges
Soft: Only buffer can be placed. Prevents from the placement of std cell and hard macro within the
specified area during coarse placement but allows placement of buffer/inv during optimization,
legalization and clock tree synthesis.
Hard: No standard cells, macros and buffer/inv can be placed within the specified area during coarse
placement, optimization, and legalization.
Partial: By default the blockage factor is 100% so no cells can be placed in that region but if we want to
reduce density without blocking 100% area, we can change the blockage factor.
• create_placement_blockages -boundary {{10 20} {100 200}} -name PB1 -type soft
• create_placement_blockages -boundry {{10 20} {100 200}} -name PB1 -type hard
• create_placement_blockages -Boundry {10 20 100 200} -type partial -blocked_percentage 40
Thank you
Download