I like to solve problems with approaches that are repeatable so that they allow me to iterate in case the first approach is not the right one. This includes scripting, writing utilities using python or C. Nowadays, I prefer python as it allows me to utilize packages that do a lot of the heavy lifting for me.
I have used Siemens PADS Professional for a long time (which was essentially locked down Xpedition with less capability). With Siemens do longer support the Perpetual license, I decided to explore options and I landed upon Cadence Orcad Profession/Allego Layout. One of the biggest challenges with such migration is migrating the large library I had created over the years. I have been using sqlite database for the parametric data for the components. While I was able to reuse it for the most part, there were some things that had to be done differently. For e.g., the values of resistors and capacitors were all in ohms or farads, versus Orcad CIS required me to use the scalar qualifiers such as K, M or u or p for the value. I also had to restructure the tables to make them easier and quicker to use and update in Orcad.
This is where AI comes in. It has been more than a decade since I’ve had to use SQL queries. Also, full blown enterprise DBs work differently than SQLite when it comes to stored procedures and supported functions. I initially tried to write SQL queries and run them using the DB Brower interface to create the new SQLite database for Orcad. It was slow and the UI interface made things cumbersome. I decided to take the python approach and used the free version of ChatGPT to generate the python code for the entire transformation. To be certain, it did not output immediately perfect and usable code. It did require me to understand what the code was trying to do so that I could debug and prompt ChatGPT on what area needed to change. It was apparent that ChatGPT had been trained enough to understand the difference between Oracle functionality and SQLite functionality and with iterative prompting, it did generate 90% of the code that only needed minor tweaks. I finished this migration effort in about an hour from start to end.
I’m certain I am not the first person to utilize this approach and I’m sure I am barely scratching the surface of what more sophisticated systems can do. However, this experience is thought provoking in that in the past before LLMs were so easily accessible, this would have required hours of research and learning on my part, potentially days, as I would have had to think about the logic, code syntax, nuances of SQLite and python, and scouring lots of technical resources. It is easy to see why Stackoverflow, Quora, and even Gig-economy sites such as Upwork are worried or should be worried. Simple one-off tasks like this are now so much easily accomplished, as long as the person responsible has the high-level approach thought out. That also raises another point (which is going to be true for some time), applying AI will require someone who has the systems view of things and can nudge AI towards convergence in a way that makes sense in the human world. That may change in the future, but it is true now. People who were good a low-level mundane and specific tasks need to diversify.