Content deleted Content added
Citation bot (talk | contribs) m Alter: isbn, url, template type. Add: chapter-url. Removed or converted URL. Removed parameters. | You can use this bot yourself. Report bugs here. | User-activated. |
Citation bot (talk | contribs) Removed URL that duplicated identifier. Removed parameters. | Use this bot. Report bugs. | Suggested by Headbomb | Linked from Wikipedia:WikiProject_Academic_Journals/Journals_cited_by_Wikipedia/Sandbox | #UCB_webform_linked 322/967 |
||
(28 intermediate revisions by 16 users not shown) | |||
Line 1:
{{Short description|Stage of electronic circuit design}}
{{About|designing integrated circuits, as part of [[electronic design automation]]|other kinds of routing|routing (disambiguation)}}
{{Use dmy dates|date=January 2022|cs1-dates=y}}
{{Use list-defined references|date=January 2022}}
{{Use American English|date=April 2019}}
In [[electronic design]], '''wire routing''', commonly called simply '''routing''', is a step in the design of [[printed circuit board]]s (PCBs) and [[integrated circuit]]s (ICs). It builds on a preceding step, called [[placement (electronic design automation)|placement]], which determines the ___location of each active element of an IC or component on a PCB. After placement, the routing step adds wires needed to properly connect the placed components while obeying all [[design rules]] for the IC. Together, the placement and routing steps of IC design are known as [[place and route]].
The task of all routers is the same. They are given some pre-existing polygons consisting of [[pin (electronics)|pin]]s (also called terminals) on cells, and optionally some pre-existing wiring called preroutes. Each of these polygons are associated with a [[net (electronics)|net]], usually by name or number. The primary task of the router is to create geometries such that all terminals assigned to the same net are connected, no terminals assigned to different nets are connected, and all design rules are obeyed. A router can fail by not connecting terminals that should be connected (an open), by mistakenly connecting two terminals that should not be connected (a short), or by creating a design rule violation. In addition, to correctly connect the nets, routers may also be expected to make sure the design meets timing, has no [[crosstalk]] problems, meets any metal density requirements, does not suffer from [[antenna effect]]s, and so on. This long list of often conflicting objectives is what makes routing extremely difficult.
Almost every problem associated with routing is known to be [[Computational complexity theory|intractable]]. The simplest routing problem, called the [[Steiner tree]] problem, of finding the shortest route for one net in one layer with no obstacles and no design rules is known to be [[NP-
Routers therefore seldom attempt to find an optimum result. Instead, almost all routing is based on [[heuristic (computer science)|heuristic]]s which try to find a solution that is good enough.
Line 19 ⟶ 22:
* [[Maze router]]<ref name="Byers_1991"/><ref name="Ritchey_1999"/>
**
**
**
* [[Line-probe router]]
**
**
*
* [[Channel router]]<ref name="Reed_1985"/><ref name="Minges_1989"/><ref name="Whitaker_2005"/><ref name="Shankar_2014"/>
** [[Switchbox router]]<ref name="Shankar_2014"/>
**
**
* Gridless router<ref name="Finch_1985"/><ref name="Minges_1989"/><ref name="Whitaker_2005"/><ref name="Webb_2012"/>
** [[Area router]]
Line 35 ⟶ 38:
*** [[Bloodhound router]]<ref name="CW_1992_Bloodhound"/><ref name="Pfeil_2017_Bloodhound"/><ref name="Redlich_2018_Routers"/> ([[CADSTAR]] by [[Racal-Redac]] / [[Zuken]])
*** [[Specctra]]<ref name="Redlich_2018_Routers"/> (aka [[Allegro PCB Router]]) (gridless since version 10)
** {{anchor|Topological router|AnyAngle}}Topological router
*** [[FreeStyle Router]] (aka ''SpeedWay'', a [[DOS]]-based autorouter for [[P-CAD]])<!-- since 1997 (possibly 1991 or 1996) -->
*** [[TopoR]] (a [[Microsoft Windows|Windows]]-based autorouter, also used in [[Eremex]]'s Delta Design)<!-- since 2003 (possibly 2001 or 2002) -->
Line 66 ⟶ 69:
* [[Integrated circuit design]]
* [[Place and route]]
* [[Auto polarity (differential pairs)]]
* [[Auto crossover (Ethernet)]]
== References ==
{{reflist|refs=
<ref name="Minges_1989">{{cite book |title=Electronic Materials Handbook: Packaging |author-first=Merrill L. |author-last=Minges |publisher=[[ASM International]] |date=1989 |volume=1 |isbn=978-0-87170-285-2 |url=https://books.google.com/books?id=c2YxCCaM9RIC&pg=PA758 |access-date=2017-09-27
<ref name="Byers_1991">{{cite book |title=Printed Circuit Board Design with Microcomputers |author-first=T. J. |author-last=Byers |edition=1 |publisher=[[Intertext Publications/Multiscience Press, Inc.]], [[McGraw-Hill Book Company]] |___location=New York, USA |date=1991-08-01 |isbn=978-0-07-009558-8 |lccn=91-72187 |pages=99–101 |url=https://dl.acm.org/citation.cfm?id=114661}}</ref>
<ref name="Whitaker_2005">{{cite book |title=The Electronics Handbook |editor-first1=Jerry C. |editor-last1=Whitaker |editor-first2=Richard C. |editor-last2=Dorf |author-first1=Ravindranath |author-last1=Kollipara |author-first2=Vijai K. |author-last2=Tripathi |author-first3=Jerry E. |author-last3=Sergent |author-first4=Glenn R. |author-last4=Blackwell |author-first5=Donald |author-last5=White |author-first6=Zbigniew J. |author-last6=Staszak |chapter=11.1.3 Packaging Electronic Systems - Design of Printed Wiring Boards |publisher=[[CRC Press]], [[Taylor & Francis Group, LLC]] |date=2005 |edition=2 |isbn=978-0-8493-1889-4 |lccn=2004057106 |page=1266 |chapter-url=http://s1.downloadmienphi.net/file/downloadfile6/192/1385077.pdf |access-date=2017-09-25 |
<ref name="Lee_1961">{{cite journal |doi=10.1109/TEC.1961.5219222 |author-first=Chester Y. |author-last=Lee |title=An algorithm for path connections and its applications |journal=[[IRE Transactions on Electronic Computers]] |volume=EC-10 |issue=3 |date=September 1961 |pages=346–365|s2cid=40700386 }}</ref>
<ref name="Hightower_1969">{{cite conference |author-first=David W. |author-last=Hightower |title=
<ref name="Reed_1985">{{cite journal |author-first1=James B. |author-last1=Reed |author-first2=Alberto |author-last2=Sangiovanni-Vincentelli |author-first3=Mauro |author-last3=Santamauro |title=A new symbolic channel router: YACR2 |journal=[[IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems]] |volume=4 |issue=3 |pages=203–219 |date=1985 |
<ref name="Soukup_1979">{{cite conference |author-first=Jirí |author-last=Soukup |title=Global Router |url=http://portal.acm.org/citation.cfm?id=811756 |book-title=Proceedings of the 16th Design Automation Conference |date=1979 |pages=481–489 |___location=San Diego, CA, USA |publisher=[[IEEE Press]]}}</ref>
<ref name="Rubin_1974">{{cite conference |author-first=Frank |author-last=Rubin |url=http://portal.acm.org/citation.cfm?id=811407 |title=An iterative technique for printed wire routing |book-title=Proceedings 11th Design Automation Workshop |date=1974 |pages=308–13}}</ref>
Line 80 ⟶ 85:
<ref name="Mikami_1968">{{cite conference |author-first1=Koichi |author-last1=Mikami |author-first2=Kinya |author-last2=Tabuchi |title=A computer program for optimal routing of printed circuit connectors |conference=[[IFIPS]] Proceedings |volume=H47 |date=1968 |pages=1745–1478}}</ref>
<ref name="Hadlock_1977">{{cite journal |author-first=Frank O. |author-last=Hadlock |title=A shortest path algorithm for grid graphs |journal=Networks |date=1977-12-01 |volume=7 |number=4 |pages=323–334 |doi=10.1002/net.3230070404 |url=https://www.researchgate.net/publication/227815552}}</ref>
<ref name="SimplifyPCB">{{Cite web | url=http://www.simplifyda.com |title = Simplify Design Automation – the next generation in design methodology}}</ref>
<ref name="Pfeil_2017_Bloodhound">{{cite journal |title=A lifetime designing PCBs: From design to software |author-first=Charles |author-last=Pfeil |date=2017-11-02 |journal=[[EDN Network]] |url=https://www.edn.com/electronics-blogs/all-aboard-/4459033/A-lifetime-designing-PCBs--From-design-to-software |access-date=2018-10-20 |
<ref name="CW_1992_Bloodhound">{{cite journal |title=Computer-Partner Kiel GmbH: "Bloodhound" entflechtet Leiterplatten auf 16 Lagen |language=
<ref name="Redlich_2018_Routers">{{cite book |title=Schaltungsdesign |author-first=Detlef |author-last=Redlich |chapter=1.6. Rechnergestützter Leiterplattenentwurf - Entflechtung |language=
<ref name="Webb_2012">{{cite web |title=A Tribute to Alan Finch, the Father of Gridless Autorouting |author-first=Darrell |author-last=Webb |work=Zuken Blog |date=2012-12-20 |url=https://blog.zuken.com/a-tribute-to-alan-finch-the-father-of-gridless-autorouting/ |access-date=2018-10-22 |
<ref name="Finch_1985">{{cite
<ref name="Ritchey_1999">{{cite journal |title=PCB routers and routing methods |author-first=Lee W. |author-last=Ritchey |publisher=Speeding Edge |date=December 1999 |issue=February 1999 |journal=PC Design Magazine |url=http://www.speedingedge.com/PDF-Files/pcbrouters.pdf |access-date=2018-10-22 |
<ref name="Shankar_2014">{{cite book |title=VLSI and Computer Architecture |author-first1=Ravi |author-last1=Shankar |author-first2=Eduardo B. |author-last2=Fernandez |publisher=[[Academic Press]] |date=2014-01-12 |volume=20 |series=VLSI Electronics Microstructure Science |editor-first=Norman G. |editor-last=Einspruch |isbn=978-1-48321784-0 |url=https://books.google.com/books?id=jDGoBQAAQBAJ&pg
<ref name="Wu_1992_Graph">{{cite book |title=Graph Theory Based Routing Algorithms
|author-first=Bo |author-last=Wu |publisher=[[Western Michigan University]] |type=Thesis |date=April 1992 |s2cid=3357923 |url=https://pdfs.semanticscholar.org/d998/0976dc33c9bfe8b8a049ad8da696526872f7.pdf |access-date=2018-10-22 |
|archive-date=2018-10-22}}</ref> <ref name="McLellan_2012">{{cite web |title=Channel Routing Memories |author-first=Paul |author-last=McLellan |date=2012-04-23 |url=https://www.semiwiki.com/forum/content/1208-channel-routing-memories.html |access-date=2022-01-01 |url-status=live |archive-url=https://web.archive.org/web/20210518114742/https://semiwiki.com/uncategorized/1208-channel-routing-memories/ |archive-date=2021-05-18}}</ref>
}}
== Further reading ==
* {{
== External links ==
* http://www.eecs.northwestern.edu/~haizhou/357/lec6.pdf<!-- https://web.archive.org/web/20171001184326/http://users.eecs.northwestern.edu/~haizhou/357/lec6.pdf -->
* http://www.facweb.iitkgp.ernet.in/~isg/CAD/SLIDES/10-grid-routing.pdf<!-- https://web.archive.org/web/20171001185742/http://www.facweb.iitkgp.ernet.in/~isg/CAD/SLIDES/10-grid-routing.pdf -->
{{Digital electronics}}
[[Category:Autorouters|*]]
|