Altium vs. Cadence Allegro/OrCAD Constraint Management - Which is Better?

Jun 9 / Kirsch Mackey


The best friend to any ECAD user designing printed circuit boards (PCBs) is the rules and constraint management tool. I have been using Altium and Cadence Allegro & OrCAD for some time now and decided to make a comparison list of all the things I like most about constraint management for any software tool.

How do Altium's and Cadence Design System's Allegro/OrCAD constraint management methods compare to each other?

I judge all constraint management systems on factors like efficiency, reliability and ease of rule creation or use, so those are the criteria I will be using for this comparison.

Custom Constraint Regions/Areas

You can set any region on the PCB with its own custom rules.

In Altium Designer, it's easy to do this, by making a Room object, placing it on the PCB, then creating a new rule set that specifies which region the rule applies.

In Allegro or OrCAD, you can create a custom rule area by using Constraint Region boxes, then putting that region into a 'Constraint Set'.

Both methods are easy enough to perform, but I do prefer OrCAD's method, because I can reuse the the special region constraint set any time I want within the Constraint Manager. In Altium, I am not aware of a way to do this reuse.

Winner: Cadence Allegro/OrCAD

User Interface

I hate unattractive software user interfaces. Terrible color palettes and poor user experience really irk me and I find alternative software whenever I can to achieve the same goals.

That's why I really like Altium's approach to PCB design software. I enjoy working in the tool, not just because it is so powerful, but because it just feels nice and the color choices and user experience are overall very good.

However, Cadence Allegro/OrCAD does not lend itself to what I would call 'beautiful' or having a rich 'user experience'. That does not take away from its profound power and efficiency, once used correctly. But it's not a tool I 'enjoy' playing around in.

Altium is like a Porsche that really smooths out and enhances my experience as I get work done. OrCAD/Allegro is like the pick up truck I go grab to do a bit more heavy lifting. Amazing for work, but not for taking pictures next to and posting on Instagram.

Winner: Altium Designer.

Ease of Use (Rule Creation)

There are two ways I would classify 'ease of use'. One of them is how easy it is to use the rule manager, then the other way is how easy it is to apply rules for the PCB.

In Altium Designer, I find it more intuitive to set up rules, than in OrCAD. However, when I apply those rules, there is more to consider, like managing rule priorities, and possibly having to script/code a rule.

But in Cadence Allegro/OrCAD, it is in no way intuitive to use the Constraint Manager without some training or tip. However, once you know how the tool works, making rules is super easy and so straightforward.

This comparison has me on the fence, but in the video and in general, I will side with OrCAD for now. I might change my opinion in the future.

Winner: Cadence Allegro/OrCAD (for now)

Help & Documentation

Documentation documentation documentation. Having good helpful documentation that actually tells me what a thing is and how to use it in at least one example saves me so much time. I hate losing 30-60 minutes of time every time I can't figure out how to do something in my software tool. There is no reason for it!

Altium's documentation does provide great context on why one would use a feature in the tool and an example on how to use it. However, I have to go to their website to find what I'm looking for, and I need to know the specific term I'm looking for to find the help I need. What if I don't know how to describe my specific problem in Altium? I then have to search through the categories within the documentation to hopefully find something that answers the problem I don't know how to ask. It's not convenient.

However, in Allegro/OrCAD, I can almost always click the 'Help' button within the window I am working in to find out how to use the features/buttons in that window. The documentation jumps straight to what I am looking at, I learn the terms of those features, and it gives examples on how to use them.

Winner: Cadence Allegro/OrCAD.

Efficiency During Design

Setting constraints for my design is not as fun (at all) as actually designing the circuit and printed circuit board. That's why I want a constraint management system/tool that I don't have to look at again or keep updating once it's set up.

Altium Designer is excellent at making constraints that make intuitive sense, especially with the graphics and images to help along the way. However, inevitably, once I work with any high-speed (or even 'low-speed') design, I have to add code to manage some my constraints, net classes, differential pairs, etc. Then I set the priorities accordingly. I am not a fan of having to make sure these constraints don't overlap or cause issues for my normal constraints.

In Cadence Allegro/OrCAD, it's a different story altogether. Not only the the constraint management system just a big familiar spreadsheet format like Excel, I can create as many constraint sets or 'constraint categories' as I want, that I can then assign to any net or group I want. This simple two-step method to setting constraints broadly and granularly is extremely efficient. What's more is I can directly change a constraint for any specific object/item in my design manually without code. Then I can still use code to set some special constraints, but I never really have to.

With the Constraint Manager  tool in Altium designer, I have to be extra careful about how I set constraints for certain boards and it just takes time. However, in Allegro/OrCAD, it's a different story. I can just set it from the top level to the ground level so it's very efficient.

Winner: Cadence Allegro/OrCAD

Reliability

The most important thing I need any EDA software to be is reliable. I need to be able to trust that I won't make errors while working on my printed circuit boards, because it's an absolute nightmare if I have errors by the time I submit my design to the manufacturer, then have to spend a week fixing those errors. It's especially bad when a client is biting his/her fingernails to get the board in immediately.

Altium Designer's rule management feature is great and keeps the design in check. However, there is one concern I have, and that is the number of custom rules I need to create with logic or code in additional to the normal rules. I also occasionally need to change rule priorities for my designs. While these methods do work, I feel unsettled about the rules as I am designing the PCB and can't be 100% certain the rule manager has me covered in my design.

With Cadence Allegro/OrCAD, it's an entirely different story. Using the spreadsheet-based approach to rule management, (which, to Altium 's credit, Altium does employ to some extent, but not like OrCAD does), I can see everything being constrained in the design. Also the group-based and sets-based approach to constraint management with the ability to 'assign' them to specific nets is so simple yet so powerful and effective. Not only that, I can set specific parameters on each net, too. I have mentioned these before in terms of ease of rule creation, but the added benefit is the reliability. I have never fully set up rules in Constraint Manager and then had errors in my design. That makes me trust Allegro/OrCAD in the utmost for my more critical designs.

With Altium's rule management system, I have to create it, then check it every so often. I'm not fully secure in it, even though I do love working in Altium overall. Using Cadence Allegro/OrCAD's Constraint Manager, however, I can set it up once, then forget it. That's how I like to approach my PCB layouts.

Winner: Cadence Allegro/OrCAD

Final Choice

I ultimately choose Cadence Allegro/OrCAD for Constraints and Rules Management of my printed circuit boards. I love working in Altium and in Allegro/OrCAD software. However, Cadence has the lock on fantastic constraint management and I believe the other EDA software can really benefit  by adding this approach to their constraint methodologies as well.

Learn More

If you would like to learn more about how to use Constraint Managers in OrCAD/Allegro, or Altium Designer, feel free to Contact Us.

Or if you are trying to get hired as a PCB Designer, ask about our Professional PCB Designer Bootcamp.