Skip to content

ytliu8464/CSE291_Project2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 

Repository files navigation

CSE291_Project#2

Script Purpose
netlist2graph.py Transform the netlist to a hypergraph
loc2def.py Read the predicted initial locations back into def file.

1. netlist2graph.py

This script parsers the netlist to a hypergraph

  • Inputs:
    • 3_2_place_iop.def generated by OpenROAD
  • Outputs:
    • hypergraph.txt

      Number of vertices: <total>
        Number of macros + std_cells: <total_cell_number>
        Number of IOs: <total_io_number>
      hyperedges: driver_id load_id1 load_id2 ...
      0 17 25
      1 4 9 11
      ...
      
    • vertex_info.txt

      vertex_id, vertex_name, is_fixed, x, y
      0, U0, 0, 0, 0
      1, U1, 1, 2280, 2800
      2, PAD0, 1, 45500, 0
      ...
      

2. loc2def.py

This script updates the DEF file (3_2_place_iop.def) by embedding predicted locations for movable cells.

  • Inputs:

    • A CSV file containing (x, y) coordinate pairs for all movable cells.

      • [Note] Coordinates include only movable cells, and their order must matches the order of components listed in the COMPONENTS section.
    • The original 3_2_place_iop.def

      - _2975_ INV_X1 + UNPLACED ;
      - _2976_ BUF_X1 + UNPLACED ;
      - _2977_ INV_X1 + UNPLACED ;
      - _2978_ BUF_X1 + UNPLACED ;
      
  • Outputs:

    • Modified 3_2_place_iop.def

      - _2975_ INV_X1 + PLACED ( 1192114 2709123 ) N ;
      - _2976_ BUF_X1 + PLACED ( 1378472 2889836 ) N ;
      - _2977_ INV_X1 + PLACED ( 1376774 2889722 ) N ;
      - _2978_ BUF_X1 + PLACED ( 1375933 2889801 ) N ;
      

How to use them?

  • Use OpenROAD to generate the 3_2_place_iop.def.

  • Use netlist2graph.py to convert the .def file into a hypergraph format.

  • Extract necessary features (you could modify or write your own parsers to extract additional features if needed).

  • Train models based on these features.

  • Use loc2def.py to write the predicted cell locations back into the .def file.

  • Replace the original .def in OpenROAD and run global_placement -skip_initial_place -incremental to continue the flow and obtain the detailed placement results

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages