Homework deadline extended to next friday

Similar documents
Topics. Midterm Finish Chapter 7

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

Topics. Midterm Finish Chapter 7

Exp#8: Designing a Programmable Sequence Detector

EECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis

EECS150 - Digital Design Lecture 20 - Finite State Machines Revisited

VHDL: RTL Synthesis Basics. 1 of 59

ECE 4514 Digital Design II. Spring Lecture 13: Logic Synthesis

Synthesis vs. Compilation Descriptions mapped to hardware Verilog design patterns for best synthesis. Spring 2007 Lec #8 -- HW Synthesis 1

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

ECE 4514 Digital Design II. Spring Lecture 15: FSM-based Control

ECE 551: Digital System *

ECEU530. Schedule. ECE U530 Digital Hardware Synthesis. Datapath for the Calculator (HW 5) HW 5 Datapath Entity

Synthesis of Language Constructs. 5/10/04 & 5/13/04 Hardware Description Languages and Synthesis

CSE140L: Components and Design

Lecture 12 VHDL Synthesis

Verilog introduction. Embedded and Ambient Systems Lab

Why Should I Learn This Language? VLSI HDL. Verilog-2

ECEN 468 Advanced Logic Design

FPGA: FIELD PROGRAMMABLE GATE ARRAY Verilog: a hardware description language. Reference: [1]

Logic Synthesis. EECS150 - Digital Design Lecture 6 - Synthesis

MASSACHUSETTS INSTITUTE OF TECHNOLOGY Department of Electrical Engineering and Computer Sciences

Digital Integrated Circuits

CSE140L: Components and Design Techniques for Digital Systems Lab

EPC6055 Digital Integrated Circuits EXAM 1 Fall Semester 2013

Review: Timing. EECS Components and Design Techniques for Digital Systems. Lec 13 Storage: Regs, SRAM, ROM. Outline.

Recommended Design Techniques for ECE241 Project Franjo Plavec Department of Electrical and Computer Engineering University of Toronto

Verilog Coding Guideline

Amrita Vishwa Vidyapeetham. EC429 VLSI System Design Answer Key

University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Sciences. Spring 2010 May 10, 2010

Digital Integrated Circuits

EE 231 Fall EE 231 Homework 8 Due October 20, 2010

EECS Components and Design Techniques for Digital Systems. Lec 20 RTL Design Optimization 11/6/2007

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

HDLs and SystemVerilog. Digital Computer Design

University of Hawaii EE 361L. Getting Started with Spartan 3E Digilent Basys2 Board. Lab 4.1

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

Verilog for High Performance

Verilog Tutorial. Introduction. T. A.: Hsueh-Yi Lin. 2008/3/12 VLSI Digital Signal Processing 2

ECE Digital Engineering Laboratory. Designing for Synthesis

Synthesis of Combinational and Sequential Circuits with Verilog

Review from last time. CS152 Computer Architecture and Engineering Lecture 6. Verilog (finish) Multiply, Divide, Shift

MCMASTER UNIVERSITY EMBEDDED SYSTEMS

EEL 4783: HDL in Digital System Design

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

General FSM design procedure

Control and Datapath 8

Readings: Storage unit. Can hold an n-bit value Composed of a group of n flip-flops. Each flip-flop stores 1 bit of information.

General FSM design procedure

FPGA for Software Engineers

University of Toronto Faculty of Applied Science and Engineering Edward S. Rogers Sr. Department of Electrical and Computer Engineering

Modeling Sequential Circuits in Verilog

Chapter 4 :: Topics. Introduction. SystemVerilog. Hardware description language (HDL): allows designer to specify logic function only.

EECS150 - Digital Design Lecture 10 Logic Synthesis

Schedule. ECE U530 Digital Hardware Synthesis. Rest of Semester. Midterm Question 1a

Synthesizable Verilog

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

Don t expect to be able to write and debug your code during the lab session.

EECS150 - Digital Design Lecture 10 Logic Synthesis

Digital Design (VIMIAA01) Introduction to the Verilog HDL

CSCB58 - Lab 3. Prelab /3 Part I (in-lab) /2 Part II (in-lab) /2 TOTAL /8

Verilog Sequential Logic. Verilog for Synthesis Rev C (module 3 and 4)

TSEA44: Computer hardware a system on a chip

Chapter 10. case studies in sequential logic design

ARM 64-bit Register File

General FSM design procedure

Verilog for Synthesis Ing. Pullini Antonio

Digital Design with FPGAs. By Neeraj Kulkarni

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

problem maximum score 1 8pts 2 6pts 3 10pts 4 15pts 5 12pts 6 10pts 7 24pts 8 16pts 9 19pts Total 120pts

A Brief Introduction to Verilog Hardware Definition Language (HDL)

Chap 6 Introduction to HDL (d)

Finite-State Machine (FSM) Design

Workshop on Digital Circuit Design in FPGA

In this lecture, we will focus on two very important digital building blocks: counters which can either count events or keep time information, and

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

Introduction. Overview. Top-level module. EE108a Lab 3: Bike light

CDA 4253 FPGA System Design Op7miza7on Techniques. Hao Zheng Comp S ci & Eng Univ of South Florida

Note: Closed book no notes or other material allowed, no calculators or other electronic devices.

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

In the previous lecture, we examined how to analyse a FSM using state table, state diagram and waveforms. In this lecture we will learn how to design

In the previous lecture, we examined how to analyse a FSM using state table, state diagram and waveforms. In this lecture we will learn how to design

CENG 3420 Computer Organization and Design. Lecture 06: MIPS Processor - I. Bei Yu

RTL Design (Using ASM/SM Chart)

CSE140 L. Instructor: Thomas Y. P. Lee. March 1, Agenda. Computer System Design. Computer Architecture. Instruction Memory design.

EECS150 - Digital Design Lecture 16 Memory 1

Chapter 9: Sequential Logic Modules

Logic Circuits II ECE 2411 Thursday 4:45pm-7:20pm. Lecture 3

CSE 140L Final Exam. Prof. Tajana Simunic Rosing. Spring 2008

Chapter 4. Digital Design and Computer Architecture, 2 nd Edition. David Money Harris and Sarah L. Harris. Chapter 4 <1>

The Verilog Language COMS W Prof. Stephen A. Edwards Fall 2002 Columbia University Department of Computer Science

Register Transfer Level

ECE2029: Introduction to Digital Circuit Design Lab 4 Building a Sequential Logic Circuit A Four Digit 7-Segment Display Driver

Lecture #2: Verilog HDL

Last Lecture. Talked about combinational logic always statements. e.g., module ex2(input logic a, b, c, output logic f); logic t; // internal signal

ECE 574: Modeling and Synthesis of Digital Systems using Verilog and VHDL. Fall 2017 Final Exam (6.00 to 8.30pm) Verilog SOLUTIONS

Lecture 3. Behavioral Modeling Sequential Circuits. Registers Counters Finite State Machines

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

Verilog Module 1 Introduction and Combinational Logic

EECS150 - Digital Design Lecture 16 - Memory

Transcription:

Norm

Midterm Grading Finished Stats on course homepage Pickup after this lab lec. Regrade requests within 1wk of posted solution Homework deadline extended to next friday

Description Design Conception Implementation Verification (Debugging)

Description Design Conception Implementation Verification (Debugging)

Classification of Elements in a Digital Circuits Datapath Storage(Sequential) Flipflops, Counter, Shift-reg Combinational Arith: Add, Sub, Mult, Comp Logic: And, Or, Xor Routing?: Shifter, Mux, Tri-st Control States for FSM (flipflops) Random logic (FSM,next state,output) *Memory is an exception to the above chart. They can operate with or without clock and can store values

Sequential, or Storage These are the only things* that can store values. they are controlled by a clock and their output value can only change on a clock-edge. Combinational These cannot hold state, output is purely a function of input.

IS a Hardware Description Laguage Is NOT a programing language Design your circuit first then write the code. Was initially designed for simulating hardware Was NOT initially designed for generating hardware Not all valid verilog turns into hardware. Some verilog turns into inefficient hardware implementation (too many CLBs )

always @ (posedge CLK or posedge a) if (a) Q <= R; Optional else if (b) Q <= R; else if (c) Q <= D; a = asynchronous set-reset line b = synchronous set-reset line R = set-reset value (should be constant) D = next value for Q (could be expression) Express any sequential logic buy substituting different values, variables for a, b, R, D rst en Counter Q a = rst, c = en, d = Q + 1; Note: it is okay to write Q <= Q, in this case because Q is a storage element. This is not always the case.

Can be written in two ways 1 2 assign O = Y; always @ (all inputs) begin end Example: Case (A) 1 : begin if (B) O <= C; end Be careful! A, B, C are all inputs! E I O Assign O = E? I : 1 bz Always @ (E or I) if (E) O <= I; else O <= 1 bz; Notice: O must be of type wire for assign statement and type reg for always statement. However after synthesis O will physically be a wire in the circuit.

always @(posedge clk) begin c <= a+1; b <= c+1; end always @(posedge clk) begin c = a+1; b = c+1; end 1 1 1 A + C + B A + C 1 + B

1. Not assigning a wire outputs. (incomplete truth table therefore variable must remember previous values) 2. Assigning a variable to itself. (same as not assigning since reg types remembers it s value if it is not assigned 1 always to) @(A or B) Template for begin A latch begin if (A) (look familiar?) if (GATE) 2 D = B; End always @(A or B) begin if (A) D = B; else End D = D; B A D always @(GATE or DIN) DOUT = DIN; End This circuit is not combinational! Output is not just a function of inputs

Desired functionality To read one of many results depending on come control information A B? C O R A B Mux C[0] C Notice the tri state Has 2 control lines where as the mux has only one O A B Tri-state C[1] O

4-LUT CLB 3-LUT FF LUTs cannot output high-impedence Z therefore each CLB also has a pair of 4-LUT FF Tri-states

I[0] I[1] I[2] I[3] I[0] C[1:0] O I[0] I[1] C[0] C[1] I[2] I[3] C[0] 4-LUT 4-LUT CLB 3-LUT O I[1] I[2] O CLB CLB I[3] C[3:0] CLB CLB

Pros Saves LUTS so you can use them for other things Drives Long lines (Might be faster than other types of routing) If you don t use them then is just a wasted resource Cons Decoded select signal (make sure only one select line is high at anytime!!!) Using up fast transmission long lines