Lab 1 - EE 421L 

Authored by Martin Jaime

email: jaimem5 at the UNLV students domain

September 6, 2016 


Pre-lab work:

 


This lab will go through the first part of Tutorial 1 for Cadence seen here. This lab focuses on interfacing with the Cadence software running on a remote server through a command line interface with ssh using X11 forwarding.
 
The part that we cover in Tutorial 1 is setting up Cadence, laying out a circuit schematic, and simulating it using Cadence's Spectre simulation software.

Fortunately, I already had a working environment of Cadence.

ssh into the remote server with ssh -Y <username>@csimcluster.ee.unlv.edu. The -Y flag is used to forward X11 graphics. This way, the user can interface with the graphical user interface of Cadence. See the manual page for ssh for more details.

In .bashrc, the following lines define environment variables for Cadence.
 
media/fig01.fig

 

When modifying .bashrc, ensure to resource it by running source ~/.bashrc. In the CMOSedu directory, the cds.lib file has the following definitions.

 

media/fig03.jpg

 

 

We also set Spectre as the default simulator. It also helps to set the background color to white when graphing simulation results. Note that semicolons are used as comments. Anything after the semicolon after the semicolon will be ignored.

 

media/fig04.jpg
 

Once the environment is set up to work with Cadence, start with virtuoso &. The ampersand is used to run Cadence in the background to maintain control of the command line. 

 

Once all the windows are loaded, you will see the Command Interpreter Window (CIW) and the Library Manager window.


media/fig05.jpg

 

After creating a new Library for Tutorial 1 and a new cell for the circuit, add two 10k resistors for a voltage divider, a voltage source of 1 V, and a reference point (gnd). Wire up the circuit components by pressing the shortcut key 'w'.

 

media/fig07.jpg


After clicking the "check and save" button, the CIW will display the following.
 
media/fig08.jpg
 

After launching Spectre, set a transient analysis on one second, analyzing the input and the output of the circuit.

 

media/fig10.jpg media/fig09.jpg

 

Always ensure that simulation configurations are saved so that they can easily be run again to avoid setting them up again by going to Session > Save State and selecting Cellview. Loading a saved state can be easily done with Session > Load State and selecting Cellview. Finally, pressing the green "Netlist and Run button will run the simulation and graph the results in a new Window.

 

media/fig11.jpg
 

 
Version Control and Backup
 
To maintain backups and control versions of the reports made for this laboratory, I will use a version control tool called git and the web service github.com. At the root of the directory where all the reports and media reside, run the following to initiate a git repository, stage all the files, and commit the changes.
 
    git init
    git add . # adds all the files in the current directory.
    git commit -m "Initial commit." # Commits the changes (added files)

 

After signing in on github.com, create a new repository by clicking on the top right plus symbol and select "New Repository". Enter a name. I chose "CMOSedu-Reports". Click on the "Create Repository" button.Copy the repository url. Mine was "https://github.com/martinjaime/CMOSedu-Reports.git".

 

Back on the command line, at the root of the reports' directory, run the following to add a remote repository that points to github, and finally push the files to github.

 
    git remote add origin https://github.com/martinjaime/CMOSedu-Reports.git
    git push -u origin master


The -u flag sets the master branch at the origin remote as the upstream so that whenever you run git push, it pushes to that remote repository automatically. Note that whenever you run git push, github will prompt you for your github credentials.


After making new changes, run git commit -am "<message>" and git push to upload your changes to the remote repository. It is good practice to make many small commits during your workflow. See the tutorials and documentation at git-scm.com for more information on how to use the git command.


EE421L Lab Student Listing | My Lab Directory | EE421 Home Page