Xpedition Enterprise Blog

Learn about the industry's most innovative PCB design flow, providing integration from system design definition to manufacturing execution.

We'll keep you updated on the latest design trends, and other interesting tech tidbits in the industry.

16 October, 2014

Recently ahighspeedt the IPC Council Meeting in Orange County, California, two of the top PCB design EDA vendors presented some of their current and upcoming technology for routing automation. The day was geared towards PCB designers and the methods they use for routing their designs.

The day started off with the typical questions that we spoke of in my first blog in this series, The Myth of the Pretty Design, and as usual, the responses about auto routing were the same as always. But I wanted to get to the bottom of why designers prefer not to use auto routers.plow

One designer I spoke with struck me with a quote that made me laugh. When I asked about auto routing, he just said, “I ain’t got time for that!” We both laughed, and he knew I had seen the famous YouTube video (if you aren’t sure what I’m referring to, search the quote).

As we spoke more about time required to auto route a design, the problem became more evident as to why most designers do not use them. He told me there is no one-button solution; auto routers must be setup properly to get a decent result. Learning which passes to choose and their parameters to choose can be very time consuming. Then once the routing is done, it can be hours, and sometimes days, to cleanup what the router completed. He stated that by the time he has cleaned up all of the extra vias and loops, he might has well have just routed it manually.

I asked, “Is there a situation in which you would choose to use an auto router?” He answered, “Yes, but typically only for a what-if scenario – I need a quick check to see if a board can be completed.” He did speak of other designs, like something purely digital.

We agreed that there are those times when an auto router is needed. He then said what we really need is a router that provides assistance during manual or interactive routing. This auto-assistance would guide the designer and allow for intuitive and quick routing with very high quality.

I then got a huge grin on my face and asked him to take his seat as the show was about to start.

Take a look at these video links to see some auto assisted routing technology. In the next post in this series we will talk about an entirely new paradigm in PCB routing technology.

Video 1: High-speed routing: High-speed PCB routing for tuning high-speed connections

Video 2: Real Trace Plow: Auto-active PCB trace routing mode

29 September, 2014

Defining the “Perfect” Taxonomy (Catalog Structure)

A taxonomy is the “classification” of elements otherwise known as “catalogs” or “partitions”; and is an important component in your design process to help users find the ECAD data they are looking for. You can imagine xdm blog discretesthat a confusing or complicated structure increases the overall design process and that the best developed classifications can translate into financial savings to your organization. Although these gains are difficult to measure, you can contrast this against the  millions of dollars that a company like Amazon will invest within their own classification models to help you shop. Specifically within your design process you may have taxonomies for designs, library parts (symbols, cells, etc …), reuse blocks, and component/parts.

Within a taxonomy, you can define properties as “common/static” – characteristics against all objects or “dynamic“ – catalog specific. An example of a static property would be “Description”, and an example of a dynamic property would be “Resistance”. Data management products can help you manage these taxonomies and their characteristic definition, but many customers ask … “What is the Perfect Taxonomy?”

Since you don’t have millions to invest like Amazon, I’d like to share my findings with taxonomies. I’ve had the opportunity to view taxonomies from dozens of customers and many of the top ECAD data suppliers such as Digi-Key, Silicon Experts (now Arrow), and IHS. The only consistent thing about these component taxonomies is that … they are NOT consistent. I hate to burst your bubble but there is no “perfect” taxonomy. However, you can invest your time and effort in creating the “best” taxonomy for your organization. To accomplish this, you must first keep in mind how your taxonomy can:

  • easily integrate into your business processes
  • deliver information to your users without confusion and clutter
  • simplify the search and selection of (preferred) parts

Of course to accomplish this, the devil is in the details. In my upcoming blog series, I will be specifying how these tasks can be accomplished using our xDM Library (DMS) line of products for Components, Libraries, and Reusable Blocks.

Check out xDM Library Learning Tools Today!

29 September, 2014

A couple articles that I wrote have been published and I invite you to check them out:

the-pcb-design-magazine-logoThe PCB Design Magazine – August 2014

Sketch Routing, Part 1: Taking Control

The article begins on page 42. It is the first of three parts that discuss the essence of sketch routing in the Xpedition Layout product. The three parts are: control, quality, and performance.

Electronic Design LogoElectronic Design – September 2014

What’s the Difference: PCB Routing Then and Now

The evolution of auto-routing technology has a long history, mostly with marginal success.  Today’s approach is more about empowering the designer with high levels of routing automation.

15 September, 2014

It’s like moving furniture around and then finding out later you don’t like the sofa.

Much of the your end PCB product costs can be directly influenced by the parts selected up front during the schematic capture phase of the design process.  When you incorporate information into the designer’s part selection interface such as preferred part status, compliance, and/or obsolescence; you can reduce the work and re-work of designs thus saving you costs.

Today, it is a challenge for designers to produce designs that are pushed by time-to market, compliance restrictions, and the constant need to reduce costs. Many times, the designer does not have access to critical component information within their “field-of-vision” and rely on other disciplines to constantly check their part selection after they’ve done all the “hard work” of designing. I equate this to me finding furniture for my home, moving the furniture around to the perfect spot; and then my wife saying, “No, I don’t like the pattern on the sofa”. Why couldn’t you tell me what colors you like before I started? Better yet, why didn’t we agree on the sofa at the beginning? Why did I do all of that work fitting that sofa in the Living Room and now you tell me you don’t like it? I should have married your sister – just kidding (SLAP).

reducing product costs

This is exactly how designs are being done today and we accept it because it’s the norm. We utilize disconnected 3rd party tools to push non-standard data for validation by somebody else’s database … usually a bill-of-material. We fool ourselves into thinking this process is controlled because we do this during a “design review” … after the room has been completed. Wrong! To me this is like getting your mother-in-law to look at pictures of my room and then tell me what my wife wants. Thanks, but NO THANKS! In this scenario, I’m the designer, my wife is a component engineer, and the mother-in-law is my PLM. I don’t need the pain nor aggravation of dealing with multiple “sources” after I’ve already moved the furniture; all I want is accurate and upfront information. What you need are tools that help you communicate without the overhead of complicated communication; without using transformations of data during the work-in-process phase of the process. What do you need? A multi-phased approach:

  • Integrated Library & Component Information - provide the “approved” or “preferred” information within the designers interface to make it easier for them to choose – not another database.
  • Alternate Management – Allows approved users to define alternate to existing parts and manage what approved alternates exist.
  • Shopping List - Create list of preferred parts for specific sites or projects that designers can easily choose from.
  • Production Libraries - Create strong filters that can automatically remove non-standard or obsolete parts from designer’s view and actually highlight failures during design validation.
  • Compliance Audits - Allow ANY approved user to view the work-in-process status and run configurable compliance audits before the design is completed.

Why not make it easy on your designers and have them focus on the heavy lifting? Why not be proactive instead of reactive? With xDM Library/DMS, we can provide the infrastructure for this simple communication and drive behavior without complex interfaces or running back and forth between the fashion consultant. Take a look at my webinar for more details on how xDM Library/DMS can provide this seamless solution for you.

PS – I’m sure we all love our mother-in-laws, just don’t need to include them in every decision :-)

25 August, 2014

I’m taking a brief break from the routing series to share this upcoming event with you because it’s a great opportunity for you to learn more about the new release of Xpedition.

Mentor Graphics is sponsoring a U2U conference for the automotive community at the Adoba Hotel in Dearborn, Michigan on Wednesday, September 10 from 8am to 5pm.

If you are able to attend, share your feedback and questions in the comments of this post afterward. I’d like to hear what you think about the release.

U2U Automotive Conference in Michigan - Free Registration and Agenda Details Here

The PCB sessions include a presentation on the overall flow and a customer presentation discussing their Beta experience with xSD System Designer.

For those interested in DMS and Concurrent Design, there are also two user presentations revealing their experiences with these environments.

PCB Agenda – Entering a new age of increased productivity

Xpedition – Ground Breaking Technology to Address Design Complexity Challenges
Joe Krolla | Business Development Manager | Mentor Graphics
11:10am – 12:10pm

Xpedition System Designer Integration and User Experience
Michael Varnau | Technical Fellow | Delphi Electronics & Safety
1:00pm – 1:50pm

Achieving More with DMS Out of the Box
Velmurugan Kandasamy | Lead IT Analyst | Visteon
2:00pm – 2:50pm

Hardware Design Cycle Time Reduction Using XtremePCB and Concurrent Design

Mike Faler | Project Engineer | Rockwell Automation
3:10pm – 4:00pm

13 August, 2014

routing_webinarI often talk with friends and colleagues in the PCB design community about trends. A subject that comes up often, and has probably been beaten to death, is the use of auto routers in today’s PCB designs. The answer I hear more often than anything else is, “We don’t use auto routing on our designs.”  Why is this?

Is there something that auto routers are not providing? Is there something more they could do? Are they not fast enough?

I often hear, “I don’t like the way they route.” It’s true, X/Y layer biasing and lots of vias placed can make for a lot of manual cleanup. Maybe this is why I also get the comment, “I like my designs to be pretty.”

Please continue reading after you stop nodding your head or laughing…

The myth of the pretty design is just that, a myth. Hand-routed designs do not work better than an auto-routed design, as long as all of the rules are adhered to. Auto active routing creates quality designs through shape based, correct-by-construction rules, whether auto or by hand. So where is the happy medium that will make us more effective designers, instead of glorified digitizers of endless numbers of vertices? Do auto routers need to get better? Or, does interactive routing need to supply more forethought as we lay in etch?

Take a look at this webinar and we will discuss the future of routing technology further in upcoming posts within this series. In the meantime, share your thoughts on this subject in the comments.

Routing Automation: A Breakthrough in Productivity

4 August, 2014

What comes to mind when you are ready to tune the routing on a design? Among many thoughts, I seriously doubt that exclamations of joy are running through your head. Sure, after completing the routing of a circuit there is some excitement that a new phase of the process is starting; yet it doesn’t take too long for the fun coupons to run out as you have to deal with the tuning complexity and lack of space.

Resolving the timing requirements of a circuit by adjusting routing lengths can be accomplished in many ways, some more productive than others. Most designs will have length rules defined ahead of time, often provided by engineering; however, there are still some designers who will tune without rules and then add the rules just for checking. Many designers will manually add the tuning patterns one by one while using tools like the Tuning Meter to ensure that the task is done according to the rules.  Others will setup the automatic Tune function to do as much as possible and then complete the process manually.

Regardless of the methodology, tuning is clearly an opportunity for the application of effective software to increase productivity. The multiple-part series will reveal the significant enhancements made in Xpedition Layout to simplify the process of tuning and enable results that are not only comparable in quality to manual tuning, but also enable the task to be completed much faster.

This first part is a fairly high level view of the tuning process. Additional parts will go into more details.  When a design has numerous tuning requirements, not only can the act of adding length to the traces be a challenge, it is also sometimes difficult to understand when the tuning rules are fulfilled. I will focus on the Target Lengths dialog as a means to understanding the current state of tuning.

Target Length Dialog:

The Target Lengths dialog existed in 7.9.x; however, from the feedback I have gotten as I visit AEs and customers around the world, it is not well known. Rather than spending time discussing why it has not been used very much in previous releases, I will use this blog to describe the significant enhancements and its usefulness in the context of the Xpedition release.

The Target Lengths dialog provides a view of the selected cluster that needs to be tuned. What is a “cluster”? When length or delay rules are setup (Min/Max, Matched Sets, or Formulas), the software automatically figures out the inter-relationships between all the rules and creates a set of From-Tos that are related to each other – this is called a “cluster.”  This view of the cluster will tell you many things, but most importantly, it tells you which pin-pairs are tuned properly and which ones still need adjustment.

This dialog is launched from two locations: The menu pulldown and the RMB pop-menu (when a trace is selected).


In this case, I selected one routed net in the set of data lines for a DDR3 circuit. The rule here is a matched length rule where all these routes need to be the same length with a tolerance of 25th.


This dialog is context sensitive based on the cluster selected, when you select a net in graphics, the entire cluster appears in the dialog.



  1. Target – The dialog will automatically select a Target; however, if you desire, you can select a target by checking the check-box.
  2. Range & Solution – The dialog has defined a Range and a Solution for each From-To. These values are not static and will likely change in order to find the most From-Tos with a Deviation of “0”.
  3. Current – This is the current length of the route. You may want to start with the longest ones and see if you can shorten them. This is because generally the longest one is chosen as the automatic target (although it may change as you make edits). By shortening the longest ones, you would make it so less tuning is required on the shortest ones.
    1. Note that one of the From-Tos is “Open.”  The automatic Tune function will only work if all the From-Tos are routed in the cluster.
  4. Deviation – This is the most important column when starting the tuning process. This column is dynamic so any editing of the routes in graphics will automatically update the values in this column. If you decide to manually tune each item, you would modify the length until the Deviation is “0”.
    1. The Tuning Meter (turned on in the Display Control dialog) will give you graphical feedback on how close to the length of the route is to being within the Range.TuningMeter
  5.   SyncRefresh Solutions – The solution for each row is recalculated.
    1. Because solutions can be very complex if they are hierarchical or using formulas, it may be helpful to recalculate the solutions if some tuning is done and the rows are not updated as you might have expected.
  6.   ChangeClusterSync List with Graphic Net Selection – Double-click to toggle auto-sync.
    1. The list displays the cluster based on the graphic selection; however, if you select a net in graphics that is in a cluster that is different from the current cluster, you will get this message: “New cluster selected, press Sync List to update.”
    2. If you want to automatically change the list whenever selecting a different net in graphics, double-click the icon to auto-sync.
  7.   SortSort Columns – Double-click to auto-sort.
    1. The list is sorted on a particular column – in this example, on the Current column.
    2. You can resort the column by clicking on this icon. This saves you from having to click on the column header twice because the first time will reverse the sort order and the second click will resort it back to the original sort order.
    3. If you double-click the icon, the columns will automatically re-sort as changes are made.
  8.    TuneTune this cluster using tuning rules in Editor Control.
    1. This performs the same function as F2 Tune.
    2. It will only work if none of the items in the cluster are “(Open).”
    3. There is a status bar at the bottom of the dialog that tells you it is still performing the Tune function.
  9.   StatusGreen = Cluster is tuned; Red = Cluster is not tuned.

Recommended Process (High Level):

  1. Consider shortening the longest routes in order to minimize the length to be added to the shortest routes.
  2. Setup the Tune dialog with the desired values and settings then use the Tune function. Once it completes, manually adjust the routes until all the Deviations are “0”.
    1. In another part of this blog, I will spend some time specifically on the Tune settings.
  3. If you prefer to use the manual methods for tuning, keep the Target Lengths dialog open so you can see which From-Tos have a deviation and need adjustment.
    1. Also, the manual methods will be examined in a later blog.

When Tuning is Complete:

In this example, the Tune routine was used and you can see the results including the phase matching of the diff pairs.


Once the set is tuned, the Target Lengths dialog looks like this:


At this point with no deviations, and the green status light in the lower left, it is clear that this cluster is tuned.


There are other methods of determining the status of tuning (like the Hazards dialog and using CES actuals); however, the Target Lengths dialog presents a very clear status of the tuning required.  The future topics on this blog will explore additional details concerning successful and productive tuning. Whether you are adding the tuning patterns manually or automatically, keeping the Target Lengths dialog open during the process will enable you to dynamically see the results of your work and quickly determine the status of the cluster.

21 July, 2014

This is the third post in this series. View the first and second one.

In this series we have talked about the placement challenges that occur when we, as PCB designers, do not get complete information from the engineers. Without enough information, we can’t move forward independently.VernBlog_Placement3_ImageOption

So, how do we correct the issue? Training. But, in order to create a “rock star” design team, training must be a two way street.

First, the engineers must have confidence in you as a PCB designer. To build that confidence, they might need to work closely with you for a while as they train you in the method by which they like to see specific circuits and components placed. Engineers like to be very exact with their circuits, and two different ones may place the same circuit slightly different based on their application. As a PCB designer, you must take note during this training as your training of the engineer comes next.

As you start to gain the trust of your engineer, show them what you require as a layout designer for a high quality design that is completed in an efficient manner for a faster turnaround time.

We need to teach the engineers to provide complete information for their design, and not just notes and statistics – but true design layout intent from their perspective.

One method of providing intent is constraints, but often getting the engineer to add constraints to their schematic requires them to learn a complicated constraint system (and most will not even try).

But, we want placement intent. As demonstrated in the previous posts, the engineer can now provide some of that intent directly from the schematic. This includes placement information such as circuit grouping and even circuit group locations or rooms.  Groups can be passed to the PCB designer and layout directly, adjusted by the layout designer, and then passed back for review when needed. Then these groups can be used to rapidly floor plan a layout placement and easily reviewed prior to starting the finer and more intricate circuit placement.

Imagine that your engineer has created a FPGA design with a 2000+ pin device and hundreds of decoupling devices. What if the engineer grouped the decoupling devices hierarchically based on the functional banks of the FPGA? Would that provide intent? Of course it would, and it would be much better than a sheet in the schematic with thousands of decoupling devices to try and figure out.

What about re-use circuits or channels that are duplicated from the current or previous design? Pre-grouping these circuits will allow the layout tools to use copy circuit technology better to quickly place these groups.

With a bit of increased how-to knowledge, engineers can provide better information based on their intent, and it can easily be done right in their own schematics.

We will all make better design teams by sharing information in both directions. Take a look at this video on some other capabilities that can be passed from the schematic. But, if you have to do it old school, I have also provided a link to a design guidelines document [HERE] that I have used for many years. You are welcome to use it to help train your engineers. With the right information from your engineers, you are further empowered to design the best possible layout.

23 June, 2014

This is the third post in this routing series. View the first and second post.

Board fabricators will tell everyone that spacing is king. If the traces can be spread apart and centered between via and/or pin pads, then it will result in higher yields during the fabrication process. Fewer shorts will be created and less work will be required to remove them.

In Expedition PCB and Xpedition PCB Layout, we have a “Spread” routine in the “Auto Route” dialog that will automatically spread the traces apart and center them between pads. Based on my discussions with many AEs and customers, I suspect that many have tried to simply run it from the “Auto Route” dialog and found that it did not work as expected.

In fact, the expectation was that it would only spread the traces. Centering them turns out to be an unexpected yet wonderful bonus. The reason why it doesn’t work as expected is due to the fact that it requires some very specific setup. First, a text side-file is required that has the appropriate spacing values per layer; and second, a check-box in the “Auto Route” dialog needs to be set.  Let’s begin with the text side-file.


This file needs to be created and placed in the “Config” directory for the design you are working on.


The contents of this text file include the units, the layer and the corresponding spread clearance for that layer.


Units are “th.” By default, the units are the design units; so in most cases, this line is not even needed.

Then list the layers to be spread and the trace-to-trace clearance desired. Here, on both layers 3 and 4, the trace-to-trace spread clearance is 12th.

Auto Route Dialog


To enable “Spread” to work, the ‘Allow “Cleanup” if not routed 100%’ check-box needs to be checked. This is because when “Spread” is included with a number of other routing passes, it (along with other cleanup routines) should usually not be run unless the design is routed completely. If you are just using “Spread,” this check-box must be checked.

Run the “Spread” pass with a 1-3 effort.  It will spread the traces as much as possible up to the spread clearance specified in the “SpreadTo.txt” file.


Routing before “Spread”


After “Spread”


Note that the differential pairs are not spread apart, but they are also spread away from other nets.

Caveat:  “Spread” does not push traces over via or pin pads. Because of this, you may want to move some traces around (as I did in this example) before running “Spread.”  This will maximize the effect of spreading and prevent extra jogs in traces that are trapped between vias in open space.

Centering Traces

If the spread value is large enough, then it will also center traces between vias and pin pads. What is considered large enough? For example, if a trace will be centered between via pads with a trace-to-via clearance value of 8th, then any spread value equal to or larger than 8th will center the traces. You don’t have to get the value exact; in fact, usually it will be larger due to the desire to spread the traces themselves significantly – so that will work just fine!


Before “Spread”

The white arrows point to some places where the clearance is at minimum spacing and it would be good to center or move the traces away from the pads.


After “Spread”

The traces are centered where necessary and move away as appropriate.  Note that it will center just one trace or even two if needed.



In the previous discussion, it was all about a method for centering traces.  Here we provide another method for spreading traces that also centers traces.  Which method do you like better?

16 June, 2014

This is the second post in this series. View the first one here.

A placement challenge that I had to endure reminds me of the Rolling Stones song, ‘Get Off of My Cloud.’ I imagine that many of you still endure a similar challenge today…

I was placing a design that I knew was going to take weeks to complete, after reviewing the schematic, I contacted the engineer with a list of concerns. I asked for some written instructions and a possible floor plan based on the mechanical chassis requirements. Here is what I received back: “I will come and sit with you during placement so we can get it right.” Ugh! These are the words no PCB designer wants to hear. They are the death knell to productivity. But I had no choice.

And so, for the next three weeks, I sat in a small office with another design colleague and this engineer who, by the way, was a guy who ate way too much garlic and was always sweating. It was a living hell!

Why can’t engineers write good instructions for placing a PCB? Why must they thrust themselves into the design, when they have signal integrity stuff to worry about? In the past, without creating a document in a word processor, there was no real way to specify design intent through the EDA tools. Plus, as the capabilities of adding constraints to a design have become available, they have stuck to their old ways.

Leaning over a PCB designers shoulder ties us up in addition to engineering resources, and requires so much more time than providing good instructions – or any instructions!

We need a tool that allows the engineer to easily add constraints, and even design placement intent, such that the PCB designer will understand component grouping and critical placement locations…without the need to have the engineer babysit the design. That time has come! Xpedition xPCB layout now has the ability, through component explorer, to aid in planning and placement from the onset of the schematic design through to completion of the PCB design.

Take a look at the link below on component planning and placement with component explorer. In our next discussion we will talk about how to tell your engineer, “Don’t hang around ’cause two’s a crowd, on my cloud baby!”

Try HyperLynx Free

Get immediate, hands-on access to a variety of HyperLynx features. Built-in data files and tutorials will help you become familiar with the HyperLynx environment and experience the power of the HyperLynx tools.

Get Started Now

@mentorpcb tweets

Follow mentorpcb