Lab Session # 1 Introduction To QUARTUS II Software
Lab Session # 1 Introduction To QUARTUS II Software
1. Introduction
In this experiment, you will get introduced to Quartus II Web Edition Software (version 13.1) and use it
to design digital circuits and verify their functionalities.
2. Objectives
By the end of this lab experiment, students will be able to:
• Create a project.
• Enter a design as a schematic diagram using Quartus II graphic editor.
• Enter a design in hardware description language Verilog using a Text editor.
• Synthesize a circuit from the schematic diagram / Verilog code.
• Simulate the designed circuit using the waveform editor to verify its functionality.
• Create a symbol from design files.
.qpf
Quartus Project File
(in main project Folder)
Creation of Project
.qsf
(in main project Folder) Quartus Settings File
.bdf
(in main project Folder) Block Design File
Design Entry
.v
(in main project Folder) Verilog File
.map.rpt
Analysis & Synthesis Mapping report file
(in “output_files” Folder)
.vwf
(in main project Folder) Vector Waveform File
Functional
Simulation
.sim.vwf
(in “simulation/qsim” Folder) Vector Waveform File
.bsf
Symbol (in main project Folder) Block Symbol File
Each logic circuit, or subcircuit, being designed with Quartus II Software is called a Project. The software
works on one project at a time and keeps all information for that project in a single directory (folder) in
the file system. To begin a new logic circuit design, the first step is to Create a Project.
6. The first page in the New Project Wizard is an Introduction (Figure 4). You can simply skip it →
Next. If you don’t want to view this introduction page again, you can check the small box at the
bottom of this page before you click Next.
11. In the new window for the Family & Device Settings, choose the Device Family Cyclone IV E and
the Device Name EP4CE115F29C7, which is the Cyclone Device on the board (Figure 6) → Click
on Next.
12. A new window opens for third-party tools. As there are no such tools to be added, just leave it as
it is (Figure 7) → Click on Next.
Figure 7: Tools Settings for the New Project
13. A new window with the summary of the chosen settings will appear (Figure 8) → Click on Finish.
14. Main Quartus window appears. Verify the new project name Lab1, the top-level entity name ex1,
as well as the project directory/path location appears in the display title bar (Figure 9).
Problem Statement 1:
ii. Select File (from top menu bar) → Save As. Save as type choose Block
Diagram/Schematic File (*.bdf).
iii. In the box labeled File name check the default name as ex1.
iv. Put a checkmark in the box Add file to current project (Figure 13) → Click on Save.
iii. A symbol in the Graphic Editor window can be moved by clicking on it and dragging it to
a new location with the mouse button Pressed. Repeat this step for all the logic gates
required for the design.
iii. Click on Start Analysis & Synthesis icon on the top menu bar (Figure 18).
iv. If there are no errors, a pop-up window appears stating Analysis & Synthesis was
successful (Figure 19).
Figure 19: Successful Analysis & Synthesis
3.3 Design Entry - Verilog HDL Using Text Editor (Circuitv Block)
Verilog HDL (referred in short as Verilog) is a hardware description language that has a syntax similar to
C programming language and is used to write descriptions of large circuits, in a relatively compact form.
Problem Statement 2:
ii. Select File (top menu bar) → Save As. In Save as type choose Verilog HDL File (*.v).
iii. Change the default name Verilog1 and type the verilog module name ex2 It is
mandatory that the module name and the verilog file names are Identical.
iv. Put a checkmark in the box Add file to current project (Figure 21) → Click on Save.
v. A Text Editor window opens and the name of the file ex2.v appears at the top.
vi. Type in the verilog code shown below.
// ex1 in Verilog
assign aorb = a | b ;
assign aorb = ~a ;
endmodule
Figure 22: Complete Verilog HDL Design (File saved as module name)
Note: The top-level design entity is always the file that will be analyzed, compiled,
simulated or processed (i.e., a symbol is created for it). Make sure correct design file is
always set as Top-level entity.
input output
0 0 0 0 1
0 1 0 1 1
1 0 0 1 0
1 1 1 1 0
3.4.1 Create a Waveform (.vwf File – University Program VWF) for the Design
i. Select File (top menu bar) → New → University Program VWF (Figure 23) → Click on
OK.
ii. The Simulation Waveform Editor window will appear showing a new Waveform.
iii. Select File (top menu bar) → Save As and select Save as type University Program VWF
(*.vwf) and type the name ex2 (as the design file name), or simply leave its name as
Waveform (Figure 24).
• No need for the Waveform file to have the same name as the design file
(Schematic/Verilog).
iv. Click on Save.
Figure 24: Saving the Waveform File (Waveform.vwf)
v. Set the desired time for the simulation by choosing Edit (top menu bar) → End Time →
Enter the End time required, giving 100ns for each test condition/case [End Time = # of
test conditions/cases * 100ns]. For Table 2, we need (4 rows * 100 ns = 400ns) → Click
on OK.
vi. Set the time dedicated for each test condition/case (indicated as Grid Size). Select Edit
(top menu bar) → Grid Size → Enter Period as 100 ns.
vii. To view the complete Waveform, select View (top menu bar) → Fit in Window.
viii. Double-Click on the empty space below Name in the Simulation Waveform Editor
window (Left Side).
ix. The Insert Node or Bus window will appear (Figure 25) → Click on Node Finder.
x. The Node Finder window will appear (Figure 26) → In the Filter select Pins:all → List.
xi. All the nodes in the circuit will appear on the left side of the bottom window.
xii. Click on the arrows in the middle of the window to select the required nodes, which will
move to the other (right) side (Figure 26) → Click on Ok.
Figure 26: Node Finder Window
xiii. The Node Finder window will appear again with **Multiple Items** displayed as the
name of the node → Click on Ok. The nodes will appear in the waveform window.
xiv. Rearrange the nodes and make sure that the waveforms are in the same order from Top
to bottom as the respective variables appear in the Truth Table from left to right.
xv. You can group the input/output signals as follows:
• Select the first input signal at the top of the Waveform. Hold the shift key and
click on the rest of the input signals in the waveforms. Selected input signals will
be highlighted.
• Click on the right mouse button and select Grouping → Group.
• Enter a name for the inputs and Select the Radix as Binary.
• Repeat the steps for output signals in the waveforms.
xvi. To enter the value of any input signal, select the time interval 0 to 100 ns, by clicking the
mouse at the start of the interval and dragging it to its end. This highlights the selected
interval.
xvii. Click on the ‘0’ or ‘1’ or ‘?’ icon on the top side of the frame to set the value of the input to
low logic, high logic, or arbitrary value, respectively. Make sure the correct interval is
shown (0 to 100 ns) and the Radix is Binary.
xviii. Enter the required value for each interval.
xix. After entering all the values for the input signals, save the file → Select File (top menu
bar) → Click on Save.
i. In the Simulation Waveform Editor window, select Simulation (top menu bar) → Click
on Run Functional Simulation (Figure 27).
4. The Messages box at the bottom of the window will show the text in Figure 32, indicating the
successful creation of the symbol file.
5. The symbol can be found under the Project branch when trying to insert a symbol in a graphical
design file in the same project (Figure 33).
Lab Exercise # 1
Problem Statement:
Perform the Functional Simulation for the designed circuit to test it for all the possible logic conditions.
Procedure:
1. Create a Block Diagram/Schematic design file Circuitg.bdf for the circuit (refer to Section 3.2).
2. Synthesize it (refer to Section 3.2.5).
3. Perform a Functional Simulation to test Circuitg.bdf for the following logic conditions. (refer to
Section 3.4)
Inputs Outputs
P Q R S1 S2
0 0 0 0 1
0 0 1 0 1
0 1 0 0 1
0 1 1 1 1
1 0 0 1 1
1 0 1 1 1
1 1 0 0 0
1 1 1 1 0
4. Create a Verilog HDL design file Circuitv.bdf for the circuit (refer to Section 3.3.1).
5. Synthesize it (refer to Section 3.3.2).
6. Create a Symbol for this module (refer Section 3.5).
7. Print your design files and simulation waveforms.
Ask your engineer to check your results, write his/her comments and sign below:
………………………………………………………………………………………………………………………...…………………………...……….
……………………………………………………………………………………………………………………...………………………...…………….
…………………………………………………………………………………………………………………...…………………………………………
Engineer Signature
……..……………..
Attachments:
Please attach with the lab exercise sheet printouts of the files indicated below. Don't forget to
write your Name and ID Number as comments in every file before printing.