Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania 18042 ECE 426 - VLSI System Design Lecture 12 - Timing, Project.

Slides:



Advertisements
Similar presentations
Ethernet “dominant” LAN technology: cheap $20 for 100Mbs!
Advertisements

Logic Synthesis – 3 Optimization Ahmed Hemani Sources: Synopsys Documentation.
Lecture 11: Sequential Circuit Design. CMOS VLSI DesignCMOS VLSI Design 4th Ed. 11: Sequential Circuits2 Outline  Sequencing  Sequencing Element Design.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE VLSI Circuit Design Lecture 16 - Sequential.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE VLSI Circuit Design Lecture 17 - Sequential.
1 Lecture 28 Timing Analysis. 2 Overview °Circuits do not respond instantaneously to input changes °Predictable delay in transferring inputs to outputs.
Sequential Logic 1 clock data in may changestable data out (Q) stable Registers  Sample data using clock  Hold data between clock cycles  Computation.
RTL Hardware Design by P. Chu Chapter 161 Clock and Synchronization.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE VLSI Circuit Design Lecture 11 - Combinational.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE VLSI System Design Lecture 7 - Synchronizers.
Kazi Spring 2008CSCI 6601 CSCI-660 Introduction to VLSI Design Khurram Kazi.
ENGIN112 L28: Timing Analysis November 7, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 28 Timing Analysis.
Kazi Fall 2006 EEGN 4941 EEGN-494 HDL Design Principles for VLSI/FPGAs Khurram Kazi.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Computer Organization Lecture 23 - Course.
Distributed systems Module 1 -Basic networking Teaching unit 1 – LAN standards Ernesto Damiani University of Bozen-Bolzano Lesson 5 – Collision management.
Sequential Logic 1  Combinational logic:  Compute a function all at one time  Fast/expensive  e.g. combinational multiplier  Sequential logic:  Compute.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Senior Design I Lecture 11 - Timing and Metastability.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Senior Design I Lecture 12 - Metastability.
1 Computer Networks Local Area Networks. 2 A LAN is a network: –provides Connectivity of computers, mainframes, storage devices, etc. –spans limited geographical.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Senior Design I Lecture 15 - Handshaking.
King Fahd University of Petroleum and Minerals Computer Engineering Department COE 561 Digital Systems Design and Synthesis (Course Activity) Synthesis.
VHDL And Synthesis Review. VHDL In Detail Things that we will look at: –Port and Types –Arithmetic Operators –Design styles for Synthesis.
EEC-484/584 Computer Networks Lecture 13 Wenbing Zhao
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Senior Design I Lecture 4 - Verilog 2 (Sequential.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE VLSI System Design Lecture 4 - Advanced Verilog.
CS61C L15 Synchronous Digital Systems (1) Beamer, Summer 2007 © UCB Scott Beamer, Instructor inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture.
CS 151 Digital Systems Design Lecture 28 Timing Analysis.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Senior Design I Lecture 10 - Data Communications.
03/30/031 ECE 551: Digital System Design & Synthesis Lecture Set 9 9.1: Constraints and Timing 9.2: Optimization (In separate file)
ECE 551 Digital System Design & Synthesis Lecture 11 Verilog Design for Synthesis.
Global Timing Constraints FPGA Design Workshop. Objectives  Apply timing constraints to a simple synchronous design  Specify global timing constraints.
CS3350B Computer Architecture Winter 2015 Lecture 5.2: State Circuits: Circuits that Remember Marc Moreno Maza [Adapted.
ICOM 6115©Manuel Rodriguez-Martinez ICOM 6115 – Computer Networks and the WWW Manuel Rodriguez-Martinez, Ph.D. Lecture 17.
Kazi ECE 6811 ECE 681 VLSI Design Automation Khurram Kazi* Lecture 10 Thanks to Automation press THE button outcomes the Chip !!! Reality or Myth (*Mostly.
1 Computer Communication & Networks Lecture 13 Datalink Layer: Local Area Network Waleed Ejaz
Chonnam national university VLSI Lab 8.4 Block Integration for Hard Macros The process of integrating the subblocks into the macro.
1 Sequential Logic Lecture #7. 모바일컴퓨팅특강 2 강의순서 Latch FlipFlop Shift Register Counter.
King Fahd University of Petroleum and Minerals Computer Engineering Department COE 561 Digital Systems Design and Synthesis (Course Activity) Synthesis.
Language Concepts Ver 1.1, Copyright 1997 TS, Inc. VHDL L a n g u a g e C o n c e p t s Page 1.
ENG241 Digital Design Week #8 Registers and Counters.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Senior Design I Lecture 16 - Ethernet Fall.
ECE 545 Project 2 Specification. Schedule of Projects (1) Project 1 RTL design for FPGAs (20 points) Due date: Tuesday, November 22, midnight (firm) Checkpoints:
© 2003 Xilinx, Inc. All Rights Reserved Global Timing Constraints FPGA Design Flow Workshop.
Fall 2004EE 3563 Digital Systems Design EE 3563 VHSIC Hardware Description Language  Required Reading: –These Slides –VHDL Tutorial  Very High Speed.
ECE 545 Project 2 Specification. Project 2 (15 points) – due Tuesday, December 19, noon Application: cryptography OR digital signal processing optimized.
Chapter 9 Hardware Addressing and Frame Type Identification 1.Delivering and sending packets 2.Hardware addressing: specifying a destination 3. Broadcasting.
Kazi ECE 6811 ECE 681 VLSI Design Automation Khurram Kazi Thanks to Automation press THE button outcomes the Chip !!! Reality or Myth.
04/06/031 ECE 551: Digital System Design & Synthesis Lecture Set 9 9.1: Constraints and Timing (In separate file) 9.2: Optimization - Part 1 9.3: Optimization.
Introduction to VHDL Simulation … Synthesis …. The digital design process… Initial specification Block diagram Final product Circuit equations Logic design.
Lecture 7 Chap 9: Registers Instructors: Fu-Chiung Cheng ( 鄭福炯 ) Associate Professor Computer Science & Engineering Tatung University.
Ethernet Overview it the IEEE standard for Ethernet.
1 Introduction to VHDL Part 2 Fall We will use Std_logic And, Or have same precedence See slide 8 of part 1.
George Mason University ECE 545 – Introduction to VHDL Logic Synthesis with Synopsys ECE 545 Lecture 11.
 Seattle Pacific University EE Logic System DesignCounters-1 Shift Registers DQ clk DQ DQ ShiftIn Q3Q3 Q2Q2 DQ Q1Q1 Q0Q0 A shift register shifts.
CEC 220 Digital Circuit Design Latches and Flip-Flops Monday, March 03 CEC 220 Digital Circuit Design Slide 1 of 19.
04/26/20031 ECE 551: Digital System Design & Synthesis Lecture Set : Introduction to VHDL 12.2: VHDL versus Verilog (Separate File)
1 COMP541 Sequential Logic Timing Montek Singh Sep 30, 2015.
Clocking System Design
CS61C L24 State Elements : Circuits that Remember (1) Garcia, Fall 2014 © UCB Senior Lecturer SOE Dan Garcia inst.eecs.berkeley.edu/~cs61c.
03/30/031 ECE Digital System Design & Synthesis Lecture Design Partitioning for Synthesis Strategies  Partition for design reuse  Keep related.
CS 61C: Great Ideas in Computer Architecture Sequential Elements, Synchronous Digital Systems 1 Instructors: Vladimir Stojanovic & Nicholas Weaver
ASIC/FPGA design flow. Design Flow Detailed Design Detailed Design Ideas Design Ideas Device Programming Device Programming Timing Simulation Timing Simulation.
Penn ESE370 Fall DeHon 1 ESE370: Circuit-Level Modeling, Design, and Optimization for Digital Systems Day 20: October 25, 2010 Pass Transistors.
Electrical and Computer Engineering 1 CPE 426/526 Armstrong and Gray- ASICs and the ASIC Design Process Dr. Rhonda Kay Gaede UAH.
Week #7 Sequential Circuits (Part B)
Registers and Counters
Lab 7 – CSMA/CD (Data Link Layer Layer)
Timing Analysis 11/21/2018.
ECE 551: Digital System Design & Synthesis
Figure 8.1. The general form of a sequential circuit.
Presentation transcript:

Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE VLSI System Design Lecture 12 - Timing, Project Overview

3/10/03Lecture 12 - Timing, Proj. Overview 2 Announcements  Exam 1 - Take-Home  Out: March 24  Due: March 31  Timing References  Synopys Online Documentation (SOLD) Manuals - access using the "sold" command: Design Compiler User Guide Design Compiler Tutorial Design Compiler Reference Manual  Pran Kurup and Taher Abbasi, Logic Synthesis using Sysnopsys®, 2nd ed., Kluwer Academic Publishers, 1997.

3/10/03Lecture 12 - Timing, Proj. Overview 3 Where we are...  Last Time  State Coding & Assignment  Timing  Today  Timing in Synopsys Tools  Project Overview

3/10/03Lecture 12 - Timing, Proj. Overview 4 Timing in the Design Compiler  DC assumes a synchronous, clock-based system  Derives setup, hold constraints between registers  User-specified timing constraints on inputs, outputs DQ DQ DQ DQ Comb. Logic (Internal) Comb. Logic (Output) Comb. Logic (Input) Register-Register Timing Paths Input Timing Paths Output Timing Paths

3/10/03Lecture 12 - Timing, Proj. Overview 5 Specifying Timing in Synopsys DC  Clock specification (See last lecture slide 37-38)  Period  Skew (and uncertainty)  Input constraints  Output constraints  Combinational delay constraints  Special cases  false paths  multicycle paths

3/10/03Lecture 12 - Timing, Proj. Overview 6 Input Constraints: A Closer Look  Rationale:  assume input is tied to some "other" module  input delay = output delay of other module  Example: set_input_delay 17 -clock clk d1 d1 17 ns clk 17 ns d1 comb. logic D Q comb. logic "current design" module clk comb. logic D Q "other" module

3/10/03Lecture 12 - Timing, Proj. Overview 7 Input Constraints: A Closer Look  Impacts delay of input logic (of current design)  Creates maximum timing constraint for setup time  Creates minimum timing constraint for hold time d1 17 ns clk comb. logic D Q "other" module d1 input logic D Q comb. logic "current design" module 17 ns t ci t su

3/10/03Lecture 12 - Timing, Proj. Overview 8 Output Constraints: A Closer Look  Rationale:  assume output is tied to some "other" module  output delay = input delay of other module + setup time  Example: set_output_delay 5 -clock clk d1 d2 5 ns clk d2 comb. logic D Q output logic "current design" module 15 ns comb. logic D Q "other" module

3/10/03Lecture 12 - Timing, Proj. Overview 9 Output Constraints: A Closer Look  Impacts delay of output logic (of current design)  Creates maximum timing constraint for setup time  Creates minimum timing constraint for hold time d2 5 ns clk comb. logic comb. logic D Q D Q output logic "current design" module "other" module clk 15 ns t co t pff

3/10/03Lecture 12 - Timing, Proj. Overview 10 Timing Constraints Example  VHDL Code: library ieee; use ieee.std_logic_1164.all; entity timing_ex is port( a, b, clk, reset : in std_logic; d : out std_logic ); end; architecture behavior of timing_ex is signal f : std_logic; begin process (clk, reset) begin if (reset = '0') then f <= '0'; elsif (rising_edge(clk)) then f <= a; end if; end process; process (clk, reset) begin if (reset = '0') then d<='0'; elsif (rising_edge(clk)) then d <= f and b; end if; end process; end;

3/10/03Lecture 12 - Timing, Proj. Overview 11 Timing Constraints Example  Timing Constraints: create_clock clk -period 10.0 set_fix_hold clk /* check hold time */ set_input_delay 0.5 -clock clk {a,b} set_output_delay 1.0 -clock clk d ;  Synthesized Design:

3/10/03Lecture 12 - Timing, Proj. Overview 12 Getting Timing Reports:  Seeing timing results: report_timing command report_timing -max_paths 5  Result: **************************************** Report : timing -path full -delay max -max_paths 5 Design : timing_ex Version: Date : Thu Apr 5 15:26: **************************************** Operating Conditions: Wire Load Model Mode: top (continued)

3/10/03Lecture 12 - Timing, Proj. Overview 13 Timing Report - Register to Register Startpoint: f_reg (falling edge-triggered flip-flop clocked by clk') Endpoint: d_reg (falling edge-triggered flip-flop clocked by clk') Path Group: clk Path Type: max Point Incr Path clock clk' (fall edge) clock network delay (ideal) f_reg/CLK2 (dfrf301) f f_reg/Q (dfrf301) f U32/O2 (nanf211) f d_reg/DATA1 (dfrf301) f data arrival time 1.33 clock clk' (fall edge) clock network delay (ideal) d_reg/CLK2 (dfrf301) f library setup time data required time data required time 9.74 data arrival time slack (MET) 8.41

3/10/03Lecture 12 - Timing, Proj. Overview 14 Timing Report - Output Logic Startpoint: d_reg (falling edge-triggered flip-flop clocked by clk') Endpoint: d (output port clocked by clk) Path Group: clk Path Type: max Point Incr Path clock clk' (fall edge) clock network delay (ideal) d_reg/CLK2 (dfrf301) f d_reg/Q (dfrf301) f d (out) f data arrival time 0.97 clock clk (rise edge) clock network delay (ideal) output external delay data required time data required time 9.00 data arrival time slack (MET) 8.03

3/10/03Lecture 12 - Timing, Proj. Overview 15 Timing Report - Input Logic Startpoint: a (input port clocked by clk) Endpoint: f_reg (falling edge-triggered flip-flop clocked by clk') Path Group: clk Path Type: max Point Incr Path clock clk (rise edge) clock network delay (ideal) input external delay f a (in) f f_reg/DATA1 (dfrf301) f data arrival time 0.50 clock clk' (fall edge) clock network delay (ideal) f_reg/CLK2 (dfrf301) f library setup time data required time data required time 9.77 data arrival time slack (MET) 9.27

3/10/03Lecture 12 - Timing, Proj. Overview 16 Other Timing Constraint Functions  Tell timing analyzer to ignore a false path set_false_path -from source -to dest  Specify combinational delays set_min_delay amt -from source -to dest set_max_delay amt -from source -to dest  Specify multicycle path of N cycles set_multicylce_path N -from source -to dest

3/10/03Lecture 12 - Timing, Proj. Overview 17 How DC Works With Constraints  Compile (Optimization) Steps  Initial mapping to gates in library  Delay optimization: attempt to fix constraint violations  Design rule fixing: attempt to fix design rule violations  Area optimization: attempt to meet area constraints without creating timing violations  What happens when DC can't meet constraints  Apply flattening (if you can afford to)  Re-work constraints

3/10/03Lecture 12 - Timing, Proj. Overview 18 Using DC With Large Designs  DC can't optimize large designs as one unit  Typical approach: use hierarchy to control  Control runtime  Control optimization strategy

3/10/03Lecture 12 - Timing, Proj. Overview 19 Using DC With Large Designs (cont'd)  Compilation strategies  Top-down - compile all submodules together  Bottom-up - compile leaf modules first, then move up (use "characterize" commands to get input, output delays)  Mixed - use different approaches as appropriate in different levels of hierarchy

3/10/03Lecture 12 - Timing, Proj. Overview 20 Synthesize Blocks / Timing Analysis Timing OK? Place & Route / Timing Analysis Timing OK? N N Y Y DONE START Design Compiler Circuit extraction provides accurate timing; "Back Annotation"identifies critical paths Timing in Design Flow - ASIC Design

3/10/03Lecture 12 - Timing, Proj. Overview 21 Project Overview - WimpNet03  Key idea: computers communicate on shared wires (ether)  Each computer has 8-bit address  Information passed as packets

3/10/03Lecture 12 - Timing, Proj. Overview 22 Packet Format  Header  destination address (8 bits)  source address (8 bits)  length (8 bits)  Data - up to 255 bytes  CRC Byte - Error Code All bytes transmitted with LSB first

3/10/03Lecture 12 - Timing, Proj. Overview 23 Control Procedure - CSMA/CD  CSMA/CD  Carrier Sense Multiple Access with Collision Detection  Procedure  Defer - don’t transmit when carrier sense  Transmit - transmit while monitoring data  Collision - error in transmission when two stations transmit at same time  Abort - terminate transmission and jam 4-6 bytes  Backoff - wait for a random retransmission delay  Retransmit - try again after backoff

3/10/03Lecture 12 - Timing, Proj. Overview 24 Project Goals  Build a complete WimpNet03 Interface Chip  Receiver with buffer RAM  Transmitter with buffer RAM  Area budget: 4 MOSIS Tiny Chips (4400 X 4400 )

3/10/03Lecture 12 - Timing, Proj. Overview 25 Transmitter Details

3/10/03Lecture 12 - Timing, Proj. Overview 26 Receiver Details

3/10/03Lecture 12 - Timing, Proj. Overview 27 RAM Subsystem Details  Two-port organization  Write port - writes on falling edge of clk when w_en_l =L  Read port  Size: 256 Bytes

3/10/03Lecture 12 - Timing, Proj. Overview 28 Design Groups  Receiver Design  Transmitter Design  RAM Subsystem Design  Chip assembly

3/10/03Lecture 12 - Timing, Proj. Overview 29 Coming Up  More about the Project  Subsystem Design: RAM