There is some background work that needs to be done before diving in and designing integrated circuits.
First, ones has to pick a process to design in. I probably won’t be doing very much layout or fabrication on this blog since it can be quite expensive, even using multi-project services like MOSIS. That said, there is still a real need for circuit simulation software and models for a handful of devices.
ON Semiconductors C5 process (0.5um CMOS)is a great choice. There are models available on the web Here. The SPICE model file only includes NMOS and PMOS devices. Of course models are needed for diodes, BJTs, and resistors, but this is a good start. Also this is one of the few processes where a physical design kit(PDK) and open CAD software such as Electric are available for free. Typically, the PDK includes all of the specific information that one would need to design in a particular process. This includes: Design Rule Checking (DRC), LVS (Layout vs. Schematic), PCELLS (parameterized drawings of each device in the process), and models for simulation. Foundries usually only supply PDKs for a handful of CAD tools like the ones from Cadence, Mentor Graphics, and Synopsys.
For circuit simulation software, there a number of free circuit simulators. I’m going to be using Ngspice which is an open-source simulator based on an updated version of Berkley’s original SPICE simulator. There is no official GUI for this simulator, but it is actually quite easy to write net lists by hand. In addition, there are a number of free schematic capture programs to generate netlists graphically. I'm going to use Xcircuit because it not only creates netlists, but also makes publication quality schematics. Xcircuit has a clunky gui and crashes more frequently than I'd like, but overall the good outweighs the bad.