About me

Course Work




Introduction to LogicWorks

BEFORE STARTING: Please make sure that you have LogicWorks version 4.1 or later. The update for those of you who have 4.04 please download the free upgrade.

This page is here to introduce you to LogicWorks, the digital circuit simulation tool that you will be using for the semester. This program is available to use in the labs or can be purchased from the Co-op. LogicWorks is produced by Capilano. LogicWorks is the lightweight student version of the professional package called DesignWorks. Having used a number of different tools, I can verify that LogicWorks has the smallest learning curve while retaining most of the design power of larger tools.

When you first launch the program (Start -- Programs -- LogicWorks) you will see several windows in front of you. The main window contains an empty design. At the top, there is a tool bar. To the right you will see a drop-down list of libraries. Below the list is a preview window that shows you the part you have selected from the list below. In the filter area you can type the first few letters of a part that you are looking for and it will reduce the list to only those that match. Across the bottom of your screen you will see a timing window. We will not be using that until the middle of the semester.

Let's implement a small circuit to get started. Assuming that you have already worked out your truth table and reduced our equations to the following

F = AB'C + BC + C'

To implement this we start by looking for a Binary Switch.

One you find this in the parts list on the right, double-click it to select the part. Move it over the empty design window. To rotate the part before you drop it, press the arrow keys (practice this as hitting a direction twice has an unusual impact). To drop the part into the drawing click where you want the copy of the part to land. Each time you click, you will drop more parts. Press ESC to clear the part and return to the pointer tool.

Now look for the NOT gate. There are several of them in the list. They are all the same except for the one labeled NOT O.C.. Drop one per switch as shown below.

Notice the pink letters that appeared with the gate NOT INA. This is a label that automatically appears on this part that we do not want. To get rid of it, we will delete it the same way we can delete any part or any wire in the schematic that we no longer want. Press Ctrl-H or click on the lightning bolt in the tool bar. This is the zapper tool. The active part of the tool is the very tip of the lightning bolt. Use it to delete the text, but not the NOT gates from the schematic.

Now let's practice moving the parts on the screen. Most parts move easily. Try moving the NOT gates three spaces to the left. For the first one, drag the part over three spaces. For the next one, highlight the part and then use the arrow keys to move it over. Do the same for the last gate. Your schematic should now look like the one shown below. Be aware: some parts will not move so easily. In particular any part that has moving parts (binary switches and hex keypads) have to be moved a little differently. You can highlight them and move them with the arrow keys. Alternately you can hold the shift key while you click and drag the part. If the part is already highlighted this will remove the highlighting - just try again, you'll get it!

Next, you will want to generally label your inputs so you don't forget what they are. To do this, click on the letter A in the tool bar or press Ctrl-E to edit text on the screen. Clicking above each of the switches we will label them from right to left, A, B, C

Labeling them in this order allows us to add another signal later if we realize that we forgot one. If your labels fall in the wrong spot, you can always move them later. They should appear as black text. Pink text means that you have labeled a part or a signal - we will do this later. For now you want to drop text that is not associated with a part. If you make a mistake, zap it and try again.

This is the basic setup for more circuits that we will design. Next we pull in the AND-3 and AND-2 gates that will be used to implement the equation we started with.

To connect these parts we need to draw wires. One approach is to grab the end of a pin and drag it to where we want it connected. The other is to select the thin looking plus sign in the tool bar. The thicker one is for drawing buses - see the other web pages for more information. Connect the gates as shown below to create AB'C in the 3-input AND gate and BC in the 2-input AND gate.

To complete the equation we need an OR gate with 3-inputs. This is connected as shown below

Now that the circuit is built, we need a way of seeing what the output is. Several options exist to do this. The tool that looks like a magnifying glass with a question mark in it is a probe. When you click on a wire it will show you the value on that wire. In general, I want to see the signal while I'm changing the inputs, so I choose the Binary Probe from the parts list. To be as useful as possible, you will generally want to run the probes for the final outputs of your circuit back to your input switchs. This allows you to quickly change the inputs and see different results. Don't forget to label any binary switches you place on your schematic so you (and I) know what they are showing.

The last step is to clean up the schematic. There are unused parts near the inputs so we can delete these. See the tutorial on circuit layout for additional pieces of information and how to label your parts with U-numbers.

Congratulations - you have just finished your first LogicWorks circuit. If you have not already saved your work make sure you do now. ALWAYS save often while you are working. If you are going to try a major change, make an extra copy under a different name. That way if you don't like the change or really make a big mistake, you can always fall back on the other copy.

Shortcut Quick Reference

  • Ctrl-X -- Cut
  • Ctrl-C -- Copy
  • Ctrl-V -- Paste
  • Ctrl-Shift-E -- Enlarge
  • Ctrl-Shift-R -- Reduce
  • Ctrl-S -- SAVE!!!
  • Ctrl-Z -- Undo (oops)
  • Ctrl-Shift-Z -- redo (un-oops)
  • Ctrl-B -- New Breakout
  • Arrow Keys -- Rotate a part before dropping it (check Num-lock)
  • Ctrl-E -- Edit Text Tool
  • Ctrl-H -- Zapper (delete) Tool
  • Ctrl-Shift-S -- Signal Drawing Tool
  • ESC -- Pointer Tool (usually)
Last Modified: - Barry E. Mapen