Lab 1 - EE 421L
Authored
by Martin Jaime
email: jaimem5 at the UNLV students domain
September 6, 2016
Pre-lab work:
- The lab reports will be drafted using html and placed on CMOSedu.
- Prior
to the first day of lab, but no earlier than one week before the lab
starts, get a CMOSedu account, using your UNLV email address, from Dr.
Baker, rjacobbaker@gmail.com
- Review the material seen here covering editing webpages (do this before the first lab)
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.
When modifying .bashrc, ensure to resource it by running source ~/.bashrc. In the CMOSedu directory, the cds.lib file has the following definitions.
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.
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.
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'.
After clicking the "check and save" button, the CIW will display the following.
After launching Spectre, set a transient analysis on one second, analyzing the input and the output of the circuit.
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.
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