Skip to content

Latest commit

 

History

16 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

vyges-rsz

Electrical repair of a placed design: repeaters inserted along each net's Steiner tree where a wire is too long, a driver sees too much capacitance or fans out too far, or a load's transition is too slow — and a driver resized where its own transition is.

vyges install loom
vyges loom rsz repair_design job.json
vyges loom rsz --describe

Documentation: docs/src/rsz.md (an mdBook; mdbook build docs), with the CLI reference.

The job

The commands a flow script would run, in order, with the arguments as it passed them:

{
  "steps": [
    { "cmd": "read_liberty",  "args": ["cells.lib"] },
    { "cmd": "read_db",       "args": ["placed.odb"] },
    { "cmd": "read_sdc",      "args": ["constraints.sdc"] },
    { "cmd": "set_wire_rc",   "args": ["-layer", "metal3"] },
    { "cmd": "estimate_parasitics", "args": ["-placement"] },
    { "cmd": "repair_design", "args": ["-max_wire_length", "800"] }
  ],
  "write_def": "repaired.def"
}
{ "tool": "vyges-rsz", "status": "repaired", "nets_checked": 4, "nets_repaired": 1,
  "inserted_buffers": 3, "resized": 0, "drivers_skipped": 0,
  "violations": { "slew": 1, "capacitance": 0, "fanout": 0, "length": 1 },
  "summary": [ { "code": "RSZ-0034", "message": "Found 1 slew violations." }, … ] }

A worked example — a 1.9 mm net between two buffers, repaired with five repeaters — is in examples/long_wire, with the report, design and trace it must produce.

Build

The command-line engine reads the design database through vyges-opendb, which builds the database library from source. Check out vyges-tools/opendb, opendb-lib, sta, grt, est, stt, loom and layout beside this repository (see .github/workflows/ci.yml), then:

cargo build --release --features cli
cargo test  --release --features cli

Without --features cli the library builds with no C++ dependency, and the pure rules are tested on their own.

Licensed under Apache-2.0.

About

Electrical repair of a placed design: repeaters along each net's Steiner tree and driver resizing, wherever a wire is too long or a capacitance, fanout or transition limit is broken.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages