10/31/2008EECS150 Lab Lecture #10 The Waveform Generator EECS150 Fall2008 - Lab Lecture #10 Chris Fletcher Adopted from slides designed by Chris Fletcher.

Slides:



Advertisements
Similar presentations
LabVIEW is a graphical programming development environment for data acquisition and control, data analysis, and data presentation. With LabVIEW you can.
Advertisements

Lecture 4 Basic Scripting. Administrative  Files on the website will be posted in pdf for compatibility  Website is now mirrored at:
Sumitha Ajith Saicharan Bandarupalli Mahesh Borgaonkar.
EXTERNAL COMMUNICATIONS DESIGNING AN EXTERNAL 3 BYTE INTERFACE Mark Neil - Microprocessor Course 1 External Memory & I/O.
EECS150 Lab Lecture #61 AC97 PCM Audio EECS150 Fall 2007– Lab Lecture #6 Udam Saini 10/05/2007.
ACCESSING HIGHER GROUND 2010 Norman Coombs CEO EASI
Getting Started with Layout Compiled by Ryan Johnson May 1, 2002  Open Orcad Capture under Engineering Software  Under FILE, choose NEW, PROJECT  The.
EECS 150 Spring 2007 Checkpoint 0 - SDRAM 2/23/2007 Jeff Kalvass (Adapted From Greg Gibeling )
P08009 Audible Memo Board Phase II Friday, February 22, 2008 P08009: Audible Memo Board Phase II Sponsor: Dr. Hopkins Advisor: Professor Slack Jon GosligaElectrical.
2/24/2006EECS150 Lab Lecture #61 N64 Controller (Project Checkpoint#1) EECS150 Spring2006 – Lab Lecture #6 Philip Godoy Guang Yang Greg Gibeling.
3/24/2006EECS150 Lab Lecture #101 Game Engine EECS150 Spring2006 Lab Lecture #10 Guang Yang.
CS150 Project Checkpoint 1. Controller Interface Dreamkatz Controller Interface 1. The N64 Controller 2. Physical interface 3. Communication protocol.
2/16/2007EECS150 Lab Lecture #51 Logic Analyzers EECS150 Spring 2007 – Lab Lecture #5 Shah Bawany.
1 Spring 2007 CSCI 660 CSCI-660 Project Title Project team members’ names.
2/17/2006EECS150 Lab Lecture #51 Logic Analyzers EECS150 Spring 2006 – Lab Lecture #5 David Lin Greg Gibeling.
1 EE40 Summer 2010 Hug EE40 Lecture 6 Josh Hug 7/2/2010.
Getting the O in I/O to work on a typical microcontroller Ideas of how to send output signals to the radio controlled car. The theory behind the LED controller.
2/9/2007EECS150 Lab Lecture #41 Debugging EECS150 Spring2007 – Lab Lecture #4 Laura Pelton Greg Gibeling.
From Design to Verilog EECS150 Fall Lecture #4
8/31/2007EECS150 Lab Lecture #11 EECS150 Intro. & CAD Tools EECS150 Fall 2007 Lab Lecture #1 Shah Bawany.
02/10/06EECS150 Lab Lecture #41 Debugging EECS150 Spring 2006 – Lab Lecture #4 Philip Godoy Greg Gibeling.
Counters and Registers
Guest Lecture by Ben Magstadt CprE 281: Digital Logic.
Creating a MagicInfo Pro Screen Template
1 iSee Player Tutorial Using the Forest Biomass Accumulation Model as an Example ( Tutorial Developed by: (
Peripherals and their Control An overview of industrially available “peripheral devices” that use “pulse-width modulation” for information passing. Review.
ECE-L304 Lecture 6 Review of Step 5 Introduction to Step 6 and 7 Final Lecture Quiz Next Week.
Live Action First Person Shooter Game Patrick Judd Ian Katsuno Bao Le.
Eclipse EHX System Logic Maestro. Module Objective Introduce Logic Maestro to the user Elements ► What is Logic Maestro ► How does Logic Maestro relate.
High Speed Data Converter University
Lesson 1 What is Camtasia?. Lesson 2 Editing Objectives After completing the lesson, the student will be able to: Edit a basic recording Camtasia file.
Lecture # 6 Forms, Widgets and Event Handling. Today Questions: From notes/reading/life? Share Personal Web Page (if not too personal) 1.Introduce: How.
Spring Introduction  Today’s tutorial focuses on introducing you to Xilinx ISE and Modelsim.  These tools are used for Verilog Coding Simulation.
Comments on Lab #4 Annotating Timing Diagrams Draw viewer’s attention to the points you are trying to show / verify –Important output states glitch or.
Moving Around in Scratch The Basics… -You do want to have Scratch open as you will be creating a program. -Follow the instructions and if you have questions.
Digital Logic Design Lecture # 21 University of Tehran.
Diagnostic Pathfinder for Instructors. Diagnostic Pathfinder Local File vs. Database Normal operations Expert operations Admin operations.
1 COMP541 Sequential Circuits Montek Singh Feb 1, 2012.
BMTRY 789 Lecture 11: Debugging Readings – Chapter 10 (3 rd Ed) from “The Little SAS Book” Lab Problems – None Homework Due – None Final Project Presentations.
Grade Book Database Presentation Jeanne Winstead CINS 137.
PROJECT - ZYNQ Yakir Peretz Idan Homri Semester - winter 2014 Duration - one semester.
COMP541 Arithmetic Circuits
Chapter 5 Introduction To Form Builder. Lesson A Objectives  Display Forms Builder forms in a Web browser  Use a data block form to view, insert, update,
LECTURE IV MODELSIM. Go to the link listed below for a demonstration of how to begin working with Modelsim. The video shows you how to write a Verilog.
Introducing a New Concept in Networking Fluid Networking S. Wood Nov Copyright 2006 Modern Systems Research.
Constructive Computer Architecture Tutorial 4: Running and Debugging SMIPS Andy Wright TA October 10, 2014http://csg.csail.mit.edu/6.175T04-1.
Teaching Digital Logic courses with Altera Technology
Programming Logic and Design Fourth Edition, Comprehensive Chapter 14 Event-Driven Programming with Graphical User Interfaces.
2/3/2006EECS150 Lab Lecture #31 Implementation of FSMs EECS150 Spring 2006 – Lab Lecture #3 Guang Yang Greg Gibeling.
2/2/07EECS150 Lab Lecture #31 Verilog Synthesis & FSMs EECS150 Spring 2007 – Lab Lecture #3 Brent Mochizuki Greg Gibeling.
CprE 281: Verilog Tutorial Ben Magstadt – Master’s Student Electrical Engineering.
This was written with the assumption that workbooks would be added. Even if these are not introduced until later, the same basic ideas apply Hopefully.
Recording Your Script and Creating Your Podcast !!You are not finished until you have completed all steps on all of the slides up to and including Slide.
Computer Architecture Lecture 7: Microprogrammed Microarchitectures Prof. Onur Mutlu Carnegie Mellon University Spring 2013, 1/30/2013.
Lab 4 HW/SW Compression and Decompression of Captured Image
Build on a Breadboard Simulator
SDRAM Arbiter EECS150 Fall Lab Lecture #9 Chen Sun
Local Video System: Overview
Logic Gates Practical Objective: to develop an understanding of logic circuits and truth tables.
Logic Analyzers EECS150 Fall Lab Lecture #5 Arjun Singh
EECS150 Fall 2007 – Lab Lecture #4 Shah Bawany
Debugging EECS150 Fall Lab Lecture #4 Sarah Swisher
Debugging EECS150 Fall Lab Lecture #4 Sarah Swisher
Good Design & Network Audio
Local Video System: Overview
The SDRAM Controller EECS150 Fall Lab Lecture #8 Chen Sun
Logic Analyzers EECS150 Fall Lab Lecture #5 Arjun Singh
Learning How to Create an Online Interactive Poster using
Verilog Synthesis & FSMs
♪ Embedded System Design: Synthesizing Music Using Programmable Logic
Presentation transcript:

10/31/2008EECS150 Lab Lecture #10 The Waveform Generator EECS150 Fall Lab Lecture #10 Chris Fletcher Adopted from slides designed by Chris Fletcher and Ilia Lebedev

10/31/2008EECS150 Lab Lecture #10 Today PAR Timing Reports Administrative Info The Waveform Generator Requirements Interfaces Extra Credit From our Sandbox to Yours Oscilloscope Features Firmware Miscellaneous Goodies

10/31/2008EECS150 Lab Lecture #10 PAR Timing Reports (1) Purpose Determine clock “Slack” Find where the critical path occurs PAR and Your Project No real clock problems yet Extra credit might lead to “riding the clock” Text Generation

10/31/2008EECS150 Lab Lecture #10 PAR Timing Reports (2) Dealing with timing issues 1.Detecting a timing problem 2.See your exact clock “slack” 3.Finding your critical path 4.“Nuking” your critical path

10/31/2008EECS150 Lab Lecture #10 PAR Timing Reports (3) Step 1: Detecting the Problem Run Synthesis Watch PAR scroll by This is when “PAR Done!” appears PAR Report Resource Allocation “Starting Placer” “Starting Router” Timing Constraints

10/31/2008EECS150 Lab Lecture #10 PAR Timing Reports (4) A Normal “Router” Report A BAD “Router” Report

10/31/2008EECS150 Lab Lecture #10 PAR Timing Reports (5) Having a bad critical path… Increases PAR time Sometimes causes PAR to fail Makes your circuit completely unpredictable Corner case: (…) trail to 0 Design initially wasn’t meeting timing PAR fixed the problem Investigate when this happens You have a semi-serious timing problem

10/31/2008EECS150 Lab Lecture #10 PAR Timing Reports (6) Step 2: Find exact clock “slack” Bottom of PAR report Reading slack reports Positive slack is good Negative slack  Unpredictable circuits Be watchful! PAR might pass with negative slack

10/31/2008EECS150 Lab Lecture #10 PAR Timing Reports (7) Step 3: Find your critical path Use the Synplify Pro Technology Schematic Top toolbar: click “Show Critical Path”:

10/31/2008EECS150 Lab Lecture #10 PAR Timing Reports (8) Step 4: NUKE your critical path Find module corresponding to critical path Refactor Verilog Pipeline design Remove Software operators ‘*’ ‘/’ If you don’t know what it will synthesize to, don’t write it in Verilog

10/31/2008EECS150 Lab Lecture #10 Administrative Info (1) Midterm 2 When: Tuesday, November 4 th During lecture: 2pm Where: 125 Cory Policy: Open notes, open book Midterm 2 Review Monday, November 3 rd Same place as always BYOQ

10/31/2008EECS150 Lab Lecture #10 Administrative Info (2) Project Due today: SDRAM Simulation Due Next Friday: Arbiter + Video Introduced today: Waveform Viewer Extra Credit is up!

Checkpoint 4 (1) Waveform Video Generator Up until now, we did all the design work for you. Now it’s your turn. Much of this checkpoint is your design effort. 10/31/2008EECS150 Lab Lecture #10

Checkpoint 4 (2) 10/31/2008EECS150 Lab Lecture #10

Checkpoint 4 (3) Waveform Source generates data CP 5 will replace with a source of audio Data is recorded (Arbiter + SDRAM) Just like a GIGANTIC (256M) FIFO! Data is read out as needed Data is converted to a video stream How? Video Encoder displays the video. 10/31/2008EECS150 Lab Lecture #10

Checkpoint 4 (4) What your system will be able to do: Record the output of the source Display the output on the screen in real- time Pause recording Examine recorded waveform Scroll forwards and backwards through saved waveform 10/31/2008EECS150 Lab Lecture #10

The “Something” Block (1) Takes a stream of values Outputs a video stream of a “wave” You will need to generate video on demand It would help to have a faster, smaller memory System Architects call this a “Cache” Look at RAM.v  Hint Really. Look at RAM.v 10/31/2008EECS150 Lab Lecture #10

The “Something” Block (2) Displays a part of the waveform Draws one sample per pixel pair Displays data starting at “Read Address” Caching helps 10/31/2008EECS150 Lab Lecture #10

The “Something” Block (3) Your output will look like: Be creative! Use colors! Did anyone say “gradient”? 10/31/2008EECS150 Lab Lecture #10

The “Something” Block (4) How you get there is entirely up to you Use good design Don’t code if you don’t have a circuit diagram! You won’t need a state machine Make it look nice this is where it will show. 10/31/2008EECS150 Lab Lecture #10

Waveform source Done for you. Connects to the Arbiter Creates “waveform” data Multiple “modes” or patterns generated 10/31/2008EECS150 Lab Lecture #10

Arbiter And SDRAM Should have this by now (was CP2, CP3) If not, we will provide a blackboxed solution. If you could not finish CP3, move on and finish after your project is done. 10/31/2008EECS150 Lab Lecture #10

Control logic User interactions are handled here This can be a state machine This module will read user input Buttons Switches And control your data path Read Counter & Record are control signals 10/31/2008EECS150 Lab Lecture #10

Video Encoder This was your CP1 assignment. Should provide an interface to connect to 2 FIFOs Yes, DATA has a FIFO interface too If your VE does not work: Move on and finish after CP5 Use our blackboxed solution for now 10/31/2008EECS150 Lab Lecture #10

Useful Hints (1) Don’t bother using things like Debouncer.v on the button inputs We don’t care about precise scrolling Look at the SVN Library folder closely Many useful modules Look at RAM.v 10/31/2008EECS150 Lab Lecture #10

Useful Hints (2) How many ports does RAM.v have? How can you use multi-port memory to your advantage? Waveform data is a set of values over time Video is a set of X,Y color values In a waveform, time is X and the value is Y. 10/31/2008EECS150 Lab Lecture #10

Checkpoint 4 Checkoff This checkpoint will be checked off visually We will look at what it does and how Talk to your GSIs! We are happy to help you with the design process Part of your grade will be the quality of your design 10/31/2008EECS150 Lab Lecture #10

10/31/2008EECS150 Lab Lecture #10 Extra Credit (1) Specification Online! October 26 th  November 26 th Due with final check-off For more logistics Read the spec (see the website)

10/31/2008EECS150 Lab Lecture #10 Extra Credit (2) Think Design, not Display Extra Credit graded on design Ask yourself… Was it well designed? Did it work reliably? Did it do something interesting? Flashing Colors != good design (not necessarily anyway)

10/31/2008EECS150 Lab Lecture #10 Extra Credit (3) Extra Credit Options Oscilloscope Features Firmware Special Challenges Pick what you like No restrictions on selection Options will be added to the list as we think of them