Electronic design automation (EDA), also referred to as electronic computer-aided design (ECAD), is a category of software tools for designing electronic systems such as integrated circuits and printed circuit boards. The tools work together in a design flow that chip designers use to design and analyze entire semiconductor chips. Since a modern semiconductor chip can have billions of components, EDA tools are essential for their design.
This article describes EDA specifically with respect to integrated circuits (ICs).
The term Electronic Design Automation (EDA) refers to the tools that are used to design and verify integrated circuits (ICs), printed circuit boards (PCBs), and electronic systems, in general. Over time, these early computer-aided drafting tools evolved into interactive programs that performed integrated circuit layout. Other companies like Racal-Redac, SCI-Cards, and Telesis created equivalent layout programs for printed circuit boards. These integrated circuit and circuit board layout programs became known as Computer-Aided Design (CAD) tools. The companies promoting front-end tools for schematic capture and simulation classed them as Computer-Aided Engineering (CAE). The term “automation” refers to the ability for end-users to augment, customize, and drive the capabilities of electronic design and verification tools by means of a scripting language and associated support utilities. There are a wide variety of programming languages available, but—excepting specialist application areas—the most commonly used by far are traditional C and its object-oriented offspring, C++. A gate-level netlist refers to a circuit representation at the level of individual logic gates, registers, and other simple functions. The netlist will also specify the connections (wires) between the various gates and functions. A component-level netlist refers to a circuit representation at the level of individual components. System programming languages such as C, C++, and Java™ are designed to allow programmers to build data structures, algorithms, and—ultimately—applications from the ground up.