EECS150 Fall 2000 Checkpoint #1 Wire-wrap, SRAM, and FIFO Design by Ramakrishna Gummadi Norm Zhou.

Slides:



Advertisements
Similar presentations
Introduction to DFT Alexander Gnusin.
Advertisements

STACKS & QUEUES. Stacks Abstract data types An abstract data type (ADT) is an abstraction of a data structure An ADT specifies : –Data stored –Operations.
Synchronous Static Random Access Memory (SSRAM). Internal Structure of a SSRAM AREG: Address Register CREG: Control Register INREG: Input Register OUTREG:
Chapter 5 Internal Memory
Computer Organization and Architecture
Prith Banerjee ECE C03 Advanced Digital Design Spring 1998
Control path Recall that the control path is the physical entity in a processor which: fetches instructions, fetches operands, decodes instructions, schedules.
EECS 150 Spring 2007 Checkpoint 0 - SDRAM 2/23/2007 Jeff Kalvass (Adapted From Greg Gibeling )
Introduction to CMOS VLSI Design Lecture 13: SRAM
1 The Basic Memory Element - The Flip-Flop Up until know we have looked upon memory elements as black boxes. The basic memory element is called the flip-flop.
Useful Things to Know Norm. Administrative Midterm Grading Finished –Stats on course homepage –Pickup after this lab lec. –Regrade requests within 1wk.
Overview Finite State Machines - Sequential circuits with inputs and outputs State Diagrams - An abstraction tool to visualize and analyze sequential circuits.
Introduction to CMOS VLSI Design SRAM/DRAM
Registers –Flip-flops are available in a variety of configurations. A simple one with two independent D flip-flops with clear and preset signals is illustrated.
Chapter 3 Continued Logic Gates Logic Chips Combinational Logic Sequential Logic Flip Flops Registers Memory Timing State Machines.
CS150 Project Checkpoint 1. Controller Interface Dreamkatz Controller Interface 1. The N64 Controller 2. Physical interface 3. Communication protocol.
1 Multi-Core Architecture on FPGA for Large Dictionary String Matching Department of Computer Science and Information Engineering National Cheng Kung University,
Registers  Flip-flops are available in a variety of configurations. A simple one with two independent D flip-flops with clear and preset signals is illustrated.
CS 151 Digital Systems Design Lecture 30 Random Access Memory (RAM)
Project Check Point 3 Audio Interface Jeff Du. Overview Project specs and overview next Tue. Mid-term next Thurs. This audio interface lab is REALLY easy.
COMPUTER ARCHITECTURE & OPERATIONS I Instructor: Hao Ji.
Basic Computer Organization CH-4 Richard Gomez 6/14/01 Computer Science Quote: John Von Neumann If people do not believe that mathematics is simple, it.
Memory interface Memory is a device to store data
Data Structures - Queues
Data Structures Winter What is a Data Structure? A data structure is a method of organizing data. The study of data structures is particularly important.
1 Random-Access Memory (RAM) Note: We’re skipping Sec 7.5 Today: First Hour: Static RAM –Section 7.6 of Katz’s Textbook –In-class Activity #1 Second Hour:
ECE-L304 Lecture 5. 2 Step 3 Lab Complete 8-pin header Data Bus Test Port Resistor Array LED Array Timing & Filter Components Self-Clocked ADC DAC External.
Chapter 14 Introduction to Microprocessors. 2 Microcomputer A self-contained computer system that consists of CPU (central processing unit), memory (RAM.
Chapter 5 Internal Memory. Semiconductor Memory Types.
Department of Communication Engineering, NCTU 1 Unit 5 Programmable Logic and Storage Devices – RAMs and FPGAs.
Chapter 3 Internal Memory. Objectives  To describe the types of memory used for the main memory  To discuss about errors and error corrections in the.
Memory Interface A Course in Microprocessor Electrical Engineering Dept. University of Indonesia.
SEQUENTIAL CIRCUITS Component Design and Use. Register with Parallel Load  Register: Group of Flip-Flops  Ex: D Flip-Flops  Holds a Word of Data 
1 Linked-list, stack and queue. 2 Outline Abstract Data Type (ADT)‏ Linked list Stack Queue.
Feb. 26, 2001Systems Architecture I1 Systems Architecture I (CS ) Lecture 12: State Elements, Registers, and Memory * Jeremy R. Johnson Mon. Feb.
ALU (Continued) Computer Architecture (Fall 2006).
Chapter 16 – Data Structures and Recursion. Data Structures u Built-in –Array –struct u User developed –linked list –stack –queue –tree Lesson 16.1.
BR 1/991 DataPath Elements Altera LPM library has many elements useful for building common datapath functions –lpm_ram_dq - recommended for either asynchronous.
Semiconductor Memory Types
Time Management.  Time management is concerned with OS facilities and services which measure real time.  These services include:  Keeping track of.
07/11/2005 Register File Design and Memory Design Presentation E CSE : Introduction to Computer Architecture Slides by Gojko Babić.
CS/CoE 536 : Lockwood 1 CS/CoE 536 Reconfigurable System On Chip Design Lecture 11 : Priority and Per-Flow Queuing in Machine Problem 3 (Revision 2) Washington.
Chapter 5 Internal Memory. contents  Semiconductor main memory - organisation - organisation - DRAM and SRAM - DRAM and SRAM - types of ROM - types of.
Computer Architecture Chapter (5): Internal Memory
Chapter 5 - Internal Memory 5.1 Semiconductor Main Memory 5.2 Error Correction 5.3 Advanced DRAM Organization.
Washington University
Computer Architecture & Operations I
William Stallings Computer Organization and Architecture 7th Edition
Class Exercise 1B.
Computer Architecture & Operations I
Morgan Kaufmann Publishers
William Stallings Computer Organization and Architecture 7th Edition
Computer Architecture & Operations I
William Stallings Computer Organization and Architecture 8th Edition
Host/Memory/User Interface
William Stallings Computer Organization and Architecture 8th Edition
Queues 12/3/2018 Queues © 2014 Goodrich, Tamassia, Goldwasser Queues.
Error Detection / Correction
Sequential Logic.
William Stallings Computer Organization and Architecture 8th Edition
(Adapted From Slides by Greg Gibeling)
ECE 352 Digital System Fundamentals
Presentation transcript:

EECS150 Fall 2000 Checkpoint #1 Wire-wrap, SRAM, and FIFO Design by Ramakrishna Gummadi Norm Zhou

Goals of the Lab Learn to do wire-wrap Wire an SRAM to the Xilinx on the design demonstration board, test and debug it Learn another interesting application of LFSRs in generating and verifying test patterns Build the FIFO as a component that is going to be used later in the project

Using Wire-wrap Wrapping EndUnwrapping End Hole for Wire Hole for Pin Slot for Wire Wire Stripper You should have picked up a kit containing this tool from the TAs

Making a Wire-wrap Connection Plan the route of your wire Cut the wire ~ 2.5 inches longer than the route you choose Strip an inch of insulation off each end Insert a stripped end of the wire into the off-center hole in the end of the wrapping end of the tool Put the wrapping end of the tool on the pin to be connected Gently, without pushing down, or lifting up, twist the tool clockwise about 12 revolutions DO AS MUCH OF THE WIRE-WRAP WORK AS POSSIBLE BEFORE COMING TO THE LAB

SRAMs Very fast, simple, more expensive than DRAM We use W24512AK that: –Has 8 data pins –16 address pins –Can put out data in 15ns NOTE: the Xilinx pin assignment is different for this lab than the previous years’ labs

Reading/writing From the SRAM Reading is easy: –Just assert OE and read the data line Writing, however, is a tricky: –Problem is, writes are asynchronous –Address and data line should stay stable, and not just on the clock edges Cycle 1Cycle 3Cycle 2 ADDR DATA WE

Testing SRAM How do we know whether the SRAM is working correctly? –Write test vectors into SRAM memory, read them back, and test if they match Two approaches to generating test vectors: –Use specific patterns –Use a brute-force approach We use the latter, except that we are a bit clever in the data we stick into the SRAM: –We use LFSRs to generate the data –Good, because we do not need to store the original patterns, and we can randomly test for all patterns

FIFOs Abstractly, fifos are like queues: you can enqueue elements into them, and dequeue them later, but only in the order in which they were enqueued (hence, the name) Can be implemented using two counters (head and tail), and a piece of SRAM In this class, however, the SRAM block is external to the FIFO

Better FIFOs Along with the “head” and “tail” pointers, we also have more control signals out of the fifo The fifo can use the control signals to indicate its state This fifo is 32-K words deep FIFO Read Write ADDR[14:0] FULL EMPTY HALF_FULL

Notes on FIFO Design Since the SRAM is outside the FIFO, you need to route FIFO-generated addresses to SRAM address pins Recall that a FIFO has two counters, a head and a tail –Which counter’s contents do we put out? –Answer: use a MUX or a tri-state buffer to determine whether a FIFO is being read or written

Putting It All Together The LFSR generates data for testing You must design the shaded parts NOTE: the OE, WE, and CE, are all active high externally FIFO Read Write FULL EMPTY ADDR[14:0] ADDR15 FSM LFSR & Comparator LFSR=DIN Reset_LFSR Enable_LFSR IO BLOCK OE WE CE ERROR 0 DOUT[7:0] DIN[7:0]