EEVblog 1535 - DeepPCB AI AutoRouting FAIL!

แชร์
ฝัง
  • เผยแพร่เมื่อ 19 พ.ค. 2024
  • Is the AI Machine Learning based DeepPCB autorouter better than Dave at routing a simple double sided PCB? Let's try it! TLDR; It sucks. Humans for the win.
    If you find my videos useful you may consider supporting the EEVblog on Patreon: / eevblog
    00:00 - DeepPCB AI AutoRouting?
    03:29 - Autorouting is 90% placement, human powered!
    03:53 - The marketing claims
    05:22 - Ironically, Dave doesn't have an Altium license.
    05:39 - Let's start
    06:39 - Live update routing
    07:41 - This is not looking good
    08:13 - What would Dave do?
    09:14 - Rip up and Retry
    11:11 - AI is failing
    12:20 - WTF is it doing!
    14:39 - Choose your crappy solution
    15:24 - After 24 hours, it FAILED, hard.
    16:34 - This thing has no idea how to route a PCB
    19:26 - This is just awful
    20:27 - Human tips for routing
    22:16 - To be fair, Altium isn't much better.
    23:24 - I can't see any point in using this
    Human vs Autorouter: • EEVblog #975 - Human v...
    Nixie tube project Playlist: • Nixie Tube Display Pro...
    Forum: www.eevblog.com/forum/blog/ee...
    Web Site: www.eevblog.com
    Other channels:
    EEVblog2: / eevblog2
    EEVdiscover: / eevdiscover
    T-Shirts: teespring.com/stores/eevblog
    #ElectronicsCreators #ai #fail
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 474

  • @cidercreekranch
    @cidercreekranch ปีที่แล้ว +209

    Welcome to Non-Polynomial algorithms! It difficult to infer priorities based on examples of already routed boards. Without hints and priorities, these types of algorithms can go off the rails and never comeback. I suspect that is what happened. The iterations are likely cause due to backtracking when an iteration yields a non-optimal solution. E.g. it got TRONed into a corner.

    • @dalemosdeliverers9050
      @dalemosdeliverers9050 ปีที่แล้ว +14

      Moreover, I can't see how a machine-learning system is going to be better than simulated annealing or some other heuristic algorithm designed to try and address NP-complete problems (I bet this is one such problem) such as track layout. I wonder if a machine learning system might do better than humans with placement eventually, with a good algorithm or three to solve the track layout problem.

    • @toine512fr
      @toine512fr ปีที่แล้ว +2

      @@dalemosdeliverers9050 I have same interrogations as usual algorithms are already really not bad for FPGA implementation. (And these converge much faster than this tool.)

    • @frankwales
      @frankwales ปีที่แล้ว +13

      It seems to me that PCB layout is a whole load of interrelated travelling salesman problems stuffed into the knapsack problem, so I'm not really surprised that it's hard for a machine to find a good solution.

    • @dalemosdeliverers9050
      @dalemosdeliverers9050 ปีที่แล้ว +2

      @@frankwales Exactly (well the other way around, but yes). I think placement might be done as a neural network learning thingymabob.

    • @untrust2033
      @untrust2033 ปีที่แล้ว

      Very fun watching the easyeda router do this LOL

  • @joj.
    @joj. ปีที่แล้ว +89

    Dave, you're missing the main point of the "AI" here!
    Adding "AI" to any random system automatically construes a 4000% boost to the number of clueless venture capitalists who'll throw money at you hoping for ROI, regardless of if it actually benefits the user.

    • @EEVblog
      @EEVblog  ปีที่แล้ว +24

      Funny because it's true.

    • @Lucien86
      @Lucien86 ปีที่แล้ว +5

      The weird thing is that they're all totally uninterested in anything that's real AI. (Strong AI) Tell them about the 20 year lead time and they run a mile. 🙃

    • @8BitNaptime
      @8BitNaptime ปีที่แล้ว

      Would you like to invest in my AI blockchain solar roadway bitcoin generator?

    • @tedmich
      @tedmich ปีที่แล้ว

      precisely! See Adam Conover's recent breakdown!

  • @topduk
    @topduk ปีที่แล้ว +126

    Real lesson here is don't use Altium or other subscription based software.

    • @nameredacted1242
      @nameredacted1242 ปีที่แล้ว +4

      If nobody uses them, they will go bankrupt though!

    • @RapiBurrito
      @RapiBurrito ปีที่แล้ว +3

      Altium has so many cool things, things you just can't do on other software, do you have any recommendation for options?

    • @nameredacted1242
      @nameredacted1242 ปีที่แล้ว

      @@RapiBurrito I use OrCAD myself. I waste up to 20% of my time fighting with its bugs and stupidities, but it is the "enemy I know"... I wish I could learn Altium, but I spend so much effort on OrCAD that for lack of time I will just stick with it for now...

    • @EEVblog
      @EEVblog  ปีที่แล้ว +51

      @@RapiBurrito It's basically high priced Altium Designer vs free KiCAD these days. Not much middle ground market left.

    • @nalinux
      @nalinux ปีที่แล้ว +9

      @@EEVblog did you make a comparaison of Kicad vs commercial softwares ?
      I love the last versions 6 **. . So many improvements compared to v5 !

  • @johnwest7993
    @johnwest7993 ปีที่แล้ว +246

    I use a quantum super computer, neural network, fuzzy logic, intelligence driven, self-organizing, self optimizing, multi-sensory input PCB layout entity called ME. It works rather well. At least it does on its good days.

    • @EEVblog
      @EEVblog  ปีที่แล้ว +116

      Sounds dodgy.

    • @chitlitlah
      @chitlitlah ปีที่แล้ว +42

      Is that related to Windows Me? I don't trust it.

    • @Graham_Wideman
      @Graham_Wideman ปีที่แล้ว +19

      I use that same sort of layout engine. Works pretty well once it gets going. It's getting it started that's the problem!

    • @nameredacted1242
      @nameredacted1242 ปีที่แล้ว +12

      @@EEVblog Sounds underpaid.

    • @congchuatocmay4837
      @congchuatocmay4837 ปีที่แล้ว

      Gary Numan, ahead of the times as always.

  • @hippie-io7225
    @hippie-io7225 ปีที่แล้ว +76

    After 40+ years of doing PCB layout, I still do routes manually. Auto routing can be useful for fine tuning component placement and as a sanity check. A point to point one-net-at-a-time auto route could be useful.
    In the mid-nineties, we used a $25,000 auto router that required incredible amounts of setup work to get routes. Then lots of work to clean up those routes for final gerber output.

    • @EEVblog
      @EEVblog  ปีที่แล้ว +23

      Interactive autorouting is the most useful feature these days. It takes away a ton of the tedious fine detail work.

    • @nalinux
      @nalinux ปีที่แล้ว +3

      I did it a lot in the 90's.
      With practice, it was not so difficult. Nowaday, I would suffer and thanks Kicad, easier to use than an pencil eraser :)

    • @MonkeySci
      @MonkeySci ปีที่แล้ว

      nowadays neural network based algorithms evolved a lot, in 90’s face recognition or voice recognition is totally unusable. This is not just speed-up cpus can achieve. Actually AI algorithms took less cpu time then traditional algorithms

    • @nikthefix8918
      @nikthefix8918 ปีที่แล้ว +6

      Yes and some modern motherboards are works of art you could hang on your wall. Yet no designer would put form over function so I suspect that 'pleasing to the eye' form can assist function - but I'm not sure why. Perhaps it's to do with geometrical reductionism, which we humans tend to find comfortable and 'correct' so maybe electrons do too. I think the Romans would have made nice PCBs.

    • @EdgarsLS
      @EdgarsLS ปีที่แล้ว +3

      Yeah, when I started off, I quickly found that auto-routing just wasn't that good.
      I just route the most important traces first, leave the most tricky traces for last.
      But I haven't routed complex digital circuits so maybe autorouting starts to shine there.

  • @nameredacted1242
    @nameredacted1242 ปีที่แล้ว +37

    Dave, there can't possibly EVER be a good autorouter until at schematic entry level we specify a LOT MORE properties for every net and for every component. Like voltage rating and current rating for every segment of a trace, and so on! I won't go into more detail as of now, but I think it is very obvious what I mean. As I am trying to pursue that route myself. Will see how it comes out!

    • @EEVblog
      @EEVblog  ปีที่แล้ว +21

      Yes, but even ignoring that stuff it still does a crap job!

    • @nameredacted1242
      @nameredacted1242 ปีที่แล้ว +3

      @@EEVblog Agree there, but I think "planning for AI to overtake our engineering jobs" we are going to start marking up every net line-segment on the schematic with what voltages and currents are associated with it, what its purpose is, etc. A computer can't comprehend a schematic, yet it can comprehend the "set of rules" that you already mentioned in the video. But I think drawing up a schematic, then simplifying it to a netlist, and then feeding that into a router is an impossible task, don't you think??? Because any visual information discernible from a human from a schematic level drawing is LOST when converting that info into a very plain and dumb netlist... I think we need a next-generation "netlist" with a crapload more "properties and rules" for every net SEGMENT and every component before a computer can ever take over our jobs of trying to lay out a PCB that actually can even try to follow the schematic and the intent of the schematic drawer...

    • @Motorman2112
      @Motorman2112 ปีที่แล้ว +4

      @@nameredacted1242 If you combine this with electronics simulation software I'd expect it to be able to figure out what voltages and currents will be present by itself. You'd still need to feed it accurate information about the components and the nature of any external inputs of course.

    • @MonkeySci
      @MonkeySci ปีที่แล้ว +4

      AI can guess voltage or current ratings, clock speed and other properties by net label.

    • @KeritechElectronics
      @KeritechElectronics ปีที่แล้ว +3

      @@Motorman2112 yeah, what if we combine schematic/initial layout, SPICE, DRC and datasheet analysis?

  • @BenHeckHacks
    @BenHeckHacks ปีที่แล้ว +23

    This is the part I always wanted to see in a Terminator movie. Robots making robots :)

    • @EEVblog
      @EEVblog  ปีที่แล้ว +12

      In this case they are devolving.

    •  ปีที่แล้ว +5

      The robots will get stuck now being able to complete a simple routing. Then they'll just enslave human designers to do it for them and the humans will leave in backdoors that we can use to disable all robots. Seems like a solved case to me...

    • @KonradTheWizzard
      @KonradTheWizzard ปีที่แล้ว +5

      That would be a rather short movie! (Imagine a deep background voice as the camera pans over a dimly lit waste dump...) "In the year 2023 robots began to design new robots and they quickly evolved into monstrosities with PCBs sticking out their backs! A year later John Connor united mankind in the final battle against the robots when he found out that a piece of polyester creates enough static electricity to bring down an entire army of robots! ..." (camera pans over the scarred remains of something looking vaguely like Arnold Schwarzenegger) "I'll be ... ba...zzzztkrrk!" (roll end credits)

    • @MrDjada80
      @MrDjada80 ปีที่แล้ว

      that's "I, Robot". but then frankenstein, dracula, my ass. all the same.

  • @SidewaysCytlan
    @SidewaysCytlan ปีที่แล้ว +3

    I had a project where I had to route a 144 QFP to a PCIe connector on a 2-layer board. It was a challenge, I spent several days routing it, but I managed to do it. Keyword is "grouping". Bring related traces together and route them together as a group. It's a lot easier dealing with 8 groups of 8 similar connections than 64 individual traces that you assume has nothing in common.

  • @KeritechElectronics
    @KeritechElectronics ปีที่แล้ว +52

    No matter if it's modern "AI" based solutions or 1980s Autotrax, the conclusion is the same: NEVER trust the autorouter!

    • @nameredacted1242
      @nameredacted1242 ปีที่แล้ว +1

      Yeah, I have been told for 50 years that the new software I need to pay money for has an autorouter, and except for fanout, I still have to lay all traces manually...

    • @pietheijn-vo1gt
      @pietheijn-vo1gt ปีที่แล้ว +6

      What if you could explain what the board is supposed to do, give a set of constraints and provide a drawing of what the end result is supposed to look like? I think AI works much better in the right context. So a language model with auto routing capabilities might be able to do a much better job.

    • @mrcomment5544
      @mrcomment5544 ปีที่แล้ว

      @@pietheijn-vo1gt I agreed with you when I thought you were being sarcastic but then I saw you were being serious and had to roll my eyes.

    • @KeritechElectronics
      @KeritechElectronics ปีที่แล้ว

      @@pietheijn-vo1gt with automatic laying out components and all that stuff? I bet the result would be even more miserable. As for constraints, we've got design rules and DRC already, so why not treat that as a requirement and feedback source for every iteration of routing? There's one thing that the bot could do, even better than humans: combining multiple inputs from initial design, datasheet analysis, SPICE simulation and DRC. Like, tell it to design a board based on the schematic and layout you provided (initial input) based on chip manufacturer's design recommendations in datasheets, figuring out the signals, voltages, impedances and all that at every point (SPICE), routing the traces and then verifying the work (DRC), re-iterating until it gets it all good.

    • @pietheijn-vo1gt
      @pietheijn-vo1gt ปีที่แล้ว

      @@mrcomment5544 Do you have any actual argument?

  • @lilstubthumb
    @lilstubthumb ปีที่แล้ว +17

    Well now I'm curious to see a video on proper auto routing constraints.

    • @nameredacted1242
      @nameredacted1242 ปีที่แล้ว +3

      Start with trace width (current-carrying capability) and trace separation (manufacturability and voltage isolation). Add manufacturability (DFM) constrains. Add special traces like controlled impedance. That's about it to start manual layout with auto fanout.

  • @fabianfeilcke7220
    @fabianfeilcke7220 ปีที่แล้ว +5

    In my experience auto-routers really struggle with 2 layer boards. They do much better on 4 or 6 layer boards. With a defined ground layer and two layers where you can go unimpeded left/right or up/down the altium router basically always finishes the board. Especially for early prototypes it is not worth the effort to route them by hand if it can be done good enough automatically.

  • @SomeMorganSomewhere
    @SomeMorganSomewhere ปีที่แล้ว +24

    Just based on the output, I'd guess that the engine is routing per CONNECTION not per NET which seems kind of insane...

    • @mrcomment5544
      @mrcomment5544 ปีที่แล้ว +8

      My guess is that this is project of a web-dev/marketing type that hired some people that are PCB/AI adjacent where the project eventually fizzled out a few years ago.

    • @jan.tichavsky
      @jan.tichavsky ปีที่แล้ว

      @@mrcomment5544 My guess is this is project of someone who designed it in chatGPT 😄

  • @lucoot
    @lucoot ปีที่แล้ว +8

    PCB Layout is 80% placement, 20% routing.

    • @SianaGearz
      @SianaGearz ปีที่แล้ว +2

      But placement is a solved problem in any autorouter test; where you have a board that is already routed, and you rip it up. By all reason, a GOOD algorithm should be able to at least solve that board, maybe not the prettiest way, but successfully and ideally even with some optimisation like making the paths minimal in total. It's neither a fully solved problem nor a fully unsolved one, as ones that approach this ideal better than pure trial-and-error do exist.

  • @Micetticat
    @Micetticat ปีที่แล้ว +11

    This is my hypothesis. The company probably expects the users to submit smaller designs. Then by letting the customers chose the best implementation out of many they might be using the information to implement RLHF. Even the information that one of the routings might be 0.1% better than the others could be amplified during reinforcement learning.

    • @EEVblog
      @EEVblog  ปีที่แล้ว +13

      Only problem is all of the options suck!

    • @Micetticat
      @Micetticat ปีที่แล้ว +1

      @@EEVblog 🤣. By the way since I'm here let me send you my compliments for your fantastic channel! Always entertaining and educative!

    • @adamrak7560
      @adamrak7560 ปีที่แล้ว +1

      They should have done regular RL, with some heuristics learned from human routed design. And only do the RLHF as a fine tuning of an already working system.

  • @gregreynolds5686
    @gregreynolds5686 ปีที่แล้ว +1

    Really interesting video - thanks Dave!
    I've built a few solvers for various combinatorial/mixed optimisation problems like this (notably register placement for hardware synthesis and node choice for network routing). In these applications, I found that the best way to get to a good solution is to write down all the heuristics that a human would use to make the choice and then try and embed them in the solver. This has two benefits: it makes the development easier to debug and it often reveals new rules that you might not have thought of (often as addendums to existing rules).
    The problem with starting from a computer science theoretical point of view is that it is often hard to embed heuristic rules afterwards. It is often much easier to accept a sub-optimal (in some-sense) solution from a heuristic based system than a result from an algorithm that can take hours to converge.

  • @MSP_TechLab
    @MSP_TechLab ปีที่แล้ว +4

    For this PCB it is very, very slow. Built in autorouter in any pcb software can produce the same bad result ~50 times faster.

  • @Darkknight512
    @Darkknight512 ปีที่แล้ว +41

    The truth is, auto routers can be good, they are the lifeblood of the ASIC industry. In the PCB industry, the money just isn't there when compared to the ASIC industry. There was an article on chiplet designs where they mentioned they use PCB design tools to do most of the work for connecting chiplets together but really have to create custom automated tooling because the pin count is getting too high. The likes of Synopsys and Cadence has all the know how to do PCB automation tooling, it just doesn't make sense for them to.

    • @userPrehistoricman
      @userPrehistoricman ปีที่แล้ว +8

      Are you sure? I think ASIC place and route is solving a slightly different problem since the tooling has full control over the placement and rotation of the elements. Also, the elements typically have far fewer connections than PCB components.

    • @theondono
      @theondono ปีที่แล้ว +8

      Except ASIC routing is in terms of computing a very different task.
      The hard part of PCB routing isn’t laying the tracks, but making the right compromises. Those compromises are basically non existent on digital ASIC routing.
      It should also be mentioned that as Dave said, PCB auto routers can solve digital non-critical layouts alright. That’s what ASIC designers do, analog ASICs are still routed manually.

    • @0LoneTech
      @0LoneTech ปีที่แล้ว +1

      I've only worked a little bit on the ASIC side of things, but most of it is standard cell, with similar properties to FPGA design: power and clocks get dedicated passes, then congestion driven routing handles signals, and you check if the result satisfies timing. Bigger components are hopefully in hard blocks (e.g. RAMs, DSPs, PLLs), known as macros in ASIC design. So there's just a touch more grouping information available. It does an okay job at routing, but not that great at placement; just tolerable compared to the enormity of the entire project.
      Working more with hierarchies could improve it immensely; compare something like Xilinx Lava where placement is driven by design, routing is near instant, and the results by far outperform the automatic systems. That wasn't quite ideal either; the guided placement approach left gaps, but that could be tweaked by tension similar to how LiquidPCB operates.
      Another thing that would be lovely would be learning such as Dave imagined would be going on here, similar to profile driven optimization in software compilers. If the design can build groupings based on patterns, e.g. connecting the nixie tube segments in a row to the south side, it could have that work prepared for later passes. It's that sort of overview that can help avoid painting yourself into a corner.
      The "AI" fixation of today is moving the task of programming to a similar level; designs too massive and jumbled to understand, grown instead of designed. It always produces results - just rarely good ones, and occasionally catastrophic. The vendor shrugs and points at "the algorithm". "What went wrong" becomes unanswerable, if you're lucky "do this better" goes into the next training set.

    • @sampirat
      @sampirat ปีที่แล้ว

      But on a typical ASIC you have much more copper layers, 10layers is not uncommon and you can go up to 15+ That makes the job much easyer

  • @Dreamlgider
    @Dreamlgider ปีที่แล้ว +1

    I remeber that episode well. 👍

  • @matijacizmek9196
    @matijacizmek9196 ปีที่แล้ว +22

    This is exactly how I, as a professional software developer, felt about you trying to use AI to do software development ☺️

    • @gjsmo
      @gjsmo ปีที่แล้ว +2

      Big difference though, since ChatGPT is actually capable of producing useful output for certain problems. Perhaps not the neatest but certainly functional. I've found it can be useful as a starting point for some infrastructure maintenance scripts, for instance. It seems that DeepPCB can't even manage that though - the layout it came up with is less useful than not having any traces at all.

    • @anvz6
      @anvz6 ปีที่แล้ว +3

      ​@@gjsmo and I'm sure this "IA auto router" can produce useful results in some cases. It's like programming. You have to know how to program to use chatgpt for programming. It can replace googling for info, but don't replace the knowledge of a programmer.

    • @Quast
      @Quast ปีที่แล้ว

      Just as a curious outsider to software developement.
      Did you see something that was so out there ineffiecient that haven't even seen in your starter days of software developement?

    • @lolaa2200
      @lolaa2200 ปีที่แล้ว +5

      @@gjsmo well actually i have to disagree on your view of chatGPT. It produce output that looks like useful, that is what it's been trained to do, please people in a casual chat. 99% of time when you look closer it is not actually useful. The thing is most people when chating are not very demanding at all. Engineering on the other hand is about making thing that actually works, not just looks like. Devil is in the details as we like to say.
      That being said, AI/ML/NN are legit tools that can be useful to solve some classes of problems, but P&R is not one of those problems. Graph optimisation algorithme are just better tool for that particular job. A good, well trained software engineer that actually master his craft should know that.
      But where i have to give you a point is that lot of the software we use on daily basis are actually not engineered, they are pieces or craps merely half working with an overhead so big you can see it from space designed by lazy people that we somehow convinced they can be called "engineers" without having any clue for mathematics, physics and any other from of serious science. So to do that kind of crap, yeah maybe you are right, AI can produce just as crappy job as "human" do.
      But you are comparing state of the art AI that cost billion dollars and use ginormous amount of energy with the worst of the human here. The state of the art human software engineer can do much much better, only cost you few 100$ a day and only consume about 2000kCal /day.
      That actually gives us an interesting thought, maybe AI is a good thing to finally put some pressure on crappy software dev to raise their standards.

    • @anvz6
      @anvz6 ปีที่แล้ว

      @@Quast No. In general chatgpt creates good programs. May be sometimes produces some instructions that shows it does not really "understands" the problem. And it does not look "creative". It's something you could do by googling from examples. It can save you some time but you must check the code to see if it did what you needed. In one case we told chatgpt to translate a program from php to javascript. After one hour of trying we was unable to make it work. Chatgpt used external libraries that we could not find or unavailable versions, or called functions that does not exists and it was unable to implement by itself.
      I've seen the same effect when you ask it to make a cooking recipe and then you ask it to include an ingredient that does not exist at all: it invents the ingredient like it existed.
      You can't trust the results. You must check and fix it.

  • @demoncloud6147
    @demoncloud6147 ปีที่แล้ว +1

    Dave, you is always fun to watch, you know how to entertain nerds

  • @SianaGearz
    @SianaGearz ปีที่แล้ว +4

    I'd love to see someone try TopoR on this board. It avoids a lot of stupid. To begin with any space unpopulated by components or anything else nailed in is represented contiguously so it knows how many traces fit in that bit of empty space, so it runs connections in groups and doesn't have to rip up random wires to make another wire fit.

  • @MomoCoder
    @MomoCoder ปีที่แล้ว +4

    Could you try it with EasyEDA? I have been auto-routing for few of my PCB boards (not too complex). They have turned out acceptable in my opinion. At least not too many obvious funny jobs like the DeepPCB did in this video.

  • @nalinux
    @nalinux ปีที่แล้ว +3

    I remember routing in the 90's, even double side, with just a paper, a pen and an eraser :)
    Practice help, I'd had difficulties today.

  • @dem0n1k
    @dem0n1k ปีที่แล้ว +10

    Interesting to see that the 'AI' autorouter is no better than the Altium autorouter. It actually looks worse than the Altium autorouter! Great video Dave!

    • @EEVblog
      @EEVblog  ปีที่แล้ว +7

      Yep, worse, and only an 82% completion rate with obvious routing paths left. It's hopeless.

    • @katrinabryce
      @katrinabryce ปีที่แล้ว +3

      A lot worse, because presumably if you sent the Altium one to manufacturing, it would actually work, whereas the AI would not because 18% of the connections were missing.

    • @rameshd5563
      @rameshd5563 ปีที่แล้ว +4

      In 1988, I routed a 8 layer board with a software called AutoPCB, and it had done much better. The Free EasyEDA does a lot lot better. DeepPCB is just bluff.

  • @poopytowncat
    @poopytowncat ปีที่แล้ว

    This problem goes back to wire-wrap times (1970's, 1980's?) when an assembler used a schematic or wire list. Then years later you needed to make changes. You can see there might be a problem figuring out what wires you need to romove! The problem of wiring a single trace to 15 or so points is not trivial.

  • @zxborg9681
    @zxborg9681 ปีที่แล้ว +5

    LOL I started reading through your video section names and burst out laughing. I guess I'll put the dream back on the shelf for another few years then.

    • @EEVblog
      @EEVblog  ปีที่แล้ว +3

      Yeah, don't bother.

    • @nameredacted1242
      @nameredacted1242 ปีที่แล้ว +1

      I heard it for 50 year now.

  • @EdgarsLS
    @EdgarsLS ปีที่แล้ว +1

    I still route my PCB traces by hand, if you route the most important traces first it's not that bad.

  • @zilog1
    @zilog1 ปีที่แล้ว

    was wondering about things. thanks!

  • @rolfdieterklein
    @rolfdieterklein ปีที่แล้ว +2

    Very nice video. I use Altium for many years and all other kind of CADs years before starting with the very first CAD systems, I do manually routing many dense multi layers , and I gave up using any autorouter decades ago. Interesting it didnt get better since then. Also far away doing any RF Design I assume. AI is a nice approach, interesting it cannot do any better than the std. autorouters. But this is a challenging work, also for humans you need experience. I saw beginners which do the same as autorouters for their first steps.

  • @PhilfreezeCH
    @PhilfreezeCH ปีที่แล้ว +2

    What I really don‘t understand is why these autorouters seemingly don‘t use the schematic data to help them.
    You can infer quite a bit of decent placement and routing just from the schematic (if it is decent at least).

  • @aviramiancovici93
    @aviramiancovici93 ปีที่แล้ว

    I use it like sort of like your car's cruise control - it takes the heavy repetitive lifting but I manually do the crucial parts

  • @adamrak7560
    @adamrak7560 ปีที่แล้ว

    My experience in KiCAD:
    - placing components correctly is quite difficult and very time consuming
    - routing a correctly placed PCB: super easy, most enjoyable part, especially if you have Asperger's.

  • @oesjo
    @oesjo ปีที่แล้ว +1

    I sometimes use TopoR, it breeds very well if you set all the rules, without AI.

  • @AleksyGrabovski
    @AleksyGrabovski ปีที่แล้ว +2

    Actually a problem of finding optimal routing by itself counts as an AI problem, so technically speaking, all autorouters are "AI" ;) They just use different AI approaches.

  • @johndododoe1411
    @johndododoe1411 ปีที่แล้ว

    Most obvious problem is the lack of a default rule against acid traps. Second problem is the lack of treating each net as a unit that can share copper.

  • @timturner7609
    @timturner7609 ปีที่แล้ว +4

    The thing that kills me is that it took over 2 hours to fail to route this extremely simple board.
    Auto router is supposed to be significantly faster than me. Otherwise whats the point

  • @johnsmithschannel999
    @johnsmithschannel999 ปีที่แล้ว

    I used do auto route initial and manually correct errors and modify it accordingly.

  • @therealjammit
    @therealjammit ปีที่แล้ว +1

    I'd like to see it try again but see if it can make every trace equal length. I want to see that fluster cluck.

  • @ZacksLab
    @ZacksLab ปีที่แล้ว +5

    for an AI to get sufficient training it would need data from the latest and greatest PCB designs in industry, this is more than just the gerbers, you'd need the EEs and layout engineers to label the data, this is not something you can just pay someone off the street $20/hr to tag.
    so I see two problems:
    1. companies won't willfully give their IP
    2. no one available to tag data
    and lastly, there are an infinite amount of constraints (mech outline, mounting, thermals, SI, PI, EMC, cost) that go into each PCB which make it both a hard science and an art form. routing a modern PCB is orders of magnitude harder than the self driving problem.

  • @SantaClaw
    @SantaClaw ปีที่แล้ว +4

    Interesting video, I enjoyed it. Keep it up Dave!

  • @luxmonday
    @luxmonday ปีที่แล้ว

    I still route manually, but Eagle/Fusion 360 now has a "route multiple airwires" feature that has avoidance built in. That feature has sped up my layouts... I feel that autorouters should go that direction more... smaller, smarter bits of code for specific issues (routing busses, pouring ground planes, smart component movement where traces come along, layout modules etc)... I think designers are more likely to use smaller smarter features rather than trust a whole layout to the tool and have 20 hours of cleanup on aisle 3.
    You also hit a good point in that for small boards, probably up to 4 layer, an experienced human is faster than the autorouter. The autorouter starts to "win" at motherboard level... So there should be smaller-domain problem solving tools for 2 and 4 layer boards.

  • @poopytowncat
    @poopytowncat ปีที่แล้ว

    I worked at a large company where circuit board routing was done in an isolated area by a strange 350 pound object at a desk which signaled a "stay away" warning with loud snoring noises about 80 percent of an 8 hour shift. (To be fair, thats an esitimate based on the time it was unavailable to discuss requirements. It was usual to see the objects fellow objects try to activate it to 'normal' from ts self-healing slumber with kicks when potentially unsympathetic organisms incurred on their safe space. But the objects response time was too slow for this to make much of a difference.) During the occasional periods when it was active and could communicate, you could see it use some kind of half-smart tool to route circuit boards. I was amazed at the results! But not in a good way. This was maybe 20+ years ago.

  • @Lyallsmail
    @Lyallsmail ปีที่แล้ว +1

    I'd love to see what happens if you ran it again. Would it then 'learn' from your previous ~49 failed solutions, and stumble across some better ones?

  • @jamesblackwell5141
    @jamesblackwell5141 ปีที่แล้ว +1

    Dave, you are like my University Professor grading my calculus work! Seems like the AI needs experience and guidance. Instead of working with in rules and constraints, it keeps writing something down until something that passes for correct, gets excepted by the end user. (or at least that what it appears to be doing.

  • @FindLiberty
    @FindLiberty ปีที่แล้ว

    OMG, my eyes....
    _what has been seen cannot be unseen_

  • @Bluelagoonstudios
    @Bluelagoonstudios ปีที่แล้ว +1

    Maybe that's the reason it's free, it has to learn and you have to start somewhere to get the thing going with input. It looks to me, they don't have a big pool of creators.

  • @Einmal42undZurueck
    @Einmal42undZurueck ปีที่แล้ว

    Hey Dave, great Video! It ended as expected ;-).
    In the beginning of the video you mentioned that you are no longer use Altium. After paying the annual fee including the "slight" price increase I am looking for alternatives for our company. What are you using right now? KiCAD?

  • @Amir-kz6yq
    @Amir-kz6yq ปีที่แล้ว

    It is funny that yesterday I was watching this series and now you have released a video about it. Did you ever build the clock? The series ends at the pcb design.

  • @sguttag
    @sguttag ปีที่แล้ว

    It's been awhile since I looked at any new auto routers though I think were condemning it before it completed. The auto router I used, back in the day, "Terminator" by Draftsman-EE (aka DC/CAD) was pretty flippin' good but its routes would look a bit crazy as it was working through things but once it completes, it would do numerous cleanup passes to optimize routes and then spreading them. I'm not saying it never left odd routing choices behind...it did. But I'd take doing a clean up on what it did rather than router, from scratch, by hand.
    DC/CAD's router (Terminator), did have the ability to define the sizing and spacing, by net and also create various strategies for what to do and when and how to progress through the process and one could start out with a very restrictive set a parameters (e.g. how far it could deviate off of a straight line) and if that level of restriction was too much for some routes, you could hand route them or give it more freedom on a later attempt.
    Now I never did the amount of board design that you've done and the most complex board i did was just 6 layers (with the middle two being VCC and Ground for easy power distribution and it was all through-hole). However, my first attempt at routing a board was always to run the autorouter and then check to see if I could improve it, remove vias or better route some strange ones. 95+% of the work it did was good and I never had a problem with a board it routed.
    Mind you, this was a DOS program from the late '80s/early '90s. That said, it was a pretty cool program though it did have a bit of a learning curve and it is stuck, graphically, in its era. I'd think if it ran on a modern computer, it would be scary fast.

  • @mitch3064
    @mitch3064 ปีที่แล้ว

    Dave I have watched and loved you vids and rants for many years now. Is there some way you could do a auto routing program for those of us that cant do the job well?

  • @FrankDrebin
    @FrankDrebin ปีที่แล้ว +3

    To produce better results model would consume way more computing resources than would cost to hire someone to route board manually, but maybe someday, in a galaxy far away..

  • @derekloudon8731
    @derekloudon8731 ปีที่แล้ว

    Many, many years ago my favourite T shirt logo was “never trust the autorouter”. Things haven’t changed.

  • @PutItAway101
    @PutItAway101 ปีที่แล้ว +4

    Common sense seems to be the hardest thing to teach an AI!

  • @fabimre
    @fabimre ปีที่แล้ว

    It is clear that for now we, human designers of electronic boards, won't be replaced (replaceable) for many years coming.
    As it seems AI gets better and better for Software Engineering, that doesn't mean AI can replace us in Hardware Engineering.
    Nothing weighs up to insight and experience!

  • @gordonwelcher9598
    @gordonwelcher9598 ปีที่แล้ว

    Does the .dsn file you send include the schematic and bom information?

  • @yummyzoot
    @yummyzoot ปีที่แล้ว +1

    I have been designing PCB'S up to 6 layer for 30 years with Orcad and more recently with Altium and never used auto router especially with Altium.

    • @brokenicry
      @brokenicry ปีที่แล้ว

      Up to 6 layers for 30 years? Damn I am on my 3rd year and I am already on 14 layers.

  • @crusaderanimation6967
    @crusaderanimation6967 ปีที่แล้ว +2

    Well seems like "free is fair price" for this one

  • @CarlBugeja
    @CarlBugeja ปีที่แล้ว

    Companies are just using the word 'ai' to make everything look more fancy. Clearly this is not trained on anything.. selecting the best from the worst is not learning. I think future autorouters have to be divided into two parts: one for priority nets (which may be still altered by humans) and once that is done, the rest of the tracks can be autorouted. I think the fun really starts when automation is added into thing like outline generation, component package alternation and compact placement. All this would make it easier to miniaturize and select right option for your application

  • @TilmanBaumann
    @TilmanBaumann ปีที่แล้ว

    I think conceptually this could be a better approach than algorithmic.
    It could, theoretically, add a pattern matching aspect hat adds some kind of 'intuitive feeling for beauty and symetry"

  • @theelmonk
    @theelmonk ปีที่แล้ว

    I'm torn between thinking we look for a solution that appeals to aesthetics, which perhaps shouldn't influence the process, and appreciating the improvements certain aesthetics encourage such as short routes, reduced vias. etc. I wonder how many of these are simply that the router doesn't weight those features usefully and 'prefer' them over individual short-look-ahead solutions.

  • @orrbifold
    @orrbifold ปีที่แล้ว +2

    How could Autorouting and MaxSAT / MaxCut be better?
    Are there similar instances to this where it fails?

  • @dgo4490
    @dgo4490 ปีที่แล้ว +2

    This looks like you hired gov bureaucrats to do your routing. Can't wait for AI government!

  • @Null_Experis
    @Null_Experis ปีที่แล้ว +3

    My preferred primary routing software is Common Sense 2023.

    • @nameredacted1242
      @nameredacted1242 ปีที่แล้ว

      What's common sense?

    • @Null_Experis
      @Null_Experis ปีที่แล้ว

      @@nameredacted1242 If you have to ask, you'll never know.

  • @jardel_lucca
    @jardel_lucca ปีที่แล้ว +35

    Here we are... Cheering up for the thing to fail so our jobs are not threatened too soon 😂😂😂

  • @michaelbell6602
    @michaelbell6602 ปีที่แล้ว +6

    It would be interesting to see some of the training data. What do the programmers tell it was a good pcb?

    • @nameredacted1242
      @nameredacted1242 ปีที่แล้ว +2

      A GREEN one...

    • @autarchex
      @autarchex ปีที่แล้ว +1

      A little learn-to-solder Christmas tree shaped board full of blinking red LEDs

    • @markg735
      @markg735 ปีที่แล้ว

      @@nameredacted1242 LOL! I think you mean more green corrosion than solder mask! That was really bad - I've seen auto routers from years ago do better.

  • @electronash
    @electronash ปีที่แล้ว +1

    I think this is very advanced AI, it's just it's training model was Stevie Wonder.

  • @ghlscitel6714
    @ghlscitel6714 ปีที่แล้ว +1

    Obviously AI without I.
    I use autorouting only if there is e.g. a dumb connector having to be connected to simple 3.3V/5V TTL or DC with the autofinish function.

  • @TheBypasser
    @TheBypasser ปีที่แล้ว

    Setting up the constraints (well, you'd do it anyway, yet it won't be that critical should you mess up a little), tracking down the autorouter's mistakes, manual re-routing... No, no, no: long and boring. Just go manual, becomes way faster (every time btw, used to do anything from 1 to 6 layers, and it actually is), and also you can greatly optimize by picking some random tricks up from the top of your head, like variable-width tracks, partial track-to-pour replacements etc.

  • @RandomTorok
    @RandomTorok ปีที่แล้ว

    What software/website would you recommend for designing pcb's?

  • @redsmith9953
    @redsmith9953 ปีที่แล้ว +3

    Well doing that my self for many years also, i understand what is the AI problem, first of all if understands how to route is a big advance, taking in account the pin-outs of every IC and display, but of course to solve that mess is using a messy approach, so yeah, in every aspect AI is using the apprentice approach, in chat or in this case, that is not a problem, the problem will be if never can solve that kind of things due of lack of data or perhaps, the IA is not the solution for that kind of things... time will tell. But is clear is using the recursive approach this is why missed the connection between paths, that is not real AI, that is the common approach like from 20 years ago.

  • @dyershov
    @dyershov ปีที่แล้ว +10

    Dave raves about AI in adjacent fields, but in his field it's a "NO!" I actually see it a lot when folks are impressed with what AI does in the area they lack expertise (or even basics).

    • @EEVblog
      @EEVblog  ปีที่แล้ว +4

      It is demonstrably amazing in many other fields, no need to be a domain expert to see that.

  • @Orbis92
    @Orbis92 ปีที่แล้ว

    9:10: So close... at least the common high voltage line ;)

  • @erascarecrow2541
    @erascarecrow2541 11 หลายเดือนก่อน

    Training an AI is more akin to complete random noise, and then trying to keep things that edge towards a good result. We're talking several million passes before it starts to do decently.
    So doing a tracing using that, it's going to sorta go for a brute-force method.

  • @Nik930714
    @Nik930714 ปีที่แล้ว

    And judging by the time it took it, its also faster by hand.

  • @KarstenBecker
    @KarstenBecker ปีที่แล้ว

    I have done some pretty decent PCBs with EAGLEs auto-router. The workflow was mostly: let it route, see where the worst parts are, then move/rotate the component, ripup and try again. Could a human have done a better job? Absolutely, but for getting some self-made PCB up and running it was sufficient.

  • @PeetHobby
    @PeetHobby ปีที่แล้ว

    I always route everything by hand, tried autoroute function of eagle couple of times but never gave good results.

  • @BenjaminEsposti
    @BenjaminEsposti ปีที่แล้ว

    If you understand how your autorouter works, you can pre-route (partial route) traces which might cause trouble, then let the autorouter finish.
    Still, human routing works best!

  • @ralphj4012
    @ralphj4012 ปีที่แล้ว

    I'm not surprised it had issues, you told it to rowt, instead of route (so it correctly selected a woodworking tool instead of an etch-resist pen), ho, ho.

  • @Gary_Hun
    @Gary_Hun ปีที่แล้ว

    Well this thing is pretty stoopid if it doesn't even realize it would be advisable to start with the shortest routes.

  • @neil2742
    @neil2742 ปีที่แล้ว

    I would not give a board to a layout engineer without specifying creepage, clearance, impedance, high frequency nodes and high current traces. It saves time, money and hassle in the longer term. I have had too many boards from layout engineers who couldn't identify a SMPS or knew it needed careful layout for the switching nodes (shoutout to the engineer that routed the switching node over half of my PCB). I would expect an AI to need similar guidance

  • @Back_In_Five_Minutes
    @Back_In_Five_Minutes ปีที่แล้ว +1

    The auto router didn't even write its own name using copper tracks! Amatuer.

  • @IanScottJohnston
    @IanScottJohnston ปีที่แล้ว

    Tried autorouting in all of the EDA's over the years, only ever worked for mass digital logic after hand routing the important stuff. Saying that I think it could be done but will need serious dedication, some serious modern AI folks to lock heads with PCB layout guys and eventually it will happen. Problem is the AI folks have bigger interests elsewhere........that's how I see it anyways.

  • @matt.604
    @matt.604 ปีที่แล้ว

    Stupid question.. did you refresh your browser? Perhaps the webapp stopped communicating but the server did produce more than 48 passes?

  • @lua-nya
    @lua-nya ปีที่แล้ว

    Seeing that Altium doesn't intend to give you an educational licence, will you be giving KiCAD a try?

  • @1975RStefan
    @1975RStefan ปีที่แล้ว

    It seems it often lead to several times a Mount Everest on a normally straight line.

  • @darkguardian1314
    @darkguardian1314 ปีที่แล้ว

    14:20 People tend to micromanage and supervise things.
    When it comes to computers, I’ve learned to just let it work and do something else.
    It’s not going to goof off or take a coffee break when my back is turned.😂

  • @SimonJackson13
    @SimonJackson13 ปีที่แล้ว

    This is funny. Like first it should place parts in a circle (in not placed), and work out a connected distance ordering of close. Then onto orientation for best or least rat-nest crossing, then route the power before signal in (after stopping for placement sanity), close least crossed signals first. Then there's vias :D

    • @johndododoe1411
      @johndododoe1411 ปีที่แล้ว

      Power first or last is always a problem in choosing a strategy.

  • @Digital-Dan
    @Digital-Dan ปีที่แล้ว

    I'd say it's about time to give up on Muriel.

  • @deadmanwalking6342
    @deadmanwalking6342 ปีที่แล้ว +2

    Muriel! Its terribruell!

  • @petersage5157
    @petersage5157 ปีที่แล้ว

    There is so much that a truly AI autorouter could easily have inferred from just a handful of net names and from component layout. I don't remember exactly how Dave named the nets for this, but I know he tends to follow industry conventions, so the autorouter should have immediately picked up on the HT rail as a routing priority, figured out that the Nixies are high voltage components and routed them to their driver chips, then proceeded from there. Instead, it looks like it just threw some spaghetti at the wall (presumably from its pockets) to see if it stuck.
    I wouldn't even trust a simple switching power supply laid out by this thing.

  • @lost4468yt
    @lost4468yt ปีที่แล้ว

    Intel and AMD (and I'm sure IBM, Google, etc as well) are already using AI to do the high level routing on their new chips. They design each component of the CPU/GPU/TPU/etc, but now they no longer decide where they go or how they're connected to each other. And they have seen significant real world performance increases.
    And practically everyone thinks that for the next gen it'll be doing a layer below that. And within a few years it could be doing it on nearly every level, or literally every level. There's a real worry from some people that we won't really understand how the chips are even working in a few years and we won't be able to do "proper" validation and will likely have to rely on other networks for validation. But as Jim Keller pointed out we've already backed ourselves into a corner where no one really understands the entire way modern chips work - we clearly can't even validate 15 year old CPUs given that every manufacturer is having major exploits found in their designs every year or two. We've already become extremely reliant on "classical" algorithms that abstract the shit out of it. If/when we move to entirely AI designed chips all we'll really be doing is swapping one abstraction software stack for another one.

  • @b0rd3n
    @b0rd3n ปีที่แล้ว

    The only 'advantage' would be for some level of obfuscation. Don't know how useful that could be but hey

  • @BustedJunkStudio
    @BustedJunkStudio ปีที่แล้ว +5

    Have you ever done real "rip up and reroute"? ya know, rubylith, black crape, register pin, scaled transparancies? Did tons of that for U.S. aerospace companies... those were the days... before auto route... before PCB software... for that matter, even before computers.

    • @EEVblog
      @EEVblog  ปีที่แล้ว +3

      Yup!

    • @nameredacted1242
      @nameredacted1242 ปีที่แล้ว +1

      Laminated sheet on the floor PCB layout.

  • @alphaprot2518
    @alphaprot2518 ปีที่แล้ว

    The problem witht this sort of software is: the real routing difficulty is not how to go from A to B with one signal, but how to combine e.g. SI, manufacturability and more often than not cost with multiple signals. It is (like most engineering topics) consisting of many, many tradeoffs that you have to make in order to get the job for one specific board done. Routing AI and humans are not that much different when it comes to how less they can achieve if they do not understand the physics and working principles behind it, but rather copy from an existing design or apply best practices without knowing their intended use.
    Your board is unique and you have to know what layout and design challenges you have to overcome to make a good working PCB. You are the one that (should) know the signal characteristics and where, when and how it is necessary to preserve them. You don't learn layout by looking at what others did, you learn by understanding what others did.

    • @alphaprot2518
      @alphaprot2518 ปีที่แล้ว

      Just keep in mind - the signal virtually lives inbetween your tracks and traces - so it is never about just a single trace.

  • @TheMrKeksLp
    @TheMrKeksLp ปีที่แล้ว +1

    Imagine paying for 24 hours of cloud AI compute time. They must be absolutely losing their shirt! (or rather their venture capitalist's shirts lol)

  • @petermopar
    @petermopar ปีที่แล้ว

    Osmond PCB has no schematic view. It's just pure human layout Interface. I draw schematics _after_ submit, using an old "Berol Missile & Space Electronics Stencil." Btw Osmond does have lua scripting, and I do write creative automata for some aesthetic shapings.

  • @trevorhaddox6884
    @trevorhaddox6884 ปีที่แล้ว +1

    AI has made the equivalent of the New York subway system on your board. XD

  • @selektraction
    @selektraction ปีที่แล้ว

    What is that pdf reader Dave uses?

  • @WereCatf
    @WereCatf ปีที่แล้ว +1

    I am *absolutely fricking terrible* at routing PCBs and I totally need someone to really hand-hold me through the process and teach me and yet.......even I can do better than that DeepPCB.

  • @exapod23
    @exapod23 ปีที่แล้ว

    It's time to ask for a raise then!