• Home
  • :
  • Community
  • :
  • Blogs
  • :
  • PCB Design
  • :
  • BoardSurfers: PCB Electronics - Electrical Constraints

PCB Design Blogs

  • All Blog Categories
  • Breakfast Bytes
  • Cadence Academic Network
  • Cadence Support
  • Computational Fluid Dynamics
  • CFD(数値流体力学)
  • 中文技术专区
  • Custom IC Design
  • カスタムIC/ミックスシグナル
  • 定制IC芯片设计
  • Digital Implementation
  • Functional Verification
  • IC Packaging and SiP Design
  • In-Design Analysis
    • In-Design Analysis
    • Electromagnetic Analysis
    • Thermal Analysis
    • Signal and Power Integrity Analysis
    • RF/Microwave Design and Analysis
  • Life at Cadence
  • Mixed-Signal Design
  • PCB Design
  • PCB設計/ICパッケージ設計
  • PCB、IC封装:设计与仿真分析
  • PCB解析/ICパッケージ解析
  • RF Design
  • RF /マイクロ波設計
  • Signal and Power Integrity (PCB/IC Packaging)
  • Silicon Signoff
  • Solutions
  • Spotlight Taiwan
  • System Design and Verification
  • Tensilica and Design IP
  • The India Circuit
  • Whiteboard Wednesdays
  • Archive
    • Cadence on the Beat
    • Industry Insights
    • Logic Design
    • Low Power
    • The Design Chronicles
mrigashira
mrigashira
10 Sep 2019

BoardSurfers: PCB Electronics - Electrical Constraints

BoardSurfers: Cadence Allegro BlogSo, you did the six things to do before you actually place components on a PCB and then placed the components too. Today, we will talk about constraints. 

Whether it's NASA's space missions or school camping trips;  building a cutting-edge, reusable rocket system or baking a simple lemon tart - planning is a must to avoid disasters, or at least to get a predictable output. So is the case with PCBs.  You want to plan ahead to avoid design mistakes that can cost you money and time. And that's where constraints come handy.

A constraint is a rule that describes and restricts a net, and can be of different types, say an electrical constraint or a spacing constraint. So, an electrical constraint is a rule that characterizes and constrains the electrical characteristics of a net. For example, you might want to define the minimum or maximum delay of a signal from one pin to another by applying the Min/Max Propagation Delays constraint. Overall, managing constraints is not so simple a task; on the contrary, it's a daunting and complex task.  Remember, you are actually specifying the design intent and requirements to ensure the design is accurate with no errors. It's not only about defining the constraints accurately, but it's also about sharing the constraints across various teams - allowing the constraints to be defined as early as possible and then flowing the constraints across different design phases. 

PCB Editor and its design environment ensure that you have a consistent and easy to use constraint management system accessible across different design phases. At the heart of this system is Constraint Manager with its spreadsheet interface that allows you to capture, manage, and reuse constraints. The best part is you use Constraint Manager from schematic editors as well as the layout/physical editors, so consistency is managed throughout.

Easy to Use and Consistent Interface

The Constraint Manager interface is organized in a way that closely reflects the actual arrangement of constraints – you have top-level domains (Electrical, Physical, Spacing, and so on) divided into folders, which are further divided into workbooks containing worksheets. For example, the Electrical domain contains two folders, Electrical Constraint Set and Net.  Electrical Constraint Set contains four workbooks, namely, Signal Integrity, Timing, Routing, and All Constraints. The Signal Integrity workbook contains two worksheets, Reflection/Edge Distortions and Xtalk/SSN.

Constraint Manager domains

The worksheet allows you to actually specify a constraint, for example here is the worksheet for Min/Max Propagation Delays.

Worksheet for min/max propagation delay

Easy to Manage and Organize Constraints

A design will usually have a number of classes with their own busses, nets, pin pairs and so on. Defining and applying  'individual' constraints to each 'individual' object (say,  pin pairs), will be extremely tedious. So, in Constraint Manager, you organize your constraints into Electrical Constraint Sets (ECSet). ECSet is a collection of constraints and their default values reflecting a design requirement. You can capture all electrical constraints, including topology-related information, in an ECSet. 

The ECSets you have in a design or system can be referenced by any number of objects within the same design or system. The objects need not be related. For example, an ECSet can be referenced by a bus or a differential pair or an XNet. However,  you can assign only one ECSet to an object.

So ECSets relieves you of the tedious task of assigning 'individual' constraints one at a time. How about the other issue of assigning ECSets to each object in your design? This is simplified by the inheritance and override features provided through object hierarchies. When you specify a constraint to an object at the top of a hierarchy, the constraint is inherited by all objects down the hierarchy. You can then override an inherited constraint at the lower-level.  

For example, you can use the powerful NetGroups concept to take full advantage of the inheritance and override features. Net Groups are a high-level abstraction of nets, buses, and so on. Constraint Manager fully supports these Net Groups from a constraint perspective. Create and apply constraints at the top-level Net Group object to propagate down through all levels of the Net Group. Adjust individual objects inside the Net Group, if needed.

Try It Out

Constraints and their management is a huge topic in itself and needs getting used to. The best way to understand the system is by trying it out. I will recommend the Electrical Constraints Rapid Action Kit (RAK) for you to run through the steps and procedures and better understand the system. This RAK takes you through different tasks related to constraint management using sample databases. 

Tags:
  • Constraint Manager |
  • Allegro Package Designer |
  • Allegro PCB Editor |
  • SiP Layout |