Constraint Driven Design versus Rules Driven Design in a Unified Environment
Wouldn’t it be great if more rules in life were checked automatically? I love to cook Italian food, but it gets tiring going back and forth between a cookbook and a pot of tomato sauce. The only automatic rules checking mechanism in the kitchen is your oven timer. Fortunately for PCB designers, high-quality software packages include constraint and rules checking features that can check your layout and schematic automatically.
The ability to set design rules in your PCB for routing, spacing, propagation delay, fan-in/fan-out, and vias has become something a required feature in PCB design software. But not all PCB design software programs are created equally. Different programs display design rule definitions in different ways, design rules are defined in different interfaces, and some displays are more intuitive than others.
Your PCB design software shouldn’t just let you set design rules and constraints. It should give you flexibility in how these rules appear in your schematic and layout, and it should let you customize routing constraints and directives for your specific application. When you work in a unified design environment, design rules are defined in one part of the program and are applied throughout your layout.
Constraint-Driven versus Rules Driven Design
Constraint-based design and rules driven design operate under the same basic principles: check the layout against defined design rules and display any violations to the designer. But when you dig beneath the surface, the key difference between these methodologies has to do with the design environment.
Some PCB design software companies that use constraint-driven design pass constraint definitions between multiple programs. Even though this is called an integrated design environment, designs are not truly integrated under the user-interface. A truly unified design environment overcomes this as all constraint definitions and checks occur in a single, unified interface. Instead of sending constraints from a schematic capture program to a layout program, why not use software that truly integrates schematic and layout under one roof?
As the saying goes, rules were made to be broken. Not all design rules apply in all situations, and the job of your design software is to notify you when you break a rule. It is up to you as a designer or engineer to decide whether the rule is really important for your devices to function properly. You should be able to customize the graphics used to indicate rules violations in your layout in a clear, visual way. No one wants to scroll through a list of rules violations and search for the offending elements in their models manually.
Some design rules need to take priority over others. With this in mind, your design software should allow you to define which design rules take priority in your process. This allows rules to be checked sequentially in order of priority. This type of rules checking prevents unnecessary rule conflicts and only works inside a software package that uses an integrated design model.
Rules editor in Altium Designer
Constraints and Design Rules: What Happens if They Fall Short?
Defining via parameters and clearance between vias and neighboring features is extremely important in multilayer boards, HDI applications, high-speed design, and high-frequency design. Defining design rules for these critical structures should include a graphical interface that displays exactly how the rule affects your design throughout each step of the design process.
Software that doesn’t include a graphical representation of via and routing parameters forces designers to memorize the meaning of every design rule based on an abstract identifier. This creates the potential to ignore critical rules and mistakenly enforce others. This also increases the time for newer designers to come up to speed with design software.
When your PCB design software takes the view that design rules only apply to things like trace clearance and via design, you lose the opportunity to define design rules that have more to do with critical functionality. Rules on signal integrity, high-speed design, routing directives, and other specifications are just as important and affect your circuit board in similar capacities.
If your software doesn’t contain these design rules, the only way to ensure you are meeting these critical requirements is through adjusting your process to include simulation. Fixing any problems in these areas is time-consuming and requires moving back and forth between design and simulation. The situation is even worse when your design and simulation software is not integrated into a unified design environment.
Design Rules are About More Than Just Routing
Design rules are indispensable when you work on complex devices. Most likely, you’ll need to rely heavily on constraints editors, design rule checks, library management, and component definition tools. With so many design rules that need to be defined, having a smooth visual interface that shows you to see the board features that relate to the design rule. Issues like trace and pad clearance, silkscreen to solder mask clearance and much more should be controllable within a single dialog.
Specifying design rules goes beyond defining routing specifications, via dimensions, or copper pour areas. Your design software should allow you to define specifications on propagation delay, edge times, time of flight, and other design intents for maintaining signal integrity. Despite the importance of these design aspects, some PCB design packages still do not include rules checking in these areas. Defining these important specifications is easy when PCB design happens in a unified environment.
Via rules editor in Altium
When you work on complex devices in a large organization, your design software should be able to generate complete reports that detail any rules violations. This makes it easy for designers and engineers to decide whether the board should change or if some rule violations should be ignored. At the layout level, any design violations should display directly on the affected features or components. This lets you quickly identify and fix any rule violations.
Design Rules Are Universal in a Unified Design Environment
Altium Designer implements a unified model that allows design rules to be checked in real-time or in batches. Design rules can be defined for all aspects of your PCB layout and functionality using a powerful and intuitive graphical interface. Since design rules are divided into categories, rules are easier to visualize and only need to be defined once. Any rule violations are graphically displayed in your board layout and violations indicators can be customized to your methods.
A great PCB design software package like Altium Designer can be a major time saver. Altium Designer’s unified design model streamlines the design process and enables designers to access all the tools they need in a single environment without interrupting their design flow. Altium Designer supports flex and rigid-flex designs, 3D visualization, simulation and analysis, design rules checking and any data and data-modeling that needs to be accomplished. All the design tools in Altium Designer run through automated design rule and constraint checks.
If you ever run into design roadblocks and need help from an active community of professional PCB designers, you can access the AltiumLive forum, video library, user groups, and webinars provided by industry experts. The design rule checking documentation is easy to find and includes graphical tutorials. Altium knows that PCB designers should have access to a strong support network.
Now you can download a free trial of the PCB layout software that you want to use for your designs. To find out more about Altium Designer and how the design rule features can help you build your next product talk to an expert at Altium today.