Checkpoint 4. Waveform Generator

Size: px
Start display at page:

Download "Checkpoint 4. Waveform Generator"

Transcription

1 UNIVERSITY OF CALIFORNIA AT BERKELEY COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE ASSIGNED: DUE: Friday, October 31 th Friday, November 14 th, 2:10pm sharp Checkpoint Motivation This checkpoint serves three purposes: 1. Glue previously designed components into a more complex system. 2. Provide experience designing a data path and a control specific to a given task. 3. Provide extensive experience in implementing a design from very little specification. By the end of this checkpoint, you will be able to stream audio through your SDRAM and display it on the TV screen as a waveform composed of discrete amplitudes. This will complete your video/audio sandbox, which you can use for the remainder of the project, and constitutes the bulk of the digital storage oscilloscope. 2.0 Introduction By this point in the project, you have (or are very close to having) loop-backed video moving from the Video Decoder to the Video Encoder. This constitutes basic loop-back. The Video Decoder features a sequential address counter that counts in a very similar fashion when compared to the Video Encoder, and the two count sequentially for all time. With basic loop-back under your belt, your next objective is to be able to control different types of Read/Write patterns so that what is read out of SDRAM does not necessary match what is currently being written into SDRAM. The medium featured in this checkpoint is PCM ( pulse code modulation ) audio data. As with checkpoint 3, data will be streamed into SDRAM on the Write side and read out on the Read side. Unlike checkpoint 3, the audio data written to SDRAM is not in {Y, Cr, Y, Cb} form. Thus, your first objective will be to find a way to massage the PCM audio data into a form that when read out of SDRAM will look like a waveform on the TV. It will be up to you to find a way to make this work. You know the interface to the SDRAM Arbiter and the Video Encoder. This document will discuss the exact format of the audio data that you should expect to be streamed into SDRAM. With this information, your task will be to fill in the blanks and transform the stream of audio data out of SDRAM into a clean waveform that can be interpreted by the Video Encoder. UCB Page 1

2 In addition to transforming audio data into a waveform that can be interpreted by the Video Encoder, you are also responsible for adding control logic that will manage reads and writes to SDRAM. Specifically, your control logic must allow you to: 1. Record the output of the audio source. 2. Display the recorded output to the screen in real time. 3. Pause the recording and pause the display. 4. Scroll forward and backwards, in time, through the saved waveform. By the end of checkpoint 4, your audio sub-system will look like something similar to what is shown below. You will be dealing primarily with the parts in red. Input from switches Record Some Control Logic Waveform scroll control data Address Generator Waveform Source Write Address Write Data Arbiter Read Address Read Data Something Read Address Read Data Video Encoder Mode Figure 1 Checkpoint 4 datapath and control Notice the Some Control Logic and Something clouds in the diagram. The Some Control Logic cloud coordinates the recording and time stepping functionality in the system. The Something cloud is what you will have to design and implement in order to transform the PCM audio data into a viewable waveform. 3.0 Prelab Please make sure to complete the prelab before you attend your lab section. You will not be able to finish this checkpoint in 3hrs! By this time, work might be starting to pile up. Stay on top of your game! 1. Read this handout thoroughly. a. Pay particular attention to section 4.0 Lab Procedure as it describes what you will be doing in detail. 2. There will be no Verilog given to you for this checkpoint. UCB Page 2

3 a. Use the FPGA_TOP2 that you have been using for checkpoints 2 and 3. b. The external audio source has been written by us (the staff) and will be released within several days. The audio source will feature the Ready/Valid interface for both addresses and data. If your SDRAM Arbiter follows the Ready/Valid interface, you should be able to connect the audio source directly to your Arbiter. 3. Start your design ahead of time. a. Begin with schematics and bubble-arc diagrams. i. You will be given very little pre-baked design for this checkpoint. ii. If you don t design first, you will likely have a very difficult time finishing this checkpoint. iii. Part of your final submission will be your design. See the check-off sheet at the end of this document for more information. 4.0 Lab Procedure Remember to manage your Verilog, projects and folders well. Doing a poor job of managing your files can cost you hours of rewriting code, if you accidentally delete your files. 4.1 PCM Audio A Waveform in Video Audio will be written into your SDRAM through either a waveform generator (similar to the VideoROM) or a live audio source (similar to the way Ethernet packets, that contained an audio payload, were delivered in Lab 6). Regardless of the source, audio is PCM-encoded. PCM stands for "pulse code modulation." In this case, PCM audio is encoded as a waveform in the time domain as a series of amplitudes. Our audio codec uses binary integers, not floating point numbers, to represent amplitudes in a waveform. For the purposes of this checkpoint, audio is structured as a stream of 32-bit samples. Each sample is a pair of 16-bit integers representing the sample amplitude for the right and left channels of audio. You are only required to display one of the two waveforms, but we encourage experimentation. If you only intend to display one of the two waveforms, you can choose which of the two. Regardless of your choice, however, your waveform generator should be able to tolerate the full range of 16-bit integers that can be passed through each word. The effective transformation between PCM audio data and a video waveform (not to scale) is shown below. UCB Page 3

4 Control Logic Figure 2 PCM Audio Data to a Waveform As was mentioned in section 2.0 Introduction, you will also be responsible for adding the following functionality to your audio subsystem: 1. Record the output of the audio source. 2. Display the recorded output to the screen in real time. 3. Pause the recording and pause the display. 4. Scroll forward and backwards, in time, through the saved waveform. All of the above can be added to your design through control logic, appropriate control signals, and appropriate address generation into both sides of the SDRAM Arbiter. You will be required to implement these pieces. The only piece of code that will be given to you is the Waveform Source. Note again that the source only outputs data, not addresses. You will be required to manage all address generation in this checkpoint. Some of the above requirements can be interpreted several ways. What we mean by recording the output of the audio source is merely that you should be able to store audio data in SDRAM from the audio source. Displaying the output of a recorded segment of audio necessitates knowing what addresses in SDRAM have valid audio data and being able to show a PCM data stream as a waveform on the screen. Pausing the audio stream requires you to be able to control the handshaking between the Arbiter and Waveform Source/Address Generator. Finally, scrolling backwards and forwards through a paused waveform mandates that you are able to control address offsets in your address counting schemes. Given that your TV can only display N audio samples at a time, this equates to the diagram shown below. UCB Page 4

5 Data at Read Address Data at Read Address + N Figure 3 Scrolling backwards and forwards through audio It is thus your task to control the Read Address from which the stream starts to read out data. 4.3 RAM.v Last week, you were introduced to FIFORAM as a FIFO implementation that uses the Ready/Valid interface. This week, we will introduce the workhorse behind FIFORAM, called RAM.v. RAM.v models a readable/writable memory can be used to store data in your design. In hardware, it may become LUT RAM or Block RAM, depending on how large a RAM you want to instantiate (controllable through parameters). Know that you can t instantiate a 256 MB RAM.v. There are not enough resources on the FPGA to accommodate that large of a memory. This is why we use SDRAM in addition to memory that can be instantiated directly in the FPGA fabric. The port specification for RAM.v is shown below. Signal Width Dir Description Clock NPorts I System clock signal Reset NPorts I Reset signal Enable NPorts I Enables or disables the RAM. Write NPorts I Equivalent to WriteEnable. Address AWidth*NPorts I The address in the RAM that you wish to write to or read from. DIn DWidth*NPorts I The data that you wish to write to RAM. DOut DWidth*NPorts O The data that is currently being read from RAM. Table 1 RAM.v port specification RAM.v uses a new notation that allows it to be parameterized by a variable number of read/write ports (this is what is going on with NPorts, which will be explained shortly). This is an extremely useful feature. If you, the user, wishes to have UCB Page 5

6 only one outside module read/write to a RAM.v during a single cycle, you can specify a single port. If you wish to have two or more modules talking to the RAM during a single cycle, you can specify that you want more ports. To find out more with regards to how this works, please see the parameter specification for RAM.v, shown below: Name Default Description DWidth 32 The width of data stored in this RAM. AWidth 4 The number of address bits used to index into this RAM. RLatency 0 Number of clock cycles between Address and DOut. This can be 0 for asynchronous read. WLatency 1 Number of clock cycles between Write and the change. Can be 0 for asynchronous write. NPorts 1 The number of ports that this RAM will support. Every signal gets its own set of ports. WriteMask Nports x 1 b1 A NPorts-bit wide signal, with a 1'b1 for each port which can write, and a 1'b0 for each port which cannot. Table 1 RAM.v parameter specification Now that you know what NPorts is, notice that each of RAM.v s ports is Nports x some factor wide. For each port that you allocate to RAM.v, you will concatenate wires together to represent the data into and out of each port. For example, should you want to instantiate a dual-port memory, your RAM.v instantiation would look something like what is shown below. wire wire [3:0] wire [31:0] WriteEnable; WriteAddress, ReadAddress; WriteData, OutRAMBlanking, OutRAMData; RAM dpram (.Clock( {Clock, Clock}),.Reset( {Reset, Reset}),.Write( {WriteEnable, 1'b0}),.Enable( 2'b11),.Address( {WriteAddress, ReadAddress}),.DIn( {WriteData, {DWidth{1 b0}}}),.dout( {OutRAMBlanking, OutRAMData})), defparam dpram.dwidth = 32; defparam dpram.awidth = 4; defparam dpram.rlatency = 1; defparam dpram.wlatency = 1; defparam dpram.nports = 2; defparam dpram.writemask = 2 b10; UCB Page 6

7 This RAM features two ports. The wires connected to the first port are designated in green. The wires connected to the second port are in red. The Clock signal is sent as the clock to each port. Reset is assigned to the reset port for each port. The first port can be written to (a WriteEnable signal is tied to that portion of the Write port). Nothing is ever written through the second port (its Write port is tied to 1 b0). Address and data is connected in a similar fashion. RAM.v is being given to you for a reason. Learning how to use it effectively will be a step forward in finishing this checkpoint. As a word of caution: make sure that your concatenated ports line up correctly. If your ports aren t lined up, RAM.v will deliver garbage. UCB Page 7

8 5.0 CHECKPOINT 4 CHECK-OFF ASSIGNED: Friday, October 31 th DUE: Friday, November 14 th, 2:10pm sharp Man Hours Total Points TA Initial Date Time Spent / 100 / / 08 NAME SID SECTION I Waveform matches TA source waveforms (25%) (same as playing back source in real time) II Special Features Record source audio (12.5%) Pause recording (12.5%) View paused recording (12.5%) Scroll through paused recording (12.5%) III Design Quality (25%) Procedure: In addition to submitting Verilog and.bit files for this checkpoint, you will submit your design to the TAs directly during lab lecture. Designs will be given full credit if a TA can sit down with your design and write working Verilog from it (thus, the designs should be just as detailed as designs reviewed during a design review). Unlike a design review design, your submitted designs must correspond to your final implementation. Furthermore, designs must be organized, self-explanatory, and only contain diagrams. Don t put random notes on scratch paper. If we can t implement your design with your submission, we can t give you a grade. Use your design review session as a draft session for this submission. As always, your design need not be perfect by the design review. RevA 10/31/08 Chris Fletcher, Ilia Lebedev Wrote new document. UCB Page 8

The Waveform Generator. Today. PAR Timing Reports (1) EECS150 Fall Lab Lecture #10. Chris Fletcher

The Waveform Generator. Today. PAR Timing Reports (1) EECS150 Fall Lab Lecture #10. Chris Fletcher The Waveform Generator EECS150 Fall2008 - Lab Lecture #10 Chris Fletcher Adopted from slides designed by Chris Fletcher and Ilia Lebedev Today PAR Timing Reports Administrative Info The Waveform Generator

More information

Fall 2008 Project. Final Check-off

Fall 2008 Project. Final Check-off UNIVERSITY OF CLIFORNI T BERKELEY COLLEGE OF ENGINEERING DEPRTMENT OF ELECTRICL ENGINEERING ND COMPUTER SCIENCE SSIGNED: DUE: Monday, November 17 th Wednesday, November 26 th, 11:59pm sharp Fall 2008 Project

More information

Checkpoint 1 AC97 Audio

Checkpoint 1 AC97 Audio UNIVERSITY OF CALIFORNIA AT BERKELEY COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE Checkpoint 1 AC97 Audio 1.0 Motivation One of the most difficult aspects of digital

More information

Checkpoint 2 Video Encoder

Checkpoint 2 Video Encoder UNIVERSITY OF CALIFORNIA AT BERKELEY COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE ASSIGNED: Week of 3/7 DUE: Week of 3/14, 10 minutes after start (xx:20) of your assigned

More information

CHECKPOINT 2.5 FOUR PORT ARBITER AND USER INTERFACE

CHECKPOINT 2.5 FOUR PORT ARBITER AND USER INTERFACE 1.0 MOTIVATION UNIVERSITY OF CALIFORNIA AT BERKELEY COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE CHECKPOINT 2.5 FOUR PORT ARBITER AND USER INTERFACE Please note that

More information

Checkpoint 2 Video Encoder and Basic User Interface

Checkpoint 2 Video Encoder and Basic User Interface UNIVERSITY OF CALIFORNIA AT BERKELEY COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE Checkpoint 2 Video Encoder and Basic User Interface 1.0 Motivation The goal of this

More information

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

CSCB58 - Lab 4. Prelab /3 Part I (in-lab) /1 Part II (in-lab) /1 Part III (in-lab) /2 TOTAL /8 CSCB58 - Lab 4 Clocks and Counters Learning Objectives The purpose of this lab is to learn how to create counters and to be able to control when operations occur when the actual clock rate is much faster.

More information

The Project & Digital Video. Today. The Project (1) EECS150 Fall Lab Lecture #7. Arjun Singh

The Project & Digital Video. Today. The Project (1) EECS150 Fall Lab Lecture #7. Arjun Singh The Project & Digital Video EECS150 Fall2008 - Lab Lecture #7 Arjun Singh Adopted from slides designed by Greg Gibeling and Chris Fletcher 10/10/2008 EECS150 Lab Lecture #7 1 Today Project Introduction

More information

LAB 3 Verilog for Combinational Circuits

LAB 3 Verilog for Combinational Circuits Goals To Do LAB 3 Verilog for Combinational Circuits Learn how to implement combinational circuits using Verilog. Design and implement a simple circuit that controls the 7-segment display to show a 4-bit

More information

Registers and Counters

Registers and Counters Registers and Counters A register is a group of flip-flops which share a common clock An n-bit register consists of a group of n flip-flops capable of storing n bits of binary information May have combinational

More information

Laboratory 4. Figure 1: Serdes Transceiver

Laboratory 4. Figure 1: Serdes Transceiver Laboratory 4 The purpose of this laboratory exercise is to design a digital Serdes In the first part of the lab, you will design all the required subblocks for the digital Serdes and simulate them In part

More information

LAB 3 Verilog for Combinatorial Circuits

LAB 3 Verilog for Combinatorial Circuits Goals LAB 3 Verilog for Combinatorial Circuits Learn how to design combinatorial circuits using Verilog. Design a simple circuit that takes a 4-bit binary number and drives the 7-segment display so that

More information

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

FPGA Laboratory Assignment 4. Due Date: 06/11/2012 FPGA Laboratory Assignment 4 Due Date: 06/11/2012 Aim The purpose of this lab is to help you understanding the fundamentals of designing and testing memory-based processing systems. In this lab, you will

More information

cs281: Introduction to Computer Systems Lab07 - Sequential Circuits II: Ant Brain

cs281: Introduction to Computer Systems Lab07 - Sequential Circuits II: Ant Brain cs281: Introduction to Computer Systems Lab07 - Sequential Circuits II: Ant Brain 1 Problem Statement Obtain the file ant.tar from the class webpage. After you untar this file in an empty directory, you

More information

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

University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Science. EECS 150 Spring 2000 University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Science EECS 150 Spring 2000 Lab 2 Finite State Machine 1 Objectives You will enter and debug

More information

University 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 University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Science EECS 150 Fall 2000 Original Lab By: J.Wawrzynek and N. Weaver Later revisions by R.

More information

EE 209 Lab 7 A Walk-Off

EE 209 Lab 7 A Walk-Off EE 209 Lab 7 A Walk-Off Introduction In this lab you will complete the control unit and datapath for a simple crosswalk controller that was discussed in class. You should work on this lab INDIVIDUALLY!

More information

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

Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science Introductory Digital Systems Laboratory Problem Set Issued: March 2, 2007 Problem Set Due: March 14, 2007 Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science 6.111 Introductory Digital Systems Laboratory

More information

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

Laboratory 1 - Introduction to Digital Electronics and Lab Equipment (Logic Analyzers, Digital Oscilloscope, and FPGA-based Labkit) Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science 6. - Introductory Digital Systems Laboratory (Spring 006) Laboratory - Introduction to Digital Electronics

More information

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

Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science Introductory Digital Systems Laboratory Problem Set Issued: March 3, 2006 Problem Set Due: March 15, 2006 Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science 6.111 Introductory Digital Systems Laboratory

More information

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

Lab #5: Design Example: Keypad Scanner and Encoder - Part 1 (120 pts) Nate Pihlstrom, npihlstr@uccs.edu Lab #5: Design Example: Keypad Scanner and Encoder - Part 1 (120 pts) Objective The objective of lab assignments 5 through 9 are to systematically design and implement

More information

Individual Project Report

Individual Project Report EN 3542: Digital Systems Design Individual Project Report Pseudo Random Number Generator using Linear Feedback shift registers Index No: Name: 110445D I.W.A.S.U. Premaratne 1. Problem: Random numbers are

More information

Fingerprint Verification System

Fingerprint Verification System Fingerprint Verification System Cheryl Texin Bashira Chowdhury 6.111 Final Project Spring 2006 Abstract This report details the design and implementation of a fingerprint verification system. The system

More information

Synchronous Sequential Logic

Synchronous Sequential Logic Synchronous Sequential Logic Ranga Rodrigo August 2, 2009 1 Behavioral Modeling Behavioral modeling represents digital circuits at a functional and algorithmic level. It is used mostly to describe sequential

More information

Bell. Program of Study. Accelerated Digital Electronics. Dave Bell TJHSST

Bell. Program of Study. Accelerated Digital Electronics. Dave Bell TJHSST Program of Study Accelerated Digital Electronics TJHSST Dave Bell Course Selection Guide Description: Students learn the basics of digital electronics technology as they engineer a complex electronic system.

More information

Experiment: FPGA Design with Verilog (Part 4)

Experiment: FPGA Design with Verilog (Part 4) Department of Electrical & Electronic Engineering 2 nd Year Laboratory Experiment: FPGA Design with Verilog (Part 4) 1.0 Putting everything together PART 4 Real-time Audio Signal Processing In this part

More information

Block Diagram. 16/24/32 etc. pixin pixin_sof pixin_val. Supports 300 MHz+ operation on basic FPGA devices 2 Memory Read/Write Arbiter SYSTEM SIGNALS

Block Diagram. 16/24/32 etc. pixin pixin_sof pixin_val. Supports 300 MHz+ operation on basic FPGA devices 2 Memory Read/Write Arbiter SYSTEM SIGNALS Key Design Features Block Diagram Synthesizable, technology independent IP Core for FPGA, ASIC or SoC Supplied as human readable VHDL (or Verilog) source code Output supports full flow control permitting

More information

EECS150 - Digital Design Lecture 15 Finite State Machines. Announcements

EECS150 - Digital Design Lecture 15 Finite State Machines. Announcements EECS150 - Digital Design Lecture 15 Finite State Machines October 18, 2011 Elad Alon Electrical Engineering and Computer Sciences University of California, Berkeley http://www-inst.eecs.berkeley.edu/~cs150

More information

CprE 281: Digital Logic

CprE 281: Digital Logic CprE 28: Digital Logic Instructor: Alexander Stoytchev http://www.ece.iastate.edu/~alexs/classes/ Registers and Counters CprE 28: Digital Logic Iowa State University, Ames, IA Copyright Alexander Stoytchev

More information

COMP2611: Computer Organization. Introduction to Digital Logic

COMP2611: Computer Organization. Introduction to Digital Logic 1 COMP2611: Computer Organization Sequential Logic Time 2 Till now, we have essentially ignored the issue of time. We assume digital circuits: Perform their computations instantaneously Stateless: once

More information

You will be first asked to demonstrate regular operation with default values. You will be asked to reprogram your time values and continue operation

You will be first asked to demonstrate regular operation with default values. You will be asked to reprogram your time values and continue operation Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science 6.111 - Introductory Digital Systems Laboratory (Spring 2006) Laboratory 2 (Traffic Light Controller) Check

More information

TSIU03: Lab 3 - VGA. Petter Källström, Mario Garrido. September 10, 2018

TSIU03: Lab 3 - VGA. Petter Källström, Mario Garrido. September 10, 2018 Petter Källström, Mario Garrido September 10, 2018 Abstract In the initialization of the DE2-115 (after you restart it), an image is copied into the SRAM memory. What you have to do in this lab is to read

More information

EECS150 - Digital Design Lecture 12 - Video Interfacing. Recap and Outline

EECS150 - Digital Design Lecture 12 - Video Interfacing. Recap and Outline EECS150 - Digital Design Lecture 12 - Video Interfacing Oct. 8, 2013 Prof. Ronald Fearing Electrical Engineering and Computer Sciences University of California, Berkeley (slides courtesy of Prof. John

More information

problem maximum score 1 28pts 2 10pts 3 10pts 4 15pts 5 14pts 6 12pts 7 11pts total 100pts

problem maximum score 1 28pts 2 10pts 3 10pts 4 15pts 5 14pts 6 12pts 7 11pts total 100pts University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Sciences EECS150 J. Wawrzynek Spring 2002 4/5/02 Midterm Exam II Name: Solutions ID number:

More information

Laboratory Exercise 4

Laboratory Exercise 4 Laboratory Exercise 4 Polling and Interrupts The purpose of this exercise is to learn how to send and receive data to/from I/O devices. There are two methods used to indicate whether or not data can be

More information

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

University of Victoria. Department of Electrical and Computer Engineering. CENG 290 Digital Design I Lab Manual University of Victoria Department of Electrical and Computer Engineering CENG 290 Digital Design I Lab Manual INDEX Introduction to the labs Lab1: Digital Instrumentation Lab2: Basic Digital Components

More information

Final Exam review: chapter 4 and 5. Supplement 3 and 4

Final Exam review: chapter 4 and 5. Supplement 3 and 4 Final Exam review: chapter 4 and 5. Supplement 3 and 4 1. A new type of synchronous flip-flop has the following characteristic table. Find the corresponding excitation table with don t cares used as much

More information

EECS150 - Digital Design Lecture 10 - Interfacing. Recap and Topics

EECS150 - Digital Design Lecture 10 - Interfacing. Recap and Topics EECS150 - Digital Design Lecture 10 - Interfacing Oct. 1, 2013 Prof. Ronald Fearing Electrical Engineering and Computer Sciences University of California, Berkeley (slides courtesy of Prof. John Wawrzynek)

More information

CprE 281: Digital Logic

CprE 281: Digital Logic CprE 281: igital Logic Instructor: Alexander Stoytchev http://www.ece.iastate.edu/~alexs/classes/ Registers CprE 281: igital Logic Iowa State University, Ames, IA Copyright Alexander Stoytchev Administrative

More information

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

Digital Logic. ECE 206, Fall 2001: Lab 1. Learning Objectives. The Logic Simulator Learning Objectives ECE 206, : Lab 1 Digital Logic This lab will give you practice in building and analyzing digital logic circuits. You will use a logic simulator to implement circuits and see how they

More information

Asynchronous counters

Asynchronous counters Asynchronous counters In the previous section, we saw a circuit using one J-K flip-flop that counted backward in a two-bit binary sequence, from 11 to 10 to 01 to 00. Since it would be desirable to have

More information

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

University of Pennsylvania Department of Electrical and Systems Engineering. Digital Design Laboratory. Lab8 Calculator University of Pennsylvania Department of Electrical and Systems Engineering Digital Design Laboratory Purpose Lab Calculator The purpose of this lab is: 1. To get familiar with the use of shift registers

More information

STATIC RANDOM-ACCESS MEMORY

STATIC RANDOM-ACCESS MEMORY STATIC RANDOM-ACCESS MEMORY by VITO KLAUDIO OCTOBER 10, 2015 CSC343 FALL 2015 PROF. IZIDOR GERTNER Table of contents 1. Objective... pg. 2 2. Functionality and Simulations... pg. 4 2.1 SR-LATCH... pg.

More information

Digital Electronics II 2016 Imperial College London Page 1 of 8

Digital Electronics II 2016 Imperial College London Page 1 of 8 Information for Candidates: The following notation is used in this paper: 1. Unless explicitly indicated otherwise, digital circuits are drawn with their inputs on the left and their outputs on the right.

More information

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

University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Science SOLUTIONS University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Science EECS 5 Fall 25 R. H. Katz SOLUTIONS Problem Set #3: Combinational and Sequential Logic

More information

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

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 Key Design Features Block Diagram Synthesizable, technology independent IP Core for FPGA, ASIC and SoC reset underflow Supplied as human readable VHDL (or Verilog) source code Simple FIFO input interface

More information

FPGA Development for Radar, Radio-Astronomy and Communications

FPGA Development for Radar, Radio-Astronomy and Communications John-Philip Taylor Room 7.03, Department of Electrical Engineering, Menzies Building, University of Cape Town Cape Town, South Africa 7701 Tel: +27 82 354 6741 email: tyljoh010@myuct.ac.za Internet: http://www.uct.ac.za

More information

Physics 105. Spring Handbook of Instructions. M.J. Madsen Wabash College, Crawfordsville, Indiana

Physics 105. Spring Handbook of Instructions. M.J. Madsen Wabash College, Crawfordsville, Indiana Physics 105 Handbook of Instructions Spring 2010 M.J. Madsen Wabash College, Crawfordsville, Indiana 1 During the Middle Ages there were all kinds of crazy ideas, such as that a piece of rhinoceros horn

More information

EECS150 - Digital Design Lecture 19 - Finite State Machines Revisited

EECS150 - Digital Design Lecture 19 - Finite State Machines Revisited EECS150 - Digital Design Lecture 19 - Finite State Machines Revisited April 2, 2013 John Wawrzynek Spring 2013 EECS150 - Lec19-fsm Page 1 Finite State Machines (FSMs) FSM circuits are a type of sequential

More information

Design and Implementation of an AHB VGA Peripheral

Design and Implementation of an AHB VGA Peripheral Design and Implementation of an AHB VGA Peripheral 1 Module Overview Learn about VGA interface; Design and implement an AHB VGA peripheral; Program the peripheral using assembly; Lab Demonstration. System

More information

Checkpoint 2 Video Interface

Checkpoint 2 Video Interface University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Sciences EECS150 Fall 1998 R. Fearing and Kevin Cho 1. Objective Checkpoint 2 Video Interface

More information

Lab Assignment 2 Simulation and Image Processing

Lab Assignment 2 Simulation and Image Processing INF5410 Spring 2011 Lab Assignment 2 Simulation and Image Processing Lab goals Implementation of bus functional model to test bus peripherals. Implementation of a simple video overlay module Implementation

More information

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

Name: Date: Suggested Reading Chapter 7, Digital Systems, Principals and Applications; Tocci Richland College Engineering Technology Rev. 0 B. Donham Rev. 1 (7/2003) J. Horne Rev. 2 (1/2008) J. Bradbury Digital Fundamentals CETT 1425 Lab 7 Asynchronous Ripple Counters Name: Date: Objectives: To

More information

Lecture #4: Clocking in Synchronous Circuits

Lecture #4: Clocking in Synchronous Circuits Lecture #4: Clocking in Synchronous Circuits Kunle Stanford EE183 January 15, 2003 Tutorial/Verilog Questions? Tutorial is done, right? Due at midnight (Fri 1/17/03) Turn in copies of all verilog, copy

More information

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

Lab Assignment 5 I. THE 4-BIT CPU AND CONTROL Lab Assignment 5 ECE/CS 3700 Spring 2013 Assigned Thursday (April 11) onwards, circuit demo due during the week 4/22-4/26, final report due by Friday 4/26. Hand it to your TAs or drop it in the HW locker

More information

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)

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) ECE 574: Modeling and synthesis of digital systems using Verilog and VHDL Fall Semester 2017 Design and implementation (in VHDL) of a VGA Display and Light Sensor to run on the Nexys4DDR board Report and

More information

CSE115: Digital Design Lecture 23: Latches & Flip-Flops

CSE115: Digital Design Lecture 23: Latches & Flip-Flops Faculty of Engineering CSE115: Digital Design Lecture 23: Latches & Flip-Flops Sections 7.1-7.2 Suggested Reading A Generic Digital Processor Building Blocks for Digital Architectures INPUT - OUTPUT Interconnect:

More information

Contents Slide Set 6. Introduction to Chapter 7 of the textbook. Outline of Slide Set 6. An outline of the first part of Chapter 7

Contents Slide Set 6. Introduction to Chapter 7 of the textbook. Outline of Slide Set 6. An outline of the first part of Chapter 7 CM 69 W4 Section Slide Set 6 slide 2/9 Contents Slide Set 6 for CM 69 Winter 24 Lecture Section Steve Norman, PhD, PEng Electrical & Computer Engineering Schulich School of Engineering University of Calgary

More information

VeriLab. An introductory lab for using Verilog in digital design (first draft) VeriLab

VeriLab. An introductory lab for using Verilog in digital design (first draft) VeriLab VeriLab An introductory lab for using Verilog in digital design (first draft) VeriLab An introductory lab for using Verilog in digital design Verilog is a hardware description language useful for designing

More information

Chapter 11 State Machine Design

Chapter 11 State Machine Design Chapter State Machine Design CHAPTER OBJECTIVES Upon successful completion of this chapter, you will be able to: Describe the components of a state machine. Distinguish between Moore and Mealy implementations

More information

COE328 Course Outline. Fall 2007

COE328 Course Outline. Fall 2007 COE28 Course Outline Fall 2007 1 Objectives This course covers the basics of digital logic circuits and design. Through the basic understanding of Boolean algebra and number systems it introduces the student

More information

Figure 1: Feature Vector Sequence Generator block diagram.

Figure 1: Feature Vector Sequence Generator block diagram. 1 Introduction Figure 1: Feature Vector Sequence Generator block diagram. We propose designing a simple isolated word speech recognition system in Verilog. Our design is naturally divided into two modules.

More information

Solutions to Embedded System Design Challenges Part II

Solutions to Embedded System Design Challenges Part II Solutions to Embedded System Design Challenges Part II Time-Saving Tips to Improve Productivity In Embedded System Design, Validation and Debug Hi, my name is Mike Juliana. Welcome to today s elearning.

More information

Slide Set 6. for ENCM 369 Winter 2018 Section 01. Steve Norman, PhD, PEng

Slide Set 6. for ENCM 369 Winter 2018 Section 01. Steve Norman, PhD, PEng Slide Set 6 for ENCM 369 Winter 2018 Section 01 Steve Norman, PhD, PEng Electrical & Computer Engineering Schulich School of Engineering University of Calgary February 2018 ENCM 369 Winter 2018 Section

More information

ACS College of Engineering. Department of Biomedical Engineering. HDL pre lab questions ( ) Cycle-1

ACS College of Engineering. Department of Biomedical Engineering. HDL pre lab questions ( ) Cycle-1 ACS College of Engineering Department of Biomedical Engineering HDL pre lab questions (2015-2016) Cycle-1 1. What is truth table? 2. Which gates are called universal gates? 3. Define HDL? 4. What is the

More information

Sequential Circuits. Output depends only and immediately on the inputs Have no memory (dependence on past values of the inputs)

Sequential Circuits. Output depends only and immediately on the inputs Have no memory (dependence on past values of the inputs) Sequential Circuits Combinational circuits Output depends only and immediately on the inputs Have no memory (dependence on past values of the inputs) Sequential circuits Combination circuits with memory

More information

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

Design and Implementation of Timer, GPIO, and 7-segment Peripherals Design and Implementation of Timer, GPIO, and 7-segment Peripherals 1 Module Overview Learn about timers, GPIO and 7-segment display; Design and implement an AHB timer, a GPIO peripheral, and a 7-segment

More information

EE178 Spring 2018 Lecture Module 5. Eric Crabill

EE178 Spring 2018 Lecture Module 5. Eric Crabill EE178 Spring 2018 Lecture Module 5 Eric Crabill Goals Considerations for synchronizing signals Clocks Resets Considerations for asynchronous inputs Methods for crossing clock domains Clocks The academic

More information

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

Digital Fundamentals. Lab 5 Latches & Flip-Flops CETT Name: Date: Richland College School of Engineering & Technology Rev. 0 B. Donham Rev. 1 (7/2003) J. Horne Rev. 2 (1/2008) J. Bradbury Rev. 3 (7/2015) J. Bradbury Digital Fundamentals CETT 1425 Lab 5 Latches & Flip-Flops

More information

CprE 281: Digital Logic

CprE 281: Digital Logic CprE 281: igital Logic Instructor: Alexander Stoytchev http://www.ece.iastate.edu/~alexs/classes/ Registers CprE 281: igital Logic Iowa State University, Ames, IA Copyright Alexander Stoytchev Administrative

More information

EECS150 - Digital Design Lecture 12 Project Description, Part 2

EECS150 - Digital Design Lecture 12 Project Description, Part 2 EECS150 - Digital Design Lecture 12 Project Description, Part 2 February 27, 2003 John Wawrzynek/Sandro Pintz Spring 2003 EECS150 lec12-proj2 Page 1 Linux Command Server network VidFX Video Effects Processor

More information

EE178 Lecture Module 4. Eric Crabill SJSU / Xilinx Fall 2005

EE178 Lecture Module 4. Eric Crabill SJSU / Xilinx Fall 2005 EE178 Lecture Module 4 Eric Crabill SJSU / Xilinx Fall 2005 Lecture #9 Agenda Considerations for synchronizing signals. Clocks. Resets. Considerations for asynchronous inputs. Methods for crossing clock

More information

Contents Circuits... 1

Contents Circuits... 1 Contents Circuits... 1 Categories of Circuits... 1 Description of the operations of circuits... 2 Classification of Combinational Logic... 2 1. Adder... 3 2. Decoder:... 3 Memory Address Decoder... 5 Encoder...

More information

2.6 Reset Design Strategy

2.6 Reset Design Strategy 2.6 Reset esign Strategy Many design issues must be considered before choosing a reset strategy for an ASIC design, such as whether to use synchronous or asynchronous resets, will every flipflop receive

More information

Laboratory Exercise 7

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

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

Rensselaer Polytechnic Institute Computer Hardware Design ECSE Report. Lab Three Xilinx Richards Controller and Logic Analyzer Laboratory RPI Rensselaer Polytechnic Institute Computer Hardware Design ECSE 4770 Report Lab Three Xilinx Richards Controller and Logic Analyzer Laboratory Name: Walter Dearing Group: Brad Stephenson David Bang

More information

Chapter 4: One-Shots, Counters, and Clocks

Chapter 4: One-Shots, Counters, and Clocks Chapter 4: One-Shots, Counters, and Clocks I. The Monostable Multivibrator (One-Shot) The timing pulse is one of the most common elements of laboratory electronics. Pulses can control logical sequences

More information

EECS150 - Digital Design Lecture 13 - Project Description, Part 3 of? Project Overview

EECS150 - Digital Design Lecture 13 - Project Description, Part 3 of? Project Overview EECS150 - Digital Design Lecture 13 - Project Description, Part 3 of? March 3, 2009 John Wawrzynek Spring 2009 EECS150 - Lec13-proj3 Page 1 Project Overview A. MIPS150 pipeline structure B. Memories, project

More information

Chapter 5 Flip-Flops and Related Devices

Chapter 5 Flip-Flops and Related Devices Chapter 5 Flip-Flops and Related Devices Chapter 5 Objectives Selected areas covered in this chapter: Constructing/analyzing operation of latch flip-flops made from NAND or NOR gates. Differences of synchronous/asynchronous

More information

Video Output and Graphics Acceleration

Video Output and Graphics Acceleration Video Output and Graphics Acceleration Overview Frame Buffer and Line Drawing Engine Prof. Kris Pister TAs: Vincent Lee, Ian Juch, Albert Magyar Version 1.5 In this project, you will use SDRAM to implement

More information

Microprocessor Design

Microprocessor Design Microprocessor Design Principles and Practices With VHDL Enoch O. Hwang Brooks / Cole 2004 To my wife and children Windy, Jonathan and Michelle Contents 1. Designing a Microprocessor... 2 1.1 Overview

More information

Lab #11: Register Files

Lab #11: Register Files Lab #11: Register Files ECE/COE 0501 Date of Experiment: 3/20/2017 Report Written: 3/22/2017 Submission Date: 3/27/2017 Nicholas Haver nicholas.haver@pitt.edu 1 H a v e r PURPOSE The purpose of this lab

More information

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

CPE 200L LABORATORY 3: SEQUENTIAL LOGIC CIRCUITS UNIVERSITY OF NEVADA, LAS VEGAS GOALS: BACKGROUND: SR FLIP-FLOP/LATCH CPE 200L LABORATORY 3: SEUENTIAL LOGIC CIRCUITS DEPARTMENT OF ELECTRICAL AND COMPUTER ENGINEERING UNIVERSITY OF NEVADA, LAS VEGAS GOALS: Learn to use Function Generator and Oscilloscope on the breadboard.

More information

HDL & High Level Synthesize (EEET 2035) Laboratory II Sequential Circuits with VHDL: DFF, Counter, TFF and Timer

HDL & High Level Synthesize (EEET 2035) Laboratory II Sequential Circuits with VHDL: DFF, Counter, TFF and Timer 1 P a g e HDL & High Level Synthesize (EEET 2035) Laboratory II Sequential Circuits with VHDL: DFF, Counter, TFF and Timer Objectives: Develop the behavioural style VHDL code for D-Flip Flop using gated,

More information

CHAPTER 6 ASYNCHRONOUS QUASI DELAY INSENSITIVE TEMPLATES (QDI) BASED VITERBI DECODER

CHAPTER 6 ASYNCHRONOUS QUASI DELAY INSENSITIVE TEMPLATES (QDI) BASED VITERBI DECODER 80 CHAPTER 6 ASYNCHRONOUS QUASI DELAY INSENSITIVE TEMPLATES (QDI) BASED VITERBI DECODER 6.1 INTRODUCTION Asynchronous designs are increasingly used to counter the disadvantages of synchronous designs.

More information

UNIT III. Combinational Circuit- Block Diagram. Sequential Circuit- Block Diagram

UNIT III. Combinational Circuit- Block Diagram. Sequential Circuit- Block Diagram UNIT III INTRODUCTION In combinational logic circuits, the outputs at any instant of time depend only on the input signals present at that time. For a change in input, the output occurs immediately. Combinational

More information

SPI Serial Communication and Nokia 5110 LCD Screen

SPI Serial Communication and Nokia 5110 LCD Screen 8 SPI Serial Communication and Nokia 5110 LCD Screen 8.1 Objectives: Many devices use Serial Communication to communicate with each other. The advantage of serial communication is that it uses relatively

More information

COMPUTER ENGINEERING PROGRAM

COMPUTER ENGINEERING PROGRAM COMPUTER ENGINEERING PROGRAM California Polytechnic State University CPE 169 Experiment 6 Introduction to Digital System Design: Combinational Building Blocks Learning Objectives 1. Digital Design To understand

More information

Lab #12: 4-Bit Arithmetic Logic Unit (ALU)

Lab #12: 4-Bit Arithmetic Logic Unit (ALU) Lab #12: 4-Bit Arithmetic Logic Unit (ALU) ECE/COE 0501 Date of Experiment: 4/3/2017 Report Written: 4/5/2017 Submission Date: 4/10/2017 Nicholas Haver nicholas.haver@pitt.edu 1 H a v e r PURPOSE The purpose

More information

WINTER 15 EXAMINATION Model Answer

WINTER 15 EXAMINATION Model Answer Important Instructions to examiners: 1) The answers should be examined by key words and not as word-to-word as given in the model answer scheme. 2) The model answer and the answer written by candidate

More information

Lab experience 1: Introduction to LabView

Lab experience 1: Introduction to LabView Lab experience 1: Introduction to LabView LabView is software for the real-time acquisition, processing and visualization of measured data. A LabView program is called a Virtual Instrument (VI) because

More information

EECS150 - Digital Design Lecture 3 Synchronous Digital Systems Review. Announcements

EECS150 - Digital Design Lecture 3 Synchronous Digital Systems Review. Announcements EECS150 - Digital Design Lecture 3 Synchronous Digital Systems Review September 1, 2011 Elad Alon Electrical Engineering and Computer Sciences University of California, Berkeley http://www-inst.eecs.berkeley.edu/~cs150

More information

First Name Last Name November 10, 2009 CS-343 Exam 2

First Name Last Name November 10, 2009 CS-343 Exam 2 CS-343 Exam 2 Instructions: For multiple choice questions, circle the letter of the one best choice unless the question explicitly states that it might have multiple correct answers. There is no penalty

More information

8. Stratix GX Built-In Self Test (BIST)

8. Stratix GX Built-In Self Test (BIST) 8. Stratix GX Built-In Self Test (BIST) SGX52008-1.1 Introduction Each Stratix GX channel in the gigabit transceiver block contains embedded built-in self test (BIST) circuitry, which is available for

More information

Inside Digital Design Accompany Lab Manual

Inside Digital Design Accompany Lab Manual 1 Inside Digital Design, Accompany Lab Manual Inside Digital Design Accompany Lab Manual Simulation Prototyping Synthesis and Post Synthesis Name- Roll Number- Total/Obtained Marks- Instructor Signature-

More information

LAX_x Logic Analyzer

LAX_x Logic Analyzer Legacy documentation LAX_x Logic Analyzer Summary This core reference describes how to place and use a Logic Analyzer instrument in an FPGA design. Core Reference CR0103 (v2.0) March 17, 2008 The LAX_x

More information

EET2411 DIGITAL ELECTRONICS

EET2411 DIGITAL ELECTRONICS 5-8 Clocked D Flip-FlopFlop One data input. The output changes to the value of the input at either the positive going or negative going clock trigger. May be implemented with a J-K FF by tying the J input

More information

Lab 2: Hardware/Software Co-design with the Wimp51

Lab 2: Hardware/Software Co-design with the Wimp51 Lab 2: Hardware/Software Co-design with the Wimp51 CpE 214: Digital Engineering Lab II Last revised: February 26, 2013 (CAC) Hardware software co-design, now standard in industry, is an approach that brings

More information

North Shore Community College

North Shore Community College North Shore Community College Course Number: IEL217 Section: MAL Course Name: Digital Electronics 1 Semester: Credit: 4 Hours: Three hours of Lecture, Two hours Laboratory per week Thursdays 8:00am (See

More information

ECE 270 Lab Verification / Evaluation Form. Experiment 9

ECE 270 Lab Verification / Evaluation Form. Experiment 9 ECE 270 Lab Verification / Evaluation Form Experiment 9 Evaluation: IMPORTANT! You must complete this experiment during your scheduled lab period. All work for this experiment must be demonstrated to and

More information