I 3 I 2. ! Language of logic design " Logic optimization, state, timing, CAD tools

Similar documents
Sequential Circuits. inputs Comb FFs. Outputs. Comb CLK. Sequential logic examples. ! Another way to understand setup/hold/propagation time

EECS Components and Design Techniques for Digital Systems. Lec 07 PLAs and FSMs 9/ Big Idea: boolean functions <> gates.

Outline. EECS Components and Design Techniques for Digital Systems. Lec 11 Putting it all together Where are we now?

Data paths and control logic

: : (91-44) (Office) (91-44) (Residence)

structure syntax different levels of abstraction

Here is a list of lecture objectives. They are provided for you to reflect on what you are supposed to learn, rather than an introduction to this

Chapter 10. case studies in sequential logic design

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University

General FSM design procedure

Digital Design Using Digilent FPGA Boards -- Verilog / Active-HDL Edition

COE 561 Digital System Design & Synthesis Introduction

Fundamentals of Digital System Design ECE 3700, CPSC 3700

General FSM design procedure

ECE 2300 Digital Logic & Computer Organization. More Sequential Logic Verilog

EE178 Spring 2018 Lecture Module 1. Eric Crabill

Synthesizable Verilog

Lecture #1: Introduction

Finite State Machines (FSMs) and RAMs and CPUs. COS 116, Spring 2011 Sanjeev Arora

EECS150 - Digital Design Lecture 7 - Computer Aided Design (CAD) - Part II (Logic Simulation) Finite State Machine Review

VHDL for Synthesis. Course Description. Course Duration. Goals

Lecture 1: Introduction Course arrangements Recap of basic digital design concepts EDA tool demonstration

Hardware Description Languages: Verilog. Quick History of HDLs. Verilog/VHDL. Design Methodology. Verilog Introduction. Verilog.

Hardware Description Languages: Verilog

EECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis

EECS150 - Digital Design Lecture 20 - Finite State Machines Revisited

Evolution of Implementation Technologies. ECE 4211/5211 Rapid Prototyping with FPGAs. Gate Array Technology (IBM s) Programmable Logic


The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

! ISP (circa 1977) - research project at CMU " Simulation, but no synthesis

General FSM design procedure

Verilog for High Performance

FPGA for Software Engineers

CHAPTER - 2 : DESIGN OF ARITHMETIC CIRCUITS

CS/EE Prerequsites. Hardware Infrastructure. Class Goal CS/EE Computer Design Lab. Computer Design Lab Fall 2010

CS/EE Computer Design Lab Fall 2010 CS/EE T Th 3:40pm-5:00pm Lectures in WEB 110, Labs in MEB 3133 (DSL) Instructor: Erik Brunvand

Digital Systems Laboratory

FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1

Digital System Design with SystemVerilog

Design of Digital Circuits ( L) ETH Zürich, Spring 2017

Overview. CSE372 Digital Systems Organization and Design Lab. Hardware CAD. Two Types of Chips

EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs)

Outline. EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs) FPGA Overview. Why FPGAs?

DESIGN STRATEGIES & TOOLS UTILIZED

EECS150 - Digital Design Lecture 6 - Logic Simulation

PINE TRAINING ACADEMY

Register Transfer Level in Verilog: Part I

HDLs and SystemVerilog. Digital Computer Design

INSTITUTE OF AERONAUTICAL ENGINEERING Dundigal, Hyderabad ELECTRONICS AND COMMUNICATIONS ENGINEERING

1 Design Process HOME CONTENTS INDEX. For further assistance, or call your local support center

The QR code here provides a shortcut to go to the course webpage.

VHDL: RTL Synthesis Basics. 1 of 59

Storage Elements & Sequential Circuits

Verilog Synthesis and FSMs. UCB EECS150 Fall 2010 Lab Lecture #3

Abstraction of State Elements. Sequential Logic Implementation. Forms of Sequential Logic. Finite State Machine Representations

Final Exam Review. b) Using only algebra, prove or disprove the following:

MLR Institute of Technology

Injntu.com Injntu.com Injntu.com R16

Graphics: Alexandra Nolte, Gesine Marwedel, Universität Dortmund. RTL Synthesis

St.MARTIN S ENGINEERING COLLEGE Dhulapally, Secunderabad

CSE140L: Components and Design

Method We follow- How to Get Entry Pass in SEMICODUCTOR Industries for 3rd year engineering. Winter/Summer Training

Lecture 1: Introduction to Digital Logic Design

System Level Design For Low Power. Yard. Doç. Dr. Berna Örs Yalçın

Homework deadline extended to next friday

Quick Introduction to SystemVerilog: Sequental Logic

B.10 Finite State Machines B.10

Hardware Modeling using Verilog Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

EE251: Tuesday December 4

Introduction to Electronic Design Automation. Model of Computation. Model of Computation. Model of Computation

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

Digital Design Methodology (Revisited) Design Methodology: Big Picture

EE 231 Fall Lab 1: Introduction to Verilog HDL and Altera IDE

ECE 156A - Syllabus. Description

EPC6055 Digital Integrated Circuits EXAM 1 Fall Semester 2013

KING FAHD UNIVERSITY OF PETROLEUM & MINERALS COMPUTER ENGINEERING DEPARTMENT

Sequential Logic Implementation. Mealy vs. Moore Machines. Specifying Outputs for a Mealy Machine. Specifying Outputs for a Moore Machine

Digital System Design

PROGRAMMABLE MODULES SPECIFICATION OF PROGRAMMABLE COMBINATIONAL AND SEQUENTIAL MODULES

(ii) Simplify and implement the following SOP function using NOR gates:

SKEE2263 Sistem Digit

Contemporary Design. Traditional Hardware Design. Traditional Hardware Design. HDL Based Hardware Design User Inputs. Requirements.

ECE 2300 Digital Logic & Computer Organization. More Verilog Finite State Machines

Two HDLs used today VHDL. Why VHDL? Introduction to Structured VLSI Design

Academic Course Description. VL2001 Digital System Design using Verilog First Semester, (Odd semester)

FSM-based Digital Design using Veriiog HDL

EECS 270 Midterm Exam

Outline. CPE/EE 422/522 Advanced Logic Design L05. Review: General Model of Moore Sequential Machine. Review: Mealy Sequential Networks.

Sequential Logic Design

Lecture 3 Introduction to VHDL

Inf2C - Computer Systems Lecture Processor Design Single Cycle

Programmable Logic Devices II

CSE140L: Components and Design Techniques for Digital Systems Lab

Digital System Design Lecture 2: Design. Amir Masoud Gharehbaghi

VHDL. VHDL History. Why VHDL? Introduction to Structured VLSI Design. Very High Speed Integrated Circuit (VHSIC) Hardware Description Language

Field Programmable Gate Array (FPGA)

Transistor: Digital Building Blocks

Lab Manual for COE 203: Digital Design Lab

Hardware Description Languages (HDLs) Verilog

Transcription:

Course Wrap-up Let s Try the Priority Encoder One More Time = =! Priority Encoder Revisited! What (We Hope) You Learned I 3 O 3 I j O j! Design Methodology! I 2 O 2 I O I O Zero Oj Ij Ij CS 5 - Spring 27 Lecture #29: Recap - CS 5 - Spring 27 Lecture #29: Recap - 2 Let s Try the Priority Encoder One More Time What we HOPE you learned in CS 5! Language of logic design " Logic optimization,, timing, CAD tools! Concept of in digital systems " Analogous to variables and program counters in software systems! Hardware system building " Datapath + = digital systems! Hardware system design methodology " Hardware description languages: Verilog " Tools to simulate design behavior: output = function (inputs) " Logic compilers synthesize hardware blocks of our designs " Mapping onto programmable hardware (code generation)! Contrast with software design " Both map specifications to physical devices " Both must be flawless the price we pay for using discrete math CS 5 - Spring 27 Lecture #29: Recap - 3 CS 5 - Spring 27 Lecture #29: Recap - 4 Current of digital design! Changes in industrial practice " Larger designs " Shorter time to market " Cheaper products! Scale " Pervasive use of computer-aided design tools over hand methods " Multiple levels of design representation! Time " Emphasis on abstract design representations " Programmable rather than fixed function components " Automatic synthesis techniques " Importance of sound design methodologies! Cost " Higher levels of integration " Use of simulation to debug designs CS 5: concepts/skills/abilities! Basics of logic design (concepts)! Sound design methodologies (concepts)! Modern specification methods (concepts)! Familiarity with full set of CAD tools (skills)! Appreciation for differences and similarities (abilities) in hardware and software design New ability: to accomplish the logic design task with the aid of computer-aided design tools and map a problem description into an implementation with programmable logic devices after validation via simulation and understanding of the advantages/disadvantages as compared to a software implementation CS 5 - Spring 27 Lecture #29: Recap - 5 CS 5 - Spring 27 Lecture #29: Recap - 6

Representation of Digital Designs! Physical devices (transistors, relays)! Switches! Truth tables! Boolean algebra! Gates! Waveforms! Finite behavior! Register-transfer behavior! Concurrent abstract specifications Simulation, Chipscope & Complex System Description (e.g., SDRAM) Verilog Structural & Behaviorial Descriptions Digital System Design! Door combination lock: " Punch in 3 values in sequence and the door opens; if there is an error the lock must be ; once the door opens the lock must be " Inputs: sequence of input values, " Outputs: door open/close " Memory: must remember combination or always have it available as an input CS 5 - Spring 27 Lecture #29: Recap - 7 CS 5 - Spring 27 Lecture #29: Recap - 8 Implementation in Software integer combination_lock ( ) { integer v, v2, v3; integer error = ; static integer c[3] = 3, 4, 2; v = read_value( ); if (v!= c[]) then error = ; v2 = read_value( ); if (v2!= c[2]) then error = ; v3 = read_value( ); if (v2!= c[3]) then error = ; Implementation as a Sequential Digital System! Encoding: " How many bits per input value? " How many values in sequence? " How do we know a input value is entered? " How do we represent the s of the system?! Behavior: " Clock wire tells us when it s ok to look at inputs (i.e., they have settled after change) " Sequential: sequence of values must be entered " Sequential: remember if an error occurred " Finite- specification value } if (error == ) then return(); else return (); CS 5 - Spring 27 Lecture #29: Recap - 9 CS 5 - Spring 27 Lecture #29: Recap - open/ Abstract Control! Finite- Diagram " States: 5 s # Represent point in execution of machine # Each has outputs " Transitions: 6 from to, 5 self transitions, global # Changes of occur when says it s ok # Based on value of inputs " Inputs:,, results of comparisons " Output: open/ C!=value C2!=value C3!=value S S2 S3 OPEN C=value C2=value CS 5 - Spring 27 Lecture #29: Recap - C3=value open Data-path vs. Control! Internal Structure " Data-path # Storage for combination # Comparators " Control # Finite- machine ler # Control for data-path # State changes led by value comparator C C2 C3 multiplexer CS 5 - Spring 27 Lecture #29: Recap - 2 ler open/

Finite- Machine! Finite- Machine " Refine diagram to include internal structure =C CS 5 - Spring 27 Lecture #29: Recap - 3 not not not S S2 S3 OPEN open =C2 =C3 Finite- Machine! Finite- Machine " Generate table (much like a truth-table) next open/ S C S S C S S S2 C2 S2 S2 C2 S2 S2 S3 C3 S3 S3 C3 S3 S3 OPEN open OPEN OPEN open CS 5 - Spring 27 Lecture #29: Recap - 4 not not not S S2 S3 OPEN =C =C2 =C3 open Encoding! Encode State Table " State can be: S, S2, S3, OPEN, or # Needs at least 3 bits to encode:,,,, # And as many as 5:,,,, # Choose 4 bits:,,,, " Output can be: C, C2, or C3 # needs 2 to 3 bits to encode # choose 3 bits:,, " Output open/ can be: open or # needs or 2 bits to encode # choose bits:, CS 5 - Spring 27 Lecture #29: Recap - 5 Encoding! Encode State Table " State can be: S, S2, S3, OPEN, or # Choose 4 bits:,,,, " Output can be: C, C2, or C3 # Choose 3 bits:,, " Output open/ can be: open or # Choose bits:, next open/ CS 5 - Spring 27 Lecture #29: Recap - 6 good choice of encoding! is identical to last 3 bits of open/ is identical to first bit of Controller Implementation! Implementation of the Controller ler open/ special circuit element, called a register, for remembering inputs when told to by comb. logic open/ Design Hierarchy code registers data-path multiplexer comparator register digital system switching networks registers logic combinational logic CS 5 - Spring 27 Lecture #29: Recap - 7 CS 5 - Spring 27 Lecture #29: Recap - 8

Design Methodology Structure and Function (Behavior) of a Design Simulation HDL Specification Verification: Design Behave as Required? Functional: I/O Behavior Register-Level (Architectural) Logic-Level (Gates) Transistor-Level (Electrical) Timing: Waveform Behavior Synthesis Generation: Map Specification to Implementation Combinational Logic Implementation! K-map method to map truth tables into minimized gate level descriptions! Alternative implementation approaches: " Two-level logic, multi-level logic, logic implementation with multiplexers " Programmable logic in the form of PLAs, ROMs, Muxes, " Field programmable logic in the form of devices like Xilinx! Combinational logic building blocks " Arithmetic and logic units, including adders/subtractors and other arithmetic functions (e.g., combinational multipliers) CS 5 - Spring 27 Lecture #29: Recap - 9 CS 5 - Spring 27 Lecture #29: Recap - 2 Sequential Logic Implementation! Models for representing sequential circuits " Abstraction of sequential elements " Finite machines and their diagrams " Inputs/outputs " Mealy, Moore, and synchronous Mealy machines! Finite machine design procedure " Deriving diagram " Deriving transition table " Determining next and output functions " Implementing combinational logic! Sequential logic building blocks " Registers, Register files (with multiple read and write ports), Shifters, Counters, RAMs " Arbitrators State Machine Implementation! Partitioned State Machines " Ways to organize single complex monolithic machine into simpler, interacting machines based on functional partitioning # Time approach offers one conceptual method # Much more relevant is what you likely did in your course project! Issues of synchronization across independently ed subsystems " Synchronization of signals " Four cycle handshake CS 5 - Spring 27 Lecture #29: Recap - 2 CS 5 - Spring 27 Lecture #29: Recap - 22! Exam Group 2! Friday, May, 2:3-3:3 PM! Room: 45 Dwinelle! (Long) Design Specification in English for an interesting digital subsystem " Function described in terms of desired input/output behavior " You will need to be able to hand generate waveform diagrams to demonstrate that you understand the design specification!! You may have to partition the subsystem into and datapath " Design the part as one or more interacting Finite State Machines # State Diagrams as well as Verilog for " Design the datapath blocks # Behavioral Verilog mostly, but gate level hand-drawn schematics for some selected parts! You may have to revise the design to improve its performance! For an example, see http://hkn.eecs.berkeley.edu/student/online/cs/5/2/faf.html CS 5 - Spring 27 Lecture #29: Recap - 23 CS 5 - Spring 27 Lecture #29: Recap - 24

Past Final Exams! Fall 25: Statistics Coprocessor " Spec for calculation inside processor " Handshake for processor-coprocessor communications " High Level Design, Datapath Components, Coprocessor State Machine, Verilog Description! Spring 24: Content-Addressable Memory " Memory interface and functional specification " High Level Design, Datapath Components, Memory Controller State Machine, Verilog Description, Performance Improvement! Spring 2: Elevator System " Complex system behavior " High Level Design, Datapath Components, Controller State Machine, Extend from to 2 elevators, microprogrammed implementation! The Exam is conceptual and DESIGN-skills oriented! The Exam is not about obscure details of technologies like the Xilinx or Actel internal architectures! The best way to study for The Exam is to review your course project and to reflect on the process you went through in designing and implementing it!! The Exam design problem won t be a video conferencing system -- it will be some kind of digital system with and a datapath that can be specified in a couple of pages of English text!! You will need to write a lot for this Exam! Bring multiple pencils, erasers, rulers, AND AT LEAST TWO BLUE BOOKs!!! You won t need a computer or a calculator!! Open course textbook and open course notes. They probably won t help you much ;-) CS 5 - Spring 27 Lecture #29: Recap - 25 CS 5 - Spring 27 Lecture #29: Recap - 26