A programming tool or software development tool is a computer program that software developers use to create, debug, maintain, or otherwise support other programs and applications. The term usually refers to relatively simple programs, that can be combined to accomplish a task, much as one might use multiple hands to fix a physical object. The most basic tools are a source code editor and a compiler or interpreter , which are used ubiquitously and continuously. Other tools are used more or less depending on the language, development methodology, and individual engineer, often used for a discrete task, like a debugger or profiler. Tools may be discrete programs, executed separately – often from the command line – or may be parts of a single large program, called an integrated development environment (IDE). In many cases, particularly for simpler use, simple ad hoc techniques are used instead of a tool, such as print debugging instead of using a debugger, manual timing (of overall program or section of code) instead of a profiler, or tracking bugs in a text file or spreadsheet instead of a bug tracking system.
24-603: 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 in particular describes EDA specifically with respect to integrated circuits (ICs). The earliest electronic design automation
48-455: A business. Daisy Systems , Mentor Graphics and Valid Logic Systems were all founded around this time and collectively referred to as DMV. In 1981, the U.S. Department of Defense additionally began funding of VHDL as a hardware description language. Within a few years, there were many companies specializing in EDA, each with a slightly different emphasis. The first trade show for EDA was held at
72-668: A common source of program failures. Software tools come in many forms: Integrated development environments combine the features of many tools into one package. They for example make it easier to do specific tasks, such as searching for content only in files in a particular project. IDEs may for example be used for development of enterprise-level applications. Different aspects of IDEs for specific programming languages can be found in this comparison of integrated development environments . [REDACTED] Media related to Programming tools at Wikimedia Commons Design Automation Conference The Design Automation Conference , or DAC ,
96-425: A human write-able and readable source language into the bits and bytes that can be executed by a computer. Interpreters interpret the program on the fly to produce the desired behavior. These programs perform many well defined and repetitive tasks that would nonetheless be time-consuming and error-prone when performed by a human, like laying out parts of a program in memory and fixing up the references between parts of
120-530: A large number of projects per wafer , with several copies of chips from each project remaining preserved. Cooperating fabricators either donated the processed wafers or sold them at cost, as they saw the program as helpful to their own long-term growth. 1981 marked the beginning of EDA as an industry. For many years, the larger electronic companies, such as Hewlett-Packard , Tektronix and Intel , had pursued EDA internally, with managers and developers beginning to spin out of these companies to concentrate on EDA as
144-405: A program as a linker does. Optimizing compilers on the other hand can perform complex transformations on the source code in order to improve the execution speed or other characteristics of a program. This allows a programmer to focus more on higher level, conceptual aspects of a program without worrying about the details of the machine it is running on. Because of the high complexity of software, it
168-557: A software developer uses some programming tools to visualize all kinds of information about programs. For example, a debugger allows a programmer to extract information about a running program in terms of the source language used to program it. The debugger can compute the value of a variable in the source program from the state of the concrete machine by using information stored by the compiler. Memory debuggers can directly point out questionable or outright wrong memory accesses of running programs which may otherwise remain undetected and are
192-401: Is an annual event, a combination of a technical conference and a trade show, both specializing in electronic design automation (EDA). DAC receives approximately 1100 research paper submissions annually. A technical program committee of 266 experts performs a double-blind review, selecting 263 papers for publication in the proceedings. The trade show features approximately 100 companies in
216-430: Is attributed to IBM with the documentation of its 700 series computers in the 1950s. Prior to the development of EDA, integrated circuits were designed by hand and manually laid out. Some advanced shops used geometric software to generate tapes for a Gerber photoplotter , responsible for generating a monochromatic exposure image, but even those copied digital recordings of mechanically drawn components. The process
240-444: Is murky. For example, developers use simple databases (such as a file containing a list of important values ) all the time as tools. However a full-blown database is usually thought of as an application or software in its own right. For many years, computer-assisted software engineering (CASE) tools were sought. Successful tools have proven elusive. In one sense, CASE tools emphasized design and architecture support, such as for UML. But
264-402: Is not possible to understand most programs at a single glance even for the most experienced software developer. The abstractions provided by high-level programming languages also make it harder to understand the connection between the source code written by a programmer and the actual program's behaviour. In order to find bugs in programs and to prevent creating new bugs when extending a program,
SECTION 10
#1733093280184288-518: Is the oldest and largest conference in EDA, starting in 1964. It grew out of the SHARE ("Society to Help Avoid Redundant Effort") design automation workshop. Its originators Marie Pistilli and Pasquale (Pat) Pistilli were honored by the EDA community. Pat received the highest honor in EDA industry, the Phil Kaufman Award , for this effort, and Marie was honored by having an award established in her name,
312-735: The Design Automation Conference in 1984 and in 1986, Verilog , another popular high-level design language, was first introduced as a hardware description language by Gateway Design Automation . Simulators quickly followed these introductions, permitting direct simulation of chip designs and executable specifications. Within several years, back-ends were developed to perform logic synthesis . Current digital flows are extremely modular, with front ends producing standardized design descriptions that compile into invocations of units similar to cells without regard to their individual technology. Cells implement logic or other electronic functions via
336-489: The Espresso heuristic logic minimizer , responsible for circuit complexity reductions and Magic , a computer-aided design platform. Another crucial development was the formation of MOSIS , a consortium of universities and fabricators that developed an inexpensive way to train student chip designers by producing real integrated circuits. The basic concept was to use reliable, low-cost, relatively low-technology IC processes and pack
360-472: The Marie Pistilli Award . Up until the mid-'70s, DAC had sessions on all types of design automation, including mechanical and architectural. After that, for all intents and purposes, the focus shifted to electronic design. Currently, the topics at DAC also include embedded systems , autonomous systems , Artificial Intelligence hardware, hardware security , and Intellectual Property. Also until
384-936: The components are, in general, less ideal. EDA for electronics has rapidly increased in importance with the continuous scaling of semiconductor technology. Some users are foundry operators, who operate the semiconductor fabrication facilities ("fabs") and additional individuals responsible for utilising the technology design-service companies who use EDA software to evaluate an incoming design for manufacturing readiness. EDA tools are also used for programming design functionality into FPGAs or field-programmable gate arrays, customisable integrated circuit designs. Design flow primarily remains characterised via several primary components; these include: Market capitalization and company name as of March 2023: Market capitalization and company name as of December 2011: Many EDA companies acquire small companies with software or other technology that can be adapted to their core business. Most of
408-537: The field of design automation such as Cadence Design Systems , Synopsys , Siemens EDA and Ansys . Over the past few years the conference location has been alternating among Austin and San Francisco . The conference is usually held in June. DAC is sponsored by two professional societies: in technical cooperation with IEEE-SSCS ( IEEE Solid-State Circuits Society ). DAC is organized by hundreds of volunteer committee members from EDA companies and academia. DAC
432-425: The languages and tools have evolved, this general approach of specifying the desired behavior in a textual programming language and letting the tools derive the detailed physical design remains the basis of digital IC design today. The earliest EDA tools were produced academically. One of the most famous was the "Berkeley VLSI Tools Tarball", a set of UNIX utilities used to design early VLSI systems. Widely used were
456-551: The large majority of the developments of the time. The next era began following the publication of "Introduction to VLSI Systems" by Carver Mead and Lynn Conway in 1980; considered the standard textbook for chip design. The result was an increase in the complexity of the chips that could be designed, with improved access to design verification tools that used logic simulation . The chips were easier to lay out and more likely to function correctly, since their designs could be simulated more thoroughly prior to construction. Although
480-462: The market leaders are amalgamations of many smaller companies and this trend is helped by the tendency of software companies to design tools as accessories that fit naturally into a larger vendor's suite of programs on digital circuitry ; many new tools incorporate analog design and mixed systems. This is happening due to a trend to place entire electronic systems on a single chip . Software tools The distinction between tools and applications
504-449: The mid-'70s, DAC was strictly a technical conference. Then a few companies started to request space to show their products, and within a few years, the trade show portion of DAC became the main focus of the event. The first commercial DAC was held in June 1984. As a rough metric of the importance of the trade show portion, about 6,300 people attended DAC in 2018, whereas ICCAD, at least as strong technically but with no trade show, drew perhaps
SECTION 20
#1733093280184528-402: The most successful of these tools are IDEs. Modern computers are very complex and in order to productively program them, various abstractions are needed. For example, rather than writing down a program's binary representation a programmer will write a program in a programming language like C, Java or Python. Programming tools like assemblers , compilers and linkers translate a program from
552-480: The utilisation of a particular integrated circuit technology. Fabricators generally provide libraries of components for their production processes, with simulation models that fit standard simulation tools. Most analog circuits are still designed in a manual fashion, requiring specialist knowledge that is unique to analog design (such as matching concepts). Hence, analog EDA tools are far less modular, since many more functions are required, they interact more strongly and
576-416: Was fundamentally graphic, with the translation from electronics to graphics done manually; the best-known company from this era was Calma , whose GDSII format is still in use today. By the mid-1970s, developers started to automate circuit design in addition to drafting and the first placement and routing tools were developed; as this occurred, the proceedings of the Design Automation Conference catalogued
#183816