Replies: 4 comments 10 replies
-
|
I do think we should stick with json as the underlying format |
Beta Was this translation helpful? Give feedback.
-
|
I do think the flattened nature of the metrics file isn't always the easiest to work with. In my experience there's a big drive to turn existing TCL reports into a structured machine readable format. Things like In general a more 1:1 correspondence between the structure of the TCL reports would I think be welcome from our group. |
Beta Was this translation helpful? Give feedback.
-
|
I think the modifiers just add a level of complexity to the parsing that seems un-necessary. So the example provided would be: Writing the json would be trivial (if we just implement a proper json writer in utl from boost) and adding this to the database would also allow us to access these values from the tool (or inspect in the GUI). |
Beta Was this translation helpful? Give feedback.
-
|
Sorry for the late reply, had quite a bit going on... I'm ambivalent. On the one hand, yes, it's pretty unwieldy, but we've already built a pretty solid system parsing and processing metrics with the 2.1 format in mind: https://github.com/efabless/openlane2/blob/b89f7866fd3d19da470220baf89d0e7804962941/openlane/common/metrics/util.py#L48 We can adjust for this by simply translating structured metrics emitted from OpenROAD to METRICS2.1, which it looks like there's more or less a 1:1 mapping anyway based on your proposed structure. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
OR adopted Metrics 2.1 as its format (see https://vlsicad.ucsd.edu/Publications/Conferences/388/c388.pdf). It is an easy format to write but is harder to parse. I'm opening this discussion to get input about improvements to the metrics format. The result should be useful to humans and machines.
As a starting point I think stage and category could naturally be mapped to json objects. Less clear is how name modifiers and classification modifiers would be represented.
A metric like
finish__design_powergrid__drop__average__net:VDD__corner:defaultis a bit tricky to parse with stage=finish, category=design_powergrid, name=drop, name_modifier=average, classification modifiers net:VDD and corner:default. The 2.1 standard is a bit vague on whether this is conforming. Giving a reasonable representation for such a metric is a good test for any new scheme.@gadfort @QuantamHD @rovinski @donn thoughts?
Beta Was this translation helpful? Give feedback.
All reactions