I still find it hard to believe that the first time generative artificial intelligence (GenAI) in the form of ChatGPT by OpenAI impinged itself on the public consciousness—including what I laughingly think of as my own consciousness (but only when I consciously think about it)—was only a year ago (give or take a few days) as I pen these words.
Wow! What a year it’s been! Now GenAI is manifesting itself everywhere, with ChatGPT-based apps sprouting like metaphorical mushrooms (which are my second favorite type). I’m not sure of the exact order of arrival, but the first ChatGPT-based app (excluding ChatGPT itself) of which I became aware was GitHub Copilot, which currently claims to be “The world’s most widely adopted AI developer tool.”
My understanding is that software developers spend about 20% of their time thinking about the code they are going to write, 30% of their time writing the code they’ve just been thinking about, and the remaining 50% of their time debugging the code they’ve just written. I also understand that GitHub Copilot is behind 60% of newly developed embedded code, and that developers using Copilot are spending 55% less time writing new code.
One of the downsides of GitHub Copilot is that a lot of its training was performed using open-source software, much of which contains bugs and security vulnerabilities. As a result, it’s said that 40% of the code generated by Copilot contains the aforementioned gotchas. This means the same developers that are spending less time capturing new code are spending more time debugging the code they took less time to capture. It’s a funny old world, and no mistake.
This led to the second ChatGPT-based app that impinged on my consciousness—the eponymously named Metabob from Metabob (it’s like Zen, or GenZen, if you will). As discussed in my Using Generative AI for Refactoring and Debugging Code Cuts Debugging Time in Half column, Metabob’s mission is to detect all of the bugs and security vulnerabilities introduced into code by humans and tools like GitHub Copilot, and to suggest appropriate alternatives.
Now, software is interesting, but I’m a hardware design engineer by trade, so what’s in it (GenAI) for me? Well, the guys and gals at Zuken have announced the introduction of AI-powered place-and-route within their flagship CR-8000 platform.
Speaking about Hardanger Fiddles (we weren’t, but we are now), my friend Jesse Jenkins emailed me earlier today to complain that—although I’ve waffled on about weird wind instruments like sarrusophones and flubas on occasion—he feels I’ve neglected the string section of life’s orchestra. I hang my head in shame. Considered to be the national instrument of Norway, the Hardanger fiddle (think “hardingfele” with a Norwegian accent) is similar in appearance to a violin, but with eight or nine strings as compared to the violin’s four. Four of the strings are strung and played like a violin, while the rest resonate under the influence of the first four. Just for giggles and grins (as if life weren’t hard enough already), the hardingfele is a transposing instrument, meaning that sheet music for the hardingfele is written in a key other than the one in which the instrument sounds when it plays that music (I couldn’t make this stuff up if I tried). But we digress…
I’ve long been a fan of SnapEDA, which was founded in 2015 with a stringfare of Hardanger fiddles (Ha! Take that, Jesse Jenkins!). Since its inception, SnapEDA’s mission has been to make the lives of electronic design engineers easier, and—speaking as an electronic design engineer—that’s not something most people try to do often enough, in my experience.
Until now, SnapEDA’s primary product has been an online CAD library that provides PCB footprints and schematic symbols for millions of electronic components. More than this—for each device, users are typically provided with access to datasheets, 3D CAD models, and—sometimes—simulation models. The first great thing is that all of this is provided 100% free for design engineers. The second great thing is that if a component is missing from the library, you can request that it be added. The third great thing is that everything is stored in an industry neutral format, and then converted into whatever format is required for whatever PCB tools the engineers are using. SnapEDA supports Cadence Allegro & OrCAD, Altium, CircuitStudio, DipTrace, Eagle, KiCad, Mentor PADS, P-CAD, PCB123, Proteus, Pulsonix, and Target 3001! In many cases, SnapEDA is seamlessly integrated into these tools.
The chaps and chapesses at SnapEDA must be doing something right because they currently have 1.5 million active users, and this number is increasing every day.
The key thing you need to keep in mind about all this is the extreme depth, accuracy, and quality of SnapEDA’s curated data, including transparency into said data. For example, when you examine a model in the library, you will be informed as to which version of the data sheet this model was created from. The last thing you want is to be working with a CAD model that’s based on a different data sheet to the one you are using as a foundation for your design.
Why is the quality of the data so important (apart from obvious reasons)? Well, SnapEDA has transmogrified itself into a new entity called SnapMagic, which extends all of the company’s existing capabilities with a GenAI called SnapMagic Copilot.
I was just chatting with Natasha Baker, who is the Founder and CEO of the company in all its incarnations. As Natasha told me, the idea behind SnapMagic Copilot is to automate all the boring and repetitive chores that engineers are obliged to perform throughout the design process to bring more joy to their days. This is why the accuracy and quality of SnapMagic’s CAD database is so important because—as ever—the adage “garbage in, garbage out” applies (see the discussions re GitHub Copilot earlier in this column).
As they say at SnapMagic, the goal is to use natural language to interact with your circuit—that is, to give you the ability to chat with your circuit board design in the same way you’d chat with your co-workers. You can even automate entire schematics from scratch. A couple of examples are shown below.
Chatting with your design (Source: SnapMagic)
Help with part selection (Source: SnapMagic)
I can see one use for myself right off the bat. Recently, I’ve been using a lot of PIC microcontrollers from Microchip Technology. There are mindboggling combinations and permutations of data bus widths, clock frequencies, pin counts, interfaces (UART, I2C, SPI, USB, Ethernet), ADCs, DACs, Timers, and… the list goes on. Yes, it’s true that there’s the Microchip Advanced Parts Selector (MAPS), but it makes my head hurt. I would love to be able to chat with my design and say something like “I want an 8-bit PIC with 12 mins that has 2 UARTs, 2 ADCs, and…” Now, that would bring joy into my life.
If you are in any way involved in PCB design—either as a professional or a hobbyist—it wouldn’t hurt to visit the SnapMagic website and click the “Join the Waiting List” or “Join the Beta Test” (I just did so myself). So, what say you to all of this?