Proto commits in hdl/bazel_rules_hdl

These 25 commits are when the Protocol Buffers files have changed:

Commit:a1fcc7c
Author:mikesinouye
Committer:GitHub

Add macro breakdowns in PPA proto.

The documentation is generated from this commit.

Commit:2c8a03d
Author:Mike Inouye

Use a more straightforward scientific notation. Signed-off-by: Mike Inouye <mikeinouye@google.com>

Commit:fec9bf8
Author:Mike Inouye

Use unique proto ID. Signed-off-by: Mike Inouye <mikeinouye@google.com>

Commit:e598d26
Author:Mike Inouye

Report fmax and actual clock period if SDC differs from bazel parameter. Signed-off-by: Mike Inouye <mikeinouye@google.com>

Commit:49dfe42
Author:mikesinouye
Committer:GitHub

Align log/benchmark power estimation assumptions and enable user-defined switching activity. (#360) Signed-off-by: Mike Inouye <mikeinouye@google.com>

Commit:5d0dc37
Author:Mike Inouye

Add cell count area breakdowns, clock period, and critical path to place_and_route benchmarking. Signed-off-by: Mike Inouye <mikeinouye@google.com>

Commit:22164ac
Author:mikesinouye
Committer:GitHub

Add path-specific nvp breakdowns to PPA proto. (#352) Signed-off-by: Mike Inouye <mikeinouye@google.com>

Commit:261d490
Author:Mike Inouye

Add a description of what each path type is measuring. Signed-off-by: Mike Inouye <mikeinouye@google.com>

Commit:5d425f6
Author:Mike Inouye

Fix field ID typo. Signed-off-by: Mike Inouye <mikeinouye@google.com>

Commit:a95524a
Author:Mike Inouye

Add new timing endpoint breakdown fields to the ppa proto. Signed-off-by: Mike Inouye <mikeinouye@google.com>

Commit:0c1adff
Author:mikesinouye
Committer:GitHub

Use new PowerPerformanceArea proto in place_and_route and synthesize_rtl rules. (#349) Signed-off-by: Mike Inouye <mikeinouye@google.com>

Commit:773a64b
Author:Mike Inouye

Add unit to the field for consistency. Signed-off-by: Mike Inouye <mikeinouye@google.com>

Commit:5721935
Author:Mike Inouye

Add new area breakdowns to PPA proto. Signed-off-by: Mike Inouye <mikeinouye@google.com>

Commit:ad06dbf
Author:Henner Zeller
Committer:Henner Zeller

Refine proto buffer describing PPA results. This standardizes units for power (watts), time (picoseconds), and length units (um or um2) and breaks out more information that might be available from the EDA tools. Compared to the original proto, there are so many changes, that this is a new protocol buffer, based on the old one. So to not clash with the original, this uses a new name PowerPerformanceAreaProto; the old proto needed a small change in the name of a type (because we really want to use the name 'Power' in the new one with a different definition), but it is fully binary compatible to the one before. TL;DR: * old: hdl.ppa.PerformancePowerAreaProto * new: hdl.ppa.PowerPerformanceAreaProto Next step will be to adapt the bazel rules currently generating the old proto to create the new one. Once this new one is established, the old one can be deprecated and removed quickly after last use.

Commit:9f41759
Author:Mike Inouye

Allow multiple additional liberty paths

Commit:6070f55
Author:Ethan Mahintorabi
Committer:GitHub

Merge pull request #311 from hdl/multi_lib Extract extra lib files if they exist

Commit:e8d0e58
Author:Henner Zeller
Committer:GitHub

Merge pull request #312 from hzeller/20240403-fix-ppa-namespace Remove noise from the PerformancePowerAreaProto package name.

Commit:a13fd17
Author:Henner Zeller

Fix namespace of PdkInfoProto to better reflect the intent. Namespaces for protocol buffers should not be based on path-elements but primarily on what they represent. This proto has nothing to do with bazel nor rules, just hdl.

Commit:c73c17d
Author:Henner Zeller

Remove noise from the PerformancePowerAreaProto package name. Put it in hdl.ppa.PerformancePowerAreaProto. A proto package name is meant to provide a namespace for the proto-buffer and should not necessarily indicate specific filename path elements. Previously, the package sounded like it is specifically tied to bazel_rules_hdl; but it has nothing to do with bazel rules, just a way to express data in the context of hdl. Let's keep it simple and just call the package 'hdl.ppa'.

Commit:c1144ac
Author:Mike Inouye

extract extra lib files if they exist

Commit:501a637
Author:Mike Inouye

Refactor PPA proto to use a submessage for power metrics

Commit:7488c92
Author:Mike Inouye

Add benchmarking by default to the synthesize_rtl and place_and_route rules

Commit:85de99b
Author:Mike Inouye

Fix support for hybrid height technologies in place_and_route rule.

Commit:127632c
Author:Mike Inouye

Fix support for hybrid height technologies in place_and_route rule.

Commit:f685a3a
Author:grotival
Committer:Ethan Mahintorabi

Move the PDK-to-proto logic from DeepMind to bazel_rules_hdl. PiperOrigin-RevId: 474355936