VLSI Source

Resources on CMOS design for University of Idaho ECE students

Throughout Spring 2013, Dr. Suat Ay and Anthony Kanago are compiling a set of video training modules for students in the electronics courses offered by our program. Currently, video resources are planned for ECE 310, 311, 410, 440, and 465/565 with more to come. Videos are approximately 5-25 minutes in length and are compatible with most mobiles devices.

CMOS Courses Offered

Currently, the following courses are being offered or plan to be offered in the next few years at the University of Idaho:
  • ECE 310: Fundamentals of Electronics - Basics of semiconductors and MOS amplifier design; small-signal analysis, dioes, bipolar transistors, and MOS transistors
  • ECE 311: Fundamantals Lab - Design and construction of circuits, introduction to Cadence and HSPICE
  • ECE 410: Advanced Electronics - MOS amplifier design, including operation amplifiers, biasing, and stability analysis; advanced use of HSPICE
  • ECE 413: Communication Circuits
  • ECE 415: Analog Integrated Circuit Design - Advanced MOS amplifier design, oscillators, filters, PLL design
  • ECE 417: Pulse and Digital Circuits - Introduction to digital and mixed-signal VLSI design; sequential circuits, multivibrators, oscillators, digital PLL design, ADC, and DAC design
  • ECE 419: CMOS Imager Design - Introduction to CMOS imager design including pixel design and layout, readout circuits, and chip architecture
  • ECE 445: Introduction to VLSI Design - VLSI design from a digital perspective; high-speed logic families, memory circuits, timing analysis
  • ECE 465: Microelectronics Fabrication - Fabrication and manufacturing of integrated circuits

Throughout these courses, students will get hands-on experience with modern, industry-standard CAD packages including:

  • Cadence
    • Virtuoso - schematic and layout
    • ADE - simulation interface
    • Spectre - simulator
    • RTL Compiler - digital synthesis
    • Encounter - digital place and route
  • Synopsys
    • HSPICE - gold-standard simulator
    • Design Compiler - digital synthesis
    • Sentaurus - TCAD process and device simulation
    • VCS - VHDL and Verilog simulator

VLSI Research

Presently, there are several groups within our department actively engaged in VLSI-related research.

VLSI Sensors Research Group

The VLSI Sensors Research Group, or VSRG, is composed of Dr. Suat Ay, graduate students, and undergraduates performing research in topics such as CMOS imagers, mixed-signal design, and ultra-low-power power management systems. More information can be found on the VSRG homepage.

Training Videos


Students must access the CAD servers either from on-campus or utilizing the campus VPN service. Information for off-campus students on how to setup VPN access can be found here.

Videos require the Flash browser plugin, available here.

Videos: Setup

Resources on topics such as setting up remote desktop access to our CAD servers and VPN access for off-campus students.

Setup: Accessing the Environment

Tips & Resources:

  • Download the NoMachine - NX Client here
  • Sign up for Vandal VPN for access from home
  • Mac OSX users - please install XQuartz and OpenNX, then restart your computer, and open the OpenNX configuration wizard. This will act similar to NX for Windows users. Ignore any warnings you see about CUPS.

Review & Tips:

  • Run cadsetup ams035 and setuppdk ams035 to set up your environment and work directory respectively.
  • The models for AMS 0.35u are located at /tools.new/examples/pdk/ams035/hspiceS/c35/cmos49.lib.

Planned Videos:
  • Setting up VPN Access
  • Submitting Design Files
  • Linux Overview

Videos: Cadence

Resources on setting up and utilizing the Cadence IC 6.1.5 design suite for schematic capture, simulation, and layout of custom integrated circuits.

Cadence: Schematic Entry and Simulation

Review & Tips:

  • Run cadsetup and virtuoso to start Cadence.
  • Remember that some windows will pop-up behind your Library Manager or Schematic window!
  • When simulations fail, it's probably a mistake in your schematic or ADE setup, so try and debug on your own before asking for help.

Tips & Tricks:

  • Remember that to reference a model correctly, the diode must be given the correct name. In this video, the desired name is "D1N4002".
  • When selecting a model library in ADE, check the drop-down menu at the top first. It remembers recently accessed folders, so you don't always need to look around for the folder you want!

Tips & Tricks:

  • Make sure you save your images with descriptive names so you don't forget their purpose.
  • Instead of using your email, you can use a service like Dropbox to store and recall your files.
  • Keep it simple - email all files to yourself at the end of the project.

Review & Tips:

  • Use Operating Point analysis for sanity-checking your circuit or for quick debugging.
  • Use a DC sweep to look at the DC response of a circuit while changing a parameter, such as input voltage, or a component property, like resistance.
  • To plot a swept signal manually using an expression, use VF("/signal") to plot an AC analysis voltage, VT("/signal") to plot a transient voltage, or VS("/signal") for a DC voltage. If you want a current, simply replace "V" with "I", such as IS("/signal") for a DC current.
  • AC simulations look at the response of a circuit to a small-signal input. Use the dB20() function to plot the gain of a circuit, such as: dB20(abs(VF("/vout")/VF("/vin"))). Use phase(VF("/vout")/VF("/vin")) to plot the phase.
  • Transient sweeps are useful and often necessary, but be wary of using it for early circuit debugging or trying to calculate a parameter such as voltage gain when another analysis may be better suited.
  • Parametric analyses are a good way to look at a wide range of conditions for your circuit, so they are useful when selecting component values or verifying a circuit under changing conditions like temperature.
  • If you want to plot a differential voltage, setup an output with the expression (VT("/vin+") - VT("/vin-")), in this case where vin is your differential signal composed of two nodes, vin+ and vin-.

Review & Tips:

  • Plot GM using the GMO function, and VTH using the VTH function. Be sure to click "save" for the output in ADE, and when the waveforms appear, be sure to use the menu File -> Open Results, select the PSF file, and select GM and VTH from this menu. They won't appear autom
  • Plot IDS using the terminal of the drain-side voltage source (or resistor, if you are providing a load), but expect it to be -IDS. To correct this, setup an output called IDS which has an expression -1 * IS("/VSource/PLUS") corresponding to your source/resistor name.
  • To plot Rout, use the deriv() function, and be sure to take 1 / deriv(IDS)!

Cadence: Accessing Reference Libraries

Review & Tips:

  • Add a new library reference by opening the Library Manager and using Edit -> Library Path
  • ECE 410 students can begin by adding the lbrary called ece410 located at /tools.new/examples/analog/ece410

Planned Videos:
  • Amplifier Design Example
  • Basic Layout
  • Synthesis and Place and Route

Videos: Synopsys

Planned Videos:
  • Introduction to HSPICE
  • Synthesis with DesignCompiler
  • Static Timing Analysis with PrimeTime
  • Digital Simulation with VCS

Linux Resources

Here are some useful commands for the Linux systems which might help you out in navigating your files and directories. This is only intended to be a quick reference for students. For more information on any command, simply type man command in the terminal. For example, if you want more information about mkdir, simply run man mkdir. For more information about the Linux environment and command line, read more at linux.about.com - Linux Basics

result of man page command
Example usage of the `man` command using man mkdir.

  • cd - Change directory: cd foldername
  • pwd - Print directory you are currently working in
  • ls - List contents of directory
  • ls -al - List all contents of directory, including hidden files/folders, and show additional detail
  • mkdir - Create new directory: mkdir dirname
  • rm - Remove file: rm filename
  • cp - Copy file: cp source destination
  • cp -r - Copy directory: cp source destination
  • mv - Move file or folder: mv source destination

Contact Us

For help accessing the Linux systems as an on-campus or outreach student, contact the instructor of your course. For questions regarding a CAD tool or about the videos, contact Anthony Kanago at . For questions about the department, course offerings, or scheduling a visit, contact Arleen, our administrative assistant.