Author Topic: Automatic PCB layout: theory verses practice  (Read 923 times)

0 Members and 1 Guest are viewing this topic.

Offline lukegoTopic starter

  • Frequent Contributor
  • **
  • Posts: 253
  • Country: se
Automatic PCB layout: theory verses practice
« on: June 04, 2020, 04:00:00 pm »
I'm reading Yan Tan's dissertation "Algorithmic studies in PCB design" https://www.ideals.illinois.edu/bitstream/handle/2142/18367/Yan_Tan.pdf?sequence=1&isAllowed=y. He presents a series of algorithms for escaping traces from BGA pins, keeping differential pairs routed together, ordering escaped traces to that they can be routed to their destination on a plane (i.e. without crossing), and assigning traces to a minimum number of signal layers. He seems to have been employed by Synopsys Inc during or around this time.

The algorithms that I've understood so far seem quite compelling. However, they are clearly "computer science" solutions to "electrical engineering" problems. An algorithm might provably be able to (say) escape pins using the least amount of copper trace and obeying the maximum number of orthogonal/diagonal connections across an inter-pin tile, ut these results are not (afaik) transported into the physical domain. There are no SPICE simulations, no designs being fabricated, no oscilloscopes measuring signal integrity, etc.

So I'd like to understand: How do these kind of algorithms relate to industrial practice? If I write a program to implement these algorithms can I expect the resulting boards to actually work? Are these kind of algorithms commonly used in EDA tools and if so which tiers (e.g. Eagle, Altium, Cadence, etc)? Supposing you had access to software that does this, would you actually use it e.g. for escaping large numbers of I/O pins from large FPGAs?
 

Offline ETITsynthesizer

  • Contributor
  • Posts: 48
Re: Automatic PCB layout: theory verses practice
« Reply #1 on: June 12, 2020, 01:28:14 pm »
in theory, eagle can do this because eagle is extensible through ULP scripting. in practice the ULP is slow because it is a high level user defined script that runs in a runtime interpreter. I actually saw something that would export the data into a third party autorouter written in C. then it would export the result of the autorouter back to eagle.

in the professional world, people use altium. anything that is not part of altium will be made by the programmers at the company that needs this special software. if the company is not big enough, they will not have the budget to develop custom tooling. a company like apple will find the cheapest way to get this custom software. then they will buy the best software. a company like IBM will develop this software, and try to sell it to companies like apple. it goes both ways. you call them, they call you. researchers are slicing up human brains to map all the neurons. custom software used to develop new computers is being developed everyday. microsoft is working on chemical messaging computers. amazon developed freeRTOS while developing the silicon to run freeRTOS. they can optomize a PCB layout at the silicon level.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf