Chip Design with FPGA Design Tools

Size: px
Start display at page:

Download "Chip Design with FPGA Design Tools"

Transcription

1 Chip Design with FPGA Design Tools Intern: Supervisor: Antoine Vazquez Janusz Zalewski Florida Gulf Coast University Fort Myers, FL V1.9, August 28 th. Page 1

2 1. Introduction FPGA is abbreviation of Field Programmable Gate Array. It is a semiconductor device containing Configurable Logic Block, Interconnect Resource, and Input/Output Block that can be configured by the customer and designer after manufacturing. The Configurable Logic Block can be programmed to duplicate the functionality of basic logic gates (such as AND, OR, XOR, NOT) or more complex combinatorial functions such as decoders or simple math functions. In most FPGAs, these Configurable Logic Blocks also include memory elements, which may be simple flip-flops or more complete blocks of memories. FPGA has several advantages, such as a shorter time to market and ability to reprogram in the field to fix bugs, and lower non-recurring engineering costs. Applications of FPGAs include digital signal processing, aerospace, defense systems, etc... FPGAs are programmed using hardware description languages to specify how the chip will work. The most used language to program FPGAs is Very High Speed Integrated Circuits (VHSIC) Hardware Description Language, abbreviated to VHDL. The boards we have at our disposal are Altera (Cyclone 2) [1], Xilinx (Spartan-3E) [2] and National Instrument (CRIO) [3]. To program this board, we use three tools, depending on which board we want to work with: Altera Quartus II Xilinx ISE 10.1 National Instruments Labview 8.5 In the following sections, the use of all three tools is explained for a Serial Data Receiver [4] see section Page 2

3 1.1 Quartus II design example Quartus II is a software tool developed by Altera to manage projects, for which EDA (Electronic Design Automation) operations are made. The use of the software can be decomposed into three steps: Design entry two modes of seizure are available, Schematic (GDF or BDF files) or Textual (TDF and VHD files). Simulation the synthesized circuit is tested to verify its functional correctness; this simulation does not take into account any propagation delays. Synthesis the verified design is synthesized into a circuit that consists of logic elements provided in the FPGA chip Design entry First, you have to create a new project by selecting File -> new project Wizard. After that press next to continue. In the next window, enter your project name and location. Press next two times. Now you can specify the type of device in which the designed circuit will be implemented. Select as shown in figure 1. Figure 1 - Type of device you want to use Page 3

4 It is important to specify the family and name of your device correctly. You can find the family of the board written on the FPGA s board; here it is Cyclone II. As well, the Name is written on the FPGA, EP2C35F672C6. The name on the board may be ended with an N which does not matter. If the selected device is not the one for synthesis, your program will not be synthesized. Figure 2 - Altera Cyclone II EP2C35F672C6 After selecting the family and name, click on next and then finish. Your project is now created. The next step is creating a new file to develop your VHDL program by selecting File -> New. A new window appears. Choose VHDL File. Page 4

5 Figure 3 - Create a new VHDL File You are now able to edit your VHDL code. One has to enter the library you are going to use and describe your entity. Entity describes an external block view. You should know what you are going to do before creating it. Inside this block will be the circuit that you want to create in VHDL. So, define what your circuit does and how it will communicate with the board and devices. The entity should be described as followings: 1. Circuit s name 2. IN/OUT ports : Name, for example din, fclk, rst. Direction (IN, OUT, IN/OUT...) Type (BIT, BIT_VECTOR, INTEGER, STD_LOGIC, etc) For a serial data receiver, we need a serial input, a clock to synchronize the circuit and a reset to restart. On the output side, the serial input is converted to a set of parallel signals. Additionally, more output signals should be used to indicate errors. Page 5

6 In the following figure, we define first the schematic representation and then write it in VHDL code. din Data 7bit fclk test Err rst Data_valid Library ieee; Use ieee.std_logic_1164.all; Entity test IS PORT ( din, fclk, rst : IN BIT; data: OUT BIT_VECTOR (6 DOWNTO 0); err, data_valid : OUT BIT ); END test; Figure 4 Schematic representation and VHDL code corresponding Then, you can describe the architecture. The architecture is the internal description of the circuit. It is always associated with an entity. The same entity can have many structures. The mechanism of configuration allows indicating the architecture connected with an entity. In the body of the architecture (between begin and end), there are two types of instructions of VHDL that can be written in any order: Type 1. Type 2. Process with the keyword process. Instruction of affectation. Page 6

7 ARCHITECTURE rt1 OF test IS BEGIN PROCESS (rst, fclk) VARIABLE count: INTEGER RANGE 0 TO 10; VARIABLE reg: BIT_VECTOR (10 DOWNTO 0); VARIABLE temp: BIT; BEGIN IF (rst='0') THEN count:=0; reg:= (reg'range => '0'); temp := '0'; err <= '0'; data_valid <= '0'; ELSIF (fclk' EVENT AND fclk = '0') THEN IF(reg(0)='0' AND din='1') THEN reg(0) :='1'; ELSIF (reg(0)='1') THEN count := count + 1; IF (count<10) THEN reg(count) := din; ELSIF (count=10) THEN temp :=(reg(1) XOR reg(2) XOR reg(3) XOR reg(4) XOR reg(5) XOR reg(6) XOR reg(7) XOR reg(8) XOR reg(9)); err <= temp; count := 0; temp:= '0'; reg(0) :=din; IF (temp ='0') THEN data <= reg(7 downto 1); data_valid <= '1'; END IF; END IF; END IF; END IF; END PROCESS; END rt1; Figure 5 VHDL code of the architecture of the Serial Data Receiver To be sure the code is complete, double-click on compile design on the Task window. Figure 6 shows an example at a successful compilation. Page 7

8 Figure 6 - Compile design Simulation Before implementing the designed circuit in the FPGA chip on the physical board, it is prudent to simulate it to ascertain its correctness. The Cyclone II board has hardwired connections between the FPGA pins and the other components on the board. So, after compiling, we need to assign pins for simulation. Then, the simulation can be made. During the compilation, the Quartus II Compiler was free to choose any pins on the selected FPGA to serve as inputs and outputs. This part is very important because you are going to choose how your circuit will communicate with the extern world. You have to understand what your circuit is going to do before assigning pins! If you want to display your result, you can use the LCD screen, the 7-segments billsticker, or the green and red leds. You can also use USB connection, IDE, JTAG, VGA, Ethernet or every component that the board has. Input can be connected to those components except displays. It is possible to connect a temperature captor, a webcam or a microphone. There are also switches and push buttons, which will be used for the serial data receiver. Page 8

9 So each input and output must be assigned to a component of the board, and thus connected to one of the FPGA pins. Look at the Appendix to see the mapping between pins and components. To assign pins, select Assignments > Assignment Editor to reach the window in Figure 7. Under Category select Pin. Then double-click on the entry <<new>>. Assign the pin as shown in Figure 7. Figure 7 - Pin assignment After the pins are assigned, you should create a simulation file (Vector Waveform File), by selecting File -> New then choose Vector Waveform File then press OK. See figure 8. Page 9

10 Figure 8 - New Vector Waveform File You can now include the input and output nodes of the circuit to be simulated, by clicking Edit > Insert > Insert Node or Bus open the window in Figure 9. Figure 9 - The Insert Node or Bus dialogue In figure 9, click on Node Finder. In the Node Finder window, we are interested in input and output pins, so set the filter to Pins: all. Then Select all the node found. Click OK when you have finish. Page 10

11 Figure 10 - Selecting nodes to insert into the Waveform Editor. To perform the functional simulation, select Assignments -> Settings to open the Settings window. On the left side of this window click on Simulator Settings, choose Functional as the simulation mode, and click OK. The Quartus II simulator takes the inputs and generates the outputs defined in the.vwf file. Press Ok to finish. Page 11

12 Figure 11 - Functional Simulator settings Before running the functional simulation it is necessary to create the required netlist which map pins to signals. This is done by selecting Processing -> Generate Functional Simulation Netlist. Additionally, use fclk as the clock. (din is read only when fclk falls.) You can now make your simulation! In the following, the input sequence is din = that is interpreted as follows: Start= Data= (binary) Parity= Stop=1. To display it on binary, hexadecimal or decimal, make a right click on the name and then choose Properties, followed by choosing unsigned decimal. Now simulation is ready! A simulation run is started by selecting Processing -> Start Simulation, or by using the icon. Page 12

13 At the end of the simulation, Quartus II software indicates its successful completion and displays a Simulation Report illustrated in Figure 12. Figure 12 Simulation results of serial data receivers After reception, data = 78 (decimal) = (binary). Data_valid is high and err is low which means the data reception has been successful Synthesis Now that the simulation has been done successfully, you can start to synthesize your circuit on the Altera Cyclone II board to actually see the output. To do this, click on the programmer icon, or select tools -> programmer. Figure 13 appear. If the device is not detected, make sure that the board is turned on. Page 13

14 Figure 13 - Programmer window When you are ready, click on the start icon. The FPGA will be flashed with your program. Afterwards, you can use SW[0] to modify din. When din is on the good position (high or low), press Key[3] every time you want to input your din position as Key[3] is your clock. Key[0] is reset For example, to input , you can switch SW[0] to generate either 1 or 0 sequentially. In order to be synchronized by the clock (Key[3]), press Key[3] every time SW[3] is switched, high or low. After the data are received leds between ledr0 to ledr6 will show you the results, LEDG0 (data_valid) is on and LED17 (error) is off. Try another sequence: and you will see that parity is false on that case. You will see LED17 (err) turn ON. You can also try and see that parity is true. You can observe your data display by leds, as shown in the box in Figure 14. The sequence is well shows. Moreover, Green led at the right corresponds to data_valid, so you have well received the data. Page 14

15 Data[0 to6] Din switch Fclk button Reset button Data_valid Figure 14 - Results on Altera board Page 15

16 1.2 Xilinx ISE design example Similar to Altera Quartus II, Xillinx ISE can help design circuits in VHDL, simulate the code, and flash the VHDL code to a board Design entry The first thing is to create a new project in Xillinx by selecting File-> New project. You need to give a name of your project, select the project location, and press next. Choose the options like show in figure 15 as an example. Figure 15 - New project Then you can choose the board you are going to use. Check on the board (wrote on the FPGA) the family and the device. Here we use a Spartan-3E XC3S100E. Now the project is ready to be created. Press for Next for three times and then Finish. Page 16

17 Figure *** - Project properties To create a VHDL file for your project, click on create new source : Figure *** - New HDL Module file A window will show up, asking for the type of the source code. Please select VHDL Module File, enter the File s name and the directory and press Next. Page 17

18 Figure *** - VHDL Module File Then you should describe your port entity. Define the direction (in or out), the port s name and if it is a bus or just a bit. Then press next and finish. Figure *** - Port entity s definition The first part of your VHDL code (the entity) will be automatically created based on the information which you entered previously. Page 18

19 Figure *** - VHDL code The architecture has to be completed by you. You must write your VHDL code between BEGIN Behavioral and END Behavioral to describe the inside of your circuit. Page 19

20 architecture Behavioral of test is begin PROCESS (rst, fclk) VARIABLE count: INTEGER RANGE 0 TO 10; VARIABLE reg: STD_LOGIC_VECTOR (10 DOWNTO 0); VARIABLE temp: STD_LOGIC; BEGIN IF (rst='1') THEN count:=0; reg:= " "; temp := '1'; err <= '0'; data <= " "; ELSIF (fclk' EVENT AND fclk = '1') THEN IF(reg(0)='0' AND din='1') THEN reg(0) :='1'; ELSIF (reg(0)='1') THEN count := count + 1; IF (count<10) THEN reg(count) := din; ELSIF (count=10) THEN temp :=((reg(1) XOR reg(2) XOR reg(3) XOR reg(4) XOR reg(5) XOR reg(6) XOR reg(7) XOR reg(8)) OR NOT reg(9)); err <= temp; count := 0; reg(0) :=din; IF (temp ='0') THEN data <= reg(7 downto 1); END IF; END IF; END IF; END IF; END PROCESS; end Behavioral; Figure *** VHDL code of the architecture of the Serial Data Receiver On the process windows, double click on check syntax Figure *** Check syntax Page 20

21 1.2.2 Simulation Once the design is created and the VHDL code developed, you can simulate the behavior of the circuit. Change the source folder for Behavior Simulation Double click on Create New Source Choose TestBenchWaveform Enter a name for your file Figure *** Test bench new file Page 21

22 You have to define clock options. For this example, you can use a single clock, fclk in Falling Edge. You can choose the period, the length or an offset. Select options like show in Figure ***.[d1] Figure *** Timing option for simulation Press finish when settings are complete. Then the following window will appear. It is your simulation window. fclk is defined as a clock, so define your rst and din input sequence like for the preview example. Page 22

23 The input sequence for din is , which mean, for this protocol: Start = 1 Din = (binary) Parity = 0 Stop = 1. Rst has to be low for resetting the board. For using your program, set rst high. Figure *** Selection of the entries When you are ready, double click on Simulate Behavioral Model to start the simulation and to obtain your results in a new window with the setting you have set before. You can choose the format of the results, binary, decimal, etc. Page 23

24 Figure *** Simulation results of serial data receivers Data = 78 We can see that data, data_valid and err output do not change until every din bits have been sent. Then, after the complete reception, data = 78 (decimal) = (binary). It indicates that the data reception has been done successfully. Page 24

25 1.2.3 Synthesis You are going to see a new approach to assign pins that on section It is possible to assign manually the pins to the components. For that, you need to create a new file, an ucf file. Select implementation on the source window and click on your test.vhd file. On the project directory, create a new file by right clicking -> new -> test document. Rename the file to test.ucf. You will create your assignment manually! Open this file, every assignment file begins by: #PACE: Start of Constraints generated by PACE #PACE: Start of PACE I/O Pin Assignments Then you choose the pins that you want use. For our example, you need three switch inputs for din, fclk and reset. You also can use the led for the data output and the errors signal. On the Xilinx Spartan-3E board, pins are written close to the component like display on figure ***. Page 25

26 Figure *** - Switches and leds on Xilinx Spartan-3E For example, to use SW0, assign the input (rst) to the pin L13 and for the Led 7, assign to F9. NET "fclk" LOC = "H18" ; NET "fclk" CLOCK_DEDICATED_ROUTE = FALSE; NET "data<0>" LOC = "E9" ; NET "data<1>" LOC = "D11" ; NET "data<2>" LOC = "C11" ; NET "data<3>" LOC = "F11" ; NET "data<4>" LOC = "E11" ; NET "data<5>" LOC = "E12" ; NET "data<6>" LOC = "F12" ; NET "din" LOC = "N17" ; NET "rst" LOC = "L13" ; NET "err" LOC = "F9" ; For finish write: #PACE: Start of PACE Area Constraints #PACE: Start of PACE Prohibit Constraints #PACE: End of Constraints generated by PACE Save and close the test.ucf file. On Xilinx-ISE click on add existing source on the process windows. Select test.ucf like shows on figure ***. Click OK on window ***. Page 26

27 Figure *** - Add Existing Sources Figure *** - Add Existing Files Then you can see your assignments on the FPGA by double clicking on Floorplan Area/IO/Logic - Post Synthesis found in the User Constraints process group. The Xilinx Pinout and Area Constraints Editor opens. Figure *** - Package Pins for Spartan-3E Page 27

28 You can observe the Location used in blue. The others Pins are all the pins of the FPGA 320, the Xilinx s FPGA. On the left, there are the correspondences between the Input/output of your program and the location where they are connected. Close the window when you have finished your observations. Double click the Implementation Design on the Processes. You show a warning because you are using a switch as a clock, the constraints file must be edited to explicitly allow it. This is why the line NET "fclk" CLOCK_DEDICATED_ROUTE = FALSE; is present on the test.ucf file. Without this line the warning is an error [5]. Now double click the Generate Programming File and then Configure Target Device. Figure *** - Project Navigator Figure *** - impact dialog box Page 28

29 Select Configure devices using Boundary-Scan (JTAG) and Automatically connect to a cable and identify Boundary-Scan chain. Click Finish. Open the test.bit file on figure ***, and Bypass the other files. Click Ok on the new window. Figure *** - Assign New Configuration File You are now able to flash you program on the Xilinx xc3s500e FPGA. Figure *** - Boundary Scan Click right on the Green icon (xc3s500e) on select Program. The board has been flashed! You can see a Yellow Led on which means that the Program succeeded. On the Board, use SW3 for din, SW2 for fclk and SW0 for reset. Data is displayed on led from LD0 to LD6 and the error signal is displayed on the Led LD7. Page 29

30 For example, to input , you can switch SW0 to generate either 1 or 0 sequentially. In order to be synchronized by the clock (SW2), switch SW2 to High then low every time you want valid din. After the data are received leds between LD0 to LD6 will show you the results and LD7 (error) is off. Try another sequence: and you will see that parity is false on that case. You will see LED17 (err) turn ON. You can also try and see that parity is true. Figure *** - Results on the Xilinx board. Between Led 6 and Led 0, you can read the sequence , that is the sequence you enter by Din! Page 30

31 1.3 Labview 8.5 design example LabVIEW is short for Laboratory Virtual Instrumentation Engineering Workbench. It is a platform and development environment for a visual programming language developed by National Instruments. It is possible to program the FPGA of the NI crio For the CompactRIO, the embedded FPGA is a high-performance, reconfigurable chip which can be programed with LabVIEW and LabVIEW FPGA module graphical development tools Design entry When you open Labview, the Getting Started window appears. You can open a new VI (Virtual Instruments file), project or open an existing project. Figure *** - Getting Started window Page 31

32 To create a new FPGA project, click on More in the window called New. Figure *** - New file or project Select Labview FPGA Project to use the crio This will create a new project using the FPGA for running. Click on Ok, a new window appears. Choose CompactRIO Reconfigurable Embedded System and press next. Labview can discover an existing system automatically as the crio So, select Discover existing system as on Figure *** and click Next. Figure *** - Create New CompactRIO FPGA Project Page 32

33 The crio is detected, select it and click Next. Figure *** - Selection of the system Figure *** - Systems available When you can see this window, press Finish. You project is created and configured. Close the FPGA Wizard. The Project explorer appears. Save it and give it a name. Page 33

34 Figure *** - Project Explorer Page 34

35 Right click on crio (address of this device, here ) and select New -> VI. Your file appears on your crio project. Save it and give it a name too. Two windows appears, one is called Front Panel on Data-Receive and a second is called Block Diagram on Data- Receive : - The Block diagram is the program, it is the source code for the Front panel. Figure *** - Block Diagram - The Front Panel simulate the panel of a physical instrument like an oscilloscope for example. It is the interface between the user and the machine. Here is the bottoms, graphs and indicates. Figure *** - Front Panel Page 35

36 On the Block Diagram, add the HDL Interface Node by right click. If you do not find it, go to the help menu -> Search the Labview Help, make a research of HDL interface node and click on find on the Functions palette. Then add it to your Block Diagram file. Figure *** - Help Menu Figure *** - Hdl Nnterface Node on the Block Diagram Double click on the item, the properties window appears. Insert parameters, that means your input and output like shows in Figure ***. Page 36

37 Figure *** HDL Interface Node, Parameters tab On the Code tab, after architecture implementation of test is, enter the VHDL code. Figure *** - HDL Interface Node, code tab Page 37

38 PROCESS (rst, fclk) VARIABLE count: INTEGER RANGE 0 TO 10; VARIABLE reg: STD_LOGIC_VECTOR (10 DOWNTO 0); VARIABLE temp: STD_LOGIC; BEGIN IF (rst(0)='0') THEN count:=0; reg:= (reg'range => '0'); temp := '0'; err(0) <= '0'; data_valid(0) <= '0'; data0(0) <= '0'; data1(0) <= '0'; data2(0) <= '0'; data3(0) <= '0'; data4(0) <= '0'; data5(0) <= '0'; data6(0) <= '0'; ELSIF (fclk(0)' EVENT AND fclk(0) = '1') THEN IF(reg(0)='0' AND din(0)='1') THEN reg(0) :='1'; ELSIF (reg(0)='1') THEN count := count + 1; IF (count<10) THEN reg(count) := din(0); ELSIF (count=10) THEN temp :=((reg(1) XOR reg(2) XOR reg(3) XOR reg(4) XOR reg(5) XOR reg(6) XOR reg(7) XOR reg(8)) OR NOT reg(9)); err(0) <= temp; count := 0; temp:= '0'; reg(0) :=din(0); IF (temp ='0') THEN data0(0) <= reg(1); data1(0) <= reg(2); data2(0) <= reg(3); data3(0) <= reg(4); data4(0) <= reg(5); data5(0) <= reg(6); data6(0) <= reg(7); data_valid(0) <= '1'; END IF; END IF; END IF; END IF; enable_out <= enable_in; END PROCESS; Figure *** - VHDL Code You can check if your code is correct by clicking on Check Syntax. Then click on OK. You can now see all the connection on the HDL Interface Node. Page 38

39 Figure *** - HDL interface Node You need to wire the connection. Before that, create the interaction of your program on the Front Panel window. Right click on the Front Panel, and select Modern -> Boolean -> LED. Display nine Led, seven for the data and one for data_valid and err. Choose your input bottoms by select Modern -> Boolean -> Switch. Create three switches. Figure *** - Front Panel s interface When you add an item on the Front Panel, it is add on the Block Diagram too. Wire the input and output to their associate items. Page 39

40 Figure *** - Front Panel Synthesis Before to run the program, make sure the VI file is in the section FPGA Target (RIO0, crio- 9074) like shows on Figure ***. Figure *** - Project Explorer with test.vi file Page 40

41 Click on the Run Continuously icon on the Front Panel or the Block Diagram and press OK. Wait a couple of minutes, Labview is compiling your program on the crio FPGA. Figure *** - FPGA Compile Server Figure *** - Successful Compile Report Click Ok on the Successful Compile Report. You can use your program on the Front Panel renamed FPGA Target. As for Altera and Xilinx, use fclk for the clock when you choose din. For example, to input , you can switch din to generate either 1 or 0 sequentially. In order to be synchronized by the clock, switch fclk to High then low every time you want valid din. After the data are received leds Data-0 to Data-6 will show you the results while err is Off and data_valid is On. You can observe your data display by leds, as shown in the box in Figure ***. The sequence is well shows. Moreover, Green led at the right corresponds to data_valid, so you have well received the data. Page 41

42 Figure *** - Results for din = Try another sequence: and you will see that parity is false on that case. You will see LED17 (err) turn ON. You can also try and see that parity is true. Figure *** - Results for din = Page 42

43 2. Designing a bus interface in FPGA <TBD> References [1] Altera Corp, Literature: Cyclone II Devices, San Jose, California. [2] Xilinx Inc, Spartan-3E Starter Kit, San Jose, California. [3] National Instruments Corporation., CompactRIO Integrated Systems, Austin, Texas. [4] V. A. Pedroni, Circuit Design with FPGA, HIT Press, Cambridge, Mass, Page 43

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

Logic Implementation on a Xilinx FPGA using VHDL WWU Linux platform assumed. rev 11/01/17

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

More information

Banks, Jasmine Elizabeth (2011) The Spartan 3E Tutorial 1 : Introduction to FPGA Programming, Version 1.0. [Tutorial Programme]

Banks, Jasmine Elizabeth (2011) The Spartan 3E Tutorial 1 : Introduction to FPGA Programming, Version 1.0. [Tutorial Programme] QUT Digital Repository: http://eprints.qut.edu.au/ This is the author version published as: This is the accepted version of this article. To be published as : This is the author s version published as:

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

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

Introduction to VHDL Design on Quartus II and DE2 Board

Introduction to VHDL Design on Quartus II and DE2 Board ECP3116 Digital Computer Design Lab Experiment Duration: 3 hours Introduction to VHDL Design on Quartus II and DE2 Board Objective To learn how to create projects using Quartus II, design circuits and

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

EMT1250 LABORATORY EXPERIMENT. EXPERIMENT # 7: VHDL and DE2 Board. Name: Date:

EMT1250 LABORATORY EXPERIMENT. EXPERIMENT # 7: VHDL and DE2 Board. Name: Date: EXPERIMENT # 7: VHDL and DE2 Board Name: Date: Equipment/Parts Needed: Quartus II R Web Edition V9.1 SP2 software by Altera Corporation USB drive to save your files Objective: Learn how to create and modify

More information

Laboratory 4 Design a Muti-bit Counter and Programming a FPGA

Laboratory 4 Design a Muti-bit Counter and Programming a FPGA Laboratory 4 Design a Muti-bit Counter and Programming a FPGA For your report: The problem written in English The flowchart or function table to solve the problem if it is necessary The design entry included

More information

Lab 6: Integrated the Decoder with Muti-bit Counter and Programming a FPGA

Lab 6: Integrated the Decoder with Muti-bit Counter and Programming a FPGA Lab 6: Integrated the Decoder with Muti-bit Counter and Programming a FPGA For your report: The problem written in English The flowchart or function table to solve the problem if it is necessary The design

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 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

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

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

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

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

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

Laboratory 4 Design a Muti-bit Counter

Laboratory 4 Design a Muti-bit Counter Laboratory 4 Design a Muti-bit Counter Background A. Approach I: Design 3-bit counter with and clear T-type flip-flop is shown in Figure 1. A T flip-flop is obtained from a JK flip-flop by tying the J

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

Addition of Unsigned Binary Numbers Using FPGA

Addition of Unsigned Binary Numbers Using FPGA Addition of Unsigned Binary Numbers Using FPGA Author: Justin Hodnett Instructor: Dr. Janusz Zalewski CEN 3213 Embedded Systems Programming Florida Gulf Coast University Ft. Myers, Fl Friday, October 02,

More information

CCE 3202 Advanced Digital System Design

CCE 3202 Advanced Digital System Design CCE 3202 Advanced Digital System Design Lab Exercise #2 This lab exercise will show you how to create, synthesize, and test a 3-bit ripple counter. A ripple counter is simply a circuit that outputs the

More information

Tutorial on Quartus II Introduction Using Schematic Designs

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

More information

2 nd Year Laboratory. Experiment: FPGA Design with Verilog. Department of Electrical & Electronic Engineering. Imperial College London.

2 nd Year Laboratory. Experiment: FPGA Design with Verilog. Department of Electrical & Electronic Engineering. Imperial College London. Department of Electrical & Electronic Engineering 2 nd Year Laboratory Experiment: FPGA Design with Verilog Objectives By the end of this experiment, you should know: How to design digital circuits using

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

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

Advanced Electronics Lab.

Advanced Electronics Lab. College of Engineering Course Book of 2010-2011 Advanced Electronics Lab. Mr. Araz Sabir Ameen M.Sc. in Electronics & Communications ALTERA DE2 Development and Education Board DE2 Package: The DE2 package

More information

Terasic DE0 Field Programmable Gate Array (FPGA) Development Board

Terasic DE0 Field Programmable Gate Array (FPGA) Development Board Lecture FPGA-01 DE0 FPGA Development Board and Quartus II 9.1 FPGA Design Software Terasic DE0 Field Programmable Gate Array (FPGA) Development Board 1 May 16, 2013 3 Layout and Components of DE0 May 16,

More information

ECE 3610 Microprocessing Systems Lab #1 Verilog Design of the TOC Using Quartus II

ECE 3610 Microprocessing Systems Lab #1 Verilog Design of the TOC Using Quartus II ECE 3610 Microprocessing Systems Lab #1 Verilog Design of the TOC Using Quartus II This lab manual presents an introduction to the Quartus II Computer Aided Design (CAD) system. This manual gives step-by-step

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

Quick Tutorial for Quartus II & ModelSim Altera

Quick Tutorial for Quartus II & ModelSim Altera Quick Tutorial for Quartus II & ModelSim Altera By Ziqiang Patrick Huang Hudson 213c Ziqiang.huang@duke.edu Download & Installation For Windows or Linux users : Download Quartus II Web Edition v13.0 (ModelSim

More information

CPLD Experiment 4. XOR and XNOR Gates with Applications

CPLD Experiment 4. XOR and XNOR Gates with Applications CPLD Experiment 4 XOR and XNOR Gates with Applications Based on Xilinx ISE Design Suit 10.1 Department of Electrical & Computer Engineering Florida International University Objectives Materials Examining

More information

CET4805 Component and Subsystem Design II. EXPERIMENT # 2: VHDL(VHSIC Hardware Descriptive Language) Name: Date:

CET4805 Component and Subsystem Design II. EXPERIMENT # 2: VHDL(VHSIC Hardware Descriptive Language) Name: Date: EXPERIMENT # 2: VHDL(VHSIC Hardware Descriptive Language) Name: Date: Equipment/Parts Needed: Quartus II R Web Edition V9.1 SP2 software by Altera Corporation USB drive to save your files Objective: Learn

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

Quartus II Introduction Using Verilog Design

Quartus II Introduction Using Verilog Design Quartus II Introduction Using Verilog Design This tutorial presents an introduction to the Quartus R II CAD system. It gives a general overview of a typical CAD flow for designing circuits that are implemented

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

DIGITAL LOGIC WITH VHDL (Fall 2013) Unit 1

DIGITAL LOGIC WITH VHDL (Fall 2013) Unit 1 DIGITAL LOGIC WITH VHDL (Fall 23) Unit DESIGN FLOW DATA TYPES LOGIC GATES WITH VHDL TESTBENCH GENERATION DESIGN FLOW Design Entry: We specify the logic circuit using a Hardware Description Language (e.g.,

More information

Tutorial for Altera DE1 and Quartus II

Tutorial for Altera DE1 and Quartus II Tutorial for Altera DE1 and Quartus II Qin-Zhong Ye December, 2013 This tutorial teaches you the basic steps to use Quartus II version 13.0 to program Altera s FPGA, Cyclone II EP2C20 on the Development

More information

Quartus II Introduction Using Schematic Design

Quartus II Introduction Using Schematic Design Quartus II Introduction Using Schematic Design This tutorial presents an introduction to the Quartus R II CAD system. It gives a general overview of a typical CAD flow for designing circuits that are implemented

More information

CSEE W4840 Embedded System Design Lab 1

CSEE W4840 Embedded System Design Lab 1 CSEE W4840 Embedded System Design Lab 1 Stephen A. Edwards Due January 31, 2008 Abstract Learn to use the Altera Quartus development envrionment and the DE2 boards by implementing a small hardware design

More information

QUARTUS II Altera Corporation

QUARTUS II Altera Corporation QUARTUS II Quartus II Design Flow Design Entry Timing Constraints Synthesis Placement and Routing Timing, Area, Power Optimization Timing and Power Analyzer Optimized Design 2 Can I still use a Processor?

More information

EE 367 Logic Design Lab #1 Introduction to Xilinx ISE and the ML40X Eval Board Date: 1/21/09 Due: 1/28/09

EE 367 Logic Design Lab #1 Introduction to Xilinx ISE and the ML40X Eval Board Date: 1/21/09 Due: 1/28/09 EE 367 Logic Design Lab #1 Introduction to Xilinx ISE and the ML40X Eval Board Date: 1/21/09 Due: 1/28/09 Lab Description Today s lab will introduce you to the Xilinx Integrated Software Environment (ISE)

More information

The development board used in this class is ALTERA s DE The board provides the following hardware:

The development board used in this class is ALTERA s DE The board provides the following hardware: Lab 1 The goal of this lab is to get familiar with the mechanics of designing digital systems using VHDL and ALTERA s FPGAs. The development board used in this class is ALTERA s DE2-115. The board provides

More information

Experiment 8 Introduction to VHDL

Experiment 8 Introduction to VHDL Experiment 8 Introduction to VHDL Objectives: Upon completion of this laboratory exercise, you should be able to: Enter a simple combinational logic circuit in VHDL using the Quartus II Text Editor. Assign

More information

Lab 2 EECE473 Computer Organization & Architecture University of Maine

Lab 2 EECE473 Computer Organization & Architecture University of Maine Lab 2: Verilog Programming Instructor: Yifeng Zhu 50 Points Objectives: 1. Quatus II Programming assignment: PIN assignments, LEDs, switches; 2. Download and test the design on Altera DE2 board 3. Create

More information

EMT1250 LABORATORY EXPERIMENT. EXPERIMENT # 6: Quartus II Tutorial and Practice. Name: Date:

EMT1250 LABORATORY EXPERIMENT. EXPERIMENT # 6: Quartus II Tutorial and Practice. Name: Date: EXPERIMENT # 6: Quartus II Tutorial and Practice Name: Date: Equipment/Parts Needed: Quartus II R Web Edition V9.1 SP2 software by Altera Corporation USB drive to save your files Objective: Learn how to

More information

UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering. EEC180A DIGITAL SYSTEMS I Winter 2015

UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering. EEC180A DIGITAL SYSTEMS I Winter 2015 UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering EEC180A DIGITAL SYSTEMS I Winter 2015 LAB 1: Introduction to Quartus II Schematic Capture and ModelSim Simulation This

More information

1 Introduction 2. 2 Background 3. 3 Getting Started 4. 4 Starting a New Project 6. 5 Design Entry Using VHDL Code 13

1 Introduction 2. 2 Background 3. 3 Getting Started 4. 4 Starting a New Project 6. 5 Design Entry Using VHDL Code 13 Quartus Prime Introduction Using VHDL Designs For Quartus Prime 17.0 Contents 1 Introduction 2 2 Background 3 3 Getting Started 4 3.1 Quartus Prime Online Help................................................................................................

More information

EE 231 Fall Lab 1: Introduction to Verilog HDL and Altera IDE

EE 231 Fall Lab 1: Introduction to Verilog HDL and Altera IDE Lab 1: Introduction to Verilog HDL and Altera IDE Introduction In this lab you will design simple circuits by programming the Field-Programmable Gate Array (FPGA). At the end of the lab you should be able

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

Xilinx ISE8.1 and Spartan-3 Tutorial (Prepared by Kahraman Akdemir based on Professor Duckworth's Tutorials updated September 2006)

Xilinx ISE8.1 and Spartan-3 Tutorial (Prepared by Kahraman Akdemir based on Professor Duckworth's Tutorials updated September 2006) Xilinx ISE8.1 and Spartan-3 Tutorial (Prepared by Kahraman Akdemir based on Professor Duckworth's Tutorials updated September 2006) 1 Part1) Starting a new project Simple 3-to-8 Decoder Start the Xilinx

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

Quartus II Introduction Using Verilog Designs. 1 Introduction. For Quartus II 12.0

Quartus II Introduction Using Verilog Designs. 1 Introduction. For Quartus II 12.0 Quartus II Introduction Using Verilog Designs For Quartus II 12.0 1 Introduction This tutorial presents an introduction to the Quartus II CAD system. It gives a general overview of a typical CAD flow for

More information

NIOS CPU Based Embedded Computer System on Programmable Chip

NIOS CPU Based Embedded Computer System on Programmable Chip 1 Objectives NIOS CPU Based Embedded Computer System on Programmable Chip EE8205: Embedded Computer Systems This lab has been constructed to introduce the development of dedicated embedded system based

More information

Lab 6: Intro to FPGAs

Lab 6: Intro to FPGAs Lab 6: Intro to FPGAs UC Davis Physics 116B Rev 2/22/2018 There s a saying when dealing with complex electronic systems: If you can make the LED blink, you re 90% of the way there., so in this lab you

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

Field Programmable Gate Array

Field Programmable Gate Array Field Programmable Gate Array System Arch 27 (Fire Tom Wada) What is FPGA? System Arch 27 (Fire Tom Wada) 2 FPGA Programmable (= reconfigurable) Digital System Component Basic components Combinational

More information

EENG 2910 Project III: Digital System Design. Due: 04/30/2014. Team Members: University of North Texas Department of Electrical Engineering

EENG 2910 Project III: Digital System Design. Due: 04/30/2014. Team Members: University of North Texas Department of Electrical Engineering EENG 2910 Project III: Digital System Design Due: 04/30/2014 Team Members: University of North Texas Department of Electrical Engineering Table of Content i Contents Abstract...3 Introduction...3 Report...4

More information

2001 by X Engineering Software Systems Corp., Apex, North Carolina 27502

2001 by X Engineering Software Systems Corp., Apex, North Carolina 27502 2001 by X Engineering Software Systems Corp., Apex, North Carolina 27502 All rights reserved. No part of this text may be reproduced, in any form or by any means, without permission in writing from the

More information

EE 231 Fall EE 231 Lab 2

EE 231 Fall EE 231 Lab 2 EE 231 Lab 2 Introduction to Verilog HDL and Quartus In the previous lab you designed simple circuits using discrete chips. In this lab you will do the same but by programming the CPLD. At the end of the

More information

ECE 4305 Computer Architecture Lab #1

ECE 4305 Computer Architecture Lab #1 ECE 4305 Computer Architecture Lab #1 The objective of this lab is for students to familiarize with the FPGA prototyping system board (Nexys-2) and the Xilinx software development environment that will

More information

FPGA design with National Instuments

FPGA design with National Instuments FPGA design with National Instuments Rémi DA SILVA Systems Engineer - Embedded and Data Acquisition Systems - MED Region ni.com The NI Approach to Flexible Hardware Processor Real-time OS Application software

More information

Lab 3: Standard Combinational Components

Lab 3: Standard Combinational Components Lab 3: Standard Combinational Components Purpose In this lab you will implement several combinational circuits on the DE1 development board to test and verify their operations. Introduction Using a high-level

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

Contents. Appendix B HDL Entry Tutorial 2 Page 1 of 14

Contents. Appendix B HDL Entry Tutorial 2 Page 1 of 14 Appendix B HDL Entry Tutorial 2 Page 1 of 14 Contents Appendix B HDL Entry Tutorial 2...2 B.1 Getting Started...2 B.1.1 Preparing a Folder for the Project...2 B.1.2 Starting Quartus II...2 B.1.3 Creating

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

Laboratory Exercise 8

Laboratory Exercise 8 Laboratory Exercise 8 Memory Blocks In computer systems it is necessary to provide a substantial amount of memory. If a system is implemented using FPGA technology it is possible to provide some amount

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

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

MANUAL XILINX ISE PROJECT NAVIGATOR

MANUAL XILINX ISE PROJECT NAVIGATOR Hochschule für Angewandte Wissenschaften Hamburg University of Applied Sciences Department of Electrical Engineering and Computer Sciences MANUAL XILINX ISE PROJECT NAVIGATOR AND MODELSIM Design Flow for

More information

Lab 2: Introduction to Verilog HDL and Quartus

Lab 2: Introduction to Verilog HDL and Quartus Lab 2: Introduction to Verilog HDL and Quartus September 16, 2008 In the previous lab you designed simple circuits using discrete chips. In this lab you will do the same but by programming the CPLD. At

More information

SOPC LAB1. I. Introduction. II. Lab contents. 4-bit count up counter. Advanced VLSI Due Wednesday, 01/08/2003

SOPC LAB1. I. Introduction. II. Lab contents. 4-bit count up counter. Advanced VLSI Due Wednesday, 01/08/2003 SOPC LAB1 I. Introduction The purpose of this lab is to familiarize you with all the items in the kit. This tutorial tells you how to develop FPGA system in Quartus II. You are ready to begin using the

More information

Lecture 7. Standard ICs FPGA (Field Programmable Gate Array) VHDL (Very-high-speed integrated circuits. Hardware Description Language)

Lecture 7. Standard ICs FPGA (Field Programmable Gate Array) VHDL (Very-high-speed integrated circuits. Hardware Description Language) Standard ICs FPGA (Field Programmable Gate Array) VHDL (Very-high-speed integrated circuits Hardware Description Language) 1 Standard ICs PLD: Programmable Logic Device CPLD: Complex PLD FPGA: Field Programmable

More information

Using ModelSim to Simulate Logic Circuits in VHDL Designs. 1 Introduction. For Quartus II 13.0

Using ModelSim to Simulate Logic Circuits in VHDL Designs. 1 Introduction. For Quartus II 13.0 Using ModelSim to Simulate Logic Circuits in VHDL Designs For Quartus II 13.0 1 Introduction This tutorial is a basic introduction to ModelSim, a Mentor Graphics simulation tool for logic circuits. We

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

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

Chapter 2: Hardware Design Flow Using Verilog in Quartus II

Chapter 2: Hardware Design Flow Using Verilog in Quartus II Chapter 2: Hardware Design Flow Using Verilog in Quartus II 2.1 Introduction to Quartus II System Development Software This chapter is an introduction to the Quartus II software that will be used for analysis

More information

University of Florida EEL 3701 Dr. Eric M. Schwartz Department of Electrical & Computer Engineering Revision 0 12-Jun-16

University of Florida EEL 3701 Dr. Eric M. Schwartz Department of Electrical & Computer Engineering Revision 0 12-Jun-16 Page 1/14 Quartus Tutorial with Basic Graphical Gate Entry and Simulation Example Problem Given the logic equation Y = A*/B + /C, implement this equation using a two input AND gate, a two input OR gate

More information

Digital Systems Laboratory

Digital Systems Laboratory 2012 Fall CSE140L Digital Systems Laboratory by Dr. Choon Kim CSE Department UCSD 1 Welcome to CSE140L! 2 3-way Light Controller, 2-1 MUX, Majority Detector, 7- seg Display, Binary-to- Decimal converter.

More information

To practice combinational logic on Logisim and Xilinx ISE tools. ...

To practice combinational logic on Logisim and Xilinx ISE tools. ... ENGG1203: Introduction to Electrical and Electronic Engineering Second Semester, 2017 18 Lab 1 Objective: To practice combinational logic on Logisim and Xilinx ISE tools. 1 Find your lab partner You will

More information

FPGA Introductory Tutorial: Part 1

FPGA Introductory Tutorial: Part 1 FPGA Introductory Tutorial: Part 1 This tutorial is designed to assist in learning the basics of the Altera Quartus II v9.0 software. Part 1 of the tutorial will cover the basics of creating a Project,

More information

EEL 4783: Hardware/Software Co-design with FPGAs

EEL 4783: Hardware/Software Co-design with FPGAs EEL 4783: Hardware/Software Co-design with FPGAs Lecture 9: Short Introduction to VHDL* Prof. Mingjie Lin * Beased on notes of Turfts lecture 1 What does HDL stand for? HDL is short for Hardware Description

More information

PALMiCE FPGA Probing Function User's Manual

PALMiCE FPGA Probing Function User's Manual PALMiCE FPGA Probing Function User's Manual This manual describes the probing function and presents the basic usage patterns. Chapter1 Introducing the Probing Function The probing function makes it easy

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

Tutorial - Using Xilinx System Generator 14.6 for Co-Simulation on Digilent NEXYS3 (Spartan-6) Board

Tutorial - Using Xilinx System Generator 14.6 for Co-Simulation on Digilent NEXYS3 (Spartan-6) Board Tutorial - Using Xilinx System Generator 14.6 for Co-Simulation on Digilent NEXYS3 (Spartan-6) Board Shawki Areibi August 15, 2017 1 Introduction Xilinx System Generator provides a set of Simulink blocks

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

CSE P567 - Winter 2010 Lab 1 Introduction to FGPA CAD Tools

CSE P567 - Winter 2010 Lab 1 Introduction to FGPA CAD Tools CSE P567 - Winter 2010 Lab 1 Introduction to FGPA CAD Tools This is a tutorial introduction to the process of designing circuits using a set of modern design tools. While the tools we will be using (Altera

More information

CSEE W4840 Embedded System Design Lab 1

CSEE W4840 Embedded System Design Lab 1 CSEE W4840 Embedded System Design Lab 1 Stephen A. Edwards Due February 2, 2009 Abstract Learn to use the Altera Quartus development envrionment and the DE2 boards by implementing a small hardware design

More information

UNIVERSITI MALAYSIA PERLIS

UNIVERSITI MALAYSIA PERLIS UNIVERSITI MALAYSIA PERLIS SCHOOL OF COMPUTER & COMMUNICATIONS ENGINEERING EKT 124 LABORATORY MODULE INTRODUCTION TO QUARTUS II DESIGN SOFTWARE : INTRODUCTION TO QUARTUS II DESIGN SOFTWARE OBJECTIVES To

More information

University of Florida EEL 3701 Dr. Eric M. Schwartz Madison Emas, TA Department of Electrical & Computer Engineering Revision 1 5-Jun-17

University of Florida EEL 3701 Dr. Eric M. Schwartz Madison Emas, TA Department of Electrical & Computer Engineering Revision 1 5-Jun-17 Page 1/14 Example Problem Given the logic equation Y = A*/B + /C, implement this equation using a two input AND gate, a two input OR gate and two inverters under the Quartus environment. Upon completion

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

CSEE W4840 Embedded System Design Lab 1

CSEE W4840 Embedded System Design Lab 1 CSEE W4840 Embedded System Design Lab 1 Stephen A. Edwards Due February 3, 2011 Abstract Learn to use the Altera Quartus development envrionment and the DE2 boards by implementing a small hardware design

More information

Programmable Logic Design I

Programmable Logic Design I Programmable Logic Design I Introduction In labs 11 and 12 you built simple logic circuits on breadboards using TTL logic circuits on 7400 series chips. This process is simple and easy for small circuits.

More information

Outline. CPE/EE 422/522 Advanced Logic Design L05. Review: General Model of Moore Sequential Machine. Review: Mealy Sequential Networks.

Outline. CPE/EE 422/522 Advanced Logic Design L05. Review: General Model of Moore Sequential Machine. Review: Mealy Sequential Networks. Outline CPE/EE 422/522 Advanced Logic Design L05 Electrical and Computer Engineering University of Alabama in Huntsville What we know Combinational Networks Sequential Networks: Basic Building Blocks,

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

475 Electronics for physicists Introduction to FPGA programming

475 Electronics for physicists Introduction to FPGA programming 475 Electronics for physicists Introduction to FPGA programming Andrej Seljak, Gary Varner Department of Physics University of Hawaii at Manoa November 18, 2015 Abstract Digital circuits based on binary

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

Revision: February 27, E Main Suite D Pullman, WA (509) Voice and Fax

Revision: February 27, E Main Suite D Pullman, WA (509) Voice and Fax Xilinx ISE WebPACK Schematic Capture Tutorial Revision: February 27, 2010 215 E Main Suite D Pullman, WA 99163 (509) 334 6306 Voice and Fax Overview This tutorial provides instruction for using the Xilinx

More information

ISE Design Suite Software Manuals and Help

ISE Design Suite Software Manuals and Help ISE Design Suite Software Manuals and Help These documents support the Xilinx ISE Design Suite. Click a document title on the left to view a document, or click a design step in the following figure to

More information

NIOS CPU Based Embedded Computer System on Programmable Chip

NIOS CPU Based Embedded Computer System on Programmable Chip NIOS CPU Based Embedded Computer System on Programmable Chip 1 Lab Objectives EE8205: Embedded Computer Systems NIOS-II SoPC: PART-I This lab has been constructed to introduce the development of dedicated

More information