Project update 4 of 7
Chip design is a complex process, but this overview from the FOSSI Foundation explains it well:
The starting point of a digital hardware design is a hardware description, most often a hardware description language, sometimes schematic. This is the source code of a design. This is then synthesized (compiled) into a netlist that is the structural definition of the hardware design. The next major step is the Implementation and Placement & Routing of the design to the actual hardware output. In the case of a chip (ASIC) this step results in the creation of masks for silicon production.
Image credit: Einfochips blog
The Maverick-603 was designed using a similar flow to the one shown above. But what makes our chip different is that we completed this process with only open source tools. Usually chip design requires expensive and robust software, but with the help of platforms like eFabless’ OpenGalaxy we were able to create a tool chain suited to our chip’s specifications.
Magic and Ngspice are some of the most popular and well known open source chip design tools and are a good introduction to the open silicon tool chain.
Magic is a venerable VLSI layout tool, written in the 1980’s at UC Berkeley by John Ousterhout. It’s now famous primarily for writing the scripting interpreter language Tcl. The open-source license has allowed VLSI engineers with a bent toward programming to implement clever ideas and help Magic stay abreast of fabrication technology. Magic is widely cited as being the easiest tool to use for circuit layout, even for people who ultimately rely on commercial tools for their product design flow.
Ngspice is a mixed-level/mixed-signal circuit simulator. Its code is based on three open source software packages: Spice3f5, Cider1b1 and Xspice. Ngspice is the open source successor to these venerable packages. Many modifications, bug fixes, and improvements have been added to the code, yielding a stable and reliable simulator.