Assignment 3 | |
Parallel Programming Assignments |
60 pts |
Speedes |
Due: Mar 29 |
As discussed on 4/14, this assignment is an extension of the
Speedes-based circuit simulation. The simulation code
is here.
The archive contains the code, make file and the
flip-flop input example.
Unzip it on the cluster where you like. It creates a directory
circ
, and the make
command
will build the executable gates1
.
As we discussed, please add two devices, a connector and a numeric display. The connector is essentially a not gate that doesn't invert and doesn't delay. It allows one inbound connection and forwards all received signals to any number of outbound connections at the same time they were received. Since C is taken, assign it J for "Join" in the input file.
The numeric display takes any number of inputs and
displays the decimal value of its input signal taken as a binary
number. Treat the first input line, a
in the input file
format, as the low-order bit. Print the value whenever the
input changes. Give this device type the letter D.
Also let the numeric display be configurable with an output message as
an LED is.
Also as noted on Thursday, this will
require you to add these two letters to the list in connector.C
,
and to increase NUMLETS
in the header file. You will also need to
add cases to the xmit
method in connector.C
, and
update Main.C
to
plug your new objects into the simulation.
You may put the new classes into new files, or add them
to existing files. If you create new .C
files, you must add them to the
list of SRCS
in the Makefile
for building.
The documentation for Speedes is available at
www.speedes.com
.
If you are at all curious,
the source code is on the chicago node under /usr/speedes
.
To send your modified program back, recreate the archive with
make gate.tgz
. If you add files needed to build the
program, first add their names to the PACKFILES
variable
near the bottom of the Makefile
.
Then send it
here.