Spring 2009W. Rhett DavisNC State UniversityECE 406Slide 1 ECE 406 – Design of Complex Digital Systems Lecture 18: More Complex Interfaces Spring 2009.

Slides:



Advertisements
Similar presentations
INPUT-OUTPUT ORGANIZATION
Advertisements

Main MemoryCS510 Computer ArchitecturesLecture Lecture 15 Main Memory.
Give qualifications of instructors: DAP
Spring 2009W. Rhett DavisNC State UniversityECE 406Slide 1 ECE 406 – Design of Complex Digital Systems Lecture 8: Sequential Design Spring 2009 W. Rhett.
Chapter 2 Microprocessor Bus Transfers. Big- and Little-Endian Ordering Bit-endian processor architecture –High-order-byte-first (H-O-B-F) map the highest-order.
Spring 2007W. Rhett DavisNC State UniversityECE 747Slide 1 ECE 747 Digital Signal Processing Architecture SoC Lecture – Working with Analog-to-Digital.
Spring 2009W. Rhett DavisNC State UniversityECE 406Slide 1 ECE 406 – Design of Complex Digital Systems Lecture 1: Introduction Spring 2009 W. Rhett Davis.
Spring 2009W. Rhett DavisNC State UniversityECE 406Slide 1 ECE 406 – Design of Complex Digital Systems Lecture 21: Where do you go from here? Spring 2009.
Spring 20067W. Rhett Davis with minor modifications by Dean Brock ECE 406 at UNASlide 1 ECE 406 Design of Complex Digital Systems Lecture 10: 9: State.
CS 151 Digital Systems Design Lecture 37 Register Transfer Level
Chapter 9 Memory Basics Henry Hexmoor1. 2 Memory Definitions  Memory ─ A collection of storage cells together with the necessary circuits to transfer.
CS61C L23 Synchronous Digital Systems (1) Garcia, Fall 2011 © UCB Lecturer SOE Dan Garcia inst.eecs.berkeley.edu/~cs61c CS61C.
CS61C L21 State Elements : Circuits that Remember (1) Spring 2007 © UCB 161 Exabytes In 2006  In 2006 we created, captured, and replicated 161 exabytes.
1 Spring 2007 CSCI 660 CSCI-660 Project Title Project team members’ names.
Automatic Interface Generation P.I.G. : Presented by Trevor Meyerowitz Sonics: Presented by Michael Sheets EE249 Discussion November 30, 1999.
9/20/6Lecture 3 - Instruction Set - Al Hardware interface (part 2)
CS61C L15 Synchronous Digital Systems (1) Beamer, Summer 2007 © UCB Scott Beamer, Instructor inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture.
Cache Memories Effectiveness of cache is based on a property of computer programs called locality of reference Most of programs time is spent in loops.
Spring 2009W. Rhett DavisNC State UniversityECE 406Slide 1 ECE 406 – Design of Complex Digital Systems Lecture 13: Regression Testing, MemAccess Block.
INPUT-OUTPUT ORGANIZATION
Spring 2007W. Rhett DavisNC State UniversityECE 747Slide 1 ECE 747 Digital Signal Processing Architecture SoC Lecture – Working with DRAM April 3, 2007.
MODES OF Details of Pins Pin 1 –Connected Ground Pins 2-16 –acts as both input/output. Outputs address at the first part of the cycle and outputs.
Computer Architecture Lecture 08 Fasih ur Rehman.
The University of New Hampshire InterOperability Laboratory Serial ATA (SATA) Protocol Chapter 10 – Transport Layer.
Memory interface Memory is a device to store data
Spring 2007W. Rhett Davis with minor modification by Dean Brock UNCA ECE 406Slide 1 ECE 406 – Design of Complex Digital Systems Lecture 7: Design Example,
CS3350B Computer Architecture Winter 2015 Lecture 5.2: State Circuits: Circuits that Remember Marc Moreno Maza [Adapted.
Spring 2009W. Rhett DavisNC State UniversityECE 406Slide 1 ECE 406 – Design of Complex Digital Systems Lecture 19: Cache Operation & Design Spring 2009.
Spring 2007W. Rhett Davis with slight modification by Dean Brock UNCA ECE 406Slide 1 ECE 406 – Design of Complex Digital Systems Lecture 11: Memories,
Input/OUTPUT [I/O Module structure].
Spring 2007W. Rhett DavisNC State UniversityECE 747Slide 1 ECE 747 Digital Signal Processing Architecture SoC Lecture – SoC Simulation Strategy ECE 747.
Spring 2009W. Rhett DavisNC State UniversityECE 406Slide 1 ECE 406 – Design of Complex Digital Systems Lecture 2: Introduction to Verilog Syntax Spring.
Lecture 20: Communications Lecturers: Professor John Devlin Mr Robert Ross.
Operating Systems Lecture 02: Computer System Overview Anda Iamnitchi
Spring 2009W. Rhett DavisNC State UniversityECE 406Slide 1 ECE 406 – Design of Complex Digital Systems Lecture 3: Structural Modeling Spring 2009 W. Rhett.
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use ECE/CS 352: Digital Systems.
MODES OF Details of Pins Pin 1GND –Connected Ground Pins 2-16 AD14-AD0–acts as both input/output. Outputs address at the first part of the cycle.
1 CSE370, Lecture 17 Lecture 17 u Logistics n Lab 7 this week n HW6 is due Friday n Office Hours íMine: Friday 10:00-11:00 as usual íSara: Thursday 2:30-3:20.
Spring 2009W. Rhett DavisNC State UniversityECE 406Slide 1 ECE 406 – Design of Complex Digital Systems Lecture 7: Design Example, Modeling Flip-Flops Spring.
ECE 456 Computer Architecture Lecture #14 – CPU (III) Instruction Cycle & Pipelining Instructor: Dr. Honggang Wang Fall 2013.
ECE 526 – Network Processing Systems Design Computer Architecture: traditional network processing systems implementation Chapter 4: D. E. Comer.
1 COMP541 Sequential Circuits Montek Singh Feb 1, 2012.
Spring 2007 W. Rhett Davis with minor editing by J. Dean Brock UNCA ECE Slide 1 ECE 406 – Design of Complex Digital Systems Lecture 1: Introduction.
Data Link and Flow Control Networks and Protocols Prepared by: TGK First Prepared on: Last Modified on: Quality checked by: Copyright 2009 Asia Pacific.
ECE 353 Lab 2 Pipeline Simulator Additional Material.
Spring 2009W. Rhett DavisNC State UniversityECE 406Slide 1 ECE 406 – Design of Complex Digital Systems Lecture 16: Introduction to Buses and Interfaces.
Spring 2007W. Rhett Davis with minor modification by Dean Brock UNCA ECE 406Slide 1 ECE 406 – Design of Complex Digital Systems Lecture 12: Intro to the.
Lecture 5B Block Diagrams HASH Example.
Spring 2009W. Rhett DavisNC State UniversityECE 406Slide 1 ECE 406 – Design of Complex Digital Systems Lecture 4: Testing, Dataflow Modeling Spring 2009.
IT3002 Computer Architecture
Spring 2009W. Rhett DavisNC State UniversityECE 406Slide 1 ECE 406 – Design of Complex Digital Systems Lecture 6: Procedural Modeling Spring 2009 W. Rhett.
Lecture 3 RTL Design Methodology Transition from Pseudocode & Interface to a Corresponding Block Diagram.
Spring 20067W. Rhett Davis with minor modification by Dean Brock UNCA ECE 406Slide 1 ECE 406 Design of Complex Digital Systems Lecture 11: Data Converter,
1 KU College of Engineering Elec 204: Digital Systems Design Lecture 22 Memory Definitions Memory ─ A collection of storage cells together with the necessary.
Rohini Ravichandran Kaushik Narayanan A MINI STEREO DIGITAL AUDIO PROCESSOR (BEHAVIORAL MODEL)
Spring 2007W. Rhett DavisNC State UniversityECE 747Slide 1 ECE 747 Digital Signal Processing Architecture SoC Lecture – Working with Buses & Interconnects.
Spring 2009W. Rhett DavisNC State UniversityECE 406Slide 1 ECE 406 – Design of Complex Digital Systems Lecture 12: Intro to the LC-3 Micro-architecture.
Speaker: Utku Özcan ASIC Designer, R&D, Netaş, Turkey Designers: Utku Özcan,ASIC Designer İsmail Hakkı Topçu, Hardware Designer Ömer Aydın, Senior System.
Spring 2009W. Rhett DavisNC State UniversityECE 406Slide 1 ECE 406 – Design of Complex Digital Systems Lecture 9: State Machines & Reset Behavior Spring.
Spring 2009W. Rhett DavisNC State UniversityECE 406Slide 1 ECE 406 – Design of Complex Digital Systems Lecture 20: Cache Design Spring 2009 W. Rhett Davis.
Spring 2009W. Rhett DavisNC State UniversityECE 406Slide 1 ECE 406 – Design of Complex Digital Systems Lecture 10: Data-Converter Example Spring 2009 W.
EECS 373 – lecture 4 Buses, serial communication and digital design.
ASYNCHRONOUS DATA TRANSFER
Interconnection Structures
Chapter 6 Input/Output Organization
I2C PROTOCOL SPECIFICATION
Inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture #21 State Elements: Circuits that Remember Hello to James Muerle in the.
Serial Communication Interface: Using 8251
Local Video System: Overview
Lecture 4 Peer-to-Peer Protocols and Data Link Layer
Presentation transcript:

Spring 2009W. Rhett DavisNC State UniversityECE 406Slide 1 ECE 406 – Design of Complex Digital Systems Lecture 18: More Complex Interfaces Spring 2009 W. Rhett Davis NC State University with significant material from Paul Franzon, Bill Allen, & Xun Liu

Spring 2009W. Rhett DavisNC State UniversityECE 406Slide 2 Announcements l HW#8 Due in 1 week l Proj#2 Due in 3 weeks

Spring 2009W. Rhett DavisNC State UniversityECE 406Slide 3 Mentor Moment l When you lose, don’t lose the lesson l My first big failure » 1 year after my M.S. degree, I found myself responsible for a chip w/ 400,000 transistors and 4 engineers » It would have been a $50,000 paperweight, but it wasn’t heavy enough » I spent several months analyzing it to figure out what went wrong » What did I learn? –The importance of analyzing clock skew and checking timing constraints –My boss can make mistakes –I needed to be more forceful and polite in showing my peers how to avoid problems –People had more respect for me, rather than less, as I had feared

Spring 2009W. Rhett DavisNC State UniversityECE 406Slide 4 Summary of Last Lecture l What procedure do we use to design an interface? » Specify Signals » Specify Protocol » Specify Other Details (“Loose Ends”) » Sample Waveforms » Draw Transmitter State-Transition Diagram » Write Transmitter Interface » Write Transmitter Test-Bench (Receiver Model) » Draw Receiver State-Transition Diagram » Write Receiver Interface » Write Receiver Test-Bench (Transmitter Model)

Spring 2009W. Rhett DavisNC State UniversityECE 406Slide 5 Today’s Lecture l Flow Control Interfaces l Example 3: Transmitter » Module description » Test-bench l Example 4: Flow Control Receiver » Module description » Test-bench

Spring 2009W. Rhett DavisNC State UniversityECE 406Slide 6 Review: Types of Interfaces l The interfaces we will discuss in this class will be differentiated in the following ways: » Response: Whether assertion of a coordinating signal receives a response » Initiator: Which module initiates the transfer » Control level: Whether the signal is coordinating the transfer of a single element of data or a block of data.

Spring 2009W. Rhett DavisNC State UniversityECE 406Slide 7 Flow Control l All the interface discussions so far have focused on control of the transfer of each element of data (word, byte). This is referred to as transfer control. l Additionally there may be a higher level of control which manages the transfer of blocks of data (e.g. messages). This control is referred to as flow control. l Flow control can be used in a number of ways to manage blocks of data. Some of these are: » Block Framing or Delimiting » Transfer Rate Control » Block transfer Initiation

Spring 2009W. Rhett DavisNC State UniversityECE 406Slide 8 Interface with Flow Control l Signals » DATA: 8-bit data » msg_req: asserted to request a message » sending: asserted while a message is being sent » dready: one-cycle pulse when a byte is ready to transfer » dacpt: one-cycle pulse when the byte has been accepted AB DATA msg_req sending dready dacpt

Spring 2009W. Rhett DavisNC State UniversityECE 406Slide 9 Interface with Flow Control l Protocol Specification: » All handshaking signals are initially low » When receiver is ready to receive a message, msg_req is raised. » Transmitter responds by raising sending » Transmitter puts data on DATA bus and puts a one- cycle pulse on dready » DATA remains valid until the receiver puts a one- cycle pulse on dacpt » Transmitter lowers sending when the last byte has been transferred. » Receiver lowers msg_req for at least one cycle

Spring 2009W. Rhett DavisNC State UniversityECE 406Slide 10 l Is the flow control » transmitter or receiver-initiated? » responsive or non-responsive » What is the responsive pair? l Is the transfer control » transmitter or receiver-initiated? » responsive or non-responsive » What is the responsive pair? Interface with Flow Control

Spring 2009W. Rhett DavisNC State UniversityECE 406Slide 11 Interface Design Procedures » Specify Signals » Specify Protocol » Specify Other Details (“Loose Ends”) » Sample Waveforms » Draw Transmitter State-Transition Diagram » Write Transmitter Interface » Write Transmitter Test-Bench (Receiver Model) » Draw Receiver State-Transition Diagram » Write Receiver Interface » Write Receiver Test-Bench (Transmitter Model)

Spring 2009W. Rhett DavisNC State UniversityECE 406Slide 12 Today’s Lecture l Flow Control Interfaces l Example 3: Transmitter » Module description » Test-bench l Example 4: Flow Control Receiver » Module description » Test-bench

Spring 2009W. Rhett DavisNC State UniversityECE 406Slide 13 Interface with Flow Control l Other Assumptions (Loose Ends): » Values will be read from / written to a memory array called nextdata » The number of bytes to send is in a signal called msgsize » A message will never be larger than 15 bytes » A message will always contain at least 1 byte

Spring 2009W. Rhett DavisNC State UniversityECE 406Slide 14 Interface Waveforms

Spring 2009W. Rhett DavisNC State UniversityECE 406Slide 15 Transmitter State Machine l Draw the portion of the state transition diagram for the transmitter

Spring 2009W. Rhett DavisNC State UniversityECE 406Slide 16 Transmitter Interface clock) case (state) TS1: if (!msg_req) sending=0; else begin addr=0; sending=1; state=TS2; end l Write the portion of the Verilog module that implements the transmitter interface

Spring 2009W. Rhett DavisNC State UniversityECE 406Slide 17 Transmitter Interface TS2: begin DATA=nextdata[addr]; $display($time," Transmitted %h",nextdata[addr]); addr=addr+1; dready=1; state=TS3; end

Spring 2009W. Rhett DavisNC State UniversityECE 406Slide 18 Transmitter Interface TS3: begin dready=0; if (dacpt) if (addr==msgsize) begin state=other; sending=0; end else state=TS2; else state=TS3; end endcase

Spring 2009W. Rhett DavisNC State UniversityECE 406Slide 19 Transmitter Test-Bench l Write the portion of the Verilog test-bench needed to test the transmit interface. See ex3.v on course web-site

Spring 2009W. Rhett DavisNC State UniversityECE 406Slide 20 Today’s Lecture l Flow Control Interfaces l Example 3: Transmitter » Module description » Test-bench l Example 4: Flow Control Receiver » Module description » Test-bench

Spring 2009W. Rhett DavisNC State UniversityECE 406Slide 21 Receiver State Machine l Draw the portion of the state transition diagram for the Receiver See ex4.v on course web-site

Spring 2009W. Rhett DavisNC State UniversityECE 406Slide 22 Different Implementations l What problem might you have with this implementation? l How could you fix this problem? l Does this solution create new problems?

Spring 2009W. Rhett DavisNC State UniversityECE 406Slide 23 Receiver Test-Bench l What should the receiver test-bench include?

Spring 2009W. Rhett DavisNC State UniversityECE 406Slide 24 Receiver Test-Bench l Write the portion of the Verilog test-bench needed to test the receive interface. See ex4.v on course web-site