Skip to content

feat(izh): introduce Antenna Checker module to iZH - #145

Open
trabdelbasset wants to merge 12 commits into
openecos-projects:zh_mainfrom
trabdelbasset:main
Open

feat(izh): introduce Antenna Checker module to iZH#145
trabdelbasset wants to merge 12 commits into
openecos-projects:zh_mainfrom
trabdelbasset:main

Conversation

@trabdelbasset

Copy link
Copy Markdown

Antenna Checker (iZH): Introduces antenna checker with Tcl/Python bindings and structured JSON telemetry export.

- Implemented an Antenna Checker for the iZH module.
- Updated the database to parse LEF antenna properties (gate/diff areas).
- Registered the antenna extraction step into the feature telemetry pipeline.
- Implemented FileZHManager (izh_fm) to serialize detailed antenna violations to disk, matching the idrc JSON format.
- Decoupled AntennaChecker internals by caching violation structs directly at the ZHInterface boundary, resolving circular dependency issues.
- Updated pybind11 signatures to accept a feature_file path for explicit telemetry routing.
Rework AntennaChecker to match Cadence LEF/DEF 5.8 antenna rules so large
nets scale without losing accuracy.

- Sum worst-case CAR ratios rather than raw area, so merged gates keep
  per-gate damage accounting.
- Union rectilinear geometry with an exact sweep line for precise metal
  area and side perimeter.
- Time-stamp logical gates and conductor nodes per layer, so merging
  respects layer timing instead of firing at time 0.
- Chain alternating metal and cut layers per ANTENNACUMROUTINGPLUSCUT.
- Order edge-sort comparator fields consistently with std::tie.
- Bucket edges by layer and time instead of one global sort.
- Group components in flat root-indexed vectors instead of std::map.
- Fast-path unions of one rect or disjoint rects.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant