ECE2029: Introduction to Digital Circuit Design Lab 4 Building a Sequential Logic Circuit A Four Digit 7-Segment Display Driver
|
|
- Gervais Warren
- 6 years ago
- Views:
Transcription
1 ECE2029: Introduction to Digital Circuit Design Lab 4 Building a Sequential Logic Circuit A Four Digit 7-Segment Display Driver Objective: In this lab you will implement a driver circuit for the 4-digit 7-segment display on the Basys 3 boards. The individual segments (a-g) of the 4 digits share a common cathode which means that the segment values are actually sent to all 4 digits at once. It is only through activating the anodes AN0 AN3 individually that you can control what is displayed on each digit. To display a different digit on each of the 4 different displays will require you to implement a sequential circuit which will rapidly cycle through inputs of a 4 to 1 MUX and the anodes AN0-AN3 to activate one digit at a time yet the refresh rate will be fast enough that the user will not notice any flicker. You will again implement this lab completely in Verilog. However, you will need to use some new sequential Verilog constructs. Pre-lab Assignment: This pre-lab assignment is to be completed before your lab session and must be signed-off by the TA during your lab session. Pre-labs help you to become oriented to the problem before you enter lab, help complete your design in advance and prevent wasting time in lab. 1) READ the whole lab assignment! 2) READ Section 8.1 of the Basys 3 Reference Manual. 3) This lab requires a 4-to-1 (by 4-bit) multiplexer. Write out the truth table for this multiplexer. Using the information from Lab 3 and class notes write a Verilog module using a conditional assignment statement to implement a 4 to 1 (by 4 bit) multiplexer. Your module should have four 4-bit inputs called D0, D1, D2 and D3 plus the 2-bit selector input S. It should also have a single 4-bit output called Out. 4) This lab also requires a 2 to 4 decoder but because we are implementing the active low anode signals AN0 AN3 the decoder outputs will need to be inverted relative to a generic decoder, e.g. EN=1 and A 1 A 0 = 00 then Y = Write out the full truth table for this anode decoder with Enable. Now write a Verilog module using conditional statements with 3 single bit inputs En, A0, A1 and 4-bit output Y. Lab Assignment: The first task in this lab is to modify the single digit hex to 7-segment decoder from Lab 3 to implement the decimal point and the minus sign. Later we'll also need to separate the anode control from the segment settings because we will want a separate, sequential anode driver circuit (Figure 1).
2 decpt 0 decpt 1 decpt 2 decpt 3 sgn 0 sgn 1 sgn 2 sgn 3 4:1 Mux (1 bit) 4:1 Mux (1 bit) sgn decpt W X Y Z HEX DP 100 MHz Combinational Design: 1. Create a new project in Vivado and add your hex2seg.v module from Lab 3 to it. Edit the module declaration to add two new single bit inputs called sgn and decpt, and a new single bit output called DP. (Be careful, do not use sign or signed as they are treated as reserved words by Xilinx). REMEMBER TO COMPLETE COMMENT BLOCK WITH NAME AND MODULE DESCRIPTION FOR EACH VERILOG MODULE IN YOUR PROJECT!!! 2. Now modify the body of the module to implement the following logic. Whenever the sgn input is 1 the output segments segs should display only a minus sign (segment g only is active) regardless of what was applied on D or decpt. If decpt = 1 then you should display whatever is on D plus the decimal point DP. Remember that DP like the other segments is active low. You must apply logic 0 to light it. For now, leave anodes = Save this new and improved version of hex2seg.v. 3. Add a constraint file to your project with SW3-SW0 connected to D and decpt and sgn connected to BTNL and BTNR. Outputs segs and DP should be connected to the 7-segment display cathodes CA thru CG and DP and anodes connected to AN0 to AN3. Remember segment a is segs[6] and segment g is segs[0]. 4. Now generate the bit file, download your design and test by setting the value to be displayed on SW3-SW0. Buttons BTNL and BTNR should appropriately light the decimal point and minus sign. Save your project. Show the TA for sign-off.
3 6. In order to make the hex2seg decoder more general, we need to remove the output anodes (which hard codes the values for AN0-AN3) from hex2seg.v. Modify your module to remove this output and its assignment statement. Save the module. 7. Add a new Verilog module to your project called mux4to1.v and set it as Top Module. Implement the 4-to-1 (by 4 bit) multiplexer that you designed for pre-lab. Your module should have four 4-bit inputs called D0, D1, D2 and D3 plus the 2-bit selector input S. It should also have a single 4-bit output called Out. You may want to refer back to the class notes on Verilog and Lab 3 for examples of conditional statements. 8. Add a Verilog test bench for your MUX to your project under Sources for Simulation and set it as Top Module. Within the test bench assign D0 D3 to fixed values like 0001, 0010, 0100 and Assert all possible combinations the 2-bit selector input S. Run the Behavioral Simulation of your mux. Save your project. Be sure to include a screen capture of your mux test bench results in your report. 9. Add a new Verilog module to your project called decodeanode.v and set it as Top Module. Implement the active low 2-to-4 decoder that your designed for pre-lab. Your module should have 1 single bit inputs En, a two-bit input A, and a 4-bit output Y. 10. Add a Verilog test bench for your anode decoder to your project under Sources for Simulation and set it as Top Module. Assert all possible input combinations and run the Behavioral Simulation of your decoder. Save your project. Be sure to include a screen capture of your decoder test bench results in your report. Sequential Design: As we've discussed in class, a sequential circuit deps on a clock signal to sychronize updating the state of sequential elements like flip flops. The Basys 3 board, itself being a large sequential circuit, has a clock but its the clock speed (100 MHz) is too high for our design. We will need to divide the system clock down to generate a clock better suited for the 7-segment diplay driver. 11. Download the module clkdiv10k.v from the class website and add it to your project. This module divides the input clock frequency by 10,000 (i.e. If the input clock is 1000MHZ the output of the clock divider is a 10KHz clock signal). 12. Conceptually, we want to quickly cycle through the 4 digits activating each one's segments and anode in turn. You have a decoder that given the binary code of the digits 0-3 will generate the proper anode signals. What we need now is a circuit that will generate a repeating sequence of digit codes 00, 01, 10, 11, 00, 01, 10, 11,... which can be applied as the selector input to the digits multiplexer and as the input to the anode decoder. A class of circuit that generates a repeating binary sequence of values on its output is called a "Binary Counter". We need a 2-bit binary counter to generate the sequence of digit codes, Add a new Verilog module to your project called bin_cnt2.v with 2 single bit inputs clk and Reset and a 2-bit output called Q. Copy the code below into the module and save. 13. Add a Verilog test fixture to your project and associate it with bin_cnt2.v. Simulate 12 clock periods by alternately setting clk = 0 and clk = 1 for 1000 ns. Reset
4 should equal 1 for at least 4 rising clock edges then be set to 0 for 8 clock periods. Save your project. Run the simulation of your 2-bit counter. When does your counter reset? As soon as Reset is applied or with the next rising edge? Be sure to include a screen capture of your counter test bench results and anwer the Reset question in your report. module bin_cnt2( input clk, input Reset, output [1:0] Q ); reg [1:0] cnt; // This module implements a 2-bit binary counter with a // synchronous reset module (posedge clk) if (Reset == 1) cnt = 2'b00; else if (cnt == 2'b00) cnt = 2'b01; else if (cnt == 2'b01) cnt = 2'b10; else if (cnt == 2'b10) cnt = 2'b11; else if (cnt == 2'b11) cnt = 2'b00; assign Q = cnt; 14. You are now ready to test the anode driver part of the circuit. To do this you will use a single input digit and display its value on the 4 displays sequentially. However, you will need a slow clock to actually see the displays sequence. Add a new Verilog module under Design to your project called anodedriver.v. It should have two single bit inputs CLK and Reset and 7-bit output segs, single bit output DP and 4-bit output anodes. Set it as Top Module and complete the following instantiations to implement the anode driver test circuit.
5 wire clk_10k, clk_1hz; wire [1:0] Q; // Divide the 100MHz system clock to 10KHz clkdiv10k U1(CLK,clk_10K); // Divide the 10KHz clock to 1Hz clkdiv10k U2(clk_10K,clk_1Hz); // Generate the 7-seg for hex A (i.e. 4'b1010) // without sign or decimal hex2seg U3(4'b1010,0,0,segs,DP); // --- Actual anode driving part --- // 2-bit binary counter driving the 2-to-4 anode decoder bin_cnt2 U4(clk_1Hz,Reset,Q); // For now set En = 1, decodeanode U5(1,Q,anodes) 15. Remove (but don't delete) the old constraint file for hex2seg and add a constrain file for anodedriver that connects CLK to the 100 MHz system clock (W5), Reset to BTNR and anodes to AN3-AN0 and segs and DP to CA thru CG and DP. When you press and release Reset the your board should display the digit "A" sequentially on each of the 4 seven-segment displays from right to left. In the Basys 3 Manual it says that AN3 controls the left-most digit and AN0 the right-most. However, on my board AN0 controlled the left-most digit and AN3 the right-most. If you find the anodes are reversed on your board you can "correct" it by associating anodes[3] with AN0, anodes[2] with AN1, etc., in your constraints file. Generate a bit file and demonstrate your anode driver to the TA for sign-off. 16. Save you project. Add a new Verilog module under Design called fourdigitdisplay.v and make it the Top Module. This module will implement Figure 1. The module will need four 4-bit data inputs, W, X, Y, and Z, and 8 single bit inputs decpt3 - decpt0 and sgn3 - sgn0 and a single bit clock input, CLK. Alternatively, you could make the decimal points and signs each 4-bit buses. The module should have 7-bit output segs, single bit output DP and 4-bit output anodes. Using anodedriver.v as a guide implement the instatiations necessary to implement the input multiplexers for the data inputs as well as the sign and decimal point inputs. Save your project again! W X Y Four segs Z Digit DP Display decpts anodes sgns CLK Figure 2: Block diagram of four digit 7-segment display circuit.
6 // Implement other "wire" declarations that you need wire clk_10khz;... // Instantiate a clkdiv10k module to implement the clock // divider from the 100MHz system clock input on CLK to a // 10KHz clock... // Implement input multiplexing necessary to generate inputs // to hex2seg, namely D, decpt, sgn from module inputs // W,X,Y,Z and all the sign and decimal points (You will need // a 4 to 1, by 1-bit MUX for the signs and another for the // decimal points). BE CAREFUL about the order of inputs in // mapping W,X,Y and Z D3 to D0. The 2-bit selector input for // all these MUXes is the output Q from bin_cnt2. // The module's outputs segs and DP should be the outputs of // hex2seg just as they were in anodedriver... // --- Actual anode driving part --- // 2-bit binary counter driving the 2-to-4 anode decoder // Assign Reset = 0 bin_cnt2 U4(clk_10KHz,0,Q); // Set En = 1 anodedecode U5(1,Q,anodes) 17. Ideally, we would like to add a constraint file directly to our fourdigitdisplay but because our board does not have enough buttons to implement all 8 sign and decimal points input we need to add a simple wrapper module around fourdigitdisplay that will allow us to hardcode some of the inputs to 0. Add a new Verilog source to you project called displaytester.v and set it as the Top Module. Your module should have two 4-bit inputs X and Z and four single bit inputs sgnw, sgny, dpx and dpz plus 7 bit output segs, single bit output DP and 4 bit output anodes. Instantiate your fourdigitdisplay module within displaytester setting inputs W and Y plus the signs for digits 0 and 2 as well as the decimal points for digits 1 and 3 all to Remove (but don't delete) the old constraint file. Add a.xdc file for displaytester that connects 4-bit inputs X and Z to SW7-SW4 and SW3-SW0 respectively. The decimal points for those digits, dpx and dpz, should be connected to BTNL and BTNR respectively. Sign inputs for digits 3 and 1 (i.e. sgnw and sgny) should be connected to BTNU and BTND respectively. The output segs, DP and anodes should be connected as in the anodedriver.xdc file. Save your project.
7 19. Generate a bit file and down load your 4 digit display driver test circuit. The switches should control the values displayed on digits 2 and 0 and decimal points for those digits should be lit anytime BTNL and BTNR are pressed. When BTNU or BTND is pressed, a minus sign should appear on digit 3 or digit 1 respectively. Show your circuit to the TA for sign-off.
8 ECE2029 Lab 4 Sign-Off Sheet Make sure lab instructor/ta initials and dates each part. Attach this sheet and the Report Grading Rubric to your team's lab report! Both partners MUST be present at sign-off! Your Name: ECE BOX #: Lab Partner: Date Performed: Demonstrated correctly: Pre-lab Complete (1) (2) (10 pts) Hex to 7-seg Decoder with sign and decimal (15 pts) Anode Driver circuit (20 pts) Full 4 digit Hex Display with signs and decimals (20 pts) TA Questions: (1) (2) (5 pts ) Report (one per team) (30 pts) (including Verilog source code, test benches, constraint files& ISim screen shots)
9 Lab 4 Four Digit 7-Segment Display Driver Review Item Comments Points (max) 1) Prelabs from each student complete (5) and thoughtful 2) Introduction effectively presents the (5) objectives and purpose of the lab. Methodology gives enough details to allow for replication of procedure. 3) Discussion opens with an effective (5) statement on the goals of the lab, backs up statement with reference to appropriate findings, provides sufficient and logical explanation for the statement, addresses other issues pertinent to lab. 4) Results opens with effective statement of (5) overall findings, presents visuals clearly and accurately, presents findings clearly and with sufficient support. You MUST include screen shots of the test bench results for each part of the lab. Conclusion convincingly describes what has been learned in the lab. 5) Other: (10) References are included. Tables and figures are formatted. All Verilog code is properly commented. Grammar and spelling are correct Report is written clearly and to the point. Overall, the team... has successfully demonstrated what the lab was designed to teach demonstrates clear and thoughtful scientific inquiry has accurately measured and analyzed data for lab findings Total: (30)
ECE2029: Introduction to Digital Circuit Design Lab 5 Using Sequential Logic Circuits A Digital Stop Watch
ECE2029: Introduction to Digital Circuit Design Lab 5 Using Sequential Logic Circuits A Digital Stop Watch Objective: In this lab you will create a digital stop watch capable of counting and displaying
More informationECE2029: Introduction to Digital Circuit Design Lab 3 Implementing a 4-bit Four Function ALU
ECE2029: Introduction to Digital Circuit Design Lab 3 Implementing a 4-bit Four Function ALU Objective: Inside a computer's central processing unit (CPU) there is a sub-block called the arithmetic logic
More informationECE2029: Introduction to Digital Circuit Design. Lab 2 Implementing Combinational Functional Blocks
ECE2029: Introduction to Digital Circuit Design Lab 2 Implementing Combinational Functional Blocks Objective: In this lab exercise you will simulate, test, and download various digital circuits which implement
More information1. Synopsis: 2. Merging Algorithm:
Microprogram Control Unit Design: Merging Two Arrays 1. Synopsis: The purpose of this lab is to implement a state machine by using a microprogram control unit design. Microprograming allows flexibility
More informationEITF35 - Introduction to the Structured VLSI Design (Fall 2016) Interfacing Keyboard with FPGA Board. (FPGA Interfacing) Teacher: Dr.
EITF35 - Introduction to the Structured VLSI Design (Fall 2016) Interfacing Keyboard with FPGA Board (FPGA Interfacing) Teacher: Dr. Liang Liu v.1.0.0 1 Abstract This document describes the basic behavior
More informationAn 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 informationIntroduction. Overview. Top-level module. EE108a Lab 3: Bike light
Version 2.0 David Black-Schaffer Version 2.2 David Black-Schaffer Introduction In lab 3 you are going to get your first taste of sequential logic by building a system of finite state machines, timers,
More informationEE209 Lab Change We Can Believe In
EE209 Lab Change We Can Believe In Introduction In this lab you will complete the control unit and datapath for a vending machine change collector and dispenser. This lab will build on the vending machine
More informationHomework deadline extended to next friday
Norm Midterm Grading Finished Stats on course homepage Pickup after this lab lec. Regrade requests within 1wk of posted solution Homework deadline extended to next friday Description Design Conception
More informationCSCB58 - Lab 3. Prelab /3 Part I (in-lab) /2 Part II (in-lab) /2 TOTAL /8
CSCB58 - Lab 3 Latches, Flip-flops, and Registers Learning Objectives The purpose of this exercise is to investigate the fundamental synchronous logic elements: latches, flip-flops, and registers. Prelab
More informationARM 64-bit Register File
ARM 64-bit Register File Introduction: In this class we will develop and simulate a simple, pipelined ARM microprocessor. Labs #1 & #2 build some basic components of the processor, then labs #3 and #4
More informationThe UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Comp 541 Digital Logic and Computer Design Fall 2014 Lab #4: Sequential Design: Counters Issued Wed 9/10/14; Due Wed 9/17/14 (11:59pm) This lab assignment
More informationA B A+B
ECE 25 Lab 2 One-bit adder Design Introduction The goal of this lab is to design a one-bit adder using programmable logic on the BASYS board. Due to the limitations of the chips we have in stock, we need
More informationECE 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 informationFPGA 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 informationECE 574: Modeling and Synthesis of Digital Systems using Verilog and VHDL. Fall 2017 Final Exam (6.00 to 8.30pm) Verilog SOLUTIONS
ECE 574: Modeling and Synthesis of Digital Systems using Verilog and VHDL Fall 2017 Final Exam (6.00 to 8.30pm) Verilog SOLUTIONS Note: Closed book no notes or other material allowed apart from the one
More informationDigital Integrated Circuits
Digital Integrated Circuits Lecture 4 Jaeyong Chung System-on-Chips (SoC) Laboratory Incheon National University BCD TO EXCESS-3 CODE CONVERTER 0100 0101 +0011 +0011 0111 1000 LSB received first Chung
More informationEENG 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 informationCPEN 230L: Introduction to Digital Logic Laboratory Lab 7: Multiplexers, Decoders, and Seven Segment Displays
CPEN 230L: Introduction to Digital Logic Laboratory Lab 7: Multiplexers, Decoders, and Seven Segment Displays Purpose Learn about multiplexers (MUXs), decoders and seven segment displays. Learn about hierarchical
More informationEE 231 Fall Lab 2: Decoders and Multiplexers. Introduction
Lab 2: Decoders and Multiplexers Introduction Decoders and multiplexers are important combinational circuits in many logic designs. Decoders convert n inputs to a maximum of unique 2 n outputs. A special
More informationECE 2300 Digital Logic & Computer Organization. More Finite State Machines
ECE 2300 Digital Logic & Computer Organization Spring 2018 More Finite State Machines Lecture 9: 1 Announcements Prelab 3(B) due tomorrow Lab 4 to be released tonight You re not required to change partner(s)
More informationExp#8: Designing a Programmable Sequence Detector
Exp#8: Designing a Programmable Sequence Detector Objectives Learning how to partition a system into data-path and control unit. Integrating Schematics and Verilog code together Overview In this lab you
More informationModeling Concepts. Introduction
Introduction Verilog HDL modeling language supports three kinds of modeling styles: gate-level, dataflow, and behavioral. The gate-level and datafow modeling are used to model combinatorial circuits whereas
More informationUniversity of Toronto Faculty of Applied Science and Engineering Edward S. Rogers Sr. Department of Electrical and Computer Engineering
University of Toronto Faculty of Applied Science and Engineering Edward S. Rogers Sr. Department of Electrical and Computer Engineering Final Examination ECE 241F - Digital Systems Examiners: S. Brown,
More informationBehavioral Modeling and Timing Constraints
Lab Workbook Introduction Behavioral modeling was introduced in Lab 1 as one of three widely used modeling styles. Additional capabilities with respect to testbenches were further introduced in Lab 4.
More informationCSE 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 informationEPC6055 Digital Integrated Circuits EXAM 1 Fall Semester 2013
EPC6055 Digital Integrated Circuits EXAM 1 Fall Semester 2013 Print Here Student ID Signature This is a closed book exam. The exam is to be completed in one-hundred ten (110) minutes. Don t use scratch
More informationUNIVERSITY OF TORONTO FACULTY OF APPLIED SCIENCE AN:p ENGINEERING. ECE241F - Digital Syst~ms Final Examination
~.. UNIVERSITY OF TORONTO FACULTY OF APPLIED SCIENCE AN:p ENGINEERING ECE241F - Digital Syst~ms Final Examination December 19, 2017, 2:00pm-4:30pm Duration: 2.5 hours Examiners: P. Anderson, P. Chow and
More informationMidterm Exam Thursday, October 24, :00--2:15PM (75 minutes)
Last (family) name: Answer Key First (given) name: Student I.D. #: Department of Electrical and Computer Engineering University of Wisconsin - Madison ECE 551 Digital System Design and Synthesis Midterm
More informationIntroduction to Nexys 2 board - Detour Signal Lab
1. Synopsis: Introduction to Nexys 2 board - This lab introduces the use of Field Programmable Gate Arrays (FPGA). This lab introduces the Digilent Nexys 2 board and demonstrate FPGA design flow through
More informationNikhil Gupta. FPGA Challenge Takneek 2012
Nikhil Gupta FPGA Challenge Takneek 2012 RECAP FPGA Field Programmable Gate Array Matrix of logic gates Can be configured in any way by the user Codes for FPGA are executed in parallel Configured using
More informationHW1 Modeling Concepts
HW1 Modeling Concepts Verilog HDL modeling language supports three kinds of modeling styles: gate-level, dataflow, and behavioral. The gate-level and datafow modeling are used to model combinatorial circuits
More informationIntroduction to Verilog and XILINX
DEPARTAMENTO DE TECNOLOGÍA ELECTRÓNICA ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA Introduction to Verilog and XILINX Lab Session Computer Structure WARNING: A written solution of the preliminary
More informationFinite State Machines
Lab Workbook Introduction (FSM) are sequential circuit used in many digital systems to control the behavior of systems and dataflow paths. Examples of FSM include control units and sequencers. This lab
More informationLab 6 Debugging. Objective. Introduction. Prelab
UNIVERSITY OF CALIFORNIA AT BERKELEY COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE Lab 6 Debugging Objective You will explore several techniques for debugging a digital
More informationLab 7 (Sections 300, 301 and 302) Prelab: Introduction to Verilog
Lab 7 (Sections 300, 301 and 302) Prelab: 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
More informationBehavioral Modeling and Timing Constraints
Introduction Behavioral modeling was introduced in Lab 1 as one of three widely used modeling styles. Additional capabilities with respect to testbenches were further introduced in Lab 4. However, there
More informationIntro to Digital Logic, Lab 5 Sequential Logic. Lab Objectives. Assigned Task Mapping sequential logic to the FPGA
Intro to Digital Logic, Lab 5 Sequential Logic Lab Objectives Now that we have mastered combinational logic, it is time to figure out sequential circuits. In this lab you will download a premade design
More informationPractical 4: RTC on FPGA
Practical 4: RTC on FPGA EEE4084F 2015-04-13 Background This practical is divided into two parts. The first is a tutorial that shows you how to set up a new FPGA project in Xilinx ISE. The second is a
More informationWorkshop on Digital Circuit Design in FPGA
Organized by: Dept. of EEE Workshop on Digital Circuit Design in FPGA Presented By Mohammed Abdul Kader Assistant Professor, Dept. of EEE, IIUC Email:kader05cuet@gmail.com Website: kader05cuet.wordpress.com
More informationEE 231 Fall EE 231 Homework 8 Due October 20, 2010
EE 231 Homework 8 Due October 20, 20 1. Consider the circuit below. It has three inputs (x and clock), and one output (z). At reset, the circuit starts with the outputs of all flip-flops at 0. x z J Q
More informationModeling Sequential Circuits in Verilog
Modeling Sequential Circuits in Verilog COE 202 Digital Logic Design Dr. Muhamed Mudawar King Fahd University of Petroleum and Minerals Presentation Outline Modeling Latches and Flip-Flops Blocking versus
More informationDigital 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 informationThe UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Comp 541 Digital Logic and Computer Design Prof. Montek Singh Fall 2017 Lab #3A: Sequential Design: Counters Issued Wed 9/6/17; Due Wed 9/13/17 (11:59pm)
More informationECE 2300 Digital Logic & Computer Organization. More Verilog Finite State Machines
ECE 2300 Digital Logic & Computer Organization Spring 2018 More Verilog Finite Machines Lecture 8: 1 Prelim 1, Thursday 3/1, 1:25pm, 75 mins Arrive early by 1:20pm Review sessions Announcements Monday
More informationFinite-State Machine (FSM) Design
1 Finite-State Machine (FSM) Design FSMs, an important category of sequential circuits, are used frequently in designing digital systems. From the daily used electronic machines to the complex digital
More informationRecommended Design Techniques for ECE241 Project Franjo Plavec Department of Electrical and Computer Engineering University of Toronto
Recommed Design Techniques for ECE241 Project Franjo Plavec Department of Electrical and Computer Engineering University of Toronto DISCLAIMER: The information contained in this document does NOT contain
More informationLab 7 (All Sections) Prelab: Introduction to Verilog
Lab 7 (All Sections) Prelab: 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
More informationEECS 150 Homework 7 Solutions Fall (a) 4.3 The functions for the 7 segment display decoder given in Section 4.3 are:
Problem 1: CLD2 Problems. (a) 4.3 The functions for the 7 segment display decoder given in Section 4.3 are: C 0 = A + BD + C + BD C 1 = A + CD + CD + B C 2 = A + B + C + D C 3 = BD + CD + BCD + BC C 4
More informationESE 150 Lab 07: Digital Logic
LAB 07 In this lab we will do the following: 1. Investigate basic logic operations (AND, OR, INV, XOR) 2. Implement an ADDER on an FPGA 3. Implement a simple Finite- State Machine on an FPGA Background:
More informationNote: Closed book no notes or other material allowed, no calculators or other electronic devices.
ECE 574: Modeling and Synthesis of Digital Systems using Verilog and VHDL Fall 2017 Exam Review Note: Closed book no notes or other material allowed, no calculators or other electronic devices. One page
More informationElec 326: Digital Logic Design
Elec 326: Digital Logic Design Project Requirements Fall 2005 For this project you will design and test a three-digit binary-coded-decimal (BCD) adder capable of adding positive and negative BCD numbers.
More informationLab 7: RPN Calculator
University of Pennsylvania Department of Electrical and Systems Engineering ESE171 - Digital Design Laboratory Lab 7: RPN Calculator The purpose of this lab is: Purpose 1. To get familiar with the use
More informationExperiment # 4 Introduction to FPGAs - Detour Signal Lab
1. Synopsis: Experiment # 4 Introduction to FPGAs - Detour Signal Lab This lab introduces the use of Field Programmable Gate Arrays (or FPGAs, for short) for prototyping of digital circuits. Through the
More informationVerilog Fundamentals. Shubham Singh. Junior Undergrad. Electrical Engineering
Verilog Fundamentals Shubham Singh Junior Undergrad. Electrical Engineering VERILOG FUNDAMENTALS HDLs HISTORY HOW FPGA & VERILOG ARE RELATED CODING IN VERILOG HDLs HISTORY HDL HARDWARE DESCRIPTION LANGUAGE
More informationHardware Description Languages (HDLs) Verilog
Hardware Description Languages (HDLs) Verilog Material from Mano & Ciletti book By Kurtulus KULLU Ankara University What are HDLs? A Hardware Description Language resembles a programming language specifically
More informationLab 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 informationSequential Logic Implementation. Mealy vs. Moore Machines. Specifying Outputs for a Mealy Machine. Specifying Outputs for a Moore Machine
uential Logic Implementation! Models for representing sequential circuits " bstraction of sequential elements " Finite state machines and their state diagrams " Inputs/ " Mealy, Moore, and synchronous
More informationControl in Digital Systems
CONTROL CIRCUITS Control in Digital Systems Three primary components of digital systems Datapath (does the work) Control (manager, controller) Memory (storage) B. Baas 256 Control in Digital Systems Control
More informationEECS 270 Midterm Exam
EECS 270 Midterm Exam Fall 2009 Name: unique name: Sign the honor code: I have neither given nor received aid on this exam nor observed anyone else doing so. Scores: NOTES: Problem # Points 1 /11 2 /4
More informationEE 109L Final Review
EE 09L Final Review Name: Closed Book / Score:. Short Answer (6 pts.) a. Storing temporary values in (memory / registers) is preferred due to the (increased / decreased) access time. b. True / False: A
More informationUniversity 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 informationVERILOG 2: LANGUAGE BASICS
VERILOG 2: LANGUAGE BASICS Verilog module Modules are basic building blocks. These are two example module definitions which you should use: // Safer traditional method module abc (in1, in2, out); input
More informationLaboratory Exercise 7
Laboratory Exercise 7 Finite State Machines This is an exercise in using finite state machines. Part I We wish to implement a finite state machine (FSM) that recognizes two specific sequences of applied
More informationLogic Circuits II ECE 2411 Thursday 4:45pm-7:20pm. Lecture 3
Logic Circuits II ECE 2411 Thursday 4:45pm-7:20pm Lecture 3 Lecture 3 Topics Covered: Chapter 4 Discuss Sequential logic Verilog Coding Introduce Sequential coding Further review of Combinational Verilog
More informationC A R L E T O N U N I V E R S I T Y. FINAL EXAMINATION April Duration: 3 Hours No. of Students: 108
C A R L E T O N U N I V E R S I T Y FINAL EXAMINATION April 2011 Duration: 3 Hours No. of Students: 108 Department Name & Course Number: ELEC 3500 Digital Electronics Course Instructor(s): Ralph Mason
More informationVerilog for Synthesis Ing. Pullini Antonio
Verilog for Synthesis Ing. Pullini Antonio antonio.pullini@epfl.ch Outline Introduction to Verilog HDL Describing combinational logic Inference of basic combinational blocks Describing sequential circuits
More informationUniversity of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Science
University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Science EECS 150 Spring 2002 Original Lab By: J.Wawrzynek and N. Weaver Later revisions by
More informationEITF35 - Introduction to Structured VLSI Design (Fall ) 7. Assignment 3 - Arithmetic Logic Unit (ALU)
EITF35 - Introduction to Structured VLSI Design (Fall 2018 2016 2015) 7 Assignment 3 - Arithmetic Logic Unit (ALU) v.1.1.0 Introduction In this lab assignment, a simple arithmetic logic unit (ALU) will
More informationCPE 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 informationOne and a half hours. Section A is COMPULSORY UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE
One and a half hours Section A is COMPULSORY UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE Fundamentals of Computer Engineering Date: Thursday 21st January 2016 Time: 14:00-15:30 Answer BOTH Questions
More informationLecture 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 informationLab 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 informationLab 2 Designing with Verilog
UNIVERSITY OF CALIFORNIA AT BERKELEY COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE Lab 2 Designing with Verilog 1.0 Motivation In this lab you will learn how to express
More informationHW D1: Gates & Flops: Spring 2015
HW D1: Gates & Flops: Spring 15 1 Contents HW D1: Gates & Flops: Spring 2015 1 Apply a Regulator (6 pts, total) 1 1.1 VariableRegulator(1 pt)......................... 1 1.2 Power Dissipation, efficiency(1
More informationA 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 informationMASSACHUSETTS INSTITUTE OF TECHNOLOGY Department of Electrical Engineering and Computer Sciences
MASSACHUSETTS INSTITUTE OF TECHNOLOGY Department of Electrical Engineering and Computer Sciences Introductory Digital Systems Lab (6.111) uiz - Spring 2004 Prof. Anantha Chandrakasan Student Name: Problem
More informationMicroprogram Control Unit Design: Merging Two Arrays
Microprogram Control Unit Design: Merging Two Arrays 1. Synopsis: The purpose of this lab is to implement a state machine by using a microprogram control unit design. Microprograming allows flexibility
More informationDigital Circuit Design and Language. Datapath Design. Chang, Ik Joon Kyunghee University
Digital Circuit Design and Language Datapath Design Chang, Ik Joon Kyunghee University Typical Synchronous Design + Control Section : Finite State Machine + Data Section: Adder, Multiplier, Shift Register
More informationRealDigital. Problem Set #7 S1 S2 S3 Y Z X Y + Y Z X Z
Problem Set #7 RealDigital 1. (10 points) Modify the state diagram branching conditions in the diagrams below as needed to ensure the sum and exclusion rules are obeyed in each case. You can add a holding
More informationECE331: Hardware Organization and Design
ECE331: Hardware Organization and Design Lecture 19: Verilog and Processor Performance Adapted from Computer Organization and Design, Patterson & Hennessy, UCB Verilog Basics Hardware description language
More informationEECS150 - Digital Design Lecture 20 - Finite State Machines Revisited
EECS150 - Digital Design Lecture 20 - Finite State Machines Revisited April 2, 2009 John Wawrzynek Spring 2009 EECS150 - Lec20-fsm Page 1 Finite State Machines (FSMs) FSM circuits are a type of sequential
More informationTopics. Midterm Finish Chapter 7
Lecture 9 Topics Midterm Finish Chapter 7 Xilinx FPGAs Chapter 7 Spartan 3E Architecture Source: Spartan-3E FPGA Family Datasheet CLB Configurable Logic Blocks Each CLB contains four slices Each slice
More information271/471 Verilog Tutorial
271/471 Verilog Tutorial Prof. Scott Hauck, last revised 9/15/14 Introduction The following tutorial is inted to get you going quickly in circuit design in Verilog. It isn t a comprehensive guide to System
More informationEE 109L Review. Name: Solutions
EE 9L Review Name: Solutions Closed Book / Score:. Short Answer (6 pts.) a. Storing temporary values in (memory / registers) is preferred due to the (increased / decreased) access time. b. True / False:
More informationTopics. 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 informationTechniques for Digital Systems Lab. Verilog HDL. Tajana Simunic Rosing. Source: Eric Crabill, Xilinx
CSE140L: Components and Design Techniques for Digital Systems Lab Verilog HDL Tajana Simunic Rosing Source: Eric Crabill, Xilinx 1 More complex behavioral model module life (n0, n1, n2, n3, n4, n5, n6,
More informationDIGITAL SYSTEM DESIGN
DIGITAL SYSTEM DESIGN Prepared By: Engr. Yousaf Hameed Lab Engineer BASIC ELECTRICAL & DIGITAL SYSTEMS LAB DEPARTMENT OF ELECTRICAL ENGINEERING Digital System Design 1 Name: Registration No: Roll No: Semester:
More informationEE 231 Fall EE 231 Lab 3. Decoders and Multiplexers. Figure 1: 7-Segment Display. Memory: where the program is stored.
EE 231 Lab 3 Decoders and Multiplexers Decoders and multiplexers are important combinational circuits in many logic designs. Decoders convert n inputs to a maximum of unique 2 n outputs. A special case
More informationLab 3 Finite State Machines Automated Teller Machine
Lab 3 Finite State Machines Automated Teller Machine Design, implement, verify, and test an Automated Teller Machine based on the following specification: The teller machine should provide the following
More informationVerilog Module 1 Introduction and Combinational Logic
Verilog Module 1 Introduction and Combinational Logic Jim Duckworth ECE Department, WPI 1 Module 1 Verilog background 1983: Gateway Design Automation released Verilog HDL Verilog and simulator 1985: Verilog
More informationstructure 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 informationHere 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 informationECE 551 Digital System Design and Synthesis. Instructor: Kewal K. Saluja. Midterm Exam
Last (family) name: First (given) name: Student I.D. #: Department of Electrical and Computer Engineering University of Wisconsin - Madison ECE 551 Digital System Design and Synthesis Instructor: Kewal
More informationLecture 3. Behavioral Modeling Sequential Circuits. Registers Counters Finite State Machines
Lecture 3 Behavioral Modeling Sequential Circuits Registers Counters Finite State Machines Behavioral Modeling Behavioral Modeling Behavioral descriptions use the keyword always, followed by optional event
More informationCSE 140L Final Exam. Prof. Tajana Simunic Rosing. Spring 2008
CSE 140L Final Exam Prof. Tajana Simunic Rosing Spring 2008 NAME: ID#: Do not start the exam until you are told to. Turn off any cell phones or pagers. Write your name and PID at the top of every page.
More informationGeneral FSM design procedure
Sequential logic examples Basic design approach: a 4-step design process Hardware description languages and finite state machines Implementation examples and case studies finite-string pattern recognizer
More informationEECS 373 Practice Midterm / Homework #3 Fall 2014
Exam #: EECS 373 Practice Midterm / Homework #3 Fall 2014 Name: Uniquename: Sign the honor code: I have neither given nor received aid on this exam nor observed anyone else doing so. Scores: Problem #
More informationReadings: Storage unit. Can hold an n-bit value Composed of a group of n flip-flops. Each flip-flop stores 1 bit of information.
Registers Readings: 5.8-5.9.3 Storage unit. Can hold an n-bit value Composed of a group of n flip-flops Each flip-flop stores 1 bit of information ff ff ff ff 178 Controlled Register Reset Load Action
More informationLab # 2. Sequential Statements
The Islamic University of Gaza Faculty of Engineering Department of Computer Engineering ECOM 4111: Digital System Lab Lab # 2 Sequential Statements Eng. Alaa O Shama September, 2015 Introduction In this
More information