A FloorPlanning in VLSI is the arrangement of components in a systematic way. Think of it like planning a house: before construction, you need a blueprint. Similarly, in physical design (PD), a good floorplan is essential. It significantly impacts your design’s quality, ensuring better power, performance, and area (PPA).

FloorPlanning in VLSI involves several tasks: creating the core area, setting the boundaries between the core and input/output (I/O), arranging standard cell rows, placing I/O pins, positioning macros according to guidelines, and adding placement blockages and halos. These steps help optimize space for standard cells, reduce congestion, and prevent issues like IR drop.

Necessity of Floorplanning in VLSI

Floorplanning in VLSI (Very Large Scale Integration) is a critical step in the design process. It involves organizing the layout of a chip to optimize various performance metrics. Here are some key reasons why floorplanning is essential:

  1. Optimizes Performance
    A well-designed floorplan can significantly enhance the performance of the chip by minimizing signal delay and improving overall circuit speed.
  2. Reduces Power Consumption
    Efficient FloorPlanning in VLSI helps in reducing power usage by optimizing the placement of components, leading to shorter interconnect lengths and less energy loss.
  3. Maximizes Area Utilization
    By effectively organizing the layout, FloorPlanning in VLSI ensures that available chip area is used efficiently. This helps accommodate more functionality within a smaller footprint.
  4. Prevents Congestion
    A good floorplan addresses potential congestion areas by strategically placing blocks and routing paths, which helps avoid bottlenecks during the routing phase.
  5. Facilitates Easy Integration of Macros and Standard Cells
    FloorPlanning in VLSI allows for the effective placement of both standard cells and larger macro blocks, ensuring that the design integrates smoothly and functions as intended.
  6. Improves Thermal Management
    Proper component placement can help distribute heat more evenly across the chip, reducing hotspots and improving reliability.
  7. Supports Design Rule Compliance
    FloorPlanning in VLSI ensures that all design rules and constraints are adhered to, which is crucial for manufacturability and yield.
  8. Enhances Testability
    An organized layout makes it easier to implement testing features and methodologies, aiding in fault detection and diagnostics.
  9. Enables Better Routing
    A well-thought-out floorplan simplifies the routing process, allowing for efficient paths that reduce resistance and improve signal integrity.
  10. Reduces Time-to-Market
    Efficient FloorPlanning in VLSI can shorten the overall design cycle by minimizing rework during the layout and routing stages, helping bring products to market faster.

Types of Designs

There are two main design types:

Design TypeDescription
Core Limited DesignThe die size is limited by the core area, which may result in fewer I/O pads.
Pad Limited DesignThe die size is limited by the pad area, making the core area dependent on the pad area.

Starting the FloorPlanning in VLSI

To begin the floorplan process, you need to load specific input files into the Place and Route (PnR) tool. The required files include:

  • Netlist (.v)
  • Physical Libraries (.lef) – Tech LEF & Standard Cell LEF
  • MMMC
  • Timing Libraries (.lib)
  • RC Coefficient Files
  • SDC
  • UPF (Unified Power Format) – (Optional)
  • Floorplan DEF (Optional)

Note: Load LEF files before LIB files.

Sanity Checks

Before proceeding, it’s vital to ensure all input files are clean and accurate. Conduct sanity checks to verify data consistency among the files. If any issues arise, address them before moving forward.

Sanity Checks to Perform

  1. Design Checks: Verify the netlist for issues such as:
    • Combinational loops
    • Floating inputs
    • Multi-driven inputs
    • Unintended latches
    • Tri-state gates
    • Empty modules
  2. Innovus Tool Command: checkDesign -netlist
  3. Library Checks: Ensure all cells in the netlist match the libraries.
    Innovus Tool Command:
    • checkDesign -physicalLibrary
    • checkDesign -timingLibrary
  4. Timing Checks: Confirm that the SDC file constrains all paths, ensuring timing consistency.
    Innovus Tool Command: check_timing

FloorPlanning Control Parameters

Understanding key parameters is essential for effective floorplan implementation.

Core Area

The core area is where all types of cells, including standard cells, macros, and blockages, are placed. The core area calculation is:

Core Size= (Standard Cell Area + Macro Area + Blockage Area​) / Standard Cell Utilization

Aspect Ratio

The aspect ratio is the relationship between the core’s height and width. A square core has an aspect ratio of 1.0. Calculating the aspect ratio is done as follows:

Aspect Ratio = Height of Core Area / Width of Core Area

Routing Tracks

Metal layers consist of horizontal and vertical routing tracks, essential for routing paths. The distance between tracks is known as the pitch.

Utilization

Utilization measures the area occupied by standard cells, macros, and blockages within the core area, expressed as a percentage:

Utilization = ( Standard Cell Area + Macro Area​ ) / Total Core Area × 100%

Manufacturing Grid

The manufacturing grid defines the minimum area manufacturable by the foundry for a given technology node, specified in the technology LEF file (e.g., 0.005).

Standard Cell Site

This refers to the minimum dimensions of a cell within the core area. All cells must conform to these dimensions.

Standard Cell Rows

Standard cell rows are created to place standard cells in the core area. Each row has a fixed height, but widths can vary.

Inverted Row Concept

In the second row of standard cells, the power supply connections are inverted to save area. This method allows for shared connections and efficient space usage.

Macro Guidelines

Macros are large components used in designs. Guidelines for placing macros include:

  • Place macros at the core’s periphery.
  • Ensure macro pins face the center of the core.
  • Avoid placing macros in the center to prevent complex routing.
  • Keep a clear area around macros to maintain routing efficiency.

Types of Placement Blockages

There are three types of placement blockages:

TypeDescription
Hard BlockagePrevents placement of any cells in the area.
Soft BlockageAllows only buffers and inverters in the area.
Partial BlockageAllows limited placement of cells based on a percentage.

Halo: A specific type of hard blockage that moves with the macros.

Types of Floorplans

There are three floorplan techniques:

Floorplan TypeDescription
Abutted FloorplanNo spacing between elements (zero channel spacing).
Non-Abutted FloorplanAllows spacing between elements.
Mixed FloorplanA combination of abutted and non-abutted techniques.

Outputs of FloorPlaning in VLSI

After completing the floorplan, the following outputs are generated:

  • Floorplan DEF
  • Macro placement information
  • Core boundary and area details
  • Pin positions
  • Placement and routing blockage positions

By following these guidelines, you can create an efficient FloorPlanning in VLSI that optimizes your design for better performance.

Scroll to Top