Pages created and updated by Terry Sturtevant Date Posted: October 31, 2019

PC/CP220 Digital Electronics Lab

Introduction to Quartus II Software Design using QSim for Simulation

In this tutorial, we will show you how you capture the schematic design for the automatic door opener circuit using Altera Quartus II software.

The Problem

We are designing a circuit for an automatic door like those you see at supermarkets. The door should open only when a person is detected walking through or when a person presses a switch (such as the wheelchair button) to have the door open. The door should only operate if it has been unlocked.

Flash drive

While working in the lab, you will want to work from a flash drive or your I: drive account.

You have to be careful if you use the C: drive for your work, for a couple of reasons:

If you do that then you will need to copy your directory to your I: drive or flash drive at the end when you are done.

Each time you create a new project in Quartus II, create a new project directory so that all of the files for each project are in one place and not mixed up with files from other projects.

Getting Started with Altera Quartus

Launch the Altera Quartus software. You should see a screen such as this:

opening screen

Creating a New project

Always start by creating a new project first, and then create a BDF file. Do not start by creating a BDF file.

Select the File New Project Wizard; a window like the following will appear.

To select the working directory use the button to browse and select E:\CP220\intro.
For each project you create in Quartus, create a new folder, and make sure all of the files for that project are in that folder.

Name the project DoorOpener. (Note that the next field gets filled in automatically.) Select Finish.
Don't uses spaces in file or directory names.

new project wizard

Creating a new Schematic design

Select File New - A window as seen in the following picture will open.

Select 'Block Diagram/Schematic File' and press OK.


This should open a pane where you will design your circuit. This pane is designated Block1.bdf. Save this graphic design file as DoorOpener in your "intro" directory. The file will be given the bdf extension; bdf stands for block design file and contains schematics, symbols or block diagrams.

Adding text

  1. Select the A below the arrow to the left of your Block Diagram/Schematic File window (also known as the palette).
  2. Select a point near the top left in the window with the left mouse key.
  3. Type your name and then hit the Enter key.
  4. Type your project name and then hit the Enter key.
  5. Type the following equation, f = hc' + pc' , and then hit the Enter key.
  6. Hit the Esc (escape) key to end text additions.

adding text

Adding a Component

  1. Click the library icon.

    library icon

    The Symbol dialog box will appear. This window lists the available Altera libraries as seen in this image.

    adding component

  2. Expand the /altera/quartus13.0sp1/quartus/libraries folder, expand the primitives folder and then expand the logic folder.
  3. In the logic folder, select the and2 component by double clicking on it (or by selecting it with a single click, then selecting OK).
  4. Click the pointer at the desired location in the Block Diagram/Schematic Editor window to insert the AND symbol into the design file.

Repeat these steps to enter an OR (or2) gate and a NOT (not) gate.

(If you wanted to add multiple NOT gates, you could select the Repeat-insert mode box.)

In the same manner that you placed a gate onto the palette, add three input pins and one output pin from the Symbol libraries. Input pins can be found under primitives | pin | inputs. Output pins can be found under primitives | pin | outputs.

Name your input and output pins as you name them in your equation. Double click on the pin name to change its name.
Never use spaces in pin names; e.g. "input 1" is a problem - "input1" and "input_1" are ok.

Rearrange your devices in approximately the placement you would like for the logic diagram you are trying to construct. You can move a component by selecting it with your mouse, holding down the left button and moving it to another location on the palette.

Save your design. It is a good idea to save your design often, just in case something bad happens . Save the bdf file with the same name as the project.
Don't use spaces in any file names.

saving bdf file

Wiring your circuit

Select the orthogonal node tool. Orthogonal 
Node Tool Place your pointer on the output of one of the input pins and hold the left mouse button down. You should see a cross-hairs or + appear at the output.

Drag your pointer to the input of the AND gate. Every time you release the mouse key, the line (wire) ends. If your wire did not reach the AND gate, you can add to the wire by putting your mouse over an end of the wire and again selecting it with your left mouse button and dragging your mouse to another position.
correct wiring
Don't run wires along the edge of a device. This can cause simulation problems.
wires on edges
Don't leave inputs and outputs right next to the chips. Make sure you can actually see some wire between them, otherwise you may have simulation problems.
touching edges

Note: Make sure you do not make the wire too long. If you drag it too far you will see an x; and this is considered an open connection and your design will not compile.

To delete a wire or a portion of a wire, simply click on it (it should change color to indicate selection) and press the delete key.

If wires are connected to the component as you are moving it, the wires will drag and stay connected to the component. This is referred to as "rubber banding" and is a feature of all major schematic entry design packages. (You can turn rubberbanding on and off using the rubberbanding tool.Rubberbanding 
Tool )Add the rest of the wires needed to connect the logic diagram.

The window should look something like image below. Save your design.

finished circuit screen shot


We will not print today. But you will need to know how for your project.

To print, go to File | Print. If you want to change what appears on the printout or how it appears, go to File | Page Setup change print settings. Before printing, you can view what the print will look like by selecting File | Print Preview

Choosing a Device

The programmable device which we'll use for our design can be chosen now.

Select Assignments | Device from the pull-down menu.

assigning a 

Select Cyclone II from the "Family" pull-down list. Any device from the list will do for the simulation.
choosing a Cyclone II device
Choose any device and select "OK."

If you get a message like this, don't worry; it's fine.
logic lock message

Circuit Compilation

You will need to compile your design to ensure you do not have any errors in your circuit (e.g. you do not have any open connections, etc.)

Click on Processing | Start Compilation to start compilation.

compile menu

If you get any error messages, you'll need to fix your circuit before you can simulate it.

Common causes of errors

If you have one of these issues, you need to fix it.

Circuit Simulation

Note: In version 13.0 of Quartus II, QSim can be opened directly from within Quartus II, however it only works with some Cyclone devices. If you've already chosen a non-Cyclone device, switch to any Cyclone II device to do the simulation. Once you know your logic is correct, you can switch back to your original device.

  1. To open QSim, File | New | New University Waveform File.

    new vector waveform file

  2. Select Edit | Insert | Insert Node or Bus.

    insert node or bus

  3. Select Node Finder.

    node finder

  4. node list

    Select List.

    node list

  5. Select the double right arrow to choose all.

    node selection

  6. Select OK.

    node list ok

  7. Select OK.

    insert node ok

  8. If you have multiple inputs, you can select a bunch and group them with one counter.

    group inputs

  9. Select your input(s), and pick Overwrite Count Value.

    overwrite count

    Select OK.

    overwrite count

  10. Select File | Save As to give this file a name in your project directory. It will have a VWF extension for Vector Waveform File.

    save waveform

  11. In the Main window, select Simulation | Options and then select Quartus II Simulator. Select OK.

    assign simulation options

    Note: If you haven't chosen a Cyclone device, the Quartus II Simulator option will be greyed out. In that case, assign the device to any Cyclone II device and recompile.

    simulation settings - Quartus simulation

  12. In the Main window, select Simulation and then select Run Functional Simulation.

    assign simulation settings

    ( Alternatively, you can use the button on the tool bar.)

    assign simulation settings

  13. Now you should see your simulation output with the outputs defined. Note: The file will indicate "read-only" meaning you can't edit it.
    Note: If you have your inputs in a different order than they are here, then your output will look different becuase the input combinations will be in a different sequence.

    simulation output

    You can expand the grouping:

    simulation output with grouped input expanded

  14. You can navigate around the timeline, zoom in and out, etc.

    simulation output zoom

    simulation output zoomed

    simulation output interpret case

    This part of the output shows that when the inputs are all zero, the output is also zero.

    simulation output interpret another

    This part of the output shows that when c and h are low, and p is high, the output is high.

    simulation output interpret one more

    This part of the output shows that when c and p are low, and h is high, the output is also high.

    You can repeat this process to check all of the eight possible input combinations.

  15. Now if you want, you can go back to the simulation settings and choose Timing instead of Functional to see the effects of propagation delay. In the Main window, select Simulation and then select Run Timing Simulation.

    assign simulation settings

    ( Alternatively, you can use the button on the tool bar.)

    assign simulation settings

    simulation output zoomed - timing

Demonstrate the circuit to the lab demonstrator.

After Quartuss II is closed, if you worked on the C: drive, then be sure to copy your directory to the E: drive or to the I: drive. You'll use this project for future labs.


To view pdf documents, you can download Adobe Acrobat Reader .
get Acrobat Reader
If you need to update a browser, you might try Firefox which is Get Firefox!
Since this page uses cascading style sheets for its layout, it will look best with a browser which supports the specifications as fully as possible.

If you are looking for an office package, with a word processor, spreadsheet, etc., you might try LibreOffice which is Get LibreOffice!

Go to the main page for the Department of Physics and Computer Science.

Valid XHTML 1.1

Valid CSS!

WCAG 2.0
(Level AA)

Wilfrid Laurier University