Programmable Logic Design Techniques II

Similar documents
Digital Systems Laboratory 3 Counters & Registers Time 4 hours

DALHOUSIE UNIVERSITY Department of Electrical & Computer Engineering Digital Circuits - ECED 220. Experiment 4 - Latches and Flip-Flops

Experiment # 4 Counters and Logic Analyzer

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

Programmable Logic Design I

ELEC 204 Digital System Design LABORATORY MANUAL

Digital Fundamentals. Lab 5 Latches & Flip-Flops CETT Name: Date:

NORTHWESTERN UNIVERSITY TECHNOLOGICAL INSTITUTE

Main Design Project. The Counter. Introduction. Macros. Procedure

CPE 200L LABORATORY 3: SEQUENTIAL LOGIC CIRCUITS UNIVERSITY OF NEVADA, LAS VEGAS GOALS: BACKGROUND: SR FLIP-FLOP/LATCH

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

EEM Digital Systems II

Rensselaer Polytechnic Institute Computer Hardware Design ECSE Report. Lab Three Xilinx Richards Controller and Logic Analyzer Laboratory

Main Design Project. The Counter. Introduction. Macros. Procedure

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

MUHAMMAD NAEEM LATIF MCS 3 RD SEMESTER KHANEWAL

PHYSICS 5620 LAB 9 Basic Digital Circuits and Flip-Flops

CSE 275 Digital Design Lab Lab 8 Serial Adder/Subtractor Penn State Erie, The Behrend College Fall Semester 2007 Number of Lab Periods: 2

LAB #6 State Machine, Decoder, Buffer/Driver and Seven Segment Display

Chapter 4: One-Shots, Counters, and Clocks

Laboratory 11. Required Components: Objectives. Introduction. Digital Displays and Logic (modified from lab text by Alciatore)

EXPERIMENT 13 ITERATIVE CIRCUITS

University of Victoria. Department of Electrical and Computer Engineering. CENG 290 Digital Design I Lab Manual

Contents Circuits... 1

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

IT T35 Digital system desigm y - ii /s - iii

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

Figure 30.1a Timing diagram of the divide by 60 minutes/seconds counter

Name: Date: Suggested Reading Chapter 7, Digital Systems, Principals and Applications; Tocci

1. Synopsis: 2. Description of the Circuit:

Assignment 2b. ASSIGNMENT 2b. due at the start of class, Wednesday Sept 25.

Today 3/8/11 Lecture 8 Sequential Logic, Clocks, and Displays

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

L11/12: Reconfigurable Logic Architectures

Modeling Latches and Flip-flops

L12: Reconfigurable Logic Architectures

Review : 2 Release Date : 2019 Last Amendment : 2013 Course Code : SKEE 2742 Procedure Number : PK-UTM-FKE-(0)-10

Logic Design II (17.342) Spring Lecture Outline

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

EE 101 Lab 7 Crosswalk

LAB 3 Verilog for Combinatorial Circuits

EET 1131 Lab #12 - Page 1 Revised 8/10/2018

Digital Networks and Systems Laboratory 2 Basic Digital Building Blocks Time 4 hours

Lab #6: Combinational Circuits Design

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

Computer Systems Architecture

DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING

CARLETON UNIVERSITY. Facts without theory is trivia. Theory without facts is bull 2607-LRB

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

Logic Devices for Interfacing, The 8085 MPU Lecture 4

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

Spartan-II Development System

LATCHES & FLIP-FLOP. Chapter 7

ECE 2274 Pre-Lab for Experiment Timer Chip

Scans and encodes up to a 64-key keyboard. DB 1 DB 2 DB 3 DB 4 DB 5 DB 6 DB 7 V SS. display information.

Digital Fundamentals: A Systems Approach

Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science Introductory Digital Systems Laboratory

Introduction to Digital Electronics

Modeling Latches and Flip-flops

Altera s Max+plus II Tutorial

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

LAB #4 SEQUENTIAL LOGIC CIRCUIT

Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science

ECE Lab 5. MSI Circuits - Four-Bit Adder/Subtractor with Decimal Output

A Combined Combinational-Sequential System

DALHOUSIE UNIVERSITY Department of Electrical & Computer Engineering Digital Circuits - ECED Experiment 2 - Arithmetic Elements

University of Pennsylvania Department of Electrical and Systems Engineering. Digital Design Laboratory. Lab8 Calculator

Counters

16 Stage Bi-Directional LED Sequencer

Lab Assignment 5 I. THE 4-BIT CPU AND CONTROL

0 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 1 1 Stop bits. 11-bit Serial Data format

Reaction Game Kit MitchElectronics 2019

Report on 4-bit Counter design Report- 1, 2. Report on D- Flipflop. Course project for ECE533

University of Victoria Electrical and Computer Engineering CENG 241 Digital Design I Laboratory Manual

Engineering College. Electrical Engineering Department. Digital Electronics Lab

DALHOUSIE UNIVERSITY Department of Electrical & Computer Engineering Digital Circuits - ECED 2200

Module for Lab #16: Basic Memory Devices

Digital. Digital. Revision: v0.19 Date: : / 76

2.6 Reset Design Strategy

EXOSTIV TM. Frédéric Leens, CEO

General: Catalog Description: Grading Policy: Course Code: COE 203 Title: Digital Logic Laboratory Co-requisite(s): COE 202 (Digital Logic Design)

CS 110 Computer Architecture. Finite State Machines, Functional Units. Instructor: Sören Schwertfeger.

Topics. Microelectronics Revolution. Digital Circuits Part 1 Logic Gates. Introductory Medical Device Prototyping

University of Illinois at Urbana-Champaign

Lab #11: Register Files

NH 67, Karur Trichy Highways, Puliyur C.F, Karur District UNIT-III SEQUENTIAL CIRCUITS

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

Long and Fast Up/Down Counters Pushpinder Kaur CHOUHAN 6 th Jan, 2003

Introduction. Serial In - Serial Out Shift Registers (SISO)

COMP sequential logic 1 Jan. 25, 2016

LAB 3 Verilog for Combinational Circuits

DIGITAL CIRCUIT LOGIC UNIT 9: MULTIPLEXERS, DECODERS, AND PROGRAMMABLE LOGIC DEVICES

Step 1 - shaft decoder to generate clockwise/anticlockwise signals

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

ECE 5765 Modern Communication Fall 2005, UMD Experiment 10: PRBS Messages, Eye Patterns & Noise Simulation using PRBS

MODULAR DIGITAL ELECTRONICS TRAINING SYSTEM

Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science Introductory Digital Systems Laboratory

ECSE-323 Digital System Design. Datapath/Controller Lecture #1

Laboratory 4. Figure 1: Serdes Transceiver

Field Programmable Gate Arrays (FPGAs)

Transcription:

Programmable Logic Design Techniques II. p. 1 Programmable Logic Design Techniques II Almost all digital signal processing requires that information is recorded, possibly manipulated and then stored in some way. Then it makes sense to design small modules that perform the basic signal processing operations. Such modules can be combined into more complex designs performing more complex operations etc. The result is a design with a hierarchy of levels. Building such designs is much easier than building a large circuit by stitching together a large number of primitive gates. In this Lab you will design a module performing a frequently-used operation such as "1-bit" addition. Then you will use it to create a 4-bit adder. Also, you will use other already designed modules to create a relatively complex circuit for recording the number of events an "8-bit" up counter. To be successful in this Lab you should review DH p.270-p.284 and the Guides to the Xilinx software and hardware posted on the PHY440 WWW site. Problem 1. Create a digital circuit that accepts two "1-bit" binary numbers and outputs an "1-bit sum", i.e. an 1-bit adder. Simulate the design, download it to the FPGA demo board and test it. As specified, the circuit has to have at least two inputs (one for each 1-bit number) and one output (for the 1-bit sum). But it is possible that the sum will not fit into1 bit. For example, adding two 1-bit numbers like 1 and 1, results in a sum 10(2), which requires 2 bits to represent it. For this reason, an extra carry output has to be added to indicate when this overflow occurs. And if the adder can have a carry output, then it makes sense that it should also have a carry input. The truth table for such a 1-bit adder with carry input and output is as follows: Input 1 Input 2 Carry Input Sum Output Carry Output 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 Transform the truth table into a gate-level logic design using relevant gate primitives from the Schematic Library of Xilinx Foundation Series Software. For those of you having difficulties in creating design of their own, a hint is given below:

Input0 Input1 Sum Carry Input Carry Output Suppose you have designed and simulated the 1-bit adder successfully. Now you have to assign the three inputs of the circuit to three pins of the XC4003 FPGA which can be driven by the SW3-1 to SW3-8 switch(es) on the board. You have pins # 19,20,23,24,25,26,27 and 28, correspondingly, at your disposal. The outputs may be assigned to any of the pins # 49,48,47,46,45,50 and 51which drive a corresponding segment of a single 7-segment LED on the board. Since each LED segment is turned on by driving the corresponding pin to logic 0 you may invert the output signal (as done in the circuit above). Then you will have a LED segment on when the output of the summer is 1 and not 0.

Now you may wish to create a module that can be saved and used in other designs. First, get rid of the inverters, the input (IBUF) and output buffers (OBUF) and the associated pins. Then select Hierarchy -> Create Macro Symbol from Current Sheet menu item. Select a proper name for your adder and put in relevant comments. Then save it. It will be appended to the SC library and so can be used in future designs. Problem 2. Create a design that accepts two 4-bits numbers (A3..A0 and B3..B0) and outputs a 4-bit sum (Sum3..Sum0). Make use of your 1-bit adder module. Simulate the design, download it to the Xilinx demo board and test it. An example of such a 4-bit adder is given below. This time you may associate the outputs with pins # 61,62,65,66, 57,58,59 and 60 which drive 8 LED bars (D9-D16 row) on the Xilinx board. Please, note that the pin ordering is important. Pins # 61 and # 60 should be associated with the most and least significant bit of an 8-bit number, respectively. You may invert the output signal to have the LED segments on when the output of the summer is 1. Also, you may associate pins 19,20,23 and 24 with the bits A3..0, and pins 25,26,27 and 28 with the bits B3..0. B3 A3 SUM3 B2 A2 SUM2 B1 A1 SUM1 B0 A0 GND SUM0

Problem 3. Design an 8-bit counter triggered by an oscillating signal. Use the internal 5- frequency signal generator module, OSC4, to trigger (clock) the counter. Use the 8-bit loadable cascadable bidirectional binary up/down counter with clock enable and clear, CB8LED, to count the events. Direct the output to pins # 61,62,65,66, 57,58,59 and 60 which drive 8 LED bars (D9-D16 row) on the Xilinx board. Download and test the design. Provide external control over the reset/clear, enable/disable and up/down inputs of the counter using switch SW3 (pins # 19,20,23,24,25,26,27 and 28) and the SW5/SPARE push button (associated with pin #18 ) on the Xilinx demo board. For reference, the CB8CLED module, given below, has the following inputs and outputs: Inputs: UP = 1 / 0 = up/down; D[7:0] an 8-bit number that can be used to initialize the counter; L = 1 / 0 = enables/disables the usage/download of D[7:0] CE = 1 / 0 = clock enable/disable; C = signal from internal or external clock; CLR = 1 = counter reset (clear); Outputs: TC = 1 indicates that the Terminal (1111 1111 for an up counter) Count has been reached; CEO to be connected to the CE input of the next counter in a cascade configuration; Q[7:0] the current number of counts accumulated (an 8-bit number);

The OSC4 module has four outputs: F8M, F500K, F16K, F490 and F15 providing clock pulses (square-wave signal) with frequency 8 MHz, 500 KHz, 16 KHz, 490 Hz and 15 Hz, respectively. A possible design is given below. Please, note that the design relies on the usage of both busses and wires. For reference, a bus is a named set of discrete signals (wires), BUS_NAME[X:Y]. The constituent signals are called bus members and are ordered from the left (X) to the right (Y) with the leftmost bit/signal is treated as the most significant. In order to connect a single wire to a bus, you need to draw a wire that starts or ends at the bus line. A wire connected to a bus should bear the name of a signal that is a member of the bus. Also, you may find useful the primitives GND = "0" and VCC="1". For more information, see the Xilinx Foundation Help Topics.