P-Cad 2006 Pcs User's Guide

Download as pdf or txt
Download as pdf or txt
You are on page 1of 99

Parametric Constraint Solver

P-CAD Parametric Constraint Solver 


User’s Guide

Altium Limited
Copyrights

Software, documentation and related materials:


Copyright © 2006 Altium Limited

This software product is copyrighted and all rights are reserved. The distribution and sale of this product
are intended for the use of the original purchaser only per the terms of the License Agreement.
This document may not, in whole or part, be copied, photocopied, reproduced, translated, reduced or
transferred to any electronic medium or machine-readable form without prior consent in writing from
Altium Limited.
U.S. Government use, duplication or disclosure is subject to RESTRICTED RIGHTS under applicable
government regulations pertaining to trade secret, commercial computer software developed at private
expense, including FAR 227-14 subparagraph (g)(3)(i), Alternative III and DFAR 252.227-7013 subparagraph
(c)(1)(ii).

P-CAD is a registered trademark and P-CAD Schematic, P-CAD Relay, P-CAD PCB, P-CAD ProRoute, P-CAD
QuickRoute, P-CAD InterRoute, P-CAD InterRoute Gold, P-CAD Library Manager, P-CAD Library Executive,
P-CAD Document Toolbox, P-CAD InterPlace, P-CAD Parametric Constraint Solver, P-CAD Signal Integrity,
P-CAD Shape-Based Autorouter, P-CAD DesignFlow, P-CAD ViewCenter, Master Designer and Associate
Designer are trademarks of Altium Limited. Other brand names are trademarks of their respective
companies.

Altium Limited
www.altium.com
Table of Contents

chapter 1 Parametric Constraint Solver Introduction


P-CAD PCS Features..........................................................................................................1
About this Guide..................................................................................................................2
PCS within the P-CAD Product Suite ..................................................................................3
P-CAD PCB Icon ..........................................................................................................3

chapter 2 Installation and Setup


System Requirements .........................................................................................................5
Recommended System ................................................................................................5
Minimum System..........................................................................................................5
Installing P-CAD Products ...................................................................................................6

chapter 3 Parametric Constraint Solver Basics


Using the Parametric Constraint Solver ..............................................................................7
PCB and Relay Designs in PCS...................................................................................8
Schematic Designs in PCS ..........................................................................................8
About the User Interface......................................................................................................8
Parametric Constraint Solver Interface.........................................................................8
Menu Bar......................................................................................................................9
Parametric Constraint Solver Toolbar ........................................................................10
Parametric Constraint Solver Views ...........................................................................10
Loading, Saving and Exiting a Design ...............................................................................12
Loading a Design .......................................................................................................12
Saving the Design ......................................................................................................13
Exiting the Parametric Constraint Solver....................................................................14
Right Mouse Commands ...................................................................................................14

chapter 4 The Design Manager View


Working with the Design Manager View............................................................................15
Accessing the Design Manager View .........................................................................15
Accessing Design Manager Pages ............................................................................16
Selecting Items in Design Manager............................................................................17
Using the Components Page.............................................................................................17
Component Information..............................................................................................17
Sorting the Components.............................................................................................18

Parametric Constraint Solver User’s Guide i


Using the Nets Page......................................................................................................... 18
Net Information .......................................................................................................... 18
Using the Partitions Page ................................................................................................. 19
Using the Rooms Page..................................................................................................... 20
Using the Net Class Page................................................................................................. 20
Net Class Information ................................................................................................ 21
Creating a Net Class ................................................................................................. 21
Deleting a Net Class.................................................................................................. 21
Renaming a Net Class............................................................................................... 22
Adding Nets to a Net Class ....................................................................................... 22
Removing Nets from a Net Class .............................................................................. 22
Using the Class-to-Class Page ......................................................................................... 22
Class-to-Class Information ........................................................................................ 22
Creating a Class-to-Class.......................................................................................... 23
Deleting a Class-to-Class .......................................................................................... 23
Design Manager Right Mouse Commands ....................................................................... 23

chapter 5 Organizing Components


Organizing Design Objects ............................................................................................... 25
The Design Manager View ........................................................................................ 26
The Components Page.............................................................................................. 26
The Nets Page........................................................................................................... 26
The Partitions Page ................................................................................................... 26
The Rooms Page....................................................................................................... 28
The Net Class Page .................................................................................................. 30
The Class-to-Class Page........................................................................................... 30

chapter 6 The Constraint Editor View


Working with the Constraint Editor.................................................................................... 31
What is a Constraint? ................................................................................................ 31
Viewing the Constraint Editor .................................................................................... 32
Accessing the Constraint Editor................................................................................. 32
The Precedence View ............................................................................................... 33
The Constraint View .................................................................................................. 33
Constraints and Rules Checking ............................................................................... 33
Using the Precedence View.............................................................................................. 34
Viewing the Precedence View ................................................................................... 34
Constraint Categories................................................................................................ 35
Accessing Items in a Category .................................................................................. 35
Precedence View Right Mouse Commands .............................................................. 35
Using the Constraint View ................................................................................................ 36
Viewing the Constraint View ...................................................................................... 36
Constraint Data Types............................................................................................... 37
Expression Syntax..................................................................................................... 38

chapter 7 Working with the Constraint Editor View


Working With Constraints ................................................................................................. 41

ii Parametric Constraint Solver User’s Guide


P-CAD PCS Features Chapter 1: Parametric Constraint Solver Introduction

Assigning Units to Constraints ...................................................................................41


How Units are Displayed ............................................................................................42
Adding Constraints .....................................................................................................42
Removing Constraints ................................................................................................43
Constraint Reports .....................................................................................................43
Evaluating Expressions .....................................................................................................44
Using Data Types in Expressions ..............................................................................44
Unit Conversions ........................................................................................................44
Unitless Expressions ..................................................................................................44
Strings and Evaluations..............................................................................................45
Expression Errors.......................................................................................................45
Constraint Validation and Design Updates ........................................................................45
Expression Validation at Design Load........................................................................46
Saving Design Updates..............................................................................................47
How PCS Updates Affect PCB and Schematic ..........................................................47
Recording Changes with ECOs..................................................................................48
Using a Design Technology Parameters File ....................................................................49
Accessing a DTP........................................................................................................49
DTP Operations .........................................................................................................50
Viewing Parametric Constraint Solver Features in PCB and Schematic ....................51

chapter 8 Using PCS with InterPlace


Highlighting Objects ..........................................................................................................53
Net Highlighting ..........................................................................................................53
Room Highlighting ......................................................................................................54
Component Highlighting .............................................................................................54
Component Selection ........................................................................................................55
Clustering Components .....................................................................................................55
Jumping to a Component’s Location .................................................................................55

chapter 9 File Commands


File Load PCB Design .......................................................................................................57
File Load Schematic Design..............................................................................................58
File Close ..........................................................................................................................58
File Update PCB................................................................................................................58
File Update Schematic ......................................................................................................58
File Reports .......................................................................................................................58
Filename ....................................................................................................................59
Report Options ...........................................................................................................59
Page Format ..............................................................................................................60
Style Format ...............................................................................................................60
Lines per Page ...........................................................................................................60
Report Destination......................................................................................................60
Generate ....................................................................................................................60
File Design Technology Parameters .................................................................................60
File Exit..............................................................................................................................61

Parametric Constraint Solver User’s Guide iii


chapter 10 View Commands
View Constraint Editor ...................................................................................................... 63
View Design Manager....................................................................................................... 63

chapter 11 Help Commands


Help P-CAD Parametric Constraint Solver Help Topics.................................................... 65
How to Use Help............................................................................................................... 65
About P-CAD Parametric Constraint Solver ..................................................................... 65

Appendix A Keyboard Reference


Parametric Constraint Solver Keyboard Reference .......................................................... 67

Appendix B PCS References


PCS Grammar .................................................................................................................. 69
Notations ................................................................................................................... 70
Grammar ................................................................................................................... 70
Data Types ....................................................................................................................... 74
Data Types by Constraint ................................................................................................. 74
Postfix Mode ..................................................................................................................... 75
Functions .......................................................................................................................... 76
Operators.......................................................................................................................... 77
Supported Units ................................................................................................................ 78
Constants ......................................................................................................................... 80
Constraint Referencing ..................................................................................................... 80
Reserved Keywords.......................................................................................................... 81
Limits ................................................................................................................................ 81
Syntax Examples .............................................................................................................. 81
Illegal Cases (Error Messages) ........................................................................................ 84

Index .......................................................................................................................................... 87

iv Parametric Constraint Solver User’s Guide


CHAPTER 1

Parametric Constraint Solver Introduction

Congratulations on your purchase of the P-CAD Parametric Constraint Solver. P-CAD’s Parametric
Constraint Solver (PCS) is a productivity-enhancing tool that enables true rules based design.
With PCS, designers can comprehensively view and manipulate Schematic and PCB design rules in
rule-precedence order. Most importantly, design rules can be defined as constant values or
mathematical expressions, and may also be defined in terms of other design rules, providing a
parametric, precedence-based, rules-driven system.
The Parametric Constraint Solver provides a vehicle in which a design’s constraint values can be
defined in a variety of ways: as a constant, formula, vector, or as the result of a mathematical
expression which can be based on one or more other design constraints.
The updates made to a design in PCS are saved to the PCB or Schematic design file. PCB routing,
copper pour, online DRC, and placement tools honor PCS width and clearance restrictions. In
addition, DRC validates the completed design against the constraints defined in PCS, including
widths, clearance, and room constraints such as room inclusion and height restrictions.
With PCS, a circuit board designer has easy access to the PCB and Schematic design rules. You can
view the hierarchical order of the design constraints from an individual component rule up to the
global design rules and quickly determine the order of precedence in which these rules will be
applied to and affect your design. Constraints are easily added to and removed from any level of
the rules hierarchy and can also be added to and removed from multiple items with just one
operation.
P-CAD Parametric Constraint Solver is an advanced constraint management tool for the Microsoft®
Windows 95™, Windows 98™, Windows 2000™, or Windows NT™ operating systems. The
Parametric Constraint Solver contains a combination of features designed to significantly reduce
the number of design iterations needed to produce a successful board layout.

P-CAD PCS Features


This section highlights some of the important P-CAD Parametric Constraint Solver features:
• Manipulation of constraints. PCS provides easy access to the design rules in the Constraint
Editor. All of the design’s rules are displayed in their order of precedence from highest to

Parametric Constraint Solver User’s Guide 1


Chapter 1: Parametric Constraint Solver Introduction About this Guide

lowest: component, room, class-to-class, net, net class, layer and design. From this hierarchy
you can easily add constraints to and remove constraints from any of the levels.
• Constraints as expressions. PCS provides the ability to use expressions to define your design
rules. An expression can use constants, formulas or vectors and may include references to
other constraints.
• Constraints based on other constraints. A constraint expression can be based on and/or
reference other constraints from any precedence level in the design. When the value of one
constraint is modified, the result is applied to any expressions that referenced it, and their
values are changed as well.
• Math and Trig Functions. A comprehensive suite of mathematical and trigonometric functions
are supported by the PCS Constraint Editor.
• Constraint validation. Constraints are evaluated at the time they are defined and whenever a
design is loaded into PCS. Synchronizing the updates between the applications helps
eliminate errors that may occur due to changes made in PCB or Schematic.
• Unit selection. You can choose a constraint’s unit. For instance, a clearance constraint can be
a length unit such as an inch, mil, millimeter or centimeter. User-defined constraints provide
the opportunity to assign any of the available units.
• Assignment to multiple design objects at one time. With PCS it’s easy to assign a constraint to
many items at once, instead of many times to individual items.
• Constraint data saved in originating design. Updates made to the design in PCS are saved to
the originating design file, eliminating any need to repeat the process in multiple applications.
• Organizing the design objects. You can use the Design Manager in PCS to organize the
various objects in the design so that assigning constraints becomes quick and easy. The
contents of the design data (i.e., components and nets) can be defined in terms of partitions,
rooms, net classes and class-to-class rules.
• Application integration. P-CAD PCB, P-CAD Relay and P-CAD Schematic software is tightly
integrated with P-CAD Parametric Constraint Solver assuring the synchronization of design file
updates between the applications.

About this Guide


This manual provides information about the P-CAD Parametric Constraint Solver. It includes the
following sections:
• Getting Started: Chapters 2 and 3 tell what you need to get started using the P-CAD Parametric
Constraint Solver. It provides installation instructions and walks you through the basic
capabilities of P-CAD PCS and its interaction with P-CAD PCB or Relay.
• Using the Parametric Constraint Solver: Chapters 4 through 7 provide information that you
need to work with P-CAD PCS. They give you details on applying design constraints, assigning
units and finding the best way to capture a constraint’s value in the constraint editor.

2 Parametric Constraint Solver User’s Guide


PCS within the P-CAD Product Suite Chapter 1: Parametric Constraint Solver Introduction

• Using InterPlace and PCS: Chapter 8 provides information on the additional placement
functionality available when both P-CAD Parametric Constraint Solver and P-CAD InterPlace
are used together.
• The Parametric Constraint Solver Reference: Chapters 9 through 11 and Appendices A and B
include an extensive reference on the PCS commands and covers all of the variables the
Parametric Constraint Solver allows when assigning values to the constraints.

PCS within the P-CAD Product Suite


The interface of the Parametric Constraint Solver varies depending on the design file you have
loaded. For instance, designs loaded from P-CAD Schematic may not use the Room precedence
level in which to assign constraints since only PCB designs employ the Room as an organizational
tool.

P-CAD PCB Icon


When a design is loaded from PCB, the full suite of Parametric Constraint Solver features is
available. When a feature is unique only to a PCB design the PCB icon is displayed in the margin.

Parametric Constraint Solver User’s Guide 3


CHAPTER 2

Installation and Setup

This chapter lists the required hardware and software settings you need to install the P-CAD Suite.

System Requirements
Make sure that your PC and its software conform to the following P-CAD requirements and
recommendations.

Recommended System
• Windows NT 4/2000 Professional
• PC with Pentium III Processor
• 128MB RAM (256MB for high component/net count)
• 400MB Hard Disk Space
• Desktop area 1024x768 pixels
• 32-bit Color Palette
• CD-ROM Drive
• Mouse or compatible pointing device.

Minimum System
• Windows 95/98/2000Me
• PC with Pentium 166MHz
• 64MB RAM
• 200MB Hard Disk Space (without ISO libraries)
• Desktop area 800x600 pixels
• 256 Color Palette
• CD-ROM Drive
• Mouse.

Parametric Constraint Solver User’s Guide 5


Chapter 2: Installation and Setup Installing P-CAD Products

Installing P-CAD Products


For up-to-date installation information refer to the file Readme.WRI, located on the product CD. This file
can also be found in the application program folder (\Program Files\P-CAD 2006) after installation.
Note that the setup program on the Product CD can also be used to Repair or Remove an existing P-CAD
Installation.

6 Parametric Constraint Solver User’s Guide


CHAPTER 3

Parametric Constraint Solver Basics

This chapter introduces many of the basic features you need to know when using the P-CAD
Parametric Constraint Solver. It includes general information on such topics as:
• Using PCS from PCB, Relay, or Schematic
• PCS user interface.
• Loading, saving, and closing a design.
• Right mouse commands.
What is presented here is a high level look at Parametric Constraint Solver capabilities. These
capabilities are detailed in later chapters.
To keep with the easy-to-use tradition of P-CAD applications, much of the basic functionality of P-
CAD Parametric Constraint Solver is similar to P-CAD PCB. As a Windows user, you will also be
familiar with the basic manipulations employed in managing constraints in PCS.

Using the Parametric Constraint Solver


The Parametric Constraint Solver is a versatile application that can be used to manage constraints
on both a Schematic and a PCB design. Invoked from one of the P-CAD applications, a design’s
data is transported from its originating application into PCS and, when updates are complete,
passed back to PCB or Schematic.
PCS provides a vehicle for adding constraints to your design at various enforcement levels using
diverse organizational tools.
The ability to directly assign a constraint’s value or define that value using expressions is an exciting
feature of PCS. Employing its close integration with P-CAD PCB and P-CAD Schematic allows PCS
to validate any changes to the design’s constraint values whenever a design is loaded into PCS.
The role of the Parametric Constraint Solver in the P-CAD product suite is summarized in the
sections below.

Parametric Constraint Solver User’s Guide 7


Chapter 3: Parametric Constraint Solver Basics About the User Interface

PCB and Relay Designs in PCS


The Parametric Constraint Solver can be activated from P-CAD PCB or P-CAD Relay to organize the
components and nets in a design into physical and logical groups in preparation for applying
design constraints. PCS is especially accommodating in providing easy constraint viewing and
management in the Constraint Editor. Once design objects are properly grouped, rules can be
added to or removed from any of the precedence levels of the design, including design, layer, net
class, net, class-to-class, room and component. Constraint values may also be determined by
employing constants, formulas, vectors or expressions.

Unless specified, all references to the Parametric Constraint Solver features, relevant when a PCB
design is loaded, are also applicable when a Relay design is loaded.

When you access PCS from PCB you have access to the Design Manager and the Constraint Editor
in which to organize your design objects and define the desired constraints. Each of these aspects
of the Parametric Constraint Solver interface is discussed in About the User Interface below.

Schematic Designs in PCS


Parametric Constraint Solver can be activated from P-CAD Schematic to help organize a design’s
components and nets in logical groups (e.g., partitions and net classes, respectively), and define
placement requirements to keep the PCB Designer informed of your design intentions.
To achieve these functions, when you access PCS from Schematic you have access to the Design
Manager and the Constraint Editor. The Parametric Constraint Solver interface is discussed in
About the User Interface below.

About the User Interface


The P-CAD Parametric Constraint Solver interface follows the standard Windows format, with the
addition of PCS specific controls. This section provides an overview of the user interface, including
the menu bar, toolbars, and basic screen layout.

Parametric Constraint Solver Interface


When you first access the P-CAD Parametric Constraint Solver, the interface displays an empty area
for each of the views. All menu functions except File » Load PCB Design, and File » Load Schematic
Design are unavailable.

8 Parametric Constraint Solver User’s Guide


About the User Interface Chapter 3: Parametric Constraint Solver Basics

When you load a design file from a P-CAD application, the design information is displayed in the
appropriate viewing area. The Parametric Constraint Solver workspace views include:
• The Constraint Editor View
• The Design Manager View
Designs loaded from P-CAD PCB, Relay or Schematic provide the design information as it pertains
to the individual views. The Design Manager View shows the design objects in each of its pages,
while the Constraint Editor View provides access to the constraints.
Each of the Parametric Constraint Solver views is summarized in the Parametric Constraint Solver
Views section.

Menu Bar
The menu bar allows you easy access to Parametric Constraint Solver commands and functions.
Before you load a design, the PCS menu bar contains only the File and Help menu items. From the
File menu you can choose to load a PCB or Schematic design.
When you load a design from PCB or Schematic, the menu bar of PCS appears as follows:

To activate a menu, click the menu title or press the Alt key in combination with the underlined
letter of the menu title (e.g., Alt+F to open the File menu). When the menu appears, click a menu
item, or press the underlined key, to enable a command.
• A command followed by three dots (e.g., Open...) opens a dialog when you choose it.

Parametric Constraint Solver User’s Guide 9


Chapter 3: Parametric Constraint Solver Basics About the User Interface

• The menu bar wraps if you reduce the width of the window. In contrast, other areas of the
screen truncate with screen reduction.

Parametric Constraint Solver Toolbar


Toolbars provide shortcuts to commonly used commands and functions. Toolbars appear when
you activate the appropriate View command. Once a toolbar is visible on your screen, you can use
your mouse to drag it to a new position. It can be docked along the edges of your screen, or left
floating in the middle of your display. A floating toolbar can be resized.
P-CAD Parametric Constraint Solver has one basic toolbar: the command toolbar.

Command Toolbar
The Command Toolbar provides shortcuts to menu commands and other system functions.
The Command Toolbar attached to the Parametric Constraint Solver contains only one shortcut
command and appears as follows:

Update PCB/Schematic

Parametric Constraint Solver Views


Each view in the Parametric Constraint Solver specializes in a unique design function. The Design
Manager View is superb at organizing design objects and providing many different aspects of the
design’s data. The Constraint Editor View provides the means to add to and remove constraints
from any of the precedence levels, and determine how the constraint values are established.

The Design Manager View


The Design Manager View provides a simple interface for arranging design components into
physical and logical divisions, and affords easy access to information about the nets, net classes and
class-to-class rules in your design.
With the Parametric Constraint Solver, you can create a logical division in the design, called a
partition, and assign the components within these divisions. You can also create, modify and
delete net classes and move components from one net class to another, and assign net classes to a
class-to-class.
You can also manage physical regions on the PCB board layout, called rooms, where the
components and partitions can be assigned.
The Design Manager View may be enabled or disabled using the View Design Manager command.
When visible, the view can be disabled by clicking the appropriate button at the top right corner.
The Design Manager can be resized by positioning the cursor on the edge of the line you want to
move, then dragging it to the right or left and releasing the button at the desired location.
Additionally, if you double-click on the gray lines at the top of the view, the view is undocked and
floats in the middle of your display. You can then use your mouse to drag it to a new position.
When enabled, the Design Manager View appears in your workspace as shown below:

10 Parametric Constraint Solver User’s Guide


About the User Interface Chapter 3: Parametric Constraint Solver Basics

For more information about using the Design Manager, refer to The Design Manager View, (page
15).

The Constraint Editor


The Constraint Editor displays all of the design constraints in an easy-to-use Graphical User
Interface (GUI). It is organized in a tree structure that shows the relationship between these
constraints and the design. The Constraint Editor provides easy access to all of this information for
viewing or modifying.
The Constraint Editor View may be enabled or disabled using the View » Constraint Editor
command or by clicking the appropriate button at the top right side of the view. The view can also
be resized by positioning the cursor on the edge of the line you want to move, then dragging the
cursor to the right or left and releasing the button at the desired location.
When enabled, the view appears in your workspace as shown below:

The Constraint Editor spreadsheet provides the ability to establish constraint values using simple or
complex methods. Formulas can be as simple as a mathematical operation or as complex as
referencing other constraint values to define relationships between constraints.

Parametric Constraint Solver User’s Guide 11


Chapter 3: Parametric Constraint Solver Basics Loading, Saving and Exiting a Design

For more information about using the Constraint Editor, refer to The Constraint Editor View, (page
31).

Loading, Saving and Exiting a Design


This section details basic design loading and updating functions as well as how to exit the
Parametric Constraint Solver application.

Loading a Design
To load a design into the P-CAD Parametric Constraint Solver, the design must first be opened in P-
CAD PCB, P-CAD Relay, or P-CAD Schematic.
Once the design is open and active in the originating P-CAD application, choose the Utils » P-CAD
Design Constraint Manager command to launch the Parametric Constraint Solver. You can also
launch PCS from your desktop.

The Design Constraint Manager command in the PCB and Schematic Utils menus provides access
to both PCS and P-CAD InterPlace. P-CAD searches your license files and, depending on which
license(s) are found, launches the appropriate application(s).

From the Parametric Constraint Solver File menu choose the Load PCB Design or the Load
Schematic Design command to begin the design loading process.

The design is loaded automatically and the Parametric Constraint Solver workspace displays the
Design Manager and Constraint Editor Views.
While a design is loaded, the originating P-CAD application is locked so that conflicting changes to
the design or the design constraints cannot be made. Refer to P-CAD Application Lock for details.

12 Parametric Constraint Solver User’s Guide


Loading, Saving and Exiting a Design Chapter 3: Parametric Constraint Solver Basics

P-CAD Application Lock


When the P-CAD Parametric Constraint Solver is running, the P-CAD application from which the
design originated is locked. The lock prevents conflicting changes to the PCB or Schematic design.
The following warning is displayed over the PCB or Schematic workspace while the design is
loaded into the Parametric Constraint Solver.

Cancel terminates the DBX (P-CAD Database Exchange programmer's interface) connection
between the applications. If this connection is broken any changes made in PCS are not saved to
the design file.
Design information is communicated between the originating application and the Parametric
Constraint Solver via DBX. If you wish to update the design with changes made in the Parametric
Constraint Solver, do not click Cancel. To update the design, use either the File » Update PCB or
File » Update Schematic command to save the changes to the original design. Then, close the
design or exit the Parametric Constraint Solver.
See Working with the Constraint Editor View, (page 41), for more information on maintaining the
update link between PCS and the originating application.

Saving the Design


If you want to save the changes you have made to the design in PCS, and would like to continue
working on the current design, use the File » Update PCB or File » Update Schematic commands or
click the File » Save Design button to save the changes to the PCB or Schematic design file. With
any of these commands, the file remains open in PCS so you can continue working on it.
If you have finished working with the current design in PCS, choose File » Close. This command
updates the design when you confirm that you want to save the changes and closes the Parametric
Constraint Solver views. The design is unlocked in the originating P-CAD application, permitting
changes again in the current PCB or Schematic design editor. When you save the design or exit the
originating application, all changes to the design are applied.

When you exit PCS and return to the originating application, make sure you do a File » Save in PCB
or Schematic to apply the PCS updates to the design. Updates made in PCS are saved in the
memory of the originating application only until you choose the File Save command or confirm that
you want the updates saved on exiting the originating application.

Parametric Constraint Solver User’s Guide 13


Chapter 3: Parametric Constraint Solver Basics Right Mouse Commands

Exiting the Parametric Constraint Solver


Choose the File » Exit command to exit the P-CAD Parametric Constraint Solver.
If an open design or its constraints have been modified since the last save, you are prompted
whether you want to save the changes.
The design files are unlocked in the originating P-CAD application, permitting changes again in the
PCB or Schematic design editor.
The program writes information to the .ini file when you choose Exit. This information, which
will apply to subsequent Parametric Constraint Solver sessions, consists of parameters and settings
such as the size of the views, their positions in the workspace, etc.

Right Mouse Commands


When you select an object and click the right mouse button, a pop-up menu appears providing
shortcuts to common commands performed on selected objects. This menu changes depending
on the object you select and the view from which they are selected.
The following section summarizes the commands, which appear on the pop-up menu:
• Add Constraint: This command in the Constraint Editor View displays the Add Constraint
dialog where you can define a new constraint.
• Add To: This command is used to add selected components to a Room.
• Delete: This command deletes a selected partition or class-to-class.
• Delete Net Class: This command deletes the selected net class.
• Move To: This command moves selected components to a partition, or selected nets to a Net
Class.
• New Class-to-Class: This command is used to add a new class-to-class to the design.
• New Net Class: This command is used to add a new net class to the design.
• New Partition: This command creates a new partition.
• Remove Components: This command removes selected components from a partition or
Room.
• Remove Constraint: This command in the Constraint Editor deletes the selected constraint.
• Remove Nets: This command removes nets from a net class.
• Rename: This command is used to rename a partition.
• Rename Net Class: This command allows you to rename a selected net class.

14 Parametric Constraint Solver User’s Guide


CHAPTER 4

The Design Manager View

The P-CAD Parametric Constraint Solver provides the Design Manager View to help in organizing
the design components into logical partitions and physical regions called rooms. The Design
Manager View also gives access to information about the nets, net classes and class-to-classes in
your design in an easy-to-use interface.
In this chapter, each method of organizing components, nets and net classes is discussed, as well as
how you can use them to expedite the design and production of an efficient and cost effective
circuit board. You will also learn how organizing design objects can facilitate the assignment of
constraints.

Working with the Design Manager View


The Design Manager View of the P-CAD Parametric Constraint Solver displays the design
information in either a tree-like structure or a simple list. You can view design data from a number
of perspectives: components, nets, partitions, rooms, a net class and a class-to-class, each of which
is available in a Design Manager View page.
In the Components page you can rearrange the display of the details shown there by sorting the list
of components using any of the column headings. You can create partitions in the partitions page,
and add components to or remove components from the partitions. If you created a room in the
PCB design, you can add or remove components in those rooms. From the Nets page you can view
the list of nets in the design, and the nets can be organized into net classes and class-to-class
groupings in their respective pages.
In the next sections you will learn how to access the Design Manager View, move around in each of
the pages, and employ its powerful features to expedite your design efforts.

Accessing the Design Manager View


When you launch the Parametric Constraint Solver, the Design Manager View appears
automatically in the workspace. The position and size of the Design Manager View from the last
session in which you loaded a design into PCS is stored in the .ini file and reconstructed in the
workspace for the new session.

Parametric Constraint Solver User’s Guide 15


Chapter 4: The Design Manager View Working with the Design Manager View

Before a design is loaded, the Design Manager View is empty. Once a design is loaded using the
File » Load PCB or Schematic Design commands, the Design Manager View displays the design data
in the relevant pages.
You can choose to view or hide the Design Manager View using the View Design Manager
command. The view can also be resized and rearranged in the workspace. See Parametric
Constraint Solver Basics, (page 7), for details on changing the way the workspace is organized.
The Design Manager View is displayed in the right half of the Parametric Constraint Solver
workspace when PCS is launched for the first time, as shown below:

Accessing Design Manager Pages


To access any of the pages in the Design Manager View, simply click the appropriate tab at the
bottom of the view. The data presented in the six different views of the design data are shown
below with their associated icon:

Components Page

Nets Page

Partitions Page

Rooms Page (for PCB designs only)

Net Class Page

Class-to-Class Page

16 Parametric Constraint Solver User’s Guide


Using the Components Page Chapter 4: The Design Manager View

On each page, except the Components Page, is a tree structure or hierarchy, containing all of the
information pertinent to that page. You can view the page’s contents at various levels of detail by
expanding or collapsing the branches of the tree.
Groupings containing collapsed levels are shown with a sign. To expand the grouping, simply
click the . Expanded groupings are shown with a sign. To collapse the grouping, simply click
the sign. You can also use the and keys on a selected group to collapse or expand
groupings, respectively.

Selecting Items in Design Manager


In order to perform functions on the data items in your design, you must first select one or more
items in a page. For instance, you may want to select components to add to a room or partition.
You might also want to create a new net class or class-to-class from selected nets and net classes.
Items can be selected using any of these methods:
• To Select a Single Item: Position the cursor on the item and click the left mouse button.
• To Select a Contiguous Block of Items: Position the cursor on the first item in the block and
click the left mouse button, press the Shift key and click on the last item in the block. You can
also select an item, then press the Shift + End keys to select the items that follow to the end of
the list.
• To Select Multiple Individual Items: Press the Ctrl key while clicking the left mouse button on
each item you want to select.
You can right mouse click on a selected item(s) in the tree to access its pop-up command menu.
Refer to the section, Design Manager Right Mouse Commands, (page 23), for the complete list of
right mouse commands.

Using the Components Page


The Components Page lists all the components in the design, along with some pertinent
information about each of them, including the Type, Value, Placed indicator and Partition name.
You can sort the components by clicking any of the column headers.

Component Information
For each component in the design, the following information is displayed:
• Reference Designator or component identifier.
• Type of component.
• Value assigned to the component.
• Placed indicates whether the component is or isn’t located within the board outline.
• Partition displays the name of the partition the component is assigned to, if any.

Parametric Constraint Solver User’s Guide 17


Chapter 4: The Design Manager View Using the Nets Page

The Components Page appears as follows:

Sorting the Components


You can sort the list of components for easier viewing by simply clicking on one of the column
headings. For instance, if you want to see which components have been placed on the board, or
which ones remain to be placed, click the Placed column heading and the unplaced components
float to the top of the list.

Using the Nets Page


The Nets Page of the Design Manager View displays a list of the nets in the design, and their
associated pins. If you have purchased P-CAD InterPlace, from the Nets Page you can highlight a
net, show or hide the connections, jump to a particular node or cluster the components in a net
into a common work area.

Net Information
The Nets page displays a list of the nets resident in the loaded design. Nodes associated with each
net are listed for designs loaded from PCB.

A Schematic design loaded into Parametric Constraint Solver displays only the list of nets in the
design.

The Nets Page appears as follows:

18 Parametric Constraint Solver User’s Guide


Using the Partitions Page Chapter 4: The Design Manager View

Using the Partitions Page


The Design Manager View provides a way to assemble components logically in a group referred to
as a partition. Using a partition to group components is a great way to start organizing your
design’s components. For instance, you can establish partitions with like properties, such as the
analog or digital components, or partitions that contain components destined for a particular sheet
or layer.

Partition names can be used to describe the way the components are organized for easy
identification. For instance, you may have a partition containing the analog components and name
it AnalogPart, or for components located on a Schematic Sheet number one you can create a
partition called Sheet1Part.
The Partitions Page is displayed in the workspace as follows:

Parametric Constraint Solver User’s Guide 19


Chapter 4: The Design Manager View Using the Rooms Page

Organizing Components, (page 25), has more information on using partitions to help organize
designs.

Using the Rooms Page


The Parametric Constraint Solver allows you to group components into a physical area on the board
known as a Room. As an example, you may want the analog components in your design to be
physically located at the front of the board and the digital components in the back. The Rooms
page provides an easy way to organize these components in the PCB design, simply by adding or
removing components from a room’s contents.

Rooms must be placed on the board in PCB before the design is loaded into the Parametric
Constraint Solver. A Room cannot be created in the Parametric Constraint Solver. See your PCB
User’s Guide for instructions on creating rooms.

The Rooms Page is displayed in the Design Manager View as follows:

Refer to Organizing Components, (page 25), for more information on the use of Rooms.

Using the Net Class Page


Nets in a design loaded into the Parametric Constraint Solver can be organized into Net Classes
using the Net Class page by creating new net classes or modifying the nets that are part of a net
class. Grouping nets into a Net Class saves time and effort when you want to apply specific design
constraints to a number of nets. With the nets organized in a Net Class, constraint(s) can be
applied once to the Net Class, instead of repeating the constraint for each of the individual nets.
Once a Net Class is established, you can delete and rename it. You can move the nets from one
Net Class to another using the drag and drop method or the Move To command.

20 Parametric Constraint Solver User’s Guide


Using the Net Class Page Chapter 4: The Design Manager View

Net Class Information


The Net Class page of the Design Manager View displays the design’s net classes and nets. When a
net has not been assigned to a Net Class, it is listed in the Available Nets folder. The
Available Nets and any Net Class folders can be expanded for viewing the included nets by
clicking the button or pressing the key. To collapse the lists, click the button or press the
key.
The Net Class Page, showing the expanded list for each of the existing Net Classes, appears as
follows:

Creating a Net Class


A new Net Class is created by choosing the New Net Class command from the right mouse menu in
the Net Class page.

To Create a Net Class


1. Select the Available Nets folder, an existing net class or simply click in the workspace.
2. Choose the New Net Class command from the right mouse menu. The net class is given a
default name of NetClassX, where X is a number incremented with each added net class.

Deleting a Net Class


Any Net Class in the design can be deleted.

To Delete A Net Class


1. Select an existing net class.
2. From the right mouse menu, choose Delete Net Class or press the Delete key. If the net class
has assigned nets, the nets are placed back in the Available Nets list and the net class is
deleted.

Parametric Constraint Solver User’s Guide 21


Chapter 4: The Design Manager View Using the Class-to-Class Page

Renaming a Net Class


A Net Class can be renamed.

To Rename a Net Class


1. Select an existing net class.
2. From the right mouse menu choose the Rename Net Class command. You may also double
click on the net class name to put the field in edit mode.
3. Enter the new net class name and press Enter.

Adding Nets to a Net Class


Any net in the design is available to be added to a Net Class. A net can belong to only one Net
Class at a time. To add a selected net to a Net Class, use the drag and drop method or the Move To
command in the right mouse menu.

Removing Nets from a Net Class


Nets removed from a Net Class are placed back into the Available Nets list. Selected nets are
removed from a Net Class by dragging them from the Net Class into the Available Nets list or by
using the Remove Nets command in the right mouse menu.

Using the Class-to-Class Page


When you have established Net Classes in your design, you can define constraints that apply to
only those unique Net Classes. You can create, delete and modify Class-to-Classes in this page as
well.
For instance, a single net in your design requires a clearance greater than any other net clearance.
You can assign this one net to a net class, and all the rest in another net class. The clearance
constraint between the two net classes essentially keeps the single net in the first net class a unique
distance from the other nets in the second net class.

Class-to-Class Information
The Class-to-Class page of the Design Manager View groups the design’s net classes in the list of
Available Net Classes and does not display them until you click the button.
The Class-to-Class Page appears as follows:

22 Parametric Constraint Solver User’s Guide


Design Manager Right Mouse Commands Chapter 4: The Design Manager View

Creating a Class-to-Class
A new Class-to-Class is created by selecting one or two net classes and then choosing the New
Class-to-Class command from the right mouse menu.

To Create a Class-to-Class
1. Expand the Available Net Classes folder, if it is not expanded, to display the available net
classes, by clicking the button or pressing the key.
2. Select one or two of the Net Classes in the list of available net classes. The new Class-to-Class
name is the name of the first net class, followed by a space, then the name of the second net
class appended to it. If you only select one net class, the new Class-to-Class name is the net
class name repeated.

Deleting a Class-to-Class
You can delete any Class-to-Class you have created.

To Delete A Class-to-Class
1. Select an existing class-to-class.
2. From the right mouse menu, choose Delete or press the Delete key.

Design Manager Right Mouse Commands


When you select an object and click the right mouse button, a pop-up menu appears providing
access to the commands you can perform in the Design Manager View.
The following table summarizes the commands, which appear on the pop-up menus, and the page
where the command is available.
The column headings indicate the page as follows: C=Components; N=Nets; P=Partition;
R=Rooms; NC=Net Class; CC=Class-to-Class.

Parametric Constraint Solver User’s Guide 23


Chapter 4: The Design Manager View Design Manager Right Mouse Commands

C N P R NC CC Command

X Add Selected Components: This command adds


the selected components to a partition.
X Add To: This command is used to add selected
components to a room.
X X Delete: This command deletes a selected partition
or class-to-class.
X Delete Net Class: This command deletes a
selected net class.
X X Move To: This command moves selected
components to a partition, or selected nets to a
Net Class.
X New Class-to-Class: This command is used to add
a new class-to-class to the design.
X New Net Class: This command is used to add a
new net class to the design.
X New Partition: This command creates a new
partition.
X X Remove Components: This command removes
selected components from a partition.
X Remove Nets: This command removes nets from
a net class.
X Rename: This command is used to rename a
partition.
X Rename Net Class: This command allows you to
rename a selected net class.

24 Parametric Constraint Solver User’s Guide


CHAPTER 5

Organizing Components

Whether you are working on a PCB or a Schematic design, the P-CAD Parametric Constraint Solver
will help you organize the many objects in your design. The Parametric Constraint Solver
specializes in two of the basic areas of board design: object organization and constraint
assignment. A well organized board is essential to minimizing constraint violations resulting in
more efficiently designed and manufactured circuit boards.
The Design Manager View in the Parametric Constraint Solver provides easy access to information
on the components and nets in your design. In the Design Manager View you can define logical
blocks or partitions and assign components to them. For a PCB design, you can even group
components into a room, providing an additional organizational tool to help place them in a
specific physical location on the board.
This chapter explains in detail how to use the organizational tools in the Partitions and Rooms
pages for your PCB or Schematic design objects. The other pages of the Design Manager View are
described in The Design Manager View (page 15).
Once the design objects are organized, you will be better prepared to assign constraints to
individual objects or the groups of objects you have created.

Organizing Design Objects


When a PCB or Schematic design is loaded into the Parametric Constraint Solver, the components
and nets are divided in the Design Manager View and displayed in one of these individual pages:
Components, Nets, Partitions, Rooms, Net Class and Class-to-Class.
This portion of the chapter contains an explanation of the Parametric Constraint Solver
organizational processes and step-by-step instructions on how to use them. The two pages
designed to provide exceptional help in organizing components are the Partitions and Rooms
pages, and they are described in great detail in this chapter.
The Design Manager View, (page 15), contains an overview of all functions available in the Design
Manager View, along with detailed instructions on functions unrelated to organizing design data.

Parametric Constraint Solver User’s Guide 25


Chapter 5: Organizing Components Organizing Design Objects

The Design Manager View


Each of the design data sections uses a tree like structure in which lists of objects can be expanded
or contracted depending on your desired view. Refer to The Design Manager View, (page 15), for
detailed information.

The Components Page


The Components Page is an ideal way to view the complete list of components in your design. For
each component in the list the following essential information is displayed:
• Reference Designator: The reference designator of the component.
• Type: The component type.
• Value: The value assigned to the component.
• Placed: If any part of the component touches the board edge, or is located inside of the board
outline, the Placed indicator displays Yes.
• Partition: If the component has been assigned to a partition the name of the partition is shown
here.
Using the sorting capability of the Components Page you can quickly determine, for example,
which components have been placed and which are assigned to a partition. Refer to The Design
Manager View, (page 15), for more detailed information.

The Nets Page


The next informational page is the Nets Page. All nets in the loaded design are present in the list of
nets for both PCB and Schematic designs. Refer to The Design Manager View, (page 15), for more
detailed information.

The Partitions Page


The Partitions page of the Design Manager View displays the list of components not assigned to a
partition, provides the ability to create and delete partitions, and add or remove components from
the partitions.

Components can belong to only one partition at any time.

When you first enter the Partitions page of the Design Manager View, and no partitions have been
created, the components are grouped in the Unpartitioned Components list and are not visible.
Click the button next to Unpartitioned Components to display the list of components.
The Partitions Page is shown below:

26 Parametric Constraint Solver User’s Guide


Organizing Design Objects Chapter 5: Organizing Components

Creating Partitions
Components in a design with no partitions are, by default, unpartitioned. A new partition is
created using the New Partition command in the right mouse menu. The partition name can be
changed at any time.

To Create a Partition
1. Select the Unpartitioned Components folder or an existing partition.
2. Choose the New Partition command from the right mouse menu. The partition is given a
default name of PartitionX, where X is a number incremented with each added partition.

Deleting Partitions
Any partition you create can be deleted. If a deleted partition has components assigned to it, those
components are placed back into the Unpartitioned Components list and the associated Partition
name is deleted from the Components Page.

To Delete A Partition
1. Select an existing partition.
2. From the right mouse menu, choose Delete or press the Delete key. If the partition has
assigned components, the components are placed back in the Unpartitioned Components list
and the partition is deleted.

The Unpartitioned Components folder cannot be modified or deleted.

Renaming Partitions
The partition can be renamed at any time. Partition name changes are also reflected in the Partition
column of the Components Page.

To Rename a Partition
1. Select an existing partition.

Parametric Constraint Solver User’s Guide 27


Chapter 5: Organizing Components Organizing Design Objects

2. From the right mouse menu choose the Rename command. You may also double click on the
partition name to put the field in edit mode.
3. Enter the new partition name and press Enter.

Adding Components to a Partition


When a design is loaded into the Parametric Constraint Manager, the components not assigned to
a partition are part of the Unpartitioned Components list. Selected components can be moved to a
newly established partition using the Move To command or by dragging them from the
Unpartitioned list into the target partition.

To Add Components to a Partition


1. Display the list of Unpartitioned Components by clicking the button.
2. Select the desired components from the list.
3. Choose the Move To command from the right mouse menu, and then select the target
partition from the right pull down list. You can also press the left mouse button and drag the
selected components into the target partition.

Removing Components from a Partition


When you remove components from a partition they are placed back into the Unpartitioned
Components list. Selected components are removed by dragging them from the target partition
into the Unpartitioned Components list or by using the Remove Components command in the
right mouse menu.

To Remove Components from a Partition


To remove all components from a partition and delete the partition:
1. Select the partition.
2. From the right mouse menu, choose Delete or press the Delete key. If the partition has
assigned components, the components are placed back in the Unpartitioned Components list
and the partition is deleted.
To remove a portion of the assigned components:
1. Select the desired components.
2. Choose the Remove Components command from the right mouse menu, or drag them back
into the Unpartitioned Components folder.

The Rooms Page


When a room has been placed in a PCB design, the Parametric Constraint Solver provides a vehicle
with which to organize a set of components destined for placement in the room. You may want to
position the analog components in a room located in the back of the board, for instance, and add a
height constraint to that group of components.
When you enter the Rooms page of the Design Manager View, all of the design components are
listed in the Available Components list and are not visible until you click the button.

28 Parametric Constraint Solver User’s Guide


Organizing Design Objects Chapter 5: Organizing Components

Components can be assigned to more than one Room, therefore, the list of Available Components
does not change even after a component has been assigned to a room. All components remain
available for room assignment at all times.
In addition to the Available Components folder, there is a Top, Bottom and Top or Bottom
folder. Existing Rooms are displayed in their appropriate folder, depending on the layer placement.
The Rooms Page appears as follows:

Creating a Room
Physically drawing the boundaries of a room must be completed in PCB before the design is loaded
into Parametric Constraint Solver. The location of the room, Top, Bottom or Top or Bottom, is
determined at the time the room is placed in the design. See your PCB User’s Guide for more
information on placing a room.

Adding Components to a Room


When a design is loaded into the Parametric Constraint Manager, the components available to be
assigned to rooms are listed in the Available Components list. Selected components can be added
to a room using the Add To command or by dragging them from the Available Components list into
the target room.
Components can be included in more than one room, therefore the list of Available Components
does not change when components are added to or deleted from a room. Instead of being moved,
component information is copied from the Available Components list into the target Room.

To Add Components to a Room


1. Select the desired components in the list of Available Components.
2. Choose the Add To command from the right mouse menu and the specific room from the pull
down list, or press the left mouse button and drag the selected components to their room
destination.

Parametric Constraint Solver User’s Guide 29


Chapter 5: Organizing Components Organizing Design Objects

Removing Components from a Room


Selected components can be removed from a room only by using the Remove Components
command in the right mouse menu.

To Remove Components from a Room


1. Select the desired components in the room.
2. Choose the Remove Components command from the right mouse menu. The components
are removed from the room.

A component can belong to any number of rooms at the same time.

The Net Class Page


Organizing nets into one class is, again, an easy way to apply constraints once instead of
individually to each net. The Net Class Page is described in detail and instructions provided in The
Design Manager View, (page 15).

The Class-to-Class Page


Once you have established Net Classes in your design, you can define constraints that will apply to
only those unique Net Classes in a Class-to-Class definition.
For example, you may have a single net in your design, which requires a clearance greater than any
other net clearance. You can assign this one net to a net class, and all the rest to another net class.
These two net classes can then be associated using a class-to-class.
The clearance constraint applied to the class-to-class essentially keeps the single net in the first net
class a unique distance from the other nets in the second net class.
The Class-to-Class Page is described in detail, and instructions provided in The Design Manager
View, (page 15).

30 Parametric Constraint Solver User’s Guide


CHAPTER 6

The Constraint Editor View

Design constraints are an integral part of P-CAD PCS. The Parametric Constraint Solver provides an
easy-to-use interface in which you can organize, prioritize and define constraints or design rules.
In one convenient location you can access all the constraints for a design and easily manipulate
those constraints to satisfy your design requirements. You can even define constraint formulas,
which are based on other constraints values.
Design constraints and any constraint expressions are automatically loaded from an open design in
P-CAD PCB or Schematic to the Parametric Constraint Solver. The constraints are consolidated in
the Constraint Editor where you can view, add, copy, modify, or remove constraint definitions.
Constraints defined or modified in PCS can be saved back to the original PCB or Schematic design.
This chapter summarizes the constraint management power of the Constraint Editor. You will learn
what a constraint is and how constraints are applied to printed circuit board and Schematic
designs. The Constraint Editor’s functions are detailed along with instructions on building formulas
based on other constraints.

Working with the Constraint Editor


The Constraint Editor in the P-CAD Parametric Constraint Solver displays the design constraints in
an easy-to-use Graphical User Interface (GUI). It is organized in a tree-like structure that shows the
relationship between these constraints and the design. The Constraint Editor provides easy access
to all of this information for viewing or modifying.
In order to apply the power of the constraint management tools to your design, you must first
understand the basics of the Constraint Editor.
In this section you will learn how the design’s constraints are organized and where they appear in
the workspace. A constraint definition is included, along with how constraints modified in the PCS
work with P-CAD PCB’s Design Rules Checking.

What is a Constraint?
A design constraint may be more familiar to you from P-CAD PCB or P-CAD Schematic as a design
rule or attribute. Rules or attributes specify requirements that must be met to successfully design,
route and manufacture a printed circuit board.

Parametric Constraint Solver User’s Guide 31


Chapter 6: The Constraint Editor View Working with the Constraint Editor

For example, with PCS you can assign components to a physical, predefined area of the board
called a room, and then, using the Constraint Editor View, apply a maximum height constraint to all
the components located in that area.
In the above example, PCB Design Rules Checking can automatically verify that components placed
in a room satisfy design rules or constraints.

Viewing the Constraint Editor


The Parametric Constraint Solver displays the Design Manager View and the Constraint Editor View
as shown below.

The Constraint Editor View may be enabled or disabled using the View » Constraint Editor
command. When visible, the view can be disabled by clicking the appropriate button at the top
right corner. The Constraint Editor can also be resized by positioning the cursor on the edge of the
line you want to move, then dragging it to the right or left and releasing the button at the desired
location. Additionally, if you double-click on the gray lines at the left of the view, the view is
undocked and floats in the middle of your display. You can then use your mouse to drag it to a
new position.
The windows can be rearranged and, along with the columns, resized. PCS stores the visibility,
position and size of the Constraint Editor View from your last session in the .ini file and
reconstructs those settings in the workspace for the new session.

Accessing the Constraint Editor


To access the Constraint Editor, if it is not visible when you launch PCS, choose the View »
Constraint Editor command after the design file is loaded. The Constraint Editor View, with a
design file loaded, is shown below:

32 Parametric Constraint Solver User’s Guide


Working with the Constraint Editor Chapter 6: The Constraint Editor View

The Constraint Editor View has two components:


• The Precedence View: Located on the left side of the workspace the Precedence View lists the
constraint categories in their hierarchical order of precedence.
• The Constraint View: Located on the right side of the workspace, the Constraint View displays
the constraints assigned to a selected item(s) in a category.

The Precedence View


Objects in the design are organized into predefined categories, which are displayed in the
Precedence View. These categories are arranged hierarchically according to their application
precedence and appear in a tree-like structure.
The primary access point for the Constraint Editor is the Precedence View. Depending on the
objects selected, you can view your design constraints in a number of ways. For instance, you can
see which components, nets and class-to-classes have no constraints assigned. You can also select
a number of items in a category, and display the constraints they have in common.
For more information on how to use the Precedence View, see The Precedence View (page 33).

The Constraint View


When you select an item in the Precedence View, such as the Top layer in the Layer category, the
constraints that have been assigned to the item appear in the Constraint View. The Constraint View
displays the name, value, unit, expression and comments for each constraint.
In the Constraint View you can add a new constraint, remove a constraint, or modify an existing
constraint’s value. You can also create an expression which, when evaluated, supplies a
constraint’s value based on other constraints. The unit used to display the constraint’s value can be
selected based on the constraint’s type.
For more information on how to use the Constraint View, see Using the Constraint View, (page 36).
Expressions are explained in detail in Evaluating Expressions.

Constraints and Rules Checking


Certain design constraints added, deleted or modified in PCS and saved in the design file, are used
by P-CAD PCB Design Rules Checking to verify your PCB board or Schematic design.
For more information on how constraint rules are processed during design, refer to the Utils
Commands chapter in your PCB User’s Guide.

Parametric Constraint Solver User’s Guide 33


Chapter 6: The Constraint Editor View Using the Precedence View

Using the Precedence View


The predefined categories in the Precedence View specify the hierarchy of the design constraints.
Their order indicates which value takes precedence if the same constraint is defined in multiple
categories for a single design object. Design constraints are further explained in Design Constraint
Categories below.
The Precedence View is the main access point for adding, deleting and modifying constraints
assigned to the items in your design. Items such as net classes and class-to-classes cannot be
added directly to the categories in the Precedence View, they must be added using the Design
Manager View. Once added, however, they are displayed in the Precedence View and constraints
can be assigned to them.

Viewing the Precedence View


The tree structure of the Precedence view displays all design objects in their categorical
precedence, as shown below:

Within each constraint category in the Precedence View tree are constraint items. For example, the
Layer category will have the item Top, which contains all of the constraints defined for the Top
layer of the design. When a category has a large number of items, such as a Net or a Component,
the items in the category are divided into two lists. The first list displays the items that have
constraints, while the remaining items are grouped into the No Constraints folder.

34 Parametric Constraint Solver User’s Guide


Using the Precedence View Chapter 6: The Constraint Editor View

Constraint Categories
There are seven constraint categories organized hierarchically, whose order precedence is applied
to the design. For example, a Design Width constraint can be overridden for a particular net by
specifying a Net Width constraint.
The constraint categories of PCS are listed, and displayed in the Constraint Editor View, in their
precedence order as shown below:
• Design: Design constraints are constraints that apply to any object when no other constraint
has been set.
• Layer: Layer constraints are constraints that apply to any object on a particular layer.
• Net Class: Net Class constraints apply to all nets that have been assigned to the specified net
class.
• Net: Net constraints apply to a specific net.
• Class-to-Class: Class-to-Class constraints specify constraints between two net classes.
• Room: Room constraints apply to the components included in a room. Note that the
Placement Side Attribute on the Rooms dialog in PCB is used for Design Rules Checking. If the
attribute is added in PCS, it will not override the value on the dialog.
• Component: Component constraints apply to a specific component.
Constraint categories are used when evaluating and enforcing design rules.

Certain constraints assigned to items in the Layer category are predefined in the PCB design and
they cannot be deleted. Those constraints are: PadToPad, PadToLine, PadToVia, LineToVia,
LineToLine and ViaToVia. The display units for these predefined constraints are fixed and cannot
be changed, but the constraint values can be modified.

Accessing Items in a Category


You can view all design constraint categories and their contents at various levels of detail by
expanding or collapsing the branches of the tree.
Groupings containing collapsed levels are shown with a sign. To expand the grouping, simply
click the . Expanded groupings are shown with a sign. To collapse the grouping, simply click
the sign. You can also use the and keys on a selected group to collapse or expand
groupings, respectively.

Precedence View Right Mouse Commands


When one or more items are selected in the Precedence View, and you click the right mouse
button, a menu appears providing commands that can be performed on the selected items.
The following list summarizes the commands, which appear on the pop-up menu in the
Precedence View.

Parametric Constraint Solver User’s Guide 35


Chapter 6: The Constraint Editor View Using the Constraint View

Add Constraint: This command is used to add a constraint to the selected item(s) and can be
accessed from both the Precedence View and the Constraint View.
Remove Constraints: This command is used to remove all constraints from the selected item(s) in
the Precedence View or individually selected constraints in the Constraint View.

Using the Constraint View


The Constraint View displays pertinent information about each constraint assigned to a selected
item or items in the Precedence View tree. When you select an item in the Precedence View tree,
such as Top in the Layer category, its contents appear to the right side in the Constraint View.
In the Constraint View you can add constraints, and choose the unit in which the constraint value is
displayed. Existing constraints can be removed. A constraint’s value can be directly modified, or
indirectly updated by creating an expression based on other constraints values. In addition,
comments can be added to each constraint.

Viewing the Constraint View


When the Constraint Editor is visible in the PCS workspace, and an item has been selected in the
Precedence View, the Constraint View appears as follows:

The Constraint View displays the constraints within the selected item and includes the information
in these columns:
• Name: This is the name of the constraint or attribute, for example, LineToLineClearance or
PadToLineClearance.
• Value: The value assigned to the constraint. The value displayed here can be entered directly
into the field, or will automatically appear based on the evaluation of an expression in the
Expression field.
• Unit: The unit is the method of presentation for the quantity entered in the Expression field.
For instance, a width measurement can be presented as a unit of inch, millimeter, mil, etc. The
unit is assigned when the constraint is added.
If you add a user-defined constraint and do not choose a unit, you will be required to enter the
unit along with the value each time you change the constraint’s value. For instance, if you have

36 Parametric Constraint Solver User’s Guide


Using the Constraint View Chapter 6: The Constraint Editor View

a constraint whose value should always be mil, by assigning that unit to the constraint you
need not enter “mil” each time the numeric measurement changes, you will only need to enter
the appropriate figure.
• Expression: This field displays a formula, which can use numeric values, expressions,
functions, or other constraint values to mathematically calculate the value applied to a
constraint.
• Comment: Notes about the constraint.
The columns in the Constraint View can be resized by clicking the left mouse button on the
dividing line and dragging it to the right or left, then releasing the button at the desired location.
For more information about constraint types, see Constraint Data Types below. Additional
information on building expressions can be found in Evaluating Expressions, (page 44).

Constraint Data Types


Each design constraint has a data type, which specifies the required format of the constraint value.
The data type is important when building a formula based on other constraints.
Design constraints can be one of many types. Each constraint type has a unique set of units that
can be applied to the selected type. The complete list of data types for each constraint can be
found in Appendix B, PCS References, (page 69).
The constraint types are listed below:
• Length: A constraint with type Length can be specified in a variety of different measurement
units such as inches, mils, etc.
• Angle: A constraint of type Angle can be specified using degree or radian.
• Resistance: A constraint of type Resistance can be specified as ohm.
• Conductance: A constraint of type Conductance can be specified as mho.
• Voltage: A constraint of type Voltage has a base unit of volt.
• Current: A constraint of type Current has a base unit of ampere.
• Inductance: A constraint of type Inductance has a base unit of henry.
• Capacitance: A constraint of type Capacitance has a base unit of farad.
• Time: A constraint of type Time has a base unit of second.
• Frequency: A constraint of type Frequency has a base unit of hertz.
• Power: A constraint of type Power has a base unit of watt.
• Boolean: A constraint of type boolean indicates a True/False value.
• Quantity: A constraint of type Quantity is a whole positive number.

Parametric Constraint Solver User’s Guide 37


Chapter 6: The Constraint Editor View Using the Constraint View

• String: A constraint of type String includes a series of alphanumeric characters. For example,
the constraint PartNumber may have the String value 76-8BEH98-42.
• Layer: A constraint of type Layer indicates the layer on which the constraint applies (e.g., Top,
Bottom, etc.).
• ViaStyle: The ViaStyle type is specific to the ViaStyle constraint. It indicates the style of the via
for a particular design, net class or net.

Constraint types described as having a base unit all provide additional units of milli-, micro-, nano-,
and pico- in addition to the base unit. The one exception is the Frequency type where the
additional units are kilo- and mega- hertz.

Constraint types are particularly important when defining a constraint expression based on other
constraints. See Evaluating Expressions, (page 44), for more information

Expression Syntax
When building an expression to determine a constraint’s value, the syntax, or structure, of the
expression must follow the format supported by the Constraint Editor. PCS grammar defines
where spaces, quotes, brackets, periods and other special characters are allowed and the format
required to successfully utilize expressions and operators in your formulas.
In its simplest form, using the expression field, you can derive the constraint value from a sequence
of numbers, constraint, vector or an expression where an expression is a combination of
constraints, operators and integers.
A very simple example is the one shown below which defines a RiseTime constraint by using a
numeric value (number) in the Expression field.

The next example uses an expression referencing the RiseTime constraint shown above to compute
the MaxNetLength.

Moving on to a sample expression that is a bit more complicated, the next example uses two other
constraints and a trigonometric function in its expression to determine the ComponentSpacing
value. Note that one of the referenced constraints, ComponentHeight, resides in the same
precedence level while the InspectionAngle constraint comes from the Design level.

38 Parametric Constraint Solver User’s Guide


Using the Constraint View Chapter 6: The Constraint Editor View

In the last example, an expression is used to produce the value of the Capacitance constraint.

This expression includes the Diel_Const, BoardThickness, Cu_width and cu_thickness constraints
and incorporates their values into a formula to determine capacitance. Whenever the value of any
of the referenced constraints changes, the value of the capacitance constraint is re-evaluated and
changed automatically.
For more information on expressions, see Working With Constraints, (page 41). Additional
information on valid units, data types, function, operators and other PCS definitions and grammar
can be found in Appendix B, PCS References, (page 69).

Parametric Constraint Solver User’s Guide 39


CHAPTER 7

Working with the Constraint Editor View

Knowing how to organize and assign constraints to the various objects in your design is just the
beginning of putting the power of the Parametric Constraint Solver to work for you. Building an
expression to represent a constraint value is an advanced, intelligent way to produce the desired
value when one constraint’s change affects others down the line.
In this chapter you will learn how to add the constraints you need to the items in the precedence
levels of the design. You will also put the Constraint View to use in providing the proper values in
the constraints used in your design.
There is also a section, which explains how the updates you make in the Parametric Constraint
Solver affect the design file in PCB and Schematic.

Working With Constraints


All constraints present in a PCB or Schematic design are displayed in the Constraint Editor when
the file is loaded into PCS. New constraints can be added, or once established, deleted from the
Constraint View. Constraint values can be modified, expressions built and comments noted as
well.
The Constraint View also provides an easy method of adding constraints to any number of items in
one easy step, instead of adding the same constraint many times to individual items.

Assigning Units to Constraints


When adding a constraint to a design item, a unit may be designated. The unit determines how the
constraint value is displayed, and is only used when an expression is evaluated.
After the category and type of constraint have been chosen in the Add Constraint dialog, the
desired unit is assigned by selecting from the list of allowed units for that constraint type. For
instance, a clearance constraint unit is chosen from the list of Length units, such as inch or mil.

For constraints requiring a data type of Length, use units of mil, mm, cm or inch in order to
correspond with the units used in a PCB design.

Parametric Constraint Solver User’s Guide 41


Chapter 7: Working with the Constraint Editor View Working With Constraints

If the constraint being added is user-defined, the unit can be chosen from the complete list of
allowable units. If you do not specify a unit for a user-defined constraint, PCS makes the unit
Unitless.

How Units are Displayed


The unit that appears in the Value field is dependent on how the value is determined. The value
can be entered directly into the Value field, the Expression field, or can be the result of an
expression formula. Each type of entry produces a different unit display, as described below.
Value Field Entry: When you modify a constraint’s value by typing a new value directly into the
Value field, that entry remains exactly what you have entered. PCS does not append the assigned
unit to the entered quantifier in the value field nor does it try to convert the value to the value
assigned to the unit.
Expression Field Entry: An alphanumeric value can be entered directly into the Expression field and
the Constraint Editor will convert the entry into the constraint’s assigned unit.
Expression Formula: A constraint’s value can be the result of an expression based on other
constraint values. When PCS displays the outcome of the expression, its unit becomes the
assigned unit for the target constraint.
If there is a mismatch between the expression’s evaluated unit and the assigned unit, an error
message appears in the Value field. See Appendix B, PCS References, (page 69), for an explanation
of the PCS error messages.
Evaluating Expressions describes in detail how PCS handles unit conversions and display.

Adding Constraints
A new constraint may be added to one or more selected items in the Precedence View using the
Add Constraint command in the right mouse menu. For instance, in a PCB design with a room, you
can organize the components that reside in the room in the Design Manager View’s Rooms Page,
and then add constraints to that entire group of components in the Precedence View.

A unit is assigned to every predefined constraint in the design. Constraints that are automatically
assigned to the design (such as the clearance constraints in the Layer level) are given the unit
chosen as your default in the Options Configure dialog of the originating application.

When you choose the Add Constraint command, the Add Constraint dialog appears as follows:

42 Parametric Constraint Solver User’s Guide


Working With Constraints Chapter 7: Working with the Constraint Editor View

For each constraint category, you can select the constraint and its unit. Units are unique to the type
of constraint chosen. For example, when adding a clearance type constraint the unit selection is
Length, while for a component rotation constraint type the unit is Angular.

Constraint Categories and Types


The Add Constraint dialog lists all constraint categories and, within each category, the types of
constraints available in a design. Any of these constraints can be added to the loaded design.
When saved, additions and changes made to design constraints are committed to the design file.

Removing Constraints
Any selected constraint that you have added to the design can be removed by using the Remove
Constraints command in the right mouse menu.

The predefined Layer constraints: PadToPad, PadToLine, PadToVia, LineToVia, LineToLine and
ViaToVia cannot be removed.

If you have selected one or more items in the Precedence View, and then choose the Remove
Constraints command, all the constraints for that item are removed.
In the Constraint View, only the constraints attached to the selected items are removed with the
Remove Constraints command.

Constraint Reports
The PCS provides reports that sort your design constraints in a variety of ways: by constraint
domain, precedence level, net class, class-to-class and partitions.
File Commands, (page 57), has instructions on producing the reports, along with an explanation of
the information each contains.

Parametric Constraint Solver User’s Guide 43


Chapter 7: Working with the Constraint Editor View Evaluating Expressions

Evaluating Expressions
With the Constraint Editor you can define a constraint’s value in a number of ways:
• By entering a value in the Value field.
• By entering a value in the Expression field.
• By entering a formula in the Expression field that uses constant values, functions or references
to other constraints’ values. For example, you can assign a single clearance constraint at the
design level. Then, a constraint added to a different precedence level (e.g., a single
component) can reference the design level constraint in the expression field. Whenever the
design level constraint’s value is changed, the component’s constraint is evaluated and reflects
the resulting value.
The Constraint Editor checks each constraint’s expression for proper syntax and correct usage of
assigned units. It also converts units and displays error messages where necessary.

Using Data Types in Expressions


Every constraint in a design uses a specific data type. For constraints like clearances and widths, the
data type is Length. Other data types include such types as string, boolean, current and many
more.

A correctly assigned data type is important when the Constraint Editor is evaluating expressions
and converting units to produce a constraint value. You cannot mix data types in an expression.
For instance, if your expression is a simple addition of a data type of Length, both sides of the
operand must be numeric and contain one of the measurements in the data type such as mil and
inch (e.g., 10mil + 0.5in). PCS displays an error if, for instance, you attempt to add a Length data
type and a Resistance data type.

The complete list of data types, the units supported in each, and their unit conversions can be
found in Appendix B, PCS References, (page 69).

Unit Conversions
When there is a difference between the assigned unit and a unit resulting from an expression, the
Constraint Editor attempts to convert the expression’s resulting unit to an equivalent value in the
assigned unit. For example, you may have a clearance constraint whose assigned unit is inch. If
you type a value of 2mm in the expression field and press Enter, the value field displays the
equivalent measurement of 0.0787402inch.
Appendix B, PCS References, (page 69), contains a table of unit conversions provided in the
Constraint Editor.

Unitless Expressions
You can assign a unit of Unitless to a user-defined constraint. With a Unitless constraint it is
possible to allocate a simple number without a unit in the value field, and it will not be subject to a
conversion.

44 Parametric Constraint Solver User’s Guide


Constraint Validation and Design Updates Chapter 7: Working with the Constraint Editor View

Strings and Evaluations


A unit type of String applies to such constraints as description and part number. The String unit
allows a combination of alphanumeric characters to be entered verbatim in the Value field.
PCS will, when evaluating an expression, attempt to resolve the expression to a known value that
can be applied as the constraint value. Any alphanumeric string entered as part of an expression is
subject to this evaluation, and resulting conversion errors, if any.
You can use string constraints in other string constraint expressions. For instance, you may define
a component string constraint called refdes2 and enter “refdes” in its expression field. When
evaluated, the value of the refdes2 constraint is assigned to the reference designator of the
component.

Expression Errors
PCS checks expression formulas for correct application of functions, operators, units and
constraint references. When the Constraint Editor evaluates an expression and encounters an
illegal situation, an error message appears in the Value field.
The errors you may encounter include:
• Syntax Error.
• Divide by Zero.
• Operands type mismatch.
• <Operator> units mismatch
• Function <function> math error.
• Not a number.
• Unknown identifier <name>.
• Undefined identifier <name>.
• Array index <index> out of bounds.
The complete description of each of the PCS error messages can be found in Appendix B, PCS
References, (page 69), along with examples and possible solutions.

Constraint Validation and Design Updates


Whenever you are working with your design, whether in PCS, P-CAD PCB or P-CAD Schematic, the
changes you make, when saved, are applied to a single design file.
If a design has expression formulas, the expressions are evaluated for mismatched values at the
time the design is loaded into PCS.
If you have turned on the ECO recorder, the design updates become available for subsequent
transfer between PCB and Schematic as a P-CAD .eco file.

Parametric Constraint Solver User’s Guide 45


Chapter 7: Working with the Constraint Editor View Constraint Validation and Design Updates

Expression Validation at Design Load


At the time a design is loaded into PCS existing expressions are evaluated. The values produced by
those evaluations are compared with the attribute values for the same constraints in the PCB
design. If the two values do not match, the Constraint Mismatch Error dialog provides the chance to
choose the correct value.
For example, the following scenario shows how a mismatch occurs during a series of updates:
1. The last time your design was loaded into PCS, a Design Level Clearance constraint was
added. The Clearance constraint has an expression of 0.75 * Width. The Design Level Width
constraint value is 20mil. When evaluated, the Clearance constraint is 15mil (0.75 * 20mil).
2. Later, the Design Level Width constraint value attribute is changed in P-CAD PCB to 15mil.
3. The design is loaded into PCS. At the time PCS loads the file the expression for the Clearance
constraint is again evaluated. The expression 0.75 * Width hasn’t changed, but since the value
of the Width constraint is now 15mil, the expression (0.75 * (Width(15mil)) evaluates to a value
of 11.25mil.
The Constraint Mismatch dialog, with the described error, appears as follows:

The message at the top of the dialog includes the name of the design constraint in conflict, in
this case the Design Level Clearance constraint. The following information is displayed as well:
• Formula: This is the expression defined for the constraint.
• Formula Result: This is the result of the expression (i.e., Value field entry) in the
Constraint Editor.
• Current Value: This is the value currently assigned to the constraint in PCB.
Based on the information supplied in the Constraint Mismatch dialog, you may choose one
of the following actions:
• Change the current value to the formula result: This option changes the value of the
constraint in PCB to match the value of the evaluated constraint in PCS.

46 Parametric Constraint Solver User’s Guide


Constraint Validation and Design Updates Chapter 7: Working with the Constraint Editor View

• Change the formula to the current value. This option assigns the value of the constraint in
PCB to the expression and value in the PCS constraint, and drops the original expression.
4. Once you have chosen the desired change option, you can apply that option to all of the
detected mismatches by enabling the Apply to all box. If this option is not checked, a
Constraint Mismatch dialog is presented for each error and you can choose an individual,
appropriate action for each mismatch.

Saving Design Updates


Design updates made in the originating PCB or Schematic application are dynamically applied to
the design file. To save the changes you have made to the design in PCS use the File » Update PCB
or File » Update Schematic commands or click the File » Save Design button to save the changes to
the PCB or Schematic design file memory. With any of these commands, the file remains open in
PCS so you can continue working on it until you exit PCS.
If the DBX link has been broken between the originating application and the Parametric Constraint
Solver, when you try to update the design, you will see a message saying that the DBX connection
has been broken and you must confirm that you want the connection reestablished. PCS will
validate that the design name and RefDes’ in both applications are the same.
Additionally, PCS checks the values of the predefined layer clearance constraints. If any value is
less than zero, an error message is displayed and you must choose to continue the update or
cancel it. If you choose to continue the update the illegal value will be ignored, leaving the value
with its last valid entry.
If you have finished working with the current design in PCS, choose File » Close. This command
updates the design when you confirm that you want to save the changes and closes the Parametric
Constraint Solver views. The design is unlocked in the originating P-CAD application, permitting
changes again in the current PCB or Schematic design editor. When you save the design or exit the
originating application, all changes to the design are applied.

When you exit PCS and return to the originating application, make sure you do a File » Save in PCB
or Schematic to apply the PCS updates to the design. Updates made in PCS are saved in the
memory of the originating application only until you choose the File » Save command or confirm
that you want the updates saved on exiting the originating application.

Design update options are described in Parametric Constraint Solver Basics, (page 7).

How PCS Updates Affect PCB and Schematic


Updates made to a design in PCS are saved to the original PCB or Schematic design file when a file
save occurs. These changes, once committed to the design file, can become part of an Engineering
Change Order if the ECO recorder is turned on when the updates are committed to the file, and
subsequently applied to a matching design in PCB or Schematic.
Features unique to PCS, such as formulas and comments, are included in the design file and
preserved by PCB and Schematic. They cannot, however, be viewed in PCB or Schematic.

Parametric Constraint Solver User’s Guide 47


Chapter 7: Working with the Constraint Editor View Constraint Validation and Design Updates

Recording Changes with ECOs


If you have turned on the ECO recorder in your originating application before making changes to
the design in PCS, the changes will be recorded in the .eco file when the design is saved. Those of
you familiar with the .was file should note that since only RefDes changes are recorded here, and
you cannot change the RefDes in PCS, the Parametric Constraint Solver will make no updates to
this file.
Once you exit PCS, you can import or export from PCB or Schematic the changes recorded in the
ECO file, just as you would have done if those changes had been made in PCB or Schematic.

Make sure to turn on the ECO recorder before launching PCS and loading the design.

If you should forget to turn on the ECO recorder, you can still record the changes by following
these steps:
1. Return to the originating application.
2. Terminate the link between the applications by Cancel button on the P-CAD DBX dialog,
shown below:

3. Turn on the ECO recorder using the Utils » Record ECOs command or by clicking the
button.
4. Return to PCS and update the design using the File » Update PCB/Schematic Design
command.
5. The error message dialog informs you that the connection has been terminated. Click the OK
button to continue.

48 Parametric Constraint Solver User’s Guide


Using a Design Technology Parameters File Chapter 7: Working with the Constraint Editor View

6. In the next DBX Error dialog you must choose whether to re-establish the connection and
continue the update process or cancel it.

7. If you wish to continue the update, click the OK button. P-CAD DBX is automatically re-
activated and the link between the applications re-established. The changes saved to the file
in PCS are also saved to the ECO recorder and can then be exported to PCB or Schematic.

If you chose either the File » Close or File » Exit commands in step 4, and you click the Cancel
button in the DBX Error dialog, your design is erased from the PCS workspace and the changes you
made are not recorded in the design file.

Using a Design Technology Parameters File


When a design is loaded into the Parametric Constraint Solver the existing constraints are included
and displayed in the workspace. If you have a Design Technology Parameters file containing
constraints that have proven successful in previous designs, you can load that file into the
Parametric Constraint Solver and copy pertinent attributes into the current design.
This section describes which of the features of the Design Technology Parameters file are available
to the design while in the Parametric Constraint Solver.
For more complete information on the Design Technology Parameters file, see your PCB User’s
Guide or Schematic User’s Guide.

Accessing a DTP
To access a Design Technology Parameters file, choose the File » Design Technology Parameters
command. The Design Technology Parameters dialog, shown on the next page, appears:

Parametric Constraint Solver User’s Guide 49


Chapter 7: Working with the Constraint Editor View Using a Design Technology Parameters File

DTP Operations
The following list shows which operations are available in PCS from the Design Technology
Parameters dialog:
• Update From Design
• Copy To Design
• Properties
• New Section or Item
• Rename
• Delete
• Statistics
For each of the categories in the file, a particular set of operations is allowed. In all cases, you can
Update From Design and Copy To Design, as well as Delete items in each category. In addition to
those basic functions, the following additional operations are available in each of the categories:
• Class-to-Class Rules: In this category you can add a New Section or item.
• Global Rules (Layers): For the entire category you can add a New Section or item. For an
individual layer in this category you can access the Properties and Statistics, as well as Rename
an item.

50 Parametric Constraint Solver User’s Guide


Using a Design Technology Parameters File Chapter 7: Working with the Constraint Editor View

• Net Class Definitions: In this category a New Section or item can be added.
• Net Class Rules: In this category a New Section or item can be added.
• Net Rules: A New Section or item can be added to the category. The Properties and Statistics
are accessible for individual nets, which can also be Renamed.
The Attribute Handling On Copy section of the Design Technology Parameters dialog is enabled for
the Copy to Design function for selected Class-to-Class Rules, Net Class Rules, Net Rules or
individual nets. You may choose to Merge Attributes in the design with those in the DTP file, or
Replace Design Attributes with those in the DTP file by clicking the appropriate radio button.
Refer to the File Commands chapter of the PCB User’s Guide for more information on how the
Merge Attributes function behaves in each of the relevant categories.

Viewing Parametric Constraint Solver Features in PCB and Schematic


Some of the unique Parametric Constraint Solver features become part of the design file, and are
viewable in the originating application as described below:
• Values: The value given to a constraint in the Parametric Constraint Solver can be the result of
an entry in the Value field, an entry in the Expression field, or the evaluation of an expression.
Whatever the entry method, the subsequent content of the Value field becomes the value in all
applications for the constraint.
• Formulas: Parametric Constraint Solver provides a method of determining the value for a
constraint by using a formula. When a formula entered in the Expression field of the
Constraint Editor is evaluated, the result becomes the entry in the Value field. If the evaluation
results in an error, the error is entered in the Value field of the constraint in PCS, and is also
displayed in the same field in the originating application for that constraint.

The P-CAD Parametric Constraint Solver permits you to attach comments to the constraints in your
design and assign expressions to determine constraint values. PCB and Schematic do not display
the comments or expressions, but they are easily accessible in the Parametric Constraint Solver
Reports. For more information on reports, see File Commands, (page 57).

Parametric Constraint Solver User’s Guide 51


CHAPTER 8

Using PCS with InterPlace

While you can use the P-CAD Parametric Constraint Solver as a stand alone application, its power is
dramatically increased when the P-CAD InterPlace (IPL) application is running along side it. In
addition to being able to organize the design objects and constraints in PCS, you can use the
placement features in IPL to increase the effectiveness of the design.
The Layout View in P-CAD InterPlace provides the graphic representation of the circuit board for a
PCB design. Manipulation of the design objects, including controlling design layers, using rooms,
moving components, and viewing connections are just a small part of the productivity enhancing
tools that are available with InterPlace. InterPlace also provides a Visible Placement Area tool
which shows an area on the board, based on constraints, where a component can be placed
without incurring errors.
If you have purchased InterPlace, refer to the InterPlace User’s Guide to learn about its basic
functionality, which includes all of the functions described in this chapter.

Highlighting Objects
The Layout View provides the means to highlight a number of objects using the right mouse
commands from the Parametric Constraint Solver’s Precedence View.
When net connections are visible, you can highlight individual nets, the nets assigned to a net class
or class-to-class, or the nets attached to selected components. You can also highlight a room and
its components, when a room exists in the design.
Highlighting options are described in the following sections.

Net Highlighting
There are several methods you can use to highlight the nets in your design. Each highlighting
method is described below:

You must enable the visibility of the net connections before they can be highlighted. See The
Layout View in the InterPlace User’s Guide for more information on showing net connections.

Parametric Constraint Solver User’s Guide 53


Chapter 8: Using PCS with InterPlace Highlighting Objects

To highlight a single net: Select a net item in the Net category of the precedence tree. Choose the
Highlight command in the right mouse menu.
To highlight the nets in a net class: Select the desired net class in the net class category of the
precedence tree. Choose the Highlight command in the right mouse menu.
To highlight the nets attached to components: Select the desired components from the
Component category list in the precedence tree. Choose the Highlight Attached Nets command in
the right mouse menu.
To highlight the net classes in a class-to-class: Select the desired class-to-class from the Class-to-
Class category in the precedence tree. Choose the Highlight command in the right mouse menu.
To highlight a group of nets: Select the desired Nets, Net Class or Class-to-Class items in their
respective pages and choose Highlight from the right mouse menu. For instance, in the Net Class
page you can select the Net Class instead of having to select the nets in the Net Class and then
highlight them.
To remove highlights: To remove highlighting from any highlighted object, select the object and
from the right mouse menu choose the appropriate Unhighlight command.

Room Highlighting
When rooms exist in a PCB design, and components have been assigned to and placed in them,
you can highlight the room and its components.
To highlight rooms and assigned components: Select the desired room(s) in the Rooms Page of the
Design Manager View and choose the Highlight Room and Assigned Components command from
the right mouse menu.
To remove highlights: To remove highlighting from any highlighted object, select the object and
from the right mouse menu choose the appropriate Unhighlight command.

Component Highlighting
Components and their attached nets can be highlighted in the Layout View from the Parametric
Constraint Solver’s Precedence View.
To highlight one or more components: Select the desired components in the PCS Precedence
View component category. From the right mouse menu choose the Highlight Component
command.
To highlight the nets attached to a component: First make sure that the display of the net
connections is enabled, then select the desired components in the PCS Precedence View
component category. From the right mouse menu, choose the Highlight Attached Nets command.
To remove highlights: To remove highlighting from any highlighted object, select the object and
from the right mouse menu choose the appropriate Unhighlight command.

54 Parametric Constraint Solver User’s Guide


Component Selection Chapter 8: Using PCS with InterPlace

Component Selection
In addition to being able to highlight components and nets, the components in the design can be
selected from the Precedence View in PCS. Once selected, you can perform any of the functions
available to selected objects such as moving, fixing, rotating, clustering, etc. All of these functions
are explained in detail in The Layout View, in your InterPlace User’s Guide.
To place component(s) in select mode: Select the desired component(s) from the list of
components in the Precedence View tree and choose the Select Component command from the
right mouse menu.
To place components in a net in select mode: Select the desired net from the list of Nets in the
Precedence View tree and choose the Select Net Components command from the right mouse
menu.

Clustering Components
Locating one or more specific components in a design with a large quantity of components can be
almost effortless when you use the Cluster By command. The Cluster tool finds designated
components and lets you place them in a chosen location arranged by the property of your choice,
such as type, pin count, package size, etc. Once clustered they can easily be placed on the board.
The Cluster By command is available on every menu in the Layout View and the Design Manager
View. In addition, the Cluster By command appears in the right mouse menu of the PCS
Precedence View when one or more items in the Net, Net Class, Room or Component categories
are selected.
The InterPlace User’s Guide provides detailed information on how to use the clustering tool in
Organizing and Placing Components.

Jumping to a Component’s Location


If you need to find a component and do not know its exact location, InterPlace can locate it for you.
To jump to a component: Select a single component from the component category in the PCS
Precedence View tree and from the right mouse menu choose the Jump To Component command.
The selected component is highlighted in the Layout View and the cursor is positioned over the
selected component. If the data tips are enabled, the component’s reference designator, type and
value are displayed as well.

Parametric Constraint Solver User’s Guide 55


CHAPTER 9

File Commands

The File commands allow you to load, close, and update designs with their
design constraints into P-CAD Parametric Constraint Solver. From the File
menu, you can also exit the application.
The File menu displayed in the margin, containing the File » Load PCB Design
and File » Load Schematic Design commands, is available when a design is yet
to be loaded. An expanded File menu is available once the PCB or Schematic design has been
loaded into the Parametric Constraint Solver. See the following pages for details.

File Load PCB Design


The File » Load PCB Design command loads an existing PCB design file
into the P-CAD Parametric Constraint Solver.
Before a design has been loaded, the File menu appears as shown in
the chapter introduction. When a design is loaded, the File menu
changes, as shown in the margin, to include the additional commands:
Close, Update PCB, Reports, Design Technology Parameters and Exit.
To load the design into Parametric Constraint Solver, the design must
be currently open in P-CAD PCB or P-CAD Relay. When you choose
Load PCB Design, the design that is active in the P-CAD application is
automatically loaded into the Parametric Constraint Solver workspace. The design will be locked in
the originating application while accessed through Parametric Constraint Solver to prevent
conflicting modifications.
After loading, the Design Manager View organization tools become available. Refer to The Design
Manager View, (page 15), for more information. In addition, the Constraint Editor View, detailed in
The Constraint Editor View, (page 31), is accessible as well.

Parametric Constraint Solver User’s Guide 57


Chapter 9: File Commands File Load Schematic Design

File Load Schematic Design


The File » Load Schematic Design command loads an existing
Schematic design file into P-CAD Parametric Constraint Solver. If a
design is already loaded, this command is unavailable.
Before a design has been loaded, the File menu appears as shown in
the chapter introduction. When a design is loaded, the File menu
changes, as shown in the margin, to include the additional commands:
Close, Update Schematic, Reports, Design Technology Parameters and
Exit.
To load the design into the Parametric Constraint Solver, the design
must be currently open in P-CAD Schematic. When you choose Load Schematic Design, the design
that is active in the P-CAD application is automatically loaded into the Parametric Constraint Solver
workspace. The design will be locked in the originating application while accessed through
Parametric Constraint Solver to prevent conflicting modifications.
After loading, the Design Manager View organization tools become available. Refer to The Design
Manager View, (page 15), for more information. In addition, the Constraint Editor View, detailed in
The Constraint Editor View, (page 31), is accessible as well.

File Close
Closes all views for the design in the Parametric Constraint Solver. The design is unlocked in the
originating application, permitting changes again in the PCB or Schematic design editor.
If the design has been changed but not yet saved, you are asked whether or not you want to save
your changes before closing.

File Update PCB


Saves the changes to the PCB or Relay design. When you select File » Update PCB, the file remains
open so you can continue working on it in the Parametric Constraint Solver.

File Update Schematic


Saves the changes to the Schematic design file. When you select File » Update Schematic, the file
remains open so you can continue working on it in the Parametric Constraint Solver.

File Reports
Allows you to generate reports with specific output options. The selected Style Format dictates the
options available for each of the styles: Comma Separated and Report. With the Report style, in
addition to the Report Options, Lines per Page and Report Destination, you may select the page
format and define the Header and Footer. These options are saved when you exit the program.

58 Parametric Constraint Solver User’s Guide


File Reports Chapter 9: File Commands

The dialog appears as follows:

Filename
You may specify the report or reports you wish to generate from the list of report types listed in the
Report Options area. Each report type has its own, unique file extension; the filename defaults to
the name of the current design.

Report File Extensions


The extensions are set as listed below and cannot be changed. The files are all saved as text files.
• constraint_domain.txt
• precedence_level.txt
• net_classes.txt
• class_to_class.txt
• partitions.txt.

Report Options
The reports are described below:
Constraint Domain: The Constraint Domain report lists the three domains pertinent to placement
constraint management: Physical, Electrical, and Room. Within each domain, in their precedence
order, are each item’s constraint names, values, expressions and comments.
Precedence Level: The Precedence Level report shows, for each precedence level and item, the
constraint names, values, expressions and comments.
Net Class: The Net Class report shows the nets that are assigned to each net class in the design.

Parametric Constraint Solver User’s Guide 59


Chapter 9: File Commands File Design Technology Parameters

Class-to-Class: The Class-to-Class report shows the net classes assigned to each class-to-class and
the class-to-class constraints.
Partitions: The Partitions report lists the components assigned to each Partition.

Page Format
These Page Format options are enabled when the Report format is selected:
• Use Header and Use Footer include the information you specified in the header and footer
dialog fields.
• Date/Page includes the current date and the page number.
• Pagination allows you to create your own pagination (lines per page). When this option is
enabled print from the DOS Print command, not the Notepad.

Style Format
Comma Separated puts all data in comma-separated format. This format can be imported into
other spreadsheet and database programs.
Report produces a report format with columns and spaces, etc.

Lines per Page


Lines per Page allows you to specify the number of lines per page in your report.

Report Destination
Screen sends the output to a file and opens the file using the Notepad Utility.
File sends the output to a file.
Printer sends output directly to the printer without creating files.

Generate
Generates all selected reports using the options selected.

File Design Technology Parameters


Captures design data, including design constraints, and stores this data in a design technology
parameters file. This data can be used in any P-CAD design. Thus this file becomes a template from
which you can selectively use the captured design data in any design.
A design technology parameters file is like a storage box. You can reorganize it, add or remove
items, alter some of its contents, and use what is stored inside. For a project or series of projects,
you may have several items that you will have to use repeatedly for creating PCB or Schematic
designs. The design technology parameters file is a perfect storage box for the following design
items: class-to-class rules, global rules, layer sets, net class definitions, net class rules, net rules and
pad and via styles.

60 Parametric Constraint Solver User’s Guide


File Exit Chapter 9: File Commands

Design constraints, or rules, can be transferred using a design technology parameter file between
the Parametric Constraint Solver and any PCB or Schematic design.
In the P-CAD Parametric Constraint Solver, Design Technology Parameters can be used in a variety
of ways, including:
• Applying company-standard design rules to your board layout.
• Storing design rules created or organized in Parametric Constraint Solver for later use in other
PCB or Schematic designs. You can create or change design rules pertaining to Class-to-Class
Rules, Layer Rules, Net Class Definitions, Net Class Rules and Net Rules in Parametric
Constraint Solver.
For more information, see Using a Design Technology Parameters File, (page 49).

File Exit
Exits the Parametric Constraint Solver program.
If the design has been modified since the last save, you are prompted whether you want to save the
changes.
The design file is unlocked in the originating application, permitting changes again in the PCB or
Schematic design editor.
The program writes information to the .ini file when you choose Exit. This information, which
will apply to subsequent PCS sessions, consists of parameters and settings such as values set in
Options Configure, etc.

Parametric Constraint Solver User’s Guide 61


CHAPTER 10

View Commands

View commands allow you to temporarily alter your view of the workspace.
You can enable or disable the display of the Design Manager View or the
Constraint Editor View.
The View menu of Parametric Constraint Solver, for a design loaded from
either PCB or Schematic, is shown in the left margin.

View Constraint Editor


Displays the Constraint Editor View. In the Constraint Editor, you can define and organize all
design constraints. For more information, see The Constraint Editor View, (page 31).

View Design Manager


Displays the Design Manager View. In the Design Manager, you can organize design components
into logical partitions or physical rooms. These rooms and partitions can be used for grouping
unplaced components, as well as placing them in a common board region. For more information,
see The Design Manager View, (page 15).

Parametric Constraint Solver User’s Guide 63


CHAPTER 11

Help Commands

The P-CAD Parametric Constraint Solver provides extensive


online help. The online help contains reference
information, but differs from the manual in its format and
accessibility.
The main advantages to online help are the availability of
hypertext links between related subjects (an electronic cross-reference utility), and the keyword
search function (an electronic index).

Help P-CAD Parametric Constraint Solver Help Topics


Displays the P-CAD Parametric Constraint Solver online help including the Contents tab, which is
structured to match the order of commands as they appear in the product, and the Index tab, which
lets you look up a specific concept or keyword.

How to Use Help


Connects you to the Windows help system, where instructions on how to use the help system are
provided.

About P-CAD Parametric Constraint Solver


Displays a dialog that contains information such as the product version number, release date,
memory used, memory available, and license number.

Parametric Constraint Solver User’s Guide 65


APPENDIX A

Keyboard Reference

This chapter is a reference of commands and functions accessed through P-CAD shortcut keys and
standard Windows accelerators.
Standard Windows key combinations are functional for all of the menu commands; use the normal
combination Alt,x,y, where x equals the underlined menu character, and y equals the underlined
command character.
The Parametric Constraint Solver Keyboard Reference section includes general keystrokes and
those specific to P-CAD Parametric Constraint Solver.

Parametric Constraint Solver Keyboard Reference

Alt+F4 (File Exit) Shortcut for File Exit, which exits the P-CAD program. If the
current design has been modified since the last save, you will be
prompted (YES or NO) as to whether you want to save the
changes to the file. The program will write information to the
.ini file when you exit.
arrow keys A directional arrow key moves the cursor in the Constraint Editor
to the constraint above or below, or to the field to the left or
right of the starting position. In the Design Manager View only
the up and down arrows are operational.
Ctrl+S (File Update PCB) Saves changes to the current design without closing it.
F1 (Help) Displays context-sensitive help. If you put focus on a command
or dialog and press F1, the Help window appears containing
information specific to the focus item.
Shift + End Selects all items in a list on the Design Manager pages from the
first one selected to the end of the list.

Parametric Constraint Solver User’s Guide 67


APPENDIX B

PCS References

This appendix contains references pertaining to the Parametric Constraint Solver field entries,
primarily the Expression field.
Included are tables:
• Grammar
• Data Types
• Postfix mode
• Functions
• Operators
• Units
• Constants
• Constraint Referencing
• Sample formulas
• Error Messages
• Limitations.
The Constraint Editor View, (page 31), provides detailed information on how these references are
utilized in the Constraint View.

PCS Grammar
The Parametric Constraint Solver understands specific use of variables, operators, special
characters and phrases when evaluating an expression. The notations shown below will help you
understand the PCS grammatical rules.

Parametric Constraint Solver User’s Guide 69


Appendix B: PCS References PCS Grammar

Notations
The following notations are used to describe the PCS grammar.

Notations Definition

‘+’ Items in single quotes are literals.


[]? Zero or one occurrences of item in brackets.
[]+ One or more occurrences of item in brackets.
[]* Zero or more occurrences of item in brackets.
| Or
<Name> A string of characters (e.g., Width)
<Integer> An integer number (e.g., 123)
<Float> A floating point number (e.g., 1.23e-3)
<Unit> A unit abbreviation (e.g., pF)

Grammar
The following table shows the list of allowable syntax usage. Any entry in the second column can
be used.
Term Allowable syntax

expression expr
booleanExpr
vector
expr ‘postfix’ exprpf
‘-‘ expr
expr ‘+’ expr
expr ‘*’ expr
expr ‘/’ expr
expr ‘%’ expr
expr ‘!’
‘(‘ expr ‘)’
number

70 Parametric Constraint Solver User’s Guide


PCS Grammar Appendix B: PCS References

constraint
constraint ‘[‘ expr ‘]’
‘size’ ‘(‘ constraint ‘)’
‘if’ booleanExpr ‘then’ expr
‘else’ expr
‘abs’ ‘(‘ expr ‘)’
‘acos’ ‘(‘ expr ‘)’
‘asin’ ‘(‘ expr ‘)’
‘atan’ ‘(‘ expr ‘)’
‘cos’ ‘(‘ expr ‘)’
‘cosh’ ‘(‘ expr ‘)’
‘exp’ ‘(‘ expr ‘)’
‘int’ ‘(‘ expr ‘)’
‘in’ ‘(‘ expr ‘)’
‘log’ ‘(‘ expr ‘)’
‘max’ ‘(‘ expr[,expr]* ‘)’
‘min’ ‘(‘ expr[,expr]* ‘)’
‘sin’ ‘(‘ expr ‘)’
‘sinh’ ‘(‘ expr ‘)’
‘sqrt’ ‘(‘ expr ‘)’
‘sum’ ‘(‘ xpr[,expr]* ‘)’
‘tan’ ‘(‘ expr ‘)’
‘tanh’ ‘(‘ expr ‘)’
booleanExpr ‘yes’ | ‘no’ | ‘true’ | ‘false’
expr ‘and’ expr
expr ‘or’ expr
‘not’ expr
booleanExpr ‘and’
booleanExpr
booleanExpr ‘or’
booleanExpr

Parametric Constraint Solver User’s Guide 71


Appendix B: PCS References PCS Grammar

‘not’ booleanExpr
‘(‘ booleanExpr ‘)’
expr ‘<’ expr
expr ‘>’ expr
expr ‘<=’ expr
expr ‘>=’ expr
expr ‘=’ expr
expr ‘=’ booleanExpr
expr ‘!=’ expr
expr ‘!=’ booleanExpr
constraint name
precedenceMember ‘.’ name
precedenceMember ‘Design’
precedenceLevel ‘{‘ member
‘}’
precedenceLevel ‘Layer’
‘Net’
‘NetClass’
‘Room’
‘Component’
‘ClassToClass’
member name
vector [–] ?number[,[–]number]+
exprfp number
constraint
exprpf exprpf ‘+’
exprpf exprpf ‘–’
exprpf exprpf ‘*’
exprpf exprpf ‘/’
exprpf exprpf ‘%’

72 Parametric Constraint Solver User’s Guide


PCS Grammar Appendix B: PCS References

exprpf exprpf ‘^’


exprpf ‘!’
exprpf ‘neg’
exprpf ‘abs’
exprpf ‘acos’
exprpf ‘asin’
exprpf ‘atan’
exprpf ‘cos’
exprpf ‘cosh’
exprpf ‘exp’
exprpf ‘int’
exprpf ‘in’
exprpf ‘log’
exprpf ‘sin’
exprpf ‘sinh’
exprpf ‘sqrt’
exprpf ‘tan’
exprpf ‘tanh’
number <Integer>[unitSpec]?
<Float>[unitSpec]?
‘e’
‘pi’
name <Name>
‘ “ ‘ <Name>
unitSpec <Unit>
‘[‘ unitExpr ‘]’
unitExpr <Unit> [‘*’ <Unit>] + [ ‘/’
<Unit> [‘*’ <Unit>] + ]?
unit <Unit> [ ‘^’ [–] ?Integer ]

Parametric Constraint Solver User’s Guide 73


Appendix B: PCS References Data Types

Data Types
The following data types are supported as a field entry or when used in an expression:

Type Definition

Number Any number with one of the following formats:


1000, 10.234, 10e2, 10e-2, 1.234e2 or 1.234e-2
Number with Units Any number with a unit suffix, for example 1000mil,
3pW, 5[mA/s}
Boolean True, False, Yes, No, 0 or 1
Vector A series of comma-separated numbers, for example
1,2,3,4,5
String Any text string

Data Types by Constraint


Every predefined constraint has allowable data types. The following table shows which data types
are allowed for the constraint.

Constraint Data Type

AutoRouteWide Boolean
BoardEdgeClearance Length
Clearance Length
ComponentHeight Length
ComponentRotation Angular
ComponentSpacing Length
Description String
HoleToHoleClearance Length
InsertionGripLength Length
InsertionGripWidth Length
InspectionAngle Angular
LineToLineClearance Length

74 Parametric Constraint Solver User’s Guide


Postfix Mode Appendix B: PCS References

Constraint Data Type


Link String
MaxComponentHeight Length
MaxNetLength Length
MinNetLength Length
MaxVias Quantity
NoAutoRoute Boolean
NoSwap String
Optimize Boolean
PadToLineClearance Length
PadToPadClearance Length
PartNumber String
PlacementSide Layer
Ripup Boolean
RoutingChannels Quantity
Silkscreen Clearance Length
SwapEquivalence String
TieNet String
ViaStyle ViaStyle
ViaToLineClearance Length
ViaToPadClearance Length
ViaToViaClearance Length
Width Length

Postfix Mode
The keyword postfix starts a postfix expression. The postfix expression stack runs left to right (e.g.,
“postfix 2 3 + 5 /” is the same as “(2 + 3) / 5”. A negative number must be noted using the reserved
keyword neg. Do not use the minus sign. In the above example, if the number 3 is negative, the
expression would read postfix 2 3neg + 5 / which is the same as “(2 + 3neg) / 5”.

Parametric Constraint Solver User’s Guide 75


Appendix B: PCS References Functions

Functions
The following table describes which functions are supported in the Parametric Constraint Solver,
along with the legal arguments and the expected results. Each function’s legal argument contains
an expression, which is any number, constant, function result, or known identifier. Unless
otherwise stated, and expression may include any unit.

Function Legal Arguments Result Postfix Mode

abs (x) Expression Absolute value of Yes


x.
acos (x) Unitless expression (-1 ≤ x ≥ 1) Arccosine of x. Yes

asin (x) Unitless expression (-1 ≤ x ≥ 1). Arcsine of x. Yes

atan (x) Unitless expression (-1 ≤ x ≥ 1). Arctangent of x. Yes

cos (x) Rad, deg or unitless expression Cosine of x. Yes


cosh (x) Unitless expression Hyperbolic Yes
cosine of x.
In (x) Unitless expression where x > 0 Natural logarithm Yes
of x.
log (x) Unitless expression where x > 0 Log base 10 of x. Yes
max (x1, x2, A series of expressions, which Maximum value
x3,…xn) have the same units. in the series.
min (x1, x2, A series of expressions, which Minimum value
x3,…xn) have the same units. in the series.
sin (x) Rad, deg or unitless expression Sine of x. Yes
sinh (x) Unitless expression Hyperbolic sine Yes
of x.
size (v) A vector name Number of
elements in the
vector v.
sqrt (x) Expression (x ≥ 0). Square root of x. Yes

sum (x1, x2, A series of expressions with all Summation of


x3,…xn) the same units. the series.
tan (x) rad, deg or unitless expression. Tangent of x. Yes
tanh (x) Unitless expression Hyperbolic Yes
tangent of x.

76 Parametric Constraint Solver User’s Guide


Operators Appendix B: PCS References

Function Legal Arguments Result Postfix Mode


if x then r1 else x is Boolean expression, r1 and If x is true then
r2 r2 are expressions. return r1. If x is
false return r2.

Operators
The following table of operators are those supported in PCS. Binary means the operator takes both
a left and a right hand side. Unary means the operator only has a left hand side. Unit restrictions
list how the units on the left and right hand side must be used. Unit category is the “type” of unit,
such as length, current, time, power, etc. typically, linear combinations of units must have the same
category.

Operator Explanation Unit Restrictions Postfix Mode

x+y Binary addition. Units must be Yes


same category.
x–y Binary subtraction. Units must be Yes
same category.
–y Unary negation. Yes
x/y Binary division. Yes
x*y Binary multiplication. Yes
x%y Binary modulo. Remainder of y must be Yes
division (x ≠ 0). unitless.

x! x Factorial. x must be Yes


unitless and 0 > x
< 20.
x^y Binary power (y ≥ 0). y must be Yes
unitless.
x<y Binary less than.
x>y Binary greater than.
x <= y Binary less than or equal to.
x >= y Binary greater than or equal to.
x=y Binary equal to.
x != y Binary not equal to.

Parametric Constraint Solver User’s Guide 77


Appendix B: PCS References Supported Units

Operator Explanation Unit Restrictions Postfix Mode


[x] Vector index. x is a unitless x must be
expression. unitless.
x and y Boolean AND. x and y must be
Boolean.
x or y Boolean OR. x and y must be
Boolean.
not x Boolean NOT. x and y must be
Boolean.

Supported Units
The following table shows the units supported in PCS along with applicable conversions.

Unit Abbreviation Conversion From Data Type

mil mil Length


inch in Length
millimeter mm Length
centimeter cm Length
meter m Length
micrometer um Length
nanometer nm Length
picometer pm Length
radian rad degree Angular
degree deg radian Angular
Ohm Ohm Volt / Ampere Resistance
Mho mho Conductance
Volt V Ampere * Ohm Voltage
millivolt mV Ampere * Ohm Voltage
microvolt uV Ampere * Ohm Voltage
nanovolt nV Ampere * Ohm Voltage

78 Parametric Constraint Solver User’s Guide


Supported Units Appendix B: PCS References

Unit Abbreviation Conversion From Data Type


picovolt pV Ampere * Ohm Voltage
Ampere A Volt / Ohm Current
milliampere mA Volt / Ohm Current
microampere uA Volt / Ohm Current
nanoampere nA Volt / Ohm Current
picoampere pA Volt / Ohm Current
Henry H Inductance
millihenry mH Inductance
microhenry uH Inductance
nanohenry nH Inductance
picohenry pH Inductance
Farad F Capacitance
millifarad mF Capacitance
microfarad uF Capacitance
nanofarad nF Capacitance
picofarad pF Capacitance
second s Time
millisecond ms Time
microsecond us Time
nanosecond ns Time
picosecond ps Time
Hertz Hz Frequency
kilohertz KHz Frequency
megahertz MHz Frequency
Watt W Power
milliwatt mW Volt * Ampere Power
microwatt uW Volt * Ampere Power
nanowatt nW Volt * Ampere Power

Parametric Constraint Solver User’s Guide 79


Appendix B: PCS References Constants

Unit Abbreviation Conversion From Data Type


picowatt pW. Volt * Ampere Power
Boolean bool Boolean
string string string
layername layer layer
viastyle viastyle viastyle

Constants
The following are predefined constants:

Constant Unit

e Unitless
pi Unitless
True Boolean
False Boolean
Yes Boolean
No Boolean

Constraint Referencing
Referencing other constraints is done in two ways: 1) if the constraint is in the same precedence
member (e.g. a net), then use the name of the constraint (e.g., “Width”), 2) if the constraint is in
another precedence level, use one of the fully qualified constraint name formulas:
• Design.constraint-name
• Layer{layer-name}.constraint-name
• NetClass{net-class-name}.constraint-name
• Net{net-name}.constraint-name
• ClassToClass{“net-class-name net-class-name”}.constraint name
• Room{room-name}.constraint-name
• Component{component-name}.constraint-name

80 Parametric Constraint Solver User’s Guide


Reserved Keywords Appendix B: PCS References

Spaces are optional except for ClassToClass where quotes around and a space between the net
class names are required. Constraint referencing formulas are not case sensitive.

Reserved Keywords
The following keywords are reserved and cannot be used as constraint names:

abs e neg sinh


acos else Net size
and false NetClass sqrt
asin for no sum
atan if not tan
ClassToClass ln or tanh
Component Layer pi then
Cos log postfix true
Cosh max Room while
Default min sin yes
Design

Limits
The limits supported by PCS are:
Integer (64 bit internal storage) -9223372936854775807 to +9223372036854775807
Integer (32 bit internal storage and only when the unit is quantity) 2147483647
Floating Point (IEEE standard)
Minimum value: 2.2250738585072014E – 308
Maximum value: 1.7976931348623158E + 308

Syntax Examples
The following table shows sample expressions for different types of constraints and the expected
results. Notice that, for each section of the table, there are constraint expressions based on the
values of other constraints, some at different levels of the precedence hierarchy.
For each example the targeted constraint value is displayed in bold letters. Those constraints that
are not bold are those that supply values to the target constraint’s expression.

Parametric Constraint Solver User’s Guide 81


Appendix B: PCS References Syntax Examples

EXAMPLE #1
In this example the value of the constraint Dist is the sum of the values of the thickness constraints
from the Top Layer and the INT1 Layer.

Constraint Precedence Level Expression Results

Dist Design Layer(Top).thickness + 160.0mil


Layer{INT1}.thickness
thickness Top Layer .08inch 80.0mil
thickness INT1 Layer .08inch 80.0mil

EXAMPLE #2
In this example the value of the constraint width in the –5v net is the value of the width constraint
in the mux1 net multiplied by 2.

Constraint Precedence Level Expression Results

width -5v Net Net{mux1}.width*2 30.0mil


width mux1 Net 15 15mil

EXAMPLE #3
In this example the value of the constraint width in the Top Layer is determined by using the Dist
and Cu_Height constraints in the Top Layer and the B constraint in the Design level. In addition, as
you can see, each expression references another constraint at a different level in the precedence
hierarchy.

Constraint Precedence Level Expression Results

width Top Layer int(((5.98*Dist)/Design.B)– 55.0mil


(Cu_Height)/8)
Dist Top Layer Layer{Top}.thickness+ 160.0mil
Layer{INT1}.thickness
thickness Top Layer .08inch 80.0mil
thickness INT1 Layer .08inch 80.0mil
B Design (Impedance*(sqrt(1.41+ 17.1076
Diel_Const))/87Ohm)^10
Impedance Design 60 60Ohm

82 Parametric Constraint Solver User’s Guide


Syntax Examples Appendix B: PCS References

Constraint Precedence Level Expression Results


Diel_Const Design 1.9 1.9
Cu_Height Top Layer 2mil 2.0mil

EXAMPLE #4
In this example the value of the constraint MaxNetLength for the A80 net is determined using the
RiseTime constraint’s value from the Design level of the hierarchy.

Constraint Precedence Level Expression Results

MaxNetLength A80 Net Design.RiseTime*(5800[mil/ns]) 8700.0mil


RiseTime Design 1.5 1.5ns

EXAMPLE #5
In this example the value for the VDdiff constraint is obtained using various constraints from the
design level.
Constraint Precedence Level Expression Results

VDiff Design 2*Resistance*(1– 125.368Ohm


(.48*e^(.96*Spacing/Cu_width))
)
Resistance Design 870hm/(sqrt(diel_const+1.41))* 81.7947Ohm
(ln(5.98*BoardThickness/(.8*Cu
_width+
Cu_thickness)))
BoardThickness Design 9.0 9.0mil
Cu_thickness Design 0.8 0.8mil
Cu_width Design 10.0 10.0mil
Diel_Const Design 1.9 1.9
Spacing Design Cu_Width*.75 7.5mil

Parametric Constraint Solver User’s Guide 83


Appendix B: PCS References Illegal Cases (Error Messages)

EXAMPLE #6
In this example, to determine the ComponentSpacing value at the component level, the
expressions use values of constraints at the design level and the component level.
Constraint Precedence Level Expression Results

ComponentSpacing Component If CompSpaceCriterion=True 10.0mil


then CompSpaceNumber
else
design.ComponentSpacing
CompSpaceCriterion Component Design.ComponentSpacing< False
CompSpaceNumber
ComponentSpacing Design 10 10.0mil
CompSpaceNumber Component Int(ComponentHeight*tan 0.0mil
(design.InspectionAngle))
InspectionAngle Design 5 5.0deg
ComponentHeight Component 0.450 0.450in

Illegal Cases (Error Messages)


Syntax Error
Cause: The parser could not understand the formula syntax.
Solution: Check the syntax and matching parenthesis. Make sure there are no spaces between a
number and its unit.

Divide By 0
Cause: An attempt was made to divide by zero.
Solution: Evaluate the expression for the existence of a divisor with a value of zero.

Operands type mismatch


Cause: An attempt was made to use “size” on a non vector or to combine non numeric values
(Boolean, vector) with numeric (integer, floating point quantity) operators (+, -, *, /, sin, sqrt, etc.).
Example: 3 + true.
Solution: Make sure that the value types on either side of the operand are corresponding types.

<operator> units mismatch


Cause: An attempt was made to combine incompatible units in an expression. Example: 1mil +
2W; sqrt(1pF)

84 Parametric Constraint Solver User’s Guide


Illegal Cases (Error Messages) Appendix B: PCS References

Solution: Check the units for compatibility.

Function <function> math error


Cause: An internal math or domain error was detected (e.g., square root or log of negative number,
or arcsine of number > 1.
Solution: Check the mathematical functions for correct usage.

Not a Number
Cause: An internal floating point conversion was unsuccessful or an integer was too large.
Solution: Check the expression for evaluations, which may result in an integer outside the limits.

Unknown identifier <name>


Cause: A reference to a nonexistent constraint was made.
Solution: Verify that the constraint name was spelled correctly or that the constraint exists.

Undefined identifier <name>


Cause: A reference to a constraint with no value was made.
Solution: Enter a value for the referenced constraint or correct any errors in the referenced
constraint.

Array index <index> out of bounds


Cause: The value of a vector index was less than 0 or greater than or equal to the size of the vector
(e.g., vector v=1,2,3;v[4])
Solution: Correct the entry to be greater than zero and less than or equal to the size of the vector.

Parametric Constraint Solver User’s Guide 85


Index

sorting in Design Manager ......................18


-A- constants
abbreviations, units......................................78 reference .....................................................80
adding Constraint Editor
nets ...............................................................22 docking ........................................................32
partition components...............................28 Constraint Editor View.......................... 11, 31
room components...............................20, 29 accessing......................................................32
collapsing groups ......................................35
-C- expanding groups......................................35
categories precedence view........................................33
accessing items ..........................................35 right mouse commands............................35
class to class using .............................................................36
constraints...................................................35 viewing .........................................................32
creating new ...............................................23 working with ........................................ 31, 41
page ..............................................................22 Constraint Editor, View command ............63
report ...........................................................60 Constraint Mismatch dialog .......................46
Close, File command ...................................58 Constraint View.............................................33
closing a design.......................................13, 47 columns .......................................................36
clustering components ...............................55 constraints
collapsing groups .........................................35 adding...........................................................42
command toolbar .........................................10 assigning units............................................41
commands base units.....................................................38
right mouse.................................................14 categories ............................................. 35, 43
components comments....................................................37
adding to partitions...................................28 correcting mismatches .............................46
adding to rooms ........................................29 data types.............................................. 37, 74
constraints...................................................35 definition of ................................................31
highlighting attached nets.......................54 domain
in partitions.................................................27 report.........................................................59
information in Design Manager.............17 expression ...................................................37
logical partitions ........................................19 entering a value ......................................42
on component page .................................17 mismatch of values....................................46
organizing .............................................15, 25 name .............................................................36
placing..........................................................25 precedence order ............................... 34, 35
removing from partition ..........................28 precedence view........................................33
removing from rooms ..............................30 predefined............................................ 35, 43
selection ......................................................55 referencing..................................................80

Parametric Constraint Solver User’s Guide 87


Index

using reserved keywords......................81 errors ........................................................... 48


removing lock............................................................... 13
all 43 deleting
one.............................................................43 class to class ............................................... 23
reports..........................................................43 nets............................................................... 21
rules checking ............................................33 partitions..................................................... 27
transferring from DTP...............................61 design
types .............................................................43 closing ................................................... 13, 47
unit................................................................36 constraints .................................................. 35
validation .....................................................45 exiting .......................................................... 14
value .............................................................36 loading......................................................... 12
expression formulas ..............................42 lock............................................................... 13
modifying directly ..................................42 saving ........................................................... 13
conversion of units.......................................44 updates........................................................ 47
creating updating ...................................................... 13
class to class................................................23 Design Manager View ................................. 10
expressions .................................................36 accessing..................................................... 15
nets ...............................................................21 class to class page ..................................... 22
partitions................................................19, 27 collapsing groups.......................... 17, 21, 22
rooms ...........................................................29 commands .................................................. 23
components page ..................................... 17
-D- expanding groups ......................... 17, 21, 22
data tips...........................................................55 hiding........................................................... 16
data types........................................................37 icons............................................................. 16
angle .............................................................37 net class page............................................. 20
boolean ........................................................37 nets page..................................................... 18
capacitance .................................................37 partitions page........................................... 19
conductance ...............................................37 rooms page................................................. 20
current..........................................................37 working with .............................................. 15
frequency ....................................................37 Design Manager, View command ............ 63
inductance...................................................37 Design Technology Parameters ................ 49
layer ..............................................................38 accessing..................................................... 49
length ...........................................................37 available operations in PCS .................... 50
power ...........................................................37 Merge Attributes ....................................... 51
quantity ........................................................37 Replace Design Attributes ...................... 51
reference ...............................................74, 84 Design Technology Parameters, File
reference by constraint ............................74 command ....................................................... 60
resistance.....................................................37 docking
string.............................................................38 constraint editor........................................ 32
time ...............................................................37 DTP
using in expressions .................................44 accessing a file ........................................... 49
viaStyle .........................................................38
voltage..........................................................37 -E-
DBX ECO
connection recording changes .................................... 48
re-establishing.........................................49 ECO file .......................................................... 48
Database Exchange Interface ..................13 errors

88 Parametric Constraint Solver User’s Guide


Index

array index out of bounds .......................85 Reports .........................................................58


divide by zero.............................................84 Update PCB .................................................58
from expressions .......................................44 Update Schematic......................................58
function math error ..................................85 functions
in expressions ............................................45 reference .....................................................76
not a number..............................................85
operands type mismatch .........................84 -H-
operator units mismatch..........................84 hardware requirements.................................5
syntax error .................................................84 Help
undefined identifier..................................85 About P-CAD PCS ......................................65
unknown identifier ...................................85 Commands ..................................................65
evaluating How to Use Help........................................65
expressions .................................................45 P-CAD PCS Help Topics ...........................65
Exit, File command........................................61 highlighting
exiting attached nets...............................................53
PCS................................................................14 components ................................................54
expanding groups.........................................35 nets................................................................53
expressions objects ..........................................................53
constants .....................................................80 rooms............................................................54
constraint referencing..............................80 hypertext links ...............................................65
error messages reference........................84
errors............................................................45
-I-
evaluating ....................................................44 icons
field design manager view ................................16
entering a value ......................................42 on toolbars ..................................................10
formula entry...........................................42 INI file ..............................................................14
functions......................................................76 Installation and Setup
limits .............................................................81 installing P-CAD products .........................6
operators .....................................................77 system requirements ..................................5
postfix mode...............................................75 InterPlace, using with PCS ..........................53
reserved keywords....................................81 clustering components.............................55
strings...........................................................45 highlighting.................................................53
syntax ...........................................................38 components.............................................54
syntax examples.........................................81 nets ............................................................53
unitless.........................................................44 rooms ........................................................54
units supported .........................................78 jumping to components...........................55
using data types .........................................44 removing highlights ..................................54
validation on load......................................46 selecting components ..............................55
items
-F- selecting.......................................................17
features .............................................................1
File Commands .............................................57
-J-
Close.............................................................58 jumping to components..............................55
Design Technology Parameters .............60 -K-
Exit.................................................................61
Load PCB Design .......................................57 keyboard reference ......................................67
Load Schematic Design............................58

Parametric Constraint Solver User’s Guide 89


Index

-L- operators
reference..................................................... 77
launching organizing
PCS................................................................12 class to class ............................................... 30
layer in Components Page ................................ 26
constraints...................................................35 in Nets Page................................................ 26
Layout View in Partitions Page....................................... 26
clustering components ............................55 net classes................................................... 30
highlighting objects ..................................53 organizing objects........................................ 25
jumping to a component .........................55
selecting components ..............................55 -P-
using IPL with PCS .....................................53 partitions
limits adding components ................................. 28
floating point ..............................................81 adding new ................................................. 27
integer ..........................................................81 deleting ....................................................... 27
integer for quantity unit...........................81 in partitions page ...................................... 19
reference .....................................................81 removing components ............................ 28
Load PCB Design, File command...............57 renaming..................................................... 27
Load Schematic Design, File command ...58 report ........................................................... 60
loading P-CAD
a design........................................................12 PCB icon........................................................ 3
a PCB design ...............................................57 PCS Help Topics ........................................ 65
a Schematic design....................................58 PCB
lock icon................................................................. 3
application using PCS from ............................................ 7
terminating ..............................................48 PCS
on P-CAD applications .............................13 basics ............................................................. 7
-M- exit ................................................................ 14
features.......................................................... 1
menu bar...........................................................9 interface .................................................... 3, 8
-N- references................................................... 69
using from PCB............................................ 8
net
using from Relay.......................................... 8
adding nets..................................................22
using from Schematic ................................ 8
class constraints .........................................35
PCS features
class report..................................................59
viewing in PCB ........................................... 51
constraints...................................................35
viewing in Schematic ............................... 51
creating nets ...............................................21
PCS reference
deleting net classes ...................................23
constants..................................................... 80
deleting nets ...............................................21
constraint referencing ............................. 80
renaming nets.............................................22
data dypes................................................... 74
using net class page ..................................20
data dypes by constraint.......................... 74
using the nets page ...................................18
definitions................................................... 69
nets
expression error messages ..................... 84
removing nets.............................................22
functions ..................................................... 76
-O- grammar ...................................................... 69
opening ......................................... see loading limits............................................................. 81

90 Parametric Constraint Solver User’s Guide


Index

Operators ....................................................77 in rooms page.............................................20


postfix mode...............................................75 organizing components ...........................28
reserved keywords....................................81 placing in PCB.............................................20
supported units .........................................78 removing components .............................30
syntax examples.........................................81 rules checking................................................33
pop-up commands .......................................23
postfix mode..................................................75 -S-
reference .....................................................75 saving
precedence a design ................................................. 13, 58
level design updates ...........................................47
report ........................................................59 Schematic
order.............................................................35 using PCS from.............................................7
view selecting
viewing .....................................................34 items .............................................................17
shortcut keys..................................................67
-R- software requirements ..................................5
removing..............................see also deleting syntax examples
highlighting.................................................54 reference .....................................................81
nets ...............................................................22 system
partition components...............................28 requirements ................................................5
room components...............................20, 30
renaming -T-
nets ...............................................................22 toolbars ...........................................................10
partitions .....................................................27 command.....................................................10
reports
class to class................................................60
-U-
constraint domain .....................................59 unhighlighting
file extensions ............................................59 objects ..........................................................53
generation...................................................60 units
lines per page .............................................60 assigning ......................................................41
net class .......................................................59 conversion...................................................44
options.........................................................59 display of......................................................42
output options ...........................................60 legal abbreviations ....................................78
page format.................................................60 reference .....................................................78
partitions .....................................................60 unitless .........................................................44
precedence level .......................................59 Update PCB, File command ........................58
style format .................................................60 Update Schematic, File command.............58
types .............................................................59 updating
Reports, File command................................58 a design ........................................................58
reserved keywords a Schematic design....................................58
illegal use as constraint name.................81 user guide
reference .....................................................81 layout ..............................................................2
right mouse commands ..................14, 23, 35 user interface ...................................................8
rooms menu bar........................................................9
adding components..................................29 P-CAD PCS.....................................................8
constraints...................................................35 using PCS from PCB or Schematic ..............7
creating ........................................................29 using PCS with InterPlace ...........................53
clustering components.............................55

Parametric Constraint Solver User’s Guide 91


Index

highlighting -V-
components.............................................54
nets ............................................................53 validating expressions................................. 46
objects.......................................................53 value field
removing ..................................................54 modifying directly..................................... 42
rooms ........................................................54 View Commands .......................................... 63
jumping to components...........................55 Constraint Editor ....................................... 63
selecting components ..............................55 Design Manager .................................. 10, 63
unhighlighting objects .............................53 viewing
using the ECO recorder...............................48 constraint editor........................................ 32
Utils -W-
Record ECO ................................................48
WAS file .......................................................... 48

92 Parametric Constraint Solver User’s Guide

You might also like