openlane2 icon indicating copy to clipboard operation
openlane2 copied to clipboard

SDC as single source of truth for clock info

Open donn opened this issue 1 year ago • 0 comments

Description

Currently, OpenLane has its clock information strewn all over the place in variables. The problem is while OpenLane steps in general assume the source of this information is the variables; the reality for PnR tools is the industry standard for this is the SDC file.

Proposal

The following should be done:

  • Add a new preprocessed directive, file::, to enable specifying a full file within the YAML (or technically JSON if you're masochistic) config.
  • All variables that are used by the SDC file in OpenLane <= 2 should be removed.
  • A migration tool should be created to take old configurations and convert them into OpenLane 3 compatible configurations.
  • A limited SDC parser should be made available within OpenLane so steps using tools without dedicated SDC parsers can continue to access the data within the SDC that previously existed as variables.
    • Ideally, this parser should be configurable to support all Tcl subset languages (SDC/XDC, UPF, OpenROAD PDN)

Each one of these is a big task on its own (especially the last one.)

donn avatar Oct 07 '24 11:10 donn