Feature · SDC Validation
Ṛta reads your SDC file and checks it against 119 documented rules. Every problem is reported with a rule code, severity, and the exact line, so you know what is wrong and how to fix it.
In plain words
An SDC file tells the timing tool how your design should be constrained. A small mistake can silently unconstrain a path. Validation is the automatic check that finds those mistakes while they are still cheap to fix.
Think of it like a spell-checker for timing constraints. You write the SDC, Ṛta reads it, and reports:
$ rta check top.sdc
✗ SDC-008 input delay 9.0ns ≥ clock period
no timing margin - line 7
▲ SDC-030 missing input delay on data_in[7:0]
line 9
◈ SDC-054 get_ports needs netlist context
line 12
Real-world example
An engineer types [get_ports datat_in] instead of data_in. The STA tool accepts it silently; the port doesn't exist, so the constraint applies to nothing, and the real port stays unconstrained. The problem is discovered weeks later in signoff.
$ rta check top.sdc --netlist top.v --top top
Design context: top (4 ports, 2 instances)
✓ references: 61/61 resolved
✗ SDC-055 [get_ports datat_in] - no such port
closest match: data_in (L14)
A constraint bug found at validation costs minutes. The same bug found at signoff costs days of iteration.
If Ṛta cannot verify something, it says so. Nothing is silently assumed correct.
Deterministic engine: no AI, no randomness. The same file gives the same findings on every machine.
Try it