Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
tools:interact:start [2026/03/12 09:45] – [Timing and power analysis] rajittools:interact:start [2026/03/12 09:46] (current) – [Global routing] rajit
Line 389: Line 389:
  
 ===== Physical database ===== ===== Physical database =====
 +
 +   phydb:init - initialize physical database
 +   phydb:set-placement-grid <grid_value_x> <grid_value_y> - set placement grid
 +   phydb:read-lef <file> - read LEF and populate database
 +   phydb:get-used-lef - return list of macros used by the design
 +   phydb:read-def <file> - read DEF and populate database
 +   phydb:read-cell <file> - read CELL file and populate database
 +   phydb:read-techconfig <file> - read technology configuration file
 +   phydb:read-cluster <file> - read Cluster file and populate database
 +   phydb:get-columns - return a list of coordinates of columns in grid point coords
 +   phydb:get-gaps - return a list of coordinates of gaps in the minirows
 +   phydb:place-cell <cell-type> <llx> <lly> <N|FS> - add a new cell to a fixed location
 +   phydb:place-inst <inst> <llx> <lly> <N|FS> - place an instance at a fixed location
 +   phydb:add-io <iopin_name> <net_name> <direction> <use> - add a new I/O pin
 +   phydb:place-io <iopin_name> <metal_name> <lx> <ly> <ux> <uy> <placement_status> <x> <y> <orientation> - place an I/O pin at a fixed location
 +   phydb:write-def <file> - write DEF from database
 +   phydb:write-guide <file> - write GUIDE from database
 +   phydb:write-cluster <file> - write CLUSTER from database
 +   phydb:write-aux-rect <file> - write PP/NP cover and well rect files
 +   phydb:close - tear down physical database
  
 ===== Placement ===== ===== Placement =====
  
 ==== Partitioning ==== ==== Partitioning ====
 +
 +   bipart:partition <file> [k] [depth] - compute a k-way partition (default 2)
  
 ==== Dali placer ==== ==== Dali placer ====
 +
 +   dali:init <verbosity_level(0-5)> - initialize Dali placement engine
 +   dali:add-welltap <-cell cell_name -interval max_microns> [-checker_board] - add well-tap cell
 +   dali:place-design <target_density> [number_of_threads] - place design
 +   dali:place-io <metal_name> - place I/O pins
 +   dali:global-place <target_density> [number_of_threads] - global placement
 +   dali:refine-place <engine> - refine placement using an external placer
 +   dali:export-phydb - export placement to phydb
 +   dali:close - close Dali
  
 ===== Routing ===== ===== Routing =====
  
 ==== Power detailed routing ==== ==== Power detailed routing ====
 +
 +   pwroute:init <verbose> -initialize pwroute engine <verbose> 
 +   pwroute:set_parameters <reinforcement_width, reinforcement_step, cluster_mesh_width> - run pw route with mesh configuration. Default is <8, 16, 2>
 +   pwroute:set_reinforcement <bool>, enable/disable reinforcement connection (default: 1) 
 +   pwroute:run run pwroute
 +   pwroute:export-phydb -export power and ground wires to phydb
 +   pwroute:close -close pwroute
  
 ==== Global routing ==== ==== Global routing ====
  
- +   sproute:init initialize sproute engine 
- +   sproute:set-num-threads set num threads, default = 1 
- +   sproute:set-algo Det/NonDet, default is NonDet 
- +   sproute:set-max-iterations set max iterations of maze routing, default = 30 
 +   sproute:run run sproute 
 +   sproute:close close sproute