{"id":9210,"date":"2014-06-23T13:42:34","date_gmt":"2014-06-23T20:42:34","guid":{"rendered":"https:\/\/blogs.mentor.com\/xpedition\/?p=142"},"modified":"2026-03-27T09:21:39","modified_gmt":"2026-03-27T13:21:39","slug":"pcb-and-routing-solutions-spreading-and-centering-traces","status":"publish","type":"post","link":"https:\/\/blogs.sw.siemens.com\/electronic-systems-design\/2014\/06\/23\/pcb-and-routing-solutions-spreading-and-centering-traces\/","title":{"rendered":"PCB and Routing Solutions: Spreading and Centering Traces"},"content":{"rendered":"<p><em>This is the third post in this routing series. View the <\/em><a href=\"http:\/\/www.mentor.com\/pcb\/blog\/post\/pcb-and-routing-solutions-introduction-4b302066-aff6-4dfb-87e1-e19a0a709cd7?cmpid=9049\" target=\"_blank\" rel=\"noopener\"><em>first<\/em><\/a><em> and <\/em><a href=\"http:\/\/www.mentor.com\/pcb\/blog\/post\/pcb-and-routing-solutions-centering-traces-in-bga-343abada-41ca-40ee-9dba-36f77f1850a1?cmpid=9049\" target=\"_blank\" rel=\"noopener\"><em>second<\/em><\/a><em> post.<\/em><\/p>\n<p>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.<\/p>\n<p>In Expedition PCB and Xpedition PCB Layout, we have a \u201cSpread\u201d routine in the \u201cAuto Route\u201d 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 \u201cAuto Route\u201d dialog and found that it did not work as expected.<\/p>\n<p>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\u2019t 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 \u201cAuto Route\u201d dialog needs to be set.\u00a0 Let\u2019s begin with the text side-file.<\/p>\n<p><strong>SpreadTo.txt<\/strong><\/p>\n<p>This file needs to be created and placed in the \u201cConfig\u201d directory for the design you are working on.<\/p>\n<p><a href=\"https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/53\/2014\/06\/ConfigDirectory.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-143\" src=\"https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/53\/2014\/06\/ConfigDirectory-520x232.jpg\" alt=\"ConfigDirectory\" width=\"520\" height=\"232\" \/><\/a><\/p>\n<p>The contents of this text file include the units, the layer and the corresponding spread clearance for that layer.<\/p>\n<p><a href=\"https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/53\/2014\/06\/SpreadTo.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-144\" src=\"https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/53\/2014\/06\/SpreadTo.jpg\" alt=\"SpreadTo\" width=\"205\" height=\"94\" \/><\/a><\/p>\n<p>Units are \u201cth.\u201d By default, the units are the design units; so in most cases, this line is not even needed.<\/p>\n<p>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 12<sup>th<\/sup>.<\/p>\n<p><strong>Auto Route Dialog<\/strong><\/p>\n<p><a href=\"https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/53\/2014\/06\/autoroute.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-145\" src=\"https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/53\/2014\/06\/autoroute-520x180.png\" alt=\"autoroute\" width=\"520\" height=\"180\" \/><\/a><\/p>\n<p>To enable \u201cSpread\u201d to work, the \u2018Allow \u201cCleanup\u201d if not routed 100%\u2019 check-box needs to be checked. This is because when \u201cSpread\u201d 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 \u201cSpread,\u201d this check-box must be checked.<\/p>\n<p>Run the \u201cSpread\u201d pass with a 1-3 effort.\u00a0 It will spread the traces as much as possible up to the spread clearance specified in the \u201cSpreadTo.txt\u201d file.<\/p>\n<p><strong>Example<\/strong><\/p>\n<p><em>Routing before \u201cSpread\u201d<\/em><\/p>\n<p><a href=\"https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/53\/2014\/06\/RoutingBeforeSpread.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-146\" src=\"https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/53\/2014\/06\/RoutingBeforeSpread-520x340.jpg\" alt=\"RoutingBeforeSpread\" width=\"520\" height=\"340\" \/><\/a><\/p>\n<p><em>After \u201cSpread\u201d<\/em><\/p>\n<p><a href=\"https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/53\/2014\/06\/RoutingAfterSpread.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-147\" src=\"https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/53\/2014\/06\/RoutingAfterSpread-520x341.jpg\" alt=\"RoutingAfterSpread\" width=\"520\" height=\"341\" \/><\/a><\/p>\n<p>Note that the differential pairs are not spread apart, but they are also spread away from other nets.<\/p>\n<p>Caveat:\u00a0 \u201cSpread\u201d 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 \u201cSpread.\u201d\u00a0 This will maximize the effect of spreading and prevent extra jogs in traces that are trapped between vias in open space.<\/p>\n<p><strong>Centering Traces<\/strong><\/p>\n<p>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 8<sup>th<\/sup>, then any spread value equal to or larger than 8<sup>th<\/sup> will center the traces. You don\u2019t have to get the value exact; in fact, usually it will be larger due to the desire to spread the traces themselves significantly \u2013 so that will work just fine!<\/p>\n<p><strong>Example<\/strong><\/p>\n<p><em>Before \u201cSpread\u201d<\/em><\/p>\n<p>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.<\/p>\n<p><a href=\"https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/53\/2014\/06\/CenteringBeforeSpread.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-148\" src=\"https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/53\/2014\/06\/CenteringBeforeSpread-520x335.jpg\" alt=\"CenteringBeforeSpread\" width=\"520\" height=\"335\" \/><\/a><\/p>\n<p><em>After \u201cSpread\u201d <\/em><\/p>\n<p>The traces are centered where necessary and move away as appropriate.\u00a0 Note that it will center just one trace or even two if needed.<\/p>\n<p><a href=\"https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/53\/2014\/06\/CenteringAfterSpread.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-149\" src=\"https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/53\/2014\/06\/CenteringAfterSpread-520x335.jpg\" alt=\"CenteringAfterSpread\" width=\"520\" height=\"335\" \/><\/a><\/p>\n<p><strong>Conclusion<\/strong><\/p>\n<p>In the previous discussion, it was all about a method for centering traces.\u00a0 Here we provide another method for spreading traces that also centers traces.\u00a0 Which method do you like better?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This is the third post in this routing series. View the first and second post. Board fabricators will tell everyone&#8230;<\/p>\n","protected":false},"author":86290,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spanish_translation":"","french_translation":"","german_translation":"","italian_translation":"","polish_translation":"","japanese_translation":"","chinese_translation":"","footnotes":""},"categories":[13],"tags":[],"industry":[],"product":[],"coauthors":[],"class_list":["post-9210","post","type-post","status-publish","format-standard","hentry","category-news"],"_links":{"self":[{"href":"https:\/\/blogs.sw.siemens.com\/electronic-systems-design\/wp-json\/wp\/v2\/posts\/9210","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.sw.siemens.com\/electronic-systems-design\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.sw.siemens.com\/electronic-systems-design\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/electronic-systems-design\/wp-json\/wp\/v2\/users\/86290"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/electronic-systems-design\/wp-json\/wp\/v2\/comments?post=9210"}],"version-history":[{"count":1,"href":"https:\/\/blogs.sw.siemens.com\/electronic-systems-design\/wp-json\/wp\/v2\/posts\/9210\/revisions"}],"predecessor-version":[{"id":10409,"href":"https:\/\/blogs.sw.siemens.com\/electronic-systems-design\/wp-json\/wp\/v2\/posts\/9210\/revisions\/10409"}],"wp:attachment":[{"href":"https:\/\/blogs.sw.siemens.com\/electronic-systems-design\/wp-json\/wp\/v2\/media?parent=9210"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/electronic-systems-design\/wp-json\/wp\/v2\/categories?post=9210"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/electronic-systems-design\/wp-json\/wp\/v2\/tags?post=9210"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/electronic-systems-design\/wp-json\/wp\/v2\/industry?post=9210"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/electronic-systems-design\/wp-json\/wp\/v2\/product?post=9210"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/electronic-systems-design\/wp-json\/wp\/v2\/coauthors?post=9210"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}