ENGN3213. Digital Systems & Microprocessors. CLAB 1: ICARUS Verilog and ISE WebPACK

Size: px
Start display at page:

Download "ENGN3213. Digital Systems & Microprocessors. CLAB 1: ICARUS Verilog and ISE WebPACK"

Transcription

1 Department of Engineering Australian National University ENGN3213 Digital Systems & Microprocessors CLAB 1: ICARUS Verilog and ISE WebPACK V3.0 Copyright 2010 G.G. Borg ANU Engineering 1

2 Contents 1 CLAB1: Introduction to ICARUS VERILOG and Xilinx ISE WebPACK Aims WINDOWS and the CYGWIN Command Prompt ICARUS VERILOG and GTKWAVE VERILOG For Synthesis: the Multiplexer A VERILOG Test Bench for the Multiplexer A 1-bit Full Adder ISE WebPACK Schematics in ISE VERILOG in ISE Figures

3 1 CLAB1: Introduction to ICARUS VERILOG and Xilinx ISE WebPACK In this lab we will investigate the design and simulation of a multiplexer (MUX) and an ADDER. The aim of the lab is to introduce some important software tools that you will find indispensable in the course and to take a first look at VERILOG HDL. We will use two approaches. In the first part of the lab we will learn to use ICARUS VERILOG and GTKWAVE under WINDOWS. In the second part we will do the same with Xilinx ISE WebPACK. Although we concentrate on simulation in this lab, ISE WebPACK can be used to perform synthesis in hardware. We touch on synthesis in this lab. The lab is rather complex on a first try and you may not understand everything. It will be a good idea to repeat the material at home. Clabs are not assessable and I will be happy to provide extra tutorials if need be. Also remember that whether you continue to use ICARUS VERILOG and/or GTKWAVE again is largely a matter of taste. Although you must know about ICARUS VERILOG you may choose to do all of your project simulations in ISE WebPACK s simulator. Mastering ISE WebPACK is crucial to make progress in this course. Roughly each couple of weeks I will produce a progressive reading brick that repeats the lecture notes in much more detail. To these bricks will be appended the lab notes. You will then be able to attempt the labs in the full context of the theory. 1.1 Aims Learn to use ICARUS VERILOG to simulate hardware described by VERILOG and GTKWAVE to plot the results. Learn to use Xilinx ISE WebPACK 9.2i to create hardware designs in schematics and VERILOG HDL (Hardware Definition Language). Learn to use VERILOG to create combinational logic circuits. Investigate the synthesis of hardware in ISE WebPACK. 1.2 WINDOWS and the CYGWIN Command Prompt First step is to make a directory where you can work under WINDOWS. Create a folder on the H drive. REMEMBER TO USE YOUR FLASH DRIVE TO SAVE ALL YOUR WORK AFTER THE LAB. 3

4 CYGWIN is a UNIX system running under WINDOWS. It produces a command prompt that is much more powerful than the DOS-style prompt under WINDOWS. At home you can also run ICARUS VERILOG from the WINDOWS command prompt as well. Run CYGWIN and navigate to your chosen folder by using the cd (change directory) command as in the following examples. To go to the top of the directory tree type, cd / To go to the H drive type, cd /cygdrive/h To go to the folder above the present folder type, cd.. To execute a binary file mybin in the current folder do,./mybin ret> Whereas to execute it a binary such as notepad in the system folder (usual place to find them under windows) do, notepad ret> To find out where you are use the pwd (Print Working Directory) command and to take a listing of the contents of the current directory type ls. Here is some background on all this. The reason for the./ is that gtkwave is in the local folder. Under unix and windows CMD a. is the name for the current directory and.. for the directory above and under UNIX only / for the root of all directories (the top directory). Also / is the unix directory separator in a concatenated list of directories such as DIR1/DIR2/DIR1/DIR2. Under windows use \. Thus./gtkwave or.\gtkwave.exe are the ways to run gtkwave in unix respectively windows when gtkwave is in the current folder. The gtkwave command also requires all the DLLs to be in the current folder as well. The alternative for a classical WINDOWS install is to copy the binary and all DLLs into the system folder but for some reason gtkwave does not come with an installer. Under LINUX gtkwave does install and so all this./ stuff is unnecessary. ICARUS VERILOG is installed under WINDOWS and so you only need to type iverilog at the command line. This is because the WINDOWS system folder is in the path for binary command execution. Take a few moments to accustom yourself to the CYGWIN command prompt. 4

5 1.3 ICARUS VERILOG and GTKWAVE ICARUS VERILOG has already been installed on the Information Commons and Ian Ross computers. Type the command iverilog ret> to test it out. The CYGWIN window Fig 1 shows the outputs of all the above commands. Next download GTKWAVE from, The file GTKWAVE.zip contains all the files you need to make signal traces from ICARUS VERILOG. Whenever you use GTKWAVE you need all these files in the local directory with your VERILOG code. A folder with all these files downloaded is shown in Fig 2. In order to compile VERILOG source code files under ICARUS VERILOG the following commands must be executed, iverilog myfile.v TB_myfile.v vvp./a.out Here iverilog converts your VERILOG code into a NETLIST. A NETLIST is a standard notation that provides a description of a circuit. The command vvp runs the simulation and produces the files for GTKWAVE. The file myfile.v is the VERILOG code that describes your hardware. The file TB myfile.v is the test bench. To run gtkwave under CYGWIN (assuming that you have a.vcd file in the current folder produced by iverilog),./gtkwave myfile.vcd You ll find it useful to create a.bat file which contains these commands to save unecessary typing. Assuming that the.bat files is named cmp.bat, then to run it just type the following at the CYGWIN command,./cmp.bat Note that again forward slash used by the UNIX command line compared to the backward slash used by the WINDOWS CMD line. For the following exercise down load CLAB1.zip from the following link and unzip it into your local folder. 5

6 1.3.1 VERILOG For Synthesis: the Multiplexer A multiplexer is an electronic switch that allows you to choose one of several inputs and send it unaltered to an output. The truth table of a simple multiplexer is shown below. The sign means a don t care condition. Note that a multiplexer is a combinational circuit according to the definition provided in lectures. X Y Sel Z Truth tables provide a unique representation of a combinational circuit. As you will see in class the Boolean logic representation of a combinational system can be immediately derived from the truth table. Fact: The design of combinational circuits starts with the truth table. The VERILOG source code can be obtained directly from the truth table or the corresponding Boolean expression. A VERILOG module following the truth table may be written as follows, /////////////////////////////////////////////////////////////////////////// module mux16( Z, Sel, X, Y ); input [15:0] X; input [15:0] Y; input Sel; output [15:0] Z; reg [15:0] Z; or Y or Sel) begin case(sel) 1: Z = X; 0: Z = Y; default: Z = 16 hz; endcase end endmodule /////////////////////////////////////////////////////////////////////////// 6

7 The MUX described here in VERILOG is actually a 16 bit MUX. A 16 bit MUX is similar to a 1-bit MUX except that 16 input lines on each of X and Y are connected through to 16 output lines on Z according the 1-bit select valaue, Sel. It is described by a truth table like the one above except that it has 33 inputs and 16 outputs. Take a few moments to understand the code. It is your first example of VERILOG. In a 16-bit MUX all inputs and outputs (except for Sel) are 16-bit wide buses. That is: X,Y and Z are all 16 bits wide. A bus is simply a collection of parallel wires. Each wire carries independent parallel data. Note the syntax used to do this in VERILOG. A bus is defined by a kind of vector declaration: [15:0]. In VERILOG indices start from 0 as in the C programming language. The DEFAULT case of the CASE statement makes Z a 16-bit open circuit output. An output that can be an open circuit (disconnected) as well as a 0 or 1 level is referred to as a tristate output. The operation of the ALWAY S block is as follows. Inside the ALWAY S block is a bunch of objects that take on updated values (in hardware) whenever any one of the variables in the sensistivity list, (XorY orsel), changes. This is how VERILOG handles events as a function of time for combinational circuits. A similar simple construct applies to sequential circuits. Notice that it is an economical description - the only time anything happens is when a change occurs. All inputs likely to change must appear in the sensitivity list of the ALWAY S block. In simple VERILOG for synthesis all events occur instantaneously and in parallel. This is expected because hardware behaves precisely in this way. Compare this to the sequential operation of programming languages like C, BASIC and JAVA. The output Z is a reg variable type in VERILOG because it is on the left hand side in the ALWAY S block. The datatype reg refers to a variable that can retain its value across time steps. This is just what the ALWAY S block needs in order to effect changes in Z 1. In addition to a reg there is one other datatype in VERILOG known as a wire. A wire is a variable which attaches to a reg or another wire. Like real wires, a wire variable is permanent and does not vary with time. All input and output variables in VERILOG are wires. In the schematic equivalent of a circuit, the VERILOG wires may be viewed as interconnecting metallic wires as shown in lectures. A bus is described in VERILOG by either a reg or a wire vector1. The above code is ready for synthesis. ISE WebPACK can be used to implement it in hardware. 1 Note the implication of a reg being some kind of register. An electronic register however is a term describing a volatile memory based on a multi-bit D-type flip flop. The electronic register is not to be confused with the VERILOG datatype reg. Having said this they do have similarities in that reg too imparts memory to an ALWAY S block. Having said this, the VERILOG datatype reg is a language construct which would be but one variable in a complete VERILOG description of a single electronic register. Make sure you understand the difference. 7

8 This is an example of VERILOG for synthesis A VERILOG Test Bench for the Multiplexer To test the MUX for proper operation we need a test bench. A test bench is a VERILOG program that provides stimuli for the VERILOG module under test. The test bench also produces outputs from the test module that can be viewed and analysed. Test bench VERILOG code is only used for simulation. The following is a test bench for the MUX. /////////////////////////////////////////////////////////////////////////// timescale 1 ns/1 ps module TB_mux16; reg [15:0] X; reg [15:0] Y; reg Sel; wire [15:0] Z; mux16 m16( Z, Sel, X, Y ); initial begin $display("\t\t t \t X \t Y \t Sel \ t Z"); #1X <= 16 h0000; #1Y <= 16 hffff; #1Sel <= 1; #1$display("%d \t %b \t %b \t %b \t %b", $time, X,Y,Sel,Z); #1X <= 16 hffff; #1Y <= 16 h0000; #1Sel <= 1; #1$display("%d \t %b \t %b \t %b \t %b", $time, X,Y,Sel,Z); #1X <= 16 h0000; #1Y <= 16 hffff; #1Sel <= 0; #1$display("%d \t %b \t %b \t %b \t %b", $time, X,Y,Sel,Z); #1X <= 16 hffff; #1Y <= 16 h0000; #1Sel <= 0; 8

9 #1$display("%d \t %b \t %b \t %b \t %b", $time, X,Y,Sel,Z); end initial begin $dumpfile("mux16.vcd"); //GTKWAVE stuff $dumpvars; end initial begin: stopat #50; $finish; end end endmodule ////////////////////////////////////////////////////////////////////////// The test bench provides output in two forms: a screen dump provided by the display directive (note the similarity to the C language printf command) and the dumpvars directive which produces.vcd output for GTKWAVE. Another interesting simulation-only construct in the test bench is the #1. The #n tells the simulation to wait n system times (here 1 ns) before executing the command immediately after. Note that this assumes that ICARUS VERILOG is executing the code in a serial fashion. This is clearly only relevant to simulation. Exercise 1. Using a WINDOWS editor such as WORDPAD or PROGRAM- MER S NOTEPAD, save copies of the mux16.v file and its test bench. Using the above cmp.bat simulate the 16-bit multiplexer. You should get an output like that shown in Figs 4 and A 1-bit Full Adder A full adder is an adder with carry-in and carry-out. The truth table of the 1-bit full adder is as follows. 9

10 X Y Cin Z Cout The truth table of the 1-bit full adder The VERILOG for the 1-bit full adder and its test bench may be written as follows ////////////////////////////////////////////////////////////////////////// timescale 1 ns/1 ps module add1(x, Y, Cin, Z, Cout); input X; input Y; input Cin; output Z; output Cout; reg Z; reg Cout; Y, Cin) begin Z =???; Cout =???; end endmodule ////////////////////////////////////////////////////////////////////////// Exercise 2. Fill in the??? code for Z and Cout in the VERILOG for the ADDER ////////////////////////////////////////////////////////////////////////// timescale 1 ns/1 ps 10

11 module TB_add1; reg X; reg Y; reg Cin; wire Z; wire Cout; add1 a1(x, Y, Cin, Z, Cout); initial begin $display("\t\t t \t X \t Y \t Cin \t Z \t Cout"); #1X <= 0; #1Y <= 0; #1Cin <= 0; #1$display("%d \t %b \t %b \t %b \t %b \t %b", $time, X,Y,Cin,Z,Cout); #1X <= 0; #1Y <= 1; #1Cin <= 0; #1$display("%d \t %b \t %b \t %b \t %b \t %b", $time, X,Y,Cin,Z,Cout); #1X <= 1; #1Y <= 0; #1Cin <= 0; #1$display("%d \t %b \t %b \t %b \t %b \t %b", $time, X,Y,Cin,Z,Cout); #1X <= 1; #1Y <= 1; #1Cin <= 0; #1$display("%d \t %b \t %b \t %b \t %b \t %b", $time, X,Y,Cin,Z,Cout); #1X <= 0; #1Y <= 0; #1Cin <= 1; #1$display("%d \t %b \t %b \t %b \t %b \t %b", $time, X,Y,Cin,Z,Cout); #1X <= 0; #1Y <= 1; #1Cin <= 1; 11

12 #1$display("%d \t %b \t %b \t %b \t %b \t %b", $time, X,Y,Cin,Z,Cout); #1X <= 1; #1Y <= 0; #1Cin <= 1; #1$display("%d \t %b \t %b \t %b \t %b \t %b", $time, X,Y,Cin,Z,Cout); #1X <= 1; #1Y <= 1; #1Cin <= 1; #1$display("%d \t %b \t %b \t %b \t %b \t %b", $time, X,Y,Cin,Z,Cout); end initial begin: stopat $dumpfile("add1.vcd"); $dumpvars; #120; $finish; end endmodule ////////////////////////////////////////////////////////////////////////// Exercise 3. Compare the ICARUS VERILOG screen dump and the GTK- WAVE signal traces for the 1-bit full adder and try to reconcile them. 1.4 ISE WebPACK In this section we are going to look at several aspects of project development with ISE WebPACK (or ISE for short). Specifically 1. Make a 1-bit MUX for synthesis using schematics 2. Implement the 1-bit MUX using VERILOG HDL in ISE 3. Implement the 1-bit adder using VERILOG HDL in ISE The main exercise however is to become accustomed to using ISE. 12

13 1.4.1 Schematics in ISE There are two ways that one will design hardware in this course and both are acceptable approaches. One uses schematics which are hardware blocks with inputs and outputs. Different blocks are interconnected by buses. The other is VERILOG HDL. In practive you will find that VERILOG is the easier of the two methods to apply. However all VERILOG code that you design should be accompanied by at least a hand written schematic. This is because VERILOG for synthesis is all about building hardware and you must know in advance the hardware that will be built by the ISE synthesiser - i.e. the schematic. In this section we will look at how schematics can be handled in ISE. Fig 6 shows a schematic of the 1-bit MUX that we are going to enter into ISE. Inspect the circuit and make sure you understand how it works. It should already be obvious from the previous truth table. To implement the 1-bit MUX in ISE proceed as follows Open ISE from the start menu. Start with New Project under file and choose Schematic from the list. ISE asks you for the project name and folder. Make sure that it is in a suitable place. See Fig Use the values in Fig 9 for this project. This information specifies the hardware. Note that the Top-Level Level Source Type shows Schematic. If you had chosen a VERILOG project then it would read HDL and you would have to add your source code from a text file rather than use the ISE schematic editor to draw a circuit. Working in VERILOG allows you to work off-line outside of ISE. 3. To make a schematic go to Projects New Source and select schematic. See Fig This will create a schematic pane in which you can draw your circuit diagrams. See Fig Browse the categories in search of LOGIC type devices and add two and2 (two input AND gates) devices, one 2or (two input OR gate) and an inv (inverter) as shown in Fig Next add the wires using the WIRE tool and add IO labels. These will be assigned in the next steps to the package pins on the XC2S50 PQ208 FPGA. Also change the IO labels to the more suitable names: X,Y,Sel and Z. See Fig Once you have changed the labels, go to the process pane and start the design rule processes. In particular click on Check Design Rules to check if the circuit has 2 In this exercise we will do the design for a SPARTAN II XC2S50 FPGA. In the hardware labs however the part used in the SPARTAN 3E starter kit is a XC3S500E FPGA 13

14 been connected correctly. Be patient here as this could be a tricky step if you made a mistake in the wire and IO port label entries 3. See Fig Assign the package pins as shown in Fig Look at the contents of the User Constraints File (UCF) as shown in Fig 16. The User Constraints File (UCF) is a text file that contains hardware related information about your ISE project. The UCF can be included with your source files to specify the pin assignments to the FPGA and other hardware specific information. It allows you to bundle your completed projects for ENGN3213 assignments, product deliveries etc. 10. An interesting resource is the FPGA floor planner shown in Figs. 17 and 24. Observe where the inputs and outputs are indicated in the floorplan. The floorplan shows that a single slice has been used in the design. Make sure that you revisit lectures 3 and 4 and your FPGA datasheet to understand how the FPGA has implemented your circuit. 11. Generate the fuse file. The.BIT file is the file you download to the FPGA. The ISE impact tool allows you to download the BIT or fuse file to the FPGA over either the proprietory USB interface or (as in this course) the JTAG cable via the PC printer port. 12. Finally the most useful piece of documentation is the device utilisation summary in the synthesis report as shown in Fig 18. Fig. 19 shows how the XC2S50 slice actually implents the 1-bit MUX as a LUT (Look Up Table) VERILOG in ISE This is the most important section as it shows you how to use VERILOG to design and manufacture hardware. The last section already covered most of what you need to know. First we will use the following VERILOG file of a 1-bit MUX. module mux1( Z, Sel, X, Y ); input X; input Y; input Sel; output Z; 3 In fact this is the weakness of the ISE schematics editor. Generally it is hard to guarantee regular good connections in the GUI. This is a reason why we will avoid ISE schematics in the rest of the course 14

15 reg Z; or Y or Sel) begin Z =???; end endmodule Exercise 4. Use the schematic of Fig 6 to provide the Boolean expression to replace the??? in the ALWAYS block. 1. First close any old projects in ISE. Start with New Project under file and choose HDL from the list and Verilog. ISE asks you for the project name and folder. Make sure that you save them in a suitable place that you can at least locate on the PC. See Figs 20 and Skip through each of the next dialogues. Note however that you could have added your mux1.v here as your VERILOG code should be ready to go before firing up ISE. 3. Now go to Project Add Source and navigate to where you have put mux1.v above and add it to the project. The project should look as shown in Fig Now click on mux1.v in the sources pane. You should see your VERILOG code appear in the right pane as shown in Fig Now all the steps are as above. Assign the package pins in exactly the same manner with exactly the same names as in Fig Run Synthesize XST etc. until all the steps get a green tick. 7. Finally have a look at the FPGA floorplanner, UCF file and the synthesis report. Note how Fig 24 is identical to 17. In future for more complicated VERILOG designs, always view the floorplanner to get an idea of how you are using the hardware. Do not assume that the ISE XST synthesiser will always produce efficient hardware. Try to understand how your VERILOG code determines the routed hardware Exercise 5. We have now developed a 1-bit MUX in ISE. In order to get some practice using ISE, do the same for the 1-bit adder that we previously simulated in ICARUS VERILOG. 15

16 1.5 Figures Figure 1: Figure 2: 16

17 Figure 3: Figure 4: 17

18 Figure 5: X Sel Z Y Figure 6: 18

19 Figure 7: Figure 8: 19

20 Figure 9: Figure 10: 20

21 Figure 11: Figure 12: 21

22 Figure 13: Figure 14: 22

23 Figure 15: Figure 16: 23

24 Figure 17: Figure 18: 24

25 Figure 19: Figure 20: 25

26 Figure 21: Figure 22: 26

27 Figure 23: Figure 24: 27

VERILOG HDL. 1 ENGN3213: Digital Systems and Microprocessors L#5-6

VERILOG HDL. 1 ENGN3213: Digital Systems and Microprocessors L#5-6 VERILOG HDL 1 ENGN3213: Digital Systems and Microprocessors L#5-6 Some Reference Material (mostly advanced) \vspace{10mm} http://engnet.anu.edu.au/decourses/engn3213/documents/verilog/ VerilogIntro SASAKI.pdf

More information

Xilinx ISE Synthesis Tutorial

Xilinx ISE Synthesis Tutorial Xilinx ISE Synthesis Tutorial The following tutorial provides a basic description of how to use Xilinx ISE to create a simple 2-input AND gate and synthesize the design onto the Spartan-3E Starter Board

More information

Tutorial: Working with the Xilinx tools 14.4

Tutorial: Working with the Xilinx tools 14.4 Tutorial: Working with the Xilinx tools 14.4 This tutorial will show you how to: Part I: Set up a new project in ISE Part II: Implement a function using Schematics Part III: Implement a function using

More information

Tutorial: ISE 12.2 and the Spartan3e Board v August 2010

Tutorial: ISE 12.2 and the Spartan3e Board v August 2010 Tutorial: ISE 12.2 and the Spartan3e Board v12.2.1 August 2010 This tutorial will show you how to: Use a combination of schematics and Verilog to specify a design Simulate that design Define pin constraints

More information

Unit 5. Hardware description languages

Unit 5. Hardware description languages Unit 5. Hardware description languages Digital Electronic Circuits (Circuitos Electrónicos Digitales) E.T.S.I. Informática Universidad de Sevilla October, 2012 Jorge Juan 2010, 2011,

More information

Verilog Design Entry, Synthesis, and Behavioral Simulation

Verilog Design Entry, Synthesis, and Behavioral Simulation ------------------------------------------------------------- PURPOSE - This lab will present a brief overview of a typical design flow and then will start to walk you through some typical tasks and familiarize

More information

Icarus Verilog HDL (iverilog)

Icarus Verilog HDL (iverilog) Icarus Verilog HDL (iverilog) It is a good idea to install a compiler / simulator on the PC. This will allow you to save your code on your computer and will allow you to do some things not possible online.

More information

structure syntax different levels of abstraction

structure syntax different levels of abstraction This and the next lectures are about Verilog HDL, which, together with another language VHDL, are the most popular hardware languages used in industry. Verilog is only a tool; this course is about digital

More information

Here is a list of lecture objectives. They are provided for you to reflect on what you are supposed to learn, rather than an introduction to this

Here is a list of lecture objectives. They are provided for you to reflect on what you are supposed to learn, rather than an introduction to this This and the next lectures are about Verilog HDL, which, together with another language VHDL, are the most popular hardware languages used in industry. Verilog is only a tool; this course is about digital

More information

CECS LAB 1 Introduction to Xilinx EDA Tools

CECS LAB 1 Introduction to Xilinx EDA Tools NAME: DUE DATE: STUDENT ID: POSSIBLE POINTS: 10 COURSE DATE & TIME: OBJECTIVE: To familiarize ourselves with the Xilinx Electronic Design Aid (EDA) Tools. We will simulate a simple 4-to-1 Multiplexor using

More information

Xilinx Tutorial Basic Walk-through

Xilinx Tutorial Basic Walk-through Introduction to Digital Logic Design with FPGA s: Digital logic circuits form the basis of all digital electronic devices. FPGAs (Field Programmable Gate Array) are large programmable digital electronic

More information

N-input EX-NOR gate. N-output inverter. N-input NOR gate

N-input EX-NOR gate. N-output inverter. N-input NOR gate Hardware Description Language HDL Introduction HDL is a hardware description language used to design and document electronic systems. HDL allows designers to design at various levels of abstraction. It

More information

VERILOG HDL. (and C) 1 ENGN3213: Digital Systems and Microprocessors L#5-6

VERILOG HDL. (and C) 1 ENGN3213: Digital Systems and Microprocessors L#5-6 VERILOG HDL (and C) 1 ENGN3213: Digital Systems and Microprocessors L#5-6 Some Reference Material The following are suggested reading.. http://engnet.anu.edu.au/decourses/engn3213/documents/verilog/ VerilogIntro.pdf

More information

CCE 3202 Advanced Digital System Design

CCE 3202 Advanced Digital System Design CCE 3202 Advanced Digital System Design Lab Exercise #2 Introduction You will use Xilinx Webpack v9.1 to allow the synthesis and creation of VHDLbased designs. This lab will outline the steps necessary

More information

ANADOLU UNIVERSITY DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING. EEM Digital Systems II

ANADOLU UNIVERSITY DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING. EEM Digital Systems II ANADOLU UNIVERSITY DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING EEM 334 - Digital Systems II LAB 1 - INTRODUCTION TO XILINX ISE SOFTWARE AND FPGA 1. PURPOSE In this lab, after you learn to use

More information

Tutorial: Working with Verilog and the Xilinx FPGA in ISE 9.2i

Tutorial: Working with Verilog and the Xilinx FPGA in ISE 9.2i Tutorial: Working with Verilog and the Xilinx FPGA in ISE 9.2i This tutorial will show you how to: Use Verilog to specify a design Simulate that Verilog design Define pin constraints for the FPGA (.ucf

More information

and 32 bit for 32 bit. If you don t pay attention to this, there will be unexpected behavior in the ISE software and thing may not work properly!

and 32 bit for 32 bit. If you don t pay attention to this, there will be unexpected behavior in the ISE software and thing may not work properly! This tutorial will show you how to: Part I: Set up a new project in ISE 14.7 Part II: Implement a function using Schematics Part III: Simulate the schematic circuit using ISim Part IV: Constraint, Synthesize,

More information

Xilinx ISE Simulation Tutorial

Xilinx ISE Simulation Tutorial Xilinx ISE Simulation Tutorial 1. Start Xilinx ISE Project Navigator 2. Create a new project Click on File, then choose New Project on the drop down menu Enter your project name, in this case the project

More information

Lab 1: Introduction to Verilog HDL and the Xilinx ISE

Lab 1: Introduction to Verilog HDL and the Xilinx ISE EE 231-1 - Fall 2016 Lab 1: Introduction to Verilog HDL and the Xilinx ISE Introduction In this lab simple circuits will be designed by programming the field-programmable gate array (FPGA). At the end

More information

University of Hawaii EE 361L. Getting Started with Spartan 3E Digilent Basys2 Board. Lab 4.1

University of Hawaii EE 361L. Getting Started with Spartan 3E Digilent Basys2 Board. Lab 4.1 University of Hawaii EE 361L Getting Started with Spartan 3E Digilent Basys2 Board Lab 4.1 I. Test Basys2 Board Attach the Basys2 board to the PC or laptop with the USB connector. Make sure the blue jumper

More information

TLL5000 Electronic System Design Base Module. Getting Started Guide, Ver 3.4

TLL5000 Electronic System Design Base Module. Getting Started Guide, Ver 3.4 TLL5000 Electronic System Design Base Module Getting Started Guide, Ver 3.4 COPYRIGHT NOTICE The Learning Labs, Inc. ( TLL ) All rights reserved, 2008 Reproduction in any form without permission is prohibited.

More information

Xilinx ISE/WebPack: Introduction to Schematic Capture and Simulation

Xilinx ISE/WebPack: Introduction to Schematic Capture and Simulation Xilinx ISE/WebPack: Introduction to Schematic Capture and Simulation Revision: February 7, 2003 Overview This document is intended to assist new entry-level users of the Xilinx ISE/WebPack software. It

More information

Welcome to ENGN ! Digital Systems and Microprocessors. 1 ENGN3213: Digital Systems and Microprocessors L#1-2

Welcome to ENGN ! Digital Systems and Microprocessors. 1 ENGN3213: Digital Systems and Microprocessors L#1-2 Welcome to ENGN3213 2010! Digital Systems and Microprocessors 1 ENGN3213: Digital Systems and Microprocessors L#1-2 Contact Details Lecturer: Gerard Borg email: gerard.borg@anu.edu.au RSISE B148. ph. 6125

More information

EE 1315 DIGITAL LOGIC LAB EE Dept, UMD

EE 1315 DIGITAL LOGIC LAB EE Dept, UMD EE 1315 DIGITAL LOGIC LAB EE Dept, UMD EXPERIMENT # 1: Logic building blocks The main objective of this experiment is to let you familiarize with the lab equipment and learn about the operation of the

More information

The QR code here provides a shortcut to go to the course webpage.

The QR code here provides a shortcut to go to the course webpage. Welcome to this MSc Lab Experiment. All my teaching materials for this Lab-based module are also available on the webpage: www.ee.ic.ac.uk/pcheung/teaching/msc_experiment/ The QR code here provides a shortcut

More information

Xilinx Schematic Entry Tutorial

Xilinx Schematic Entry Tutorial Overview Xilinx Schematic Entry Tutorial Xilinx ISE Schematic Entry & Modelsim Simulation What is circuit simulation and why is it important? Complex designs, short design cycle Simultaneous system design

More information

Programming Xilinx SPARTAN 3 Board (Simulation through Implementation)

Programming Xilinx SPARTAN 3 Board (Simulation through Implementation) Programming Xilinx SPARTAN 3 Board (Simulation through Implementation) September 2008 Prepared by: Oluwayomi Adamo Class: Project IV University of North Texas FPGA Physical Description 4 1. VGA (HD-15)

More information

E85: Digital Design and Computer Engineering Lab 2: FPGA Tools and Combinatorial Logic Design

E85: Digital Design and Computer Engineering Lab 2: FPGA Tools and Combinatorial Logic Design E85: Digital Design and Computer Engineering Lab 2: FPGA Tools and Combinatorial Logic Design Objective The purpose of this lab is to learn to use Field Programmable Gate Array (FPGA) tools to simulate

More information

Physics 364, Fall 2012, reading due your answers to before the end of Wednesday s lab.

Physics 364, Fall 2012, reading due your answers to before the end of Wednesday s lab. Physics 364, Fall 2012, reading due 2012-11-28. Email your answers to ashmansk@hep.upenn.edu before the end of Wednesday s lab. Course materials and schedule are at http://positron.hep.upenn.edu/p364 Assignment:

More information

CSE 591: Advanced Hardware Design and Verification (2012 Spring) LAB #0

CSE 591: Advanced Hardware Design and Verification (2012 Spring) LAB #0 Lab 0: Tutorial on Xilinx Project Navigator & ALDEC s Active-HDL Simulator CSE 591: Advanced Hardware Design and Verification Assigned: 01/05/2011 Due: 01/19/2011 Table of Contents 1 Overview... 2 1.1

More information

Circuit design with configurable devices (FPGA)

Circuit design with configurable devices (FPGA) 1 Material Circuit design with configurable devices (FPGA) Computer with Xilinx's ISE software installed. Digilent's Basys2 prototype board and documentation. Sample design files (lab kit). Files and documents

More information

Building Combinatorial Circuit Using Behavioral Modeling Lab

Building Combinatorial Circuit Using Behavioral Modeling Lab Building Combinatorial Circuit Using Behavioral Modeling Lab Overview: In this lab you will learn how to model a combinatorial circuit using behavioral modeling style of Verilog HDL. You will model a combinatorial

More information

ENGN 1630: CPLD Simulation Fall ENGN 1630 Fall Simulating XC9572XLs on the ENGN1630 CPLD-II Board Using Xilinx ISim

ENGN 1630: CPLD Simulation Fall ENGN 1630 Fall Simulating XC9572XLs on the ENGN1630 CPLD-II Board Using Xilinx ISim ENGN 1630 Fall 2018 Simulating XC9572XLs on the ENGN1630 CPLD-II Board Using Xilinx ISim You will use the Xilinx ISim simulation software for the required timing simulation of the XC9572XL CPLD programmable

More information

FPGA for Complex System Implementation. National Chiao Tung University Chun-Jen Tsai 04/14/2011

FPGA for Complex System Implementation. National Chiao Tung University Chun-Jen Tsai 04/14/2011 FPGA for Complex System Implementation National Chiao Tung University Chun-Jen Tsai 04/14/2011 About FPGA FPGA was invented by Ross Freeman in 1989 SRAM-based FPGA properties Standard parts Allowing multi-level

More information

LAB #3: ADDERS and COMPARATORS using 3 types of Verilog Modeling

LAB #3: ADDERS and COMPARATORS using 3 types of Verilog Modeling LAB #3: ADDERS and COMPARATORS using 3 types of Verilog Modeling LAB OBJECTIVES 1. Practice designing more combinational logic circuits 2. More experience with equations and the use of K-maps and Boolean

More information

Physics 364, Fall 2014, reading due your answers to by 11pm on Sunday

Physics 364, Fall 2014, reading due your answers to by 11pm on Sunday Physics 364, Fall 2014, reading due 2014-11-23. Email your answers to ashmansk@hep.upenn.edu by 11pm on Sunday Course materials and schedule are at positron.hep.upenn.edu/p364 Assignment: (a) First read

More information

Introduction. About this tutorial. How to use this tutorial

Introduction. About this tutorial. How to use this tutorial Basic Entry & not About this tutorial This tutorial consists of an introduction to creating simple circuits on an FPGA using a variety of methods. There are two ways to create the circuit: using or by

More information

CSE370 TUTORIAL 3 - INTRODUCTION TO USING VERILOG IN ACTIVE-HDL

CSE370 TUTORIAL 3 - INTRODUCTION TO USING VERILOG IN ACTIVE-HDL Introduction to Active-HDL CSE370 TUTORIAL 3 - INTRODUCTION TO USING VERILOG IN ACTIVE-HDL Objectives In this tutorial, you will learn how to write an alternate version of the full adder using Verilog,

More information

Lab 2: Barrel Shifter Design

Lab 2: Barrel Shifter Design EGR 400 A Advanced Digital System Design Using FPGAs Lab 2: Barrel Shifter Design Prepared for: Dr. Foist Christopher Parisi College of Engineering California Baptist University 10/05/12 Introduction The

More information

CPE 200L LABORATORY 4: INTRODUCTION TO DE2 BOARD UNIVERSITY OF NEVADA, LAS VEGAS GOALS: BACKGROUND:

CPE 200L LABORATORY 4: INTRODUCTION TO DE2 BOARD UNIVERSITY OF NEVADA, LAS VEGAS GOALS: BACKGROUND: CPE 200L LABORATORY 4: INTRODUCTION TO DE2 BOARD DEPARTMENT OF ELECTRICAL AND COMPUTER ENGINEERING UNIVERSITY OF NEVADA, LAS VEGAS GOALS: Getting familiar with DE2 board installation, properties, usage.

More information

EE183 LAB TUTORIAL. Introduction. Projects. Design Entry

EE183 LAB TUTORIAL. Introduction. Projects. Design Entry EE183 LAB TUTORIAL Introduction You will be using several CAD tools to implement your designs in EE183. The purpose of this lab tutorial is to introduce you to the tools that you will be using, Xilinx

More information

Laboratory Exercise #6 Introduction to Logic Simulation and Verilog

Laboratory Exercise #6 Introduction to Logic Simulation and Verilog Laboratory Exercise #6 Introduction to Logic Simulation and Verilog ECEN 248: Introduction to Digital Design Department of Electrical and Computer Engineering Texas A&M University 2 Laboratory Exercise

More information

Getting started with the Xilinx Project Navigator and the Digilent BASYS 2 board.

Getting started with the Xilinx Project Navigator and the Digilent BASYS 2 board. Getting started with the Xilinx Project Navigator and the Digilent BASYS 2 board. This lab is based on: Xilinx Project Navigator, Release Version 14.6 Digilent Adept System Rev 2.7, Runtime Rev 2.16 Digilent

More information

TLL5000 Electronic System Design Base Module

TLL5000 Electronic System Design Base Module TLL5000 Electronic System Design Base Module The Learning Labs, Inc. Copyright 2007 Manual Revision 2007.12.28 1 Copyright 2007 The Learning Labs, Inc. Copyright Notice The Learning Labs, Inc. ( TLL )

More information

The board is powered by the USB connection, so to turn it on or off you plug it in or unplug it, respectively.

The board is powered by the USB connection, so to turn it on or off you plug it in or unplug it, respectively. Lab 1 You may work in pairs or individually on this lab Lab Objectives Learn about the equipment we will be using and how to handle it safely. Learn the basics of using Xilinx ISE to develop hardware designs

More information

Digital Design with FPGAs. By Neeraj Kulkarni

Digital Design with FPGAs. By Neeraj Kulkarni Digital Design with FPGAs By Neeraj Kulkarni Some Basic Electronics Basic Elements: Gates: And, Or, Nor, Nand, Xor.. Memory elements: Flip Flops, Registers.. Techniques to design a circuit using basic

More information

FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1

FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1 FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1 Anurag Dwivedi Digital Design : Bottom Up Approach Basic Block - Gates Digital Design : Bottom Up Approach Gates -> Flip Flops Digital

More information

PINE TRAINING ACADEMY

PINE TRAINING ACADEMY PINE TRAINING ACADEMY Course Module A d d r e s s D - 5 5 7, G o v i n d p u r a m, G h a z i a b a d, U. P., 2 0 1 0 1 3, I n d i a Digital Logic System Design using Gates/Verilog or VHDL and Implementation

More information

CPEN 230L: Introduction to Digital Logic Laboratory Lab #6: Verilog and ModelSim

CPEN 230L: Introduction to Digital Logic Laboratory Lab #6: Verilog and ModelSim CPEN 230L: Introduction to Digital Logic Laboratory Lab #6: Verilog and ModelSim Purpose Define logic expressions in Verilog using register transfer level (RTL) and structural models. Use Quartus II to

More information

EET2141 Project 2: Binary Adder Using Xilinx 7.1i Due Friday April 25

EET2141 Project 2: Binary Adder Using Xilinx 7.1i Due Friday April 25 EET2141 Project 2: Binary Adder Using Xilinx 7.1i Due Friday April 25 Introduction This Xilinx project introduces the characteristics of the ripple carry adder. From the last project, you learned that

More information

An easy to read reference is:

An easy to read reference is: 1. Synopsis: Timing Analysis and Timing Constraints The objective of this lab is to make you familiar with two critical reports produced by the Xilinx ISE during your design synthesis and implementation.

More information

Introduction to Verilog HDL

Introduction to Verilog HDL Introduction to Verilog HDL Ben Abdallah Abderazek National University of Electro-communications, Tokyo, Graduate School of information Systems May 2004 04/09/08 1 What you will understand after having

More information

Engineering 1630 Fall Simulating XC9572XL s on the ENGN1630 CPLD-II Board

Engineering 1630 Fall Simulating XC9572XL s on the ENGN1630 CPLD-II Board Engineering 1630 Fall 2016 Simulating XC9572XL s on the ENGN1630 CPLD-II Board You will use the Aldec Active-HDL software for the required timing simulation of the XC9572XL CPLD programmable logic chips

More information

Board-Data Processing. VHDL Exercises. Exercise 1: Basics of VHDL Programming. Stages of the Development process using FPGA s in Xilinx ISE.

Board-Data Processing. VHDL Exercises. Exercise 1: Basics of VHDL Programming. Stages of the Development process using FPGA s in Xilinx ISE. Board-Data Processing VHDL Exercises Exercise 1: Basics of VHDL Programming Stages of the Development process using FPGA s in Xilinx ISE. Basics of VHDL VHDL (Very High Speed IC Hardware description Language)

More information

TUTORIAL #2 HIERARCHICAL DESIGNS AND TEST FIXTURES

TUTORIAL #2 HIERARCHICAL DESIGNS AND TEST FIXTURES Introduction to Active-HDL TUTORIAL #2 HIERARCHICAL DESIGNS AND TEST FIXTURES This tutorial will use the 1-bit full adder you designed in Tutorial #1 to construct larger adders. This will introduce the

More information

Synthesizable Verilog

Synthesizable Verilog Synthesizable Verilog Courtesy of Dr. Edwards@Columbia, and Dr. Franzon@NCSU http://csce.uark.edu +1 (479) 575-6043 yrpeng@uark.edu Design Methodology Structure and Function (Behavior) of a Design HDL

More information

A Brief Introduction to Verilog Hardware Definition Language (HDL)

A Brief Introduction to Verilog Hardware Definition Language (HDL) www.realdigital.org A Brief Introduction to Verilog Hardware Definition Language (HDL) Forward Verilog is a Hardware Description language (HDL) that is used to define the structure and/or behavior of digital

More information

ELEC 204 Digital System Design LABORATORY MANUAL

ELEC 204 Digital System Design LABORATORY MANUAL ELEC 204 Digital System Design LABORATORY MANUAL : Introductory Tutorial For Xilinx ISE Foundation v10.1 & Implementing XOR Gate College of Engineering Koç University Important Note: In order to effectively

More information

Circuit Design and Simulation with VHDL 2nd edition Volnei A. Pedroni MIT Press, 2010 Book web:

Circuit Design and Simulation with VHDL 2nd edition Volnei A. Pedroni MIT Press, 2010 Book web: Circuit Design and Simulation with VHDL 2nd edition Volnei A. Pedroni MIT Press, 2010 Book web: www.vhdl.us Appendix C Xilinx ISE Tutorial (ISE 11.1) This tutorial is based on ISE 11.1 WebPack (free at

More information

COS/ELE 375 Verilog & Design Tools Tutorial

COS/ELE 375 Verilog & Design Tools Tutorial COS/ELE 375 Verilog & Design Tools Tutorial In this tutorial, you will walk through a tutorial using the Xilinx ISE design software with a Digilent Nexys4 DDR FPGA board. In this tutorial, you will learn

More information

Laboratory of Digital Circuits Design: Design, Implementation and Simulation of Digital Circuits Using Programmable Devices

Laboratory of Digital Circuits Design: Design, Implementation and Simulation of Digital Circuits Using Programmable Devices Internet Engineering Dr. Jarosław Sugier Laboratory of Digital Circuits Design: Design, Implementation and Simulation of Digital Circuits Using Programmable Devices This document presents software packages

More information

ECE 491 Laboratory 1 Introducing FPGA Design with Verilog September 6, 2004

ECE 491 Laboratory 1 Introducing FPGA Design with Verilog September 6, 2004 Goals ECE 491 Laboratory 1 Introducing FPGA Design with Verilog September 6, 2004 1. To review the use of Verilog for combinational logic design. 2. To become familiar with using the Xilinx ISE software

More information

AccelDSP tutorial 2 (Matlab.m to HDL for Xilinx) Ronak Gandhi Syracuse University Fall

AccelDSP tutorial 2 (Matlab.m to HDL for Xilinx) Ronak Gandhi Syracuse University Fall AccelDSP tutorial 2 (Matlab.m to HDL for Xilinx) Ronak Gandhi Syracuse University Fall 2009-10 AccelDSP Getting Started Tutorial Introduction This tutorial exercise will guide you through the process of

More information

Tutorial on Quartus II Introduction Using Verilog Code

Tutorial on Quartus II Introduction Using Verilog Code Tutorial on Quartus II Introduction Using Verilog Code (Version 15) 1 Introduction This tutorial presents an introduction to the Quartus II CAD system. It gives a general overview of a typical CAD flow

More information

Nexys 2/3 board tutorial (Decoder, ISE 13.2) Jim Duckworth, August 2011, WPI. (updated March 2012 to include Nexys2 board)

Nexys 2/3 board tutorial (Decoder, ISE 13.2) Jim Duckworth, August 2011, WPI. (updated March 2012 to include Nexys2 board) Nexys 2/3 board tutorial (Decoder, ISE 13.2) Jim Duckworth, August 2011, WPI. (updated March 2012 to include Nexys2 board) Note: you will need the Xilinx ISE Webpack installed on your computer (or you

More information

Topics. Midterm Finish Chapter 7

Topics. Midterm Finish Chapter 7 Lecture 9 Topics Midterm Finish Chapter 7 ROM (review) Memory device in which permanent binary information is stored. Example: 32 x 8 ROM Five input lines (2 5 = 32) 32 outputs, each representing a memory

More information

Xilinx ISE8.1 and Spartan-3 Tutorial EE3810

Xilinx ISE8.1 and Spartan-3 Tutorial EE3810 Xilinx ISE8.1 and Spartan-3 Tutorial EE3810 1 Part1) Starting a new project Simple 3-to-8 Decoder Start the Xilinx ISE 8.1i Project Navigator: Select File > New Project in the opened window 2 Select a

More information

ELEC 4200 Lab#0 Tutorial

ELEC 4200 Lab#0 Tutorial 1 ELEC 4200 Lab#0 Tutorial Objectives(1) In this Lab exercise, we will design and implement a 2-to-1 multiplexer (MUX), using Xilinx Vivado tools to create a VHDL model of the design, verify the model,

More information

Hardware description languages

Hardware description languages Specifying digital circuits Schematics (what we ve done so far) Structural description Describe circuit as interconnected elements Build complex circuits using hierarchy Large circuits are unreadable Hardware

More information

Introduction to WebPACK 5.2 for FPGAs. Using Xilinx WebPACK Software to Create FPGA Designs for the XSB-300E Board

Introduction to WebPACK 5.2 for FPGAs. Using Xilinx WebPACK Software to Create FPGA Designs for the XSB-300E Board Introduction to WebPACK 5.2 for FPGAs Using Xilinx WebPACK Software to Create FPGA Designs for the XSB-300E Board Release date: 10/27/2003 All XS-prefix product designations are trademarks of XESS Corp.

More information

Quartus II Version 14.0 Tutorial Created September 10, 2014; Last Updated January 9, 2017

Quartus II Version 14.0 Tutorial Created September 10, 2014; Last Updated January 9, 2017 Quartus II Version 14.0 Tutorial Created September 10, 2014; Last Updated January 9, 2017 This tutorial will walk you through the process of developing circuit designs within Quartus II, simulating with

More information

Design a three-input, two-output sequential digital circuit which functions as a digital locking mechanism. LOCK ALARM

Design a three-input, two-output sequential digital circuit which functions as a digital locking mechanism. LOCK ALARM Department of Computing Course 112 Hardware First Year Laboratory Assignment Dates for the session 2005-2006: Hand out Date: 10 th January 2006 Hand in deadline (electronic and written report): 17.00 Monday

More information

Hardware Modeling using Verilog Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Hardware Modeling using Verilog Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Hardware Modeling using Verilog Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture 01 Introduction Welcome to the course on Hardware

More information

NOTE: This tutorial contains many large illustrations. Page breaks have been added to keep images on the same page as the step that they represent.

NOTE: This tutorial contains many large illustrations. Page breaks have been added to keep images on the same page as the step that they represent. CSE 352 Tutorial # 4 Synthesizing onto an FPGA Objectives This tutorial will walk you through the steps of implementing a design made in Active-HDL onto the Altera Cyclone II FPGA NOTE: This tutorial contains

More information

EXPERIMENT NUMBER 7 HIERARCHICAL DESIGN OF A FOUR BIT ADDER (EDA-2)

EXPERIMENT NUMBER 7 HIERARCHICAL DESIGN OF A FOUR BIT ADDER (EDA-2) 7-1 EXPERIMENT NUMBER 7 HIERARCHICAL DESIGN OF A FOUR BIT ADDER (EDA-2) Purpose The purpose of this exercise is to explore more advanced features of schematic based design. In particular you will go through

More information

Department of Electrical and Computer Engineering Xilinx ISIM <Release Version: 14.1i> Simulation Tutorial Using Verilog

Department of Electrical and Computer Engineering Xilinx ISIM <Release Version: 14.1i> Simulation Tutorial Using Verilog Department of Electrical and Computer Engineering Xilinx ISIM Simulation Tutorial Using Verilog Spring 2013 Baback Izadi You will next test the full adder circuit that you built

More information

Sequential Logic Design

Sequential Logic Design Sequential Logic Design Design of Digital Circuits 2017 Srdjan Capkun Onur Mutlu (Guest starring: Frank K. Gürkaynak and Aanjhan Ranganathan) http://www.syssec.ethz.ch/education/digitaltechnik_17 Adapted

More information

LAB 5 Implementing an ALU

LAB 5 Implementing an ALU Goals To Do Design a practical ALU LAB 5 Implementing an ALU Learn how to extract performance numbers (area and speed) Draw a block level diagram of the MIPS 32-bit ALU, based on the description in the

More information

Digital Circuit Design Using Xilinx ISE Tools

Digital Circuit Design Using Xilinx ISE Tools Digital Circuit Design Using Xilinx ISE Tools Poras T. Balsara and Prashant Vallur Table of Contents 1. Introduction 2. Programmable logic devices: FPGA and CPLD 3. Creating a new project in Xilinx Foundation

More information

DESIGN STRATEGIES & TOOLS UTILIZED

DESIGN STRATEGIES & TOOLS UTILIZED CHAPTER 7 DESIGN STRATEGIES & TOOLS UTILIZED 7-1. Field Programmable Gate Array The internal architecture of an FPGA consist of several uncommitted logic blocks in which the design is to be encoded. The

More information

FPGA: FIELD PROGRAMMABLE GATE ARRAY Verilog: a hardware description language. Reference: [1]

FPGA: FIELD PROGRAMMABLE GATE ARRAY Verilog: a hardware description language. Reference: [1] FPGA: FIELD PROGRAMMABLE GATE ARRAY Verilog: a hardware description language Reference: [] FIELD PROGRAMMABLE GATE ARRAY FPGA is a hardware logic device that is programmable Logic functions may be programmed

More information

ECE 2300 Digital Logic & Computer Organization. More Sequential Logic Verilog

ECE 2300 Digital Logic & Computer Organization. More Sequential Logic Verilog ECE 2300 Digital Logic & Computer Organization Spring 2018 More Sequential Logic Verilog Lecture 7: 1 Announcements HW3 will be posted tonight Prelim 1 Thursday March 1, in class Coverage: Lectures 1~7

More information

Chap 6 Introduction to HDL (d)

Chap 6 Introduction to HDL (d) Design with Verilog Chap 6 Introduction to HDL (d) Credit to: MD Rizal Othman Faculty of Electrical & Electronics Engineering Universiti Malaysia Pahang Ext: 6036 VERILOG HDL Basic Unit A module Module

More information

Logic Implementation on a Xilinx FPGA using VHDL WWU Linux platform assumed. rev 10/25/16

Logic Implementation on a Xilinx FPGA using VHDL WWU Linux platform assumed. rev 10/25/16 1 Logic Implementation on a Xilinx FPGA using VHDL WWU Linux platform assumed. rev 10/25/16 The following is a general outline of steps (i.e. design flow) used to implement a digital system described with

More information

Step 1: Downloading the source files

Step 1: Downloading the source files Introduction: In this lab and in the remainder of the ELEC 2607 labs, you will be using the Xilinx ISE to enter and simulate the designs for your circuits. In labs 3 and 4, you will use ISE to compile

More information

Lecture 32: SystemVerilog

Lecture 32: SystemVerilog Lecture 32: SystemVerilog Outline SystemVerilog module adder(input logic [31:0] a, input logic [31:0] b, output logic [31:0] y); assign y = a + b; Note that the inputs and outputs are 32-bit busses. 17:

More information

The Verilog Language COMS W Prof. Stephen A. Edwards Fall 2002 Columbia University Department of Computer Science

The Verilog Language COMS W Prof. Stephen A. Edwards Fall 2002 Columbia University Department of Computer Science The Verilog Language COMS W4995-02 Prof. Stephen A. Edwards Fall 2002 Columbia University Department of Computer Science The Verilog Language Originally a modeling language for a very efficient event-driven

More information

Using Synplify Pro, ISE and ModelSim

Using Synplify Pro, ISE and ModelSim Using Synplify Pro, ISE and ModelSim VLSI Systems on Chip ET4 351 Rene van Leuken Huib Lincklaen Arriëns Rev. 1.2 The EDA programs that will be used are: For RTL synthesis: Synplicity Synplify Pro For

More information

Speaker: Shao-Wei Feng Adviser: Prof. An-Yeu Wu Date: 2010/09/28

Speaker: Shao-Wei Feng Adviser: Prof. An-Yeu Wu Date: 2010/09/28 99-1 Under-Graduate Project Verilog Simulation & Debugging Tools Speaker: Shao-Wei Feng Adviser: Prof. An-Yeu Wu Date: 2010/09/28 ACCESS IC LAB Outline Basic Concept of Verilog HDL Gate Level Modeling

More information

Hardware description language (HDL)

Hardware description language (HDL) Hardware description language (HDL) A hardware description language (HDL) is a computer-based language that describes the hardware of digital systems in a textual form. It resembles an ordinary computer

More information

Lab 6 : Introduction to Verilog

Lab 6 : Introduction to Verilog Lab 6 : Introduction to Verilog Name: Sign the following statement: On my honor, as an Aggie, I have neither given nor received unauthorized aid on this academic work 1 Objective The main objective of

More information

Introduction to Verilog. Mitch Trope EECS 240 Spring 2004

Introduction to Verilog. Mitch Trope EECS 240 Spring 2004 Introduction to Verilog Mitch Trope mtrope@ittc.ku.edu EECS 240 Spring 2004 Overview What is Verilog? Verilog History Max+Plus II Schematic entry Verilog entry System Design Using Verilog: Sum of Products

More information

discrete logic do not

discrete logic do not Welcome to my second year course on Digital Electronics. You will find that the slides are supported by notes embedded with the Powerpoint presentations. All my teaching materials are also available on

More information

4. Verify that HDL is selected as the Top-Level Source Type, and click Next. The New Project Wizard Device Properties page appears.

4. Verify that HDL is selected as the Top-Level Source Type, and click Next. The New Project Wizard Device Properties page appears. Working with the GODIL Author: Ruud Baltissen Credits: Michael Randelzhofer, Ed Spittles Date: August 2010 What is it? This document describes a way to get familiar with the Xilinx FPGAs on OHO s Godil,

More information

CSE140 L. Instructor: Thomas Y. P. Lee January 18,2006. CSE140L Course Info

CSE140 L. Instructor: Thomas Y. P. Lee January 18,2006. CSE140L Course Info CSE4 L Instructor: Thomas Y. P. Lee January 8,26 CSE4L Course Info Lectures Wedesday :-:2AM, HSS33 Lab Assignment egins TA s JinHua Liu (jhliu@cs.ucsd.edu) Contact TAs if you re still looking for a lab

More information

Introduction to Schematic Entry using Xilinx ISE and Digital Logic Simulation using ModelSim MXE

Introduction to Schematic Entry using Xilinx ISE and Digital Logic Simulation using ModelSim MXE Introduction to Schematic Entry using Xilinx ISE and Digital Logic Simulation using ModelSim MXE 1. Synopsis: This lab introduces Xilinx Schematic Editor to input a digital design and ModelSim to simulate

More information

Chapter 2 Getting Hands on Altera Quartus II Software

Chapter 2 Getting Hands on Altera Quartus II Software Chapter 2 Getting Hands on Altera Quartus II Software Contents 2.1 Installation of Software... 20 2.2 Setting Up of License... 21 2.3 Creation of First Embedded System Project... 22 2.4 Project Building

More information

Hardware Description Languages: Verilog

Hardware Description Languages: Verilog Hardware Description Languages: Verilog Verilog Structural Models (Combinational) Behavioral Models Syntax Examples CS 150 - Fall 2005 - Lecture #4: Verilog - 1 Quick History of HDLs ISP (circa 1977) -

More information

Lab 2 Verilog Synthesis & Logic Optimization

Lab 2 Verilog Synthesis & Logic Optimization UNIVERSITY OF CALIFORNIA AT BERKELEY COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE Lab 2 Verilog Synthesis & Logic Optimization 1.0 Motivation The goals of this lab are

More information

Physics 536 Spring Illustrating the FPGA design process using Quartus II design software and the Cyclone II FPGA Starter Board.

Physics 536 Spring Illustrating the FPGA design process using Quartus II design software and the Cyclone II FPGA Starter Board. Physics 536 Spring 2009 Illustrating the FPGA design process using Quartus II design software and the Cyclone II FPGA Starter Board. Digital logic: Equivalent to a large number of discrete logic elements

More information