The number and type of additional arguments you need for the create_waiver command depend on the specific DRC or
Methodology violation. Some violations, such as TIMING-9, are generic and do not reference any specific strings or
objects. These have no additional arguments. Other violations include one or more
strings and design objects. You must specify these elements in the waiver.
Note: Do not waive violations like
TIMING-9 or TIMING-10 that
contain no strings or objects.- Define the waiver elements.
- Use
-stringto specify the string values found in the violation. - Use
-objectsto specify design elements such as pins, cells, nets, Pblocks, and sites. - Repeat each of these options for every element the violation references.
- Use
- Create the waiver.
- Creating a waiver via the GUI or a specific violation object includes all relevant strings and objects, restricting the waiver to that specific violation.
- When creating waivers manually, you can broaden the waiver to apply to multiple similar violations.
- Expand the waiver coverage manually. Use these tips to create a
broader waiver that covers multiple violations:
- Use patterns with
get_*commands instead of specific object names. - Use wildcards in place of strings or objects. For
example:
-
*matches any string. -
*PINmatches any pin.
-
- Use a list of objects instead of a single object. If any object of the same type in the list matches the element found inside the violation for the same position, the match succeeds.
- Use patterns with
Use the following wildcard keywords to match design objects by type when creating waivers:
| Object Type | Wildcard |
|---|---|
| Cell |
*CELL
|
| Net |
*NET
|
| Pin |
*PIN
|
| Port |
*PORT
|
| Site |
*SITE
|
| Tile |
*TILE
|
| BEL |
*BEL
|
| Package Bank |
*PKGBANK
|
| Clock Region |
*CLKREGION
|
| Clock |
*CLOCK
|
| Pblock |
*PBLOCK
|
| String |
*
|
Examples
- Waive a single TIMING-14 violation that references the cell
mux2_inst/mux_out_INST_0:create_waiver -id "TIMING-14" -description "Reviewed by the team" \ -objects [get_cells mux2_inst/mux_out_INST_0 ] - Waive multiple similar violations:
create_waiver -id "TIMING-14" -description "Reviewed by the team" \ -objects [get_cells mux2_inst/mux_out_INST_* ]
Note:
create_waiver -scope forces wildcards for pins and cells to stay
within the current instance. This prevents wildcards from matching higher-level
objects and unintentionally waiving other violations.