ucb-bar / hammer

Hammer: Highly Agile Masks Made Effortlessly from RTL
BSD 3-Clause "New" or "Revised" License
255 stars 59 forks source link

Option for additional command line arguments for tools #786

Open krabo0om opened 1 year ago

krabo0om commented 1 year ago

Background Work

Feature Description

Provide a setting for additional arguments that are added to the invocations of the tools (e.g., Genus or Innovus). For example:

synthesis.genus.arguments = ['-wait', '1000']

Motivating Example

We have a limited number of Cadence licenses. Currently, the tools (e.g., genus) crash if there are no more licenses available. Repeatedly starting the flow and hoping is not crashing is not an efficient solution. Cadence tools offer the -wait <time> argument to wait for a license instead of directly crashing. However, no arguments can be passed to the tools because that is hard-coded in the plugin.

harrisonliew commented 1 year ago

Thanks so much for your PR!.

I think certain options can be made generic, such as this license wait parameter (since all tools will support that). Can you give some additional examples of what extra arguments you think should be supported?