Get email delivery of the Cadence blog featured here
Design rules checks (DRC) determines whether your layout design complies with design constraints and highlights any violations. Performing DRC is an essential step of PCB development signoff before you generate manufacturing files. With increasing miniaturization along with reliability requirements, the demand for design rules is growing exponentially with time, and hence, Allegro® PCB Editor supports external design rules along with native design rule checks in all domains such as electrical, physical, spacing, manufacturing, and assembly.
The native, built-in checks are very easy to manage through Constraint Manager, which gives you an interface to enable and execute these checks. The good news is that external DRCs can also be managed conveniently using Allegro SKILL. In this post, you will see how to create and delete external DRCs using SKILL. A sample SKILL code is used to illustrate the steps and processes. You only need to have basic knowledge of Allegro eXtensions to the SKILL language (AXL) to be able to understand and use the SKILL code in this post.
You can create multiple external DRCs while designing your layout. The SKILL function to create a user-defined violation is axlDBCreateExternalDRC. Specify the parameters of this function and catch any violation as external DRCs. Also, create a violation marker to easily identify these violations. Note that an externally defined DRC marker always has the two characters X-D and this how you can easily identify them within the design canvas.
The axlDBCreateExternalDRC function has six arguments, two of these arguments are required and the remaining four are optional.
axlDBCreateExternalDRC ( t_constraint/lt_constraint l_anchor_point [t_layer] [lo_dbid] [l_secondPoint] [t_actualValue] ) ⇒ l_result/nil)
The function returns a list of two items, the first element being the database ID of the DRC created and the second element being always t. A return of nil means nothing is created.
Verify the results by enabling the DRC error class in the Visibility pane of PCB Editor. Also use the show element command on the DRC marker to see the name of the constraint set that was violated, the location of the DRC marker, and the layer to which the marker was attached.
When you hover the cursor over the DRC marker, the marker is highlighted and the datatip displays DRC error “Externally Determined Violation” with the constraint name, location, DRC layer, and the actual value.
Watch this YouTube video Creating DRC Markers in the PCB Editor with SKILL that explains the usage of this function using an example.
You can either waive or remove these external DRCs. Use the axlDeleteObject function to remove a DRC. A sample SKILL code that searches all the objects of type DRC and removes them from the design is available in the SKILL Code Library on Cadence Online Support. You can download the SKILL routine and run it to remove all external DRCs from a design. This SKILL routine deletes all the DRC markers in your design even if they are not visible on the design canvas.
Do the following after downloading the SKILL code (.il) file:
1) Extract the file from the ZIP archive and save it in your working directory.
2) Load this SKILL file by first entering skill and then using the load() function in the PCB Editor Command window, as follows:
Command > skill
Skill > load " killallxdrc.il"
This SKILL code creates the command rmxdrc.
3) Run this command from the PCB Editor command line like any other command.
To run the command, first exit the SKILL prompt.
Skill > exit
Command > rmxdrc
That’s it. The command deletes all the instances of the DRC markers indicated with X-D characters. A word of caution though, you might need to tweak the sample SKILL code according to your environment.
You can write your own SKILL code to identify any type of violation based on your design requirements. If you are new to SKILL, check out our previous blog of the SKILL series.
If you think you need to know and use more of the powerful SKILL environment, trainings are available to give you in-depth, hands-on knowledge on SKILL. Cadence offers all types of training solutions: instructor-led, online, and virtual training. You can check the training calendar and list of scheduled courses at www.cadence.com/training.
For any follow-up questions, you can write to us at email@example.com and, are willing to share your SKILL code with others, you can contribute to our Knowledge Content portal.