Predicting the future is always risky, but it’s certainly going to be exciting!
A few weeks ago, I was chatting with an electrical engineering student. It seems his class has been learning about some of the tools we use to design integrated circuits (ICs) and printed circuit boards (PCBs). He asked, “How will engineers design electronic products in the future?”
How things were
When I started my career as a hardware design engineer in the early 1980s, the only design tools available to me were pencils and paper. We created our schematic (circuit) diagrams as netlists of logic gates and registers.
When it came to timing verification, we identified the critical paths by eye and then summed the gate and wire delays by hand (no one I knew could afford even a 4-function handheld electronic calculator).
In the case of functional verification, you gathered the rest of the team, who sat around the table perusing and pondering your schematics while asking probing questions about your design along the lines of “What does this bit do?” and “Why did you do things this way rather than that way?”
How things are
Engineers designing electronic products today are equipped with an array of sophisticated design, analysis, and verification tools. At the PCB level, for example, design engineers have access to incredibly sophisticated schematic capture technology integrated with tools like search engines that aggregate parts from distributers and inform the designers as to component availability in real time.
For those designing application-specific integrated circuit (ASIC) and system-on-chip (SoC) devices, some amazing tools are available, including high-level synthesis (HLS) in which designers essentially describe what they want at a high level of abstraction and the tool translates this into the netlist of gates and registers that will achieve the specified requirements (size, performance, power consumption…).
As far as I’m concerned, compared to the way things were, we’re already living in the future, but much more is to come.
How things will be
I think one of the biggest changes we will see going forward is the integration of artificial intelligence (AI) and machine learning (ML) into existing software and hardware design tools and flows.
For example, the internet hosting platform for software development and version control, GitHub, has developed something called Copilot. This uses artificial intelligence that has been trained on billions of lines of existing code to help software developers create their programs.
Using their favourite editor, the developers can start typing comments or code and Copilot will immediately start making suggestions. I have one C/C++ programmer friend who says Copilot has boosted his productivity by an order of magnitude. Another friend who creates field-programmable gate array (FPGA)-based designs says that Copilot also works with hardware description languages (HDLs) like Verilog and VHDL, which are used by FPGA, ASIC, and SoC designers to capture their design intent.
Similarly, we are starting to see the first toes being dipped into the waters of AI-enabled hardware design. Also, we are starting to see the early use of augmented reality (AR) systems as interfaces into our hardware and software design, analysis, and verification tools. Predicting the future is always prone to error, but I think it’s safe to say that—if nothing else—it’s going to be exciting!