Good Design & Network Audio

Slides:



Advertisements
Similar presentations
CS1Q Computer Systems Lecture 12 Simon Gay. Lecture 12CS1Q Computer Systems - Simon Gay 2 Design of Sequential Circuits The systematic design of sequential.
Advertisements

Lab 09 :D Flip Flop, Shift Registers and Switch Bounce: Slide 2 Slide 3 The D Flip Flop. 4-Bit Shift Register. Slide 4 Shift Register De-bounce System:
EECS150 Lab Lecture #61 AC97 PCM Audio EECS150 Fall 2007– Lab Lecture #6 Udam Saini 10/05/2007.
EECS 150 Spring 2007 Checkpoint 0 - SDRAM 2/23/2007 Jeff Kalvass (Adapted From Greg Gibeling )
2/24/2006EECS150 Lab Lecture #61 N64 Controller (Project Checkpoint#1) EECS150 Spring2006 – Lab Lecture #6 Philip Godoy Guang Yang Greg Gibeling.
Double buffer SDRAM Memory Controller Presented by: Yael Dresner Andre Steiner Instructed by: Michael Levilov Project Number: D0713.
10/1/2004EECS150 Lab Lecture #51 Good Design & Network Audio EECS150 Fall2004 – Lab Lecture #5 Udam Saini.
Overview Finite State Machines - Sequential circuits with inputs and outputs State Diagrams - An abstraction tool to visualize and analyze sequential circuits.
2/9/2007EECS150 Lab Lecture #41 Debugging EECS150 Spring2007 – Lab Lecture #4 Laura Pelton Greg Gibeling.
From Design to Verilog EECS150 Fall Lecture #4
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Senior Design I Lecture 10 - Data Communications.
02/10/06EECS150 Lab Lecture #41 Debugging EECS150 Spring 2006 – Lab Lecture #4 Philip Godoy Greg Gibeling.
1 TRANSCEIVER TECHNOLOGY Presentation explores the Transceiver Design using a leading Manufactures Sales and Specification Sheets in the field. 1. Signaling.
10/31/2008EECS150 Lab Lecture #10 The Waveform Generator EECS150 Fall Lab Lecture #10 Chris Fletcher Adopted from slides designed by Chris Fletcher.
Module 10. Internet Protocol (IP) is the routed protocol of the Internet. IP addressing enables packets to be routed from source to destination using.
DARPA Digital Audio Receiver, Processor and Amplifier Group Z James Cotton Bobak Nazer Ryan Verret.
SDR Test bench Architecture WINLAB – Rutgers University Date : October Authors : Prasanthi Maddala,
High-Level Interconnect Architectures for FPGAs An investigation into network-based interconnect systems for existing and future FPGA architectures Nick.
Microprocessor Dr. Rabie A. Ramadan Al-Azhar University Lecture 2.
High-Level Interconnect Architectures for FPGAs Nick Barrow-Williams.
ECE 448: Lab 6 DSP and FPGA Embedded Resources (Digital Downconverter)
FPGA firmware of DC5 FEE. Outline List of issue Data loss issue Command error issue (DCM to FEM) Command lost issue (PC with USB connection to GANDALF)
December 14, 2006Anuj K. Purwar1 Design proposal for Read Out Card (ROC) Anuj K. Purwar December 14, 2006 Nevis Meeting.
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.
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
EECS 373 – lecture 4 Buses, serial communication and digital design.
Digital Logic Structures: Chapter 3 COMP 2610 Dr. James Money COMP
George Mason University Finite State Machines Refresher ECE 545 Lecture 11.
1 Lecture 13: Sequential Circuits, FSM Today’s topics:  Sequential circuits  Finite state machines  Single-cycle CPU Reminder: midterm on Tue 10/20.
Class Exercise 1B.
Computer Organization and Architecture + Networks
ECE 353 Lab 3 Pipeline Simulator
SDRAM Arbiter EECS150 Fall Lab Lecture #9 Chen Sun
CPRE 583 Reconfigurable Computing
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
332:437 Lecture 17 FSM Hardware Modification for Reliability
New Crate Controller Development
Local Video System: Overview
Instructor: Alexander Stoytchev
Lecture 13: Sequential Circuits, FSM
Data Link Issues Relates to Lab 2.
CPRE 583 Reconfigurable Computing
Lecture 13: Sequential Circuits, FSM
RTL Design Methodology
Logic Analyzers EECS150 Fall Lab Lecture #5 Arjun Singh
Lecture 17 Logistics Last lecture Today HW5 due on Wednesday
Multiplexor A multiplexor is a device that takes a number of data inputs and selects one of them to pass through as its output. The interface of a multiplexor.
Instructor: Alexander Stoytchev
EECS150 Fall 2007 – Lab Lecture #4 Shah Bawany
Electronics for Physicists
Debugging EECS150 Fall Lab Lecture #4 Sarah Swisher
ECE 353 Lab 3 Pipeline Simulator
332:437 Lecture 17 FSM Hardware Modification for Reliability
Debugging EECS150 Fall Lab Lecture #4 Sarah Swisher
Lecture 21 Logistics Last lecture Today HW7 due Wednesday
RTL Design Methodology
Local Video System: Overview
332:437 Lecture 17 FSM Hardware Modification for Reliability
Lecture 20 Logistics Last lecture Today Graded HW back today
The SDRAM Controller EECS150 Fall Lab Lecture #8 Chen Sun
Logic Analyzers EECS150 Fall Lab Lecture #5 Arjun Singh
Lecture 20 Logistics Last lecture Today HW6 due Wednesday
Lecture 17 Logistics Last lecture Today HW5 due on Wednesday
RTL Design Methodology Transition from Pseudocode & Interface
Lecture 18 Logistics Last lecture Today HW5 due today (with extra 10%)
Verilog Synthesis & FSMs
(Adapted From Slides by Greg Gibeling)
EGR 2131 Unit 12 Synchronous Sequential Circuits
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
Presentation transcript:

Good Design & Network Audio EECS150 Fall2008 - Lab Lecture #6 Chris Fletcher Adopted from slides designed by Greg Gibeling and Chris Fletcher 10/3/2008 EECS150 Lab Lecture #6

Today (1) Good Design Administrative Info FSMs: The Good, Bad and Ugly Interfaces (Part 1) Signal Conditioning Administrative Info 10/3/2008 EECS150 Lab Lecture #6

Today (2) Lab #6: Network Audio Motivation Network Organization Ethernet Packets Eth2Audio Async FIFO 10/3/2008 EECS150 Lab Lecture #6

Finite State Machines (1) After all we have told you… FSMs seldom lead to efficient circuits The Real Story When they are not useful When they are useful How you can tell between the two cases 10/3/2008 EECS150 Lab Lecture #6

Finite State Machines (2) Most FSMs look like… Important properties Straight path No complicated branching logic 10/3/2008 EECS150 Lab Lecture #6

Finite State Machines (3) It’s a ring counter! Bubble-Arc diagrams don’t necessitate the FSM design pattern 10/3/2008 EECS150 Lab Lecture #6

Finite State Machines (4) Conclusion Think simple A counter is an incredibly powerful circuit On the other hand… Some FSMs look like… (await the very necessary page turn) 10/3/2008 EECS150 Lab Lecture #6

Look any different? Complex branching! 10/3/2008 EECS150 Lab Lecture #6

Finite State Machines (6) Do not use FSMs when you have… Few branches Linear transitions Use FSMs when you have… Many branches Complicated decision logic Conditional transitions 10/3/2008 EECS150 Lab Lecture #6

Signal Conditioning (1) Off-by-a-cycle Errors Shorten a Pulse Lengthen a Pulse Shift a Pulse Adaptors between complex modules Simple modification outside module Don’t/Can’t touch module internally 10/3/2008 EECS150 Lab Lecture #6

Signal Conditioning (2) Shorten a Pulse 5 Cycles -> 4 Cycles Any guesses? What if we delayed the input? 10/3/2008 EECS150 Lab Lecture #6

Signal Conditioning (3) Shorten a Pulse Out = In & In_Delayed 10/3/2008 EECS150 Lab Lecture #6

Signal Conditioning (4) Lengthen a Pulse Out = In | In_Delayed 10/3/2008 EECS150 Lab Lecture #6

Administrative Info Project starts next friday: 10/10 SVN Repositories Digital Oscilloscope! Commit to your partner The first checkpoint is 1 week long SVN Repositories Will be online at the end of next week Version-control tutorial on the way 10/3/2008 EECS150 Lab Lecture #6

Lab #6: Network Audio Play Audio off Ethernet Receive Ethernet packets Decode and remove header Filter packets Play audio data payload A Major Project by Itself Given: Ethernet, Audio, ETC To be written: Packet Decode & Filtering 10/3/2008 EECS150 Lab Lecture #6

Lab #6: Network Audio Your project and Lab 6 Audio  Ethernet  Waveform Stream audio into oscilloscope Audio Visualizations 10/3/2008 EECS150 Lab Lecture #6

Network Organization (1) 10/3/2008 EECS150 Lab Lecture #6

Network Organization (2) DO NOT MODIFY THE PRODUCTION NETWORK 10/3/2008 EECS150 Lab Lecture #6

Ethernet Packets (1) We’re using raw Ethernet Raw Ethernet: No TCP/IP, its too complex Cant use this on the internet Raw Ethernet: 48bit Destination MAC Address 48bit Source MAC Address 16bit Ethernet Type Payload 32bit CRC 10/3/2008 EECS150 Lab Lecture #6

Ethernet Packets (2) 10/3/2008 EECS150 Lab Lecture #6

Ethernet Packets (3) A Good Packet Total: 1028x 32bit Words 48bit Destination (0xFFFFFFFFFFFF) 48bit Source (0x0090c2001c50) 16bit Packet Type (0x0101) 16bit Padding (0x????) 1024x 32bit PCM Audio Data 10/3/2008 EECS150 Lab Lecture #6

Ethernet Packets (4) A Bad Packet Coping with bad packets Who knows how long? Source and Destination could be anything Packet Type probably not 0x0101 Coping with bad packets Do NOT send them to AudioTop Just keep dropping data until end of packet Done Signal: InPacketValid & InPacketInvalid 10/3/2008 EECS150 Lab Lecture #6

Lab #6: Eth2Audio (1) 10/3/2008 EECS150 Lab Lecture #6

Lab #6: Eth2Audio (2) Signal Width Dir Description DIn 32 I Data from MAC_Top InValid 1 Indicates DIn is valid InPacketValid Indicates the end of a good(crc) packet InPacketInvalid Indicates the end of a bad(crc) packet EthernetClock 25MHz Ethernet Clock EthernetReset EthernetClock sync. Reset AudioClock 12.288MHz Audio Clock AudioReset AudioClock sync. Reset DOut O Data out to AudioTop OutRequest AudioTop requesting a new word OutValid Indicates DOut is valid 10/3/2008 EECS150 Lab Lecture #6

Lab #6: Async FIFO (3) Buffer to match two data rates Great for data path clock domain crossings Write on one clock (WR_) Read on another (RD_) Good place to buffer audio 10/3/2008 EECS150 Lab Lecture #6

Lab #6: Eth2Audio (4) Design No FSMs allowed Word Counter How many bits wide? Valid Register Stores whether the packet is valid or not Reset When do you reset word counter and valid register? 10/3/2008 EECS150 Lab Lecture #6

Lab #6: Eth2Audio (5) Testing Checkoff We give you a very nice testbench Read Lab5Testbench.v Read Lab5TestPackets.txt Fix your module in simulation You can use ChipScope w/ 1 clock Checkoff We should hear nice clean audio Show us your module using ChipScope 10/3/2008 EECS150 Lab Lecture #6