HW 6 - Digital Schematics#
The intent of this HW is to teach you how to draw and simulate digital logic schematics.
Download Digital#
Download Digital from GitHub.
Unzip Digital and copy the entire unzipped folder to someplace convenient.
You don’t actually need to install Digital; you can just run the
Digital.exe
by double clicking on it.You may be prompted to install Java Runtime.
On a MissionNet computer you can install from the Self Service Client.
On another computer you can follow the link or search it on the web.
Warning
You must download and extract the contents of the zip file then run Digital.exe from the extracted folder. If you try to run Digital from within the zip file you will get an error. See the video below for more details.
Half adder, again#
Let’s revisit the half adder!
Run Digital
It should open an empty file, but if it doesn’t create a new file.
Now, create a half adder!
Components > IO > Input
Components > IO > Output
Components > Logic > AND
Components > LOGIC > XOR
Connect everything with wires. For example, click the red dot on the right side of one input, then click the blue dot on the left side of a logic gate. While dragging a new wire you can click on the grid to make it turn 90 degrees. You can also click on an existing wire to start a wire from that point. A dot (solder joint) on two wires shows that they are connected at that dot!
Right click on each of the inputs and outputs and give them a Label (
i_A
,i_B
,o_S
, ando_Cout
).File > Save As and name your file halfAdder.dig
You can now simulate the circuit to see if it works as expected.
Simulation > Start of Simulation or the play button in the center tool bar.
Then click inputs to see if outputs behave as expected!
If you’d like an intro to building and running a circuit in Digital, please see this video below.
Submission#
Upload halfAdder.dig to the gradescope assignment.
Important
You must use the exact label names that we specified above, otherwise the autograder will not work.
This is actually very realistic; engineers have to design interfaces that work with external systems according to published standards!