Software installations
CircuitLab
CircuitLab is a nice and user-friendly web application for circuit design and simulation. One of its distinctive features
is its ability to combine analogic and digital circuits.
This should help us to grasp the concrete and truly electronic nature of digital systems.
In that respect, CircuitLab is sufficiently versatile to be used by the NYU Music Technology Music Labs.
This means that its usage goes far beyond what we are going to do with it in the classroom.
The NYU University pays a license for its faculty and students, and
you are thus entitled to freely register to the site which you will find here.
The registration process is easy and you should have no real difficulty to complete it.
First, click on "Create an Account" on the top right corner of the browser.
The most important point to remember at this stage is to use your email address NetID@nyu.edu.
Then, once you have filled in the questionary with your personal information,
the system will offer three choices:
Pick "School" and click "Finish".
A new page then appears with two choices:
-
Get Started with CircuitLab
-
Get Started with the Student Edition
Click "Get Started with the Student Edition" and wait for the new page to appear,
where you should click "Upgrade to Student Edition". Click also to indicate
that you agree with the Overview of Non-Commercial Terms and Conditions.
A confirmation letter should be then sent to you by CircuitLab... and you should be done!
As soon as you are registered, please spend some time to understand how one constructs and simulates basic circuits.
Unix
A nice way to learn how to use Unix is to "play the Unix mage"
and read that spell book
which you will find on this web page.
Note however that we will use the text editor emacs instead of nano.
So it may be a good idea to train yourself in emacs in order
to understand and to feel at ease with the basic commands.
Before that, you will need to install Unix in your computer.
Here follows a few indications about how to proceed depending on your operating system.
If your operating system is Windows: virtual machine.
The simplest option to have access to a Unix system is probably
to run Linux on a virtual machine.
You may for instance download and install the free Virtual Box
here
(see instructions
here)
or
VMWare Player
which you will find
here.
Then, download here
the VMWare image for Ubuntu, a Debian-based Linux operating system.
Then unzip the file and double-click the Ubuntu.vmx file that you have just extracted.
The Linux virtual machine should then load inside the VMWare Player.
If your operating system is Windows: Cygwin.
The simplest option to have access to a Unix system inside Windows is to download
and install the application Cygwin, whose webpage you will find
here.
Please proceed as explained in the setup page.
When asked to select packages, click "devel" and then scroll down to make sure that the box
in the "bin" column next to "gcc" is checked.
This will ensure that gcc is included with the cygwin installation.
To get emacs for Windows, click here.
If your operating system is Mac OSX:
The operating system OSX is built on top of BSD (Berkeley Software Distribution) of Unix.
This means that you already have Unix installed in your computer!
In particular, you can run a Unix shell (user interface) on the Terminal application.
In order to get gcc, you will need to install
Xcode on this web page
if you have not done it already.
It may be also a good idea to install
Homebrew
which is a very useful and well-designed package manager
for your Mac.
Once homebrew installed, you may for instance run it in commande line to install the debugger
Valgrind.
Visual 6502
You do not need any installation for Visual 6502 since it is all written in JavaScript,
and you may thus enjoy it immediately at this webpage.
If you want a direct access to the expert mode of the simulator, you are welcome to click here. If you feel a bit lost in translation, I have also put for your convenience a preliminary description of the 6502 processor here.
Verilog
In order to program and to simulate digital circuits in Verilog, I would advise you to install Icarus Verilog which you can download here together with GTKWave which you can download here.
Another option is to use the on-line simulator EDA playground which you will find here.
QtSPIM
We are now ready to program in MIPS using the QtSPIM simulator which works for Windows as well as for OSX, and which you can download here.
Ed Jorgensen has written a very nice introduction to QtSPIM which you are strongly advised to read carefully, and which you will find on his web page here.
We study three elementary examples of QtSpim assembly codes in the lecture: the computation of the volume and surface of a parallelepiped,
the computation of
the sum of squares of a list,
and the computation of
the median of a list.