EEM Digital Systems II

Similar documents
Traffic Light Controller

Design of a Binary Number Lock (using schematic entry method) 1. Synopsis: 2. Description of the Circuit:

1. Synopsis: 2. Description of the Circuit:

Programmable Logic Design I

ENGG2410: Digital Design Lab 5: Modular Designs and Hierarchy Using VHDL

FPGA Design. Part I - Hardware Components. Thomas Lenzi

Design and Implementation of Timer, GPIO, and 7-segment Peripherals

DE2-115/FGPA README. 1. Running the DE2-115 for basic operation. 2. The code/project files. Project Files

FPGA Laboratory Assignment 4. Due Date: 06/11/2012

Lab 17: Building a 4-Digit 7-Segment LED Decoder

FPGA-BASED EDUCATIONAL LAB PLATFORM

COMPUTER ENGINEERING PROGRAM

Spartan-II Development System

LAB 3 Verilog for Combinational Circuits

Tutorial 11 ChipscopePro, ISE 10.1 and Xilinx Simulator on the Digilent Spartan-3E board

Why FPGAs? FPGA Overview. Why FPGAs?

Authentic Time Hardware Co-simulation of Edge Discovery for Video Processing System

LAB 3 Verilog for Combinatorial Circuits

Spartan-II Development System

Lab #6: Combinational Circuits Design

A Flexible FPGA communication

Laboratory Exercise 4

Design and analysis of microcontroller system using AMBA- Lite bus

ECE 372 Microcontroller Design

Reconfigurable Architectures. Greg Stitt ECE Department University of Florida

CSCB58 - Lab 4. Prelab /3 Part I (in-lab) /1 Part II (in-lab) /1 Part III (in-lab) /2 TOTAL /8

VHDL Design and Implementation of FPGA Based Logic Analyzer: Work in Progress

AC : DIGITAL DESIGN MEETS DSP

Lab 4: Hex Calculator

Vending Machine. Keywords FSM, Vending Machine, FPGA, VHDL

Memec Spartan-II LC User s Guide

Figure 1 Block diagram of a 4-bit binary counter

Design of VGA and Implementing On FPGA

L12: Reconfigurable Logic Architectures

Programmable Logic Design Techniques II

Lab 3: VGA Bouncing Ball I

Design and implementation (in VHDL) of a VGA Display and Light Sensor to run on the Nexys4DDR board Report and Signoff due Week 6 (October 4)

Sundance Multiprocessor Technology Limited. Capture Demo For Intech Unit / Module Number: C Hong. EVP6472 Intech Demo. Abstract

FPGA Design with VHDL

Lab #10 Hexadecimal-to-Seven-Segment Decoder, 4-bit Adder-Subtractor and Shift Register. Fall 2017

Digilent Nexys-3 Cellular RAM Controller Reference Design Overview

Solutions to Embedded System Design Challenges Part II

L11/12: Reconfigurable Logic Architectures

Microcontrollers and Interfacing week 7 exercises

Design of VGA Controller using VHDL for LCD Display using FPGA

University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Science. EECS 150 Spring 2000

Lab 13: FPGA Circuit Realization Ian Callahan

Field Programmable Gate Array (FPGA) Based Trigger System for the Klystron Department. Darius Gray

CHAPTER 3 EXPERIMENTAL SETUP

LogiCORE IP Spartan-6 FPGA Triple-Rate SDI v1.0

Laboratory 1 - Introduction to Digital Electronics and Lab Equipment (Logic Analyzers, Digital Oscilloscope, and FPGA-based Labkit)

Implementing Audio IP in SDI II on Arria V Development Board

18 Nov 2015 Testing and Programming PCBA s. 1 JTAG Technologies

CDA 4253 FPGA System Design FPGA Architectures. Hao Zheng Dept of Comp Sci & Eng U of South Florida

Sundance Multiprocessor Technology Limited. Capture Demo For Intech Unit / Module Number: C Hong. EVP6472 Intech Demo. Abstract

TKK S ASIC-PIIRIEN SUUNNITTELU

PHYSICS 5620 LAB 9 Basic Digital Circuits and Flip-Flops

TSIU03, SYSTEM DESIGN. How to Describe a HW Circuit

Using SignalTap II in the Quartus II Software

Lab #5: Design Example: Keypad Scanner and Encoder - Part 1 (120 pts)

COE328 Course Outline. Fall 2007

March 13, :36 vra80334_appe Sheet number 1 Page number 893 black. appendix. Commercial Devices

MODULAR DIGITAL ELECTRONICS TRAINING SYSTEM

Field Programmable Gate Arrays (FPGAs)

Lab Assignment 2 Simulation and Image Processing

VHDL Upgrading of a TNT2 card

Read-only memory (ROM) Digital logic: ALUs Sequential logic circuits. Don't cares. Bus

Design and Implementation of SOC VGA Controller Using Spartan-3E FPGA

EN2911X: Reconfigurable Computing Topic 01: Programmable Logic. Prof. Sherief Reda School of Engineering, Brown University Fall 2014

Lab #10: Building Output Ports with the 6811

SXGA096 DESIGN REFERENCE BOARD

IMPLEMENTATION OF A BINARY SELECTION SYSTEM CREATED IN XILINX USING FPGA

Lecture 10: Programmable Logic

EDA385 Bomberman. Fredrik Ahlberg Adam Johansson Magnus Hultin

Modeling Latches and Flip-flops

UNIT IV CMOS TESTING. EC2354_Unit IV 1

CSE 352 Laboratory Assignment 3

Design and Implementation of an AHB VGA Peripheral

16 Dec Testing and Programming PCBA s. 1 JTAG Technologies

Introduction To LabVIEW and the DSP Board

CPE 329: Programmable Logic and Microprocessor-Based System Design

FPGA Based Implementation of Convolutional Encoder- Viterbi Decoder Using Multiple Booting Technique

Block Diagram. dw*3 pixin (RGB) pixin_vsync pixin_hsync pixin_val pixin_rdy. clk_a. clk_b. h_s, h_bp, h_fp, h_disp, h_line

Dynamic Animation Cube Group 1 Joseph Clark Michael Alberts Isaiah Walker Arnold Li

Image generator. Hardware Specification

Smart Night Light. Figure 1: The state diagram for the FSM of the ALS.

EECS150 - Digital Design Lecture 18 - Circuit Timing (2) In General...

Lecture 14: Computer Peripherals

UNIT V 8051 Microcontroller based Systems Design

Using the XSV Board Xchecker Interface

Prototyping an ASIC with FPGAs. By Rafey Mahmud, FAE at Synplicity.

FPGA Implementation of DA Algritm for Fir Filter

7 Nov 2017 Testing and programming PCBA s

IE1204 Digital Design F11: Programmable Logic, VHDL for Sequential Circuits

Scan. This is a sample of the first 15 pages of the Scan chapter.

Digital Logic. ECE 206, Fall 2001: Lab 1. Learning Objectives. The Logic Simulator

University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Science

ELEC 204 Digital System Design LABORATORY MANUAL

Faculty of Electrical & Electronics Engineering BEE3233 Electronics System Design. Laboratory 3: Finite State Machine (FSM)

Modeling Latches and Flip-flops

Transcription:

ANADOLU UNIVERSITY DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING EEM 334 - Digital Systems II LAB 3 FPGA HARDWARE IMPLEMENTATION

Purpose In the first experiment, four bit adder design was prepared with using schematic and VHDL design techniques. When the designed object started to get bigger, VHDL design is much easier to build and making changes on design is not complicated and time consuming according to schematic design techniques. So, next experiments we will use VHDL to build circuits. In this lab, we will implement four bit adder circuit on Nexys4 DDR board. We will connect inputs to the switches and outputs to the seven segments. For implementation of four bit adder design, you must complete the first experiment and you should learn basic properties of Nexys4 DDR board. You can find basic information about board contents on background information section. For more information, you can visit www.xilinx.com and download board's data sheet and example circuits. Background Information Nexsys4 DDR The Nexys 4 board is a complete, ready-to-use digital circuit development platform based on the latest Artix -7 Field Programmable Gate Array (FPGA) from Xilinx. The Artix-7 FPGA is optimized for high performance logic and offers more capacity, higher performance, and more resources than earlier designs. With its large, high-capacity FPGA (Xilinx part number XC7A100T-1CSG324C), generous external memories, and collection of USB, Ethernet, and other ports, the Nexys 4 can host designs ranging from introductory combinational circuits to powerful embedded processors. Several built-in peripherals, including an accelerometer, temperature sensor, MEMs digital microphone, speaker amplifier, and several I/O devices allow the Nexys 4 to be used for a wide range of designs without needing any other components. Features: Xilinx Artix-7 FPGA XC7A100T-1CSG324C 15,850 logic slices, each with four 6-input LUTs and 8 flip-flops 4,860 Kbits of fast block RAM Six clock management tiles, each with phase-locked loop (PLL) 240 DSP slices Internal clock speeds exceeding 450 MHz On-chip analog-to-digital converter (XADC) 16Mbyte CellularRAM Serial flash Digilent USB-JTAG port for FPGA programming and communication microsd card connector Ships with rugged plastic case and USB cable USB-UART Bridge 10/100 Ethernet PHY PWM audio output 3-axis accelerometer 16 user switches 16 user LEDs Two tri-color LEDs PDM microphone Temperature sensor Two 4-digit 7-segment displays USB HID host for mice, keyboards, and memory sticks Pmod for XADC signals Four Pmod ports 12-bit VGA output

You must correctly choose FPGA model on ISE because it compile the project and produce.bit file according to FPGA which was chosen. You can see the parts of the board in the figure below.

Basic I/O pins that u may need to use is given in the figure below. Switches, LEDs and the seven segments are essential for you. Pins of the I/O elements are also given in the figure.

Seven Segments The Nexys4 DDR board contains two four-digit common anode seven-segment LED displays, configured to behave like a single eight-digit display. Each of the eight digits is composed of seven segments arranged in a figure 8 pattern, with an LED embedded in each segment. The LED control signals are time-multiplexed to display data on all four characters, as shown in below. Present the value to be displayed on the segment control inputs and select the specified character by driving the associated anode control signal Low. Through persistence of vision, the human brain perceives that all four characters appear simultaneously, similar to the way the brain perceives a TV display. To illuminate a segment, the anode should be driven high while the cathode is driven low. However, since the Nexys4 DDR uses transistors to drive enough current into the common anode point, the anode enables are inverted. Therefore, both the AN0..7 and the CA..G/DP signals are driven low when active. A scanning display controller circuit can be used to show an eight-digit number on this display. This circuit drives the anode signals and corresponding cathode patterns of each digit in a repeating, continuous succession at an update rate that is faster than the human eye can detect. Each digit is illuminated just one-eighth of the time, but because the eye cannot perceive the darkening of a digit before it is illuminated again, the digit appears continuously illuminated. If the update, or refresh, rate is slowed to around 45Hz, a flicker can be noticed in the display. For each of the four digits to appear bright and continuously illuminated, all eight digits should be driven once every 1 to 16ms, for a refresh frequency of about 1 KHz to 60Hz. For example, in a 62.5Hz refresh scheme, the entire display would be refreshed once every 16ms, and each digit would be illuminated for 1/8 of the refresh cycle, or 2ms. The controller must drive low the cathodes with the correct pattern when the corresponding anode signal is driven high. To illustrate the process, if AN0 is asserted while CB and CC are asserted, then a 1 will be displayed in digit position 1. Then, if AN1 is asserted while CA, CB, and CC are asserted, a 7 will be displayed in digit position 2. If AN0, CB, and CC are driven for 4ms, and then AN1, CA, CB, and CC are driven for 4ms in an endless succession, the display will show 71 in the first two digits. An example timing diagram for a four-digit controller is shown in the figure below.

PROCEDURE In this lab you will see input/output pin assignment to FPGA. We use four bit adder VHDL design which we prepare and simulate in first lab. We will add some other VHD files to the previous project to be able to see the results on seven segment displays. To assign package pins, you need to have a user constraint file in your design. To do that, we must add given VHDL codes and UCF file given below. 1) Top.vhd 2) Seven_four.vhd 3) Four_bit_adder 4) Full_adder.vhd 5) Half_adder.vhd 6) Top.ucf To assign the pins, you need a ucf file. To add this file, you can right click on your project, click on new source and select the Implementation constraints file. The figure below shows the ucf file for this project. NET clk LOC = E3 IOSTANDARD = LVCMOS33 Is an example pin assignment. User defined a input pin named clk and want to assign it to 100 MHz clock oscillator on the board. That pin is E3. The IOSTANDARD of that pin is LVCMOS33. This IOSTANDARD is not necessary can be turned off by some configurations. After assigning pins we can load design to FPGA with using IMPACT utility. To open IMPACT you should double click Configure Device (IMPACT) on processes window under Generate Programming file menu. Before doing that you must synthesize and implement design. If you don't do that ISE do it automatically. Also you can open IMPACT independently on Xilinx Accessories menu to load.bit file. If there is an error in your code, program will not synthesize your code.

When you click on the configure target device, a new screen will open (a warning may appear, ignore it) and you need to double click on the boundary scan. A page with writing Right click to add device or initialize jtag chain on it will appear. You will right click and select the initialize chain after you connect your board to the computer and switch on the ON/OFF switch. The program will find the device, then a box asking for adding a configuration file will appear. You can say yes to it and a screen like the image above will open. You will select the.bit file and click on the add button.

You will say no to the opened box. Right click on the device and click on the program and click ok on the opened box. Finally this will program the board and your code will be executed. Sum of the two inputs can be seen on the seven segments. You can change the switches to verify the functionality of your design.