Introduction to RTL. Horácio Neto, Paulo Flores INESC-ID/IST. Design Complexity

Similar documents
Introduction to Digital System Design

Contents. System Development Models and Methods. Design Abstraction and Views. Synthesis. Control/Data-Flow Models. System Synthesis Models

System-on. on-chip Design Flow. Prof. Jouni Tomberg Tampere University of Technology Institute of Digital and Computer Systems.

Aims and Objectives. E 3.05 Digital System Design. Course Syllabus. Course Syllabus (1) Programmable Logic

Agenda. Michele Taliercio, Il circuito Integrato, Novembre 2001

FSMD and Gezel. Jan Madsen

Digital Systems Design! Lecture 1 - Introduction!!

9/14/ :38

ECE410 Design Project Spring 2008 Design and Characterization of a CMOS 8-bit Microprocessor Data Path

Architectures and Platforms

Introduction to Programmable Logic Devices. John Coughlan RAL Technology Department Detector & Electronics Division

Digital Design Verification

Chapter 13: Verification

ESP-CV Custom Design Formal Equivalence Checking Based on Symbolic Simulation

Example-driven Interconnect Synthesis for Heterogeneous Coarse-Grain Reconfigurable Logic

Testing & Verification of Digital Circuits ECE/CS 5745/6745. Hardware Verification using Symbolic Computation

Fault Modeling. Why model faults? Some real defects in VLSI and PCB Common fault models Stuck-at faults. Transistor faults Summary

路 論 Chapter 15 System-Level Physical Design

Best Practises for LabVIEW FPGA Design Flow. uk.ni.com ireland.ni.com

Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai Jens Onno Krah

Step : Create Dependency Graph for Data Path Step b: 8-way Addition? So, the data operations are: 8 multiplications one 8-way addition Balanced binary

Computer organization

High-Level Synthesis for FPGA Designs

Undergraduate Major in Computer Science and Engineering

System on Chip Design. Michael Nydegger

7a. System-on-chip design and prototyping platforms

VHDL GUIDELINES FOR SYNTHESIS

Computer Systems Design and Architecture by V. Heuring and H. Jordan

Design Cycle for Microprocessors

CLASS: Combined Logic Architecture Soft Error Sensitivity Analysis

IL2225 Physical Design

Testing of Digital System-on- Chip (SoC)

Module-I Lecture-I Introduction to Digital VLSI Design Flow

INTRODUCTION TO DIGITAL SYSTEMS. IMPLEMENTATION: MODULES (ICs) AND NETWORKS IMPLEMENTATION OF ALGORITHMS IN HARDWARE

Introducción. Diseño de sistemas digitales.1

Digital Logic Design. Basics Combinational Circuits Sequential Circuits. Pu-Jen Cheng

Introduction to VLSI Testing

ECE 3401 Lecture 7. Concurrent Statements & Sequential Statements (Process)

Lecture 5: Gate Logic Logic Optimization

Central Processing Unit (CPU)

Design Verification and Test of Digital VLSI Circuits NPTEL Video Course. Module-VII Lecture-I Introduction to Digital VLSI Testing

ECE232: Hardware Organization and Design. Part 3: Verilog Tutorial. Basic Verilog

AES1. Ultra-Compact Advanced Encryption Standard Core. General Description. Base Core Features. Symbol. Applications

Implementation Details

Curriculum for a Master s Degree in ECE with focus on Mixed Signal SOC Design

Computer Architecture Lecture 2: Instruction Set Principles (Appendix A) Chih Wei Liu 劉 志 尉 National Chiao Tung University

Finite State Machine Design and VHDL Coding Techniques


EE361: Digital Computer Organization Course Syllabus

VLSI Design Verification and Testing

Asynchronous & Synchronous Reset Design Techniques - Part Deux

A Second Undergraduate Course in Digital Logic Design: The Datapath+Controller-Based Approach

1. Memory technology & Hierarchy

Chapter 2 Logic Gates and Introduction to Computer Architecture

e.g. τ = 12 ps in 180nm, 40 ps in 0.6 µm Delay has two components where, f = Effort Delay (stage effort)= gh p =Parasitic Delay

IMPLEMENTATION OF BACKEND SYNTHESIS AND STATIC TIMING ANALYSIS OF PROCESSOR LOCAL BUS(PLB) PERFORMANCE MONITOR

Introduction ABOUT THIS CHAPTER CHAPTER

University of Texas at Dallas. Department of Electrical Engineering. EEDG Application Specific Integrated Circuit Design

Memory Elements. Combinational logic cannot remember

MS GRADUATE PROGRAM IN COMPUTER ENGINEERING

CAD TOOLS FOR VLSI. FLOORPLANNING Page 1 FLOORPLANNING

Embedded Systems. introduction. Jan Madsen

Chapter 2 Basic Structure of Computers. Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan

Architectural Level Power Consumption of Network on Chip. Presenter: YUAN Zheng

Modeling Latches and Flip-flops

PyMTL and Pydgin Tutorial. Python Frameworks for Highly Productive Computer Architecture Research

Hunting Asynchronous CDC Violations in the Wild

UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering. EEC180B Lab 7: MISP Processor Design Spring 1995

EE411: Introduction to VLSI Design Course Syllabus

Modeling Sequential Elements with Verilog. Prof. Chien-Nan Liu TEL: ext: Sequential Circuit

FINITE STATE MACHINE: PRINCIPLE AND PRACTICE

Lesson 7: SYSTEM-ON. SoC) AND USE OF VLSI CIRCUIT DESIGN TECHNOLOGY. Chapter-1L07: "Embedded Systems - ", Raj Kamal, Publs.: McGraw-Hill Education

Serial port interface for microcontroller embedded into integrated power meter

Topics of Chapter 5 Sequential Machines. Memory elements. Memory element terminology. Clock terminology

ON SUITABILITY OF FPGA BASED EVOLVABLE HARDWARE SYSTEMS TO INTEGRATE RECONFIGURABLE CIRCUITS WITH HOST PROCESSING UNIT

Lecture 8: Synchronous Digital Systems

ARM Microprocessor and ARM-Based Microcontrollers

Elementary Logic Gates

Alpha CPU and Clock Design Evolution

Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students

l C-Programming l A real computer language l Data Representation l Everything goes down to bits and bytes l Machine representation Language

What is a System on a Chip?

VHDL-Testbench as Executable Specification

Programmable Logic Controllers Definition. Programmable Logic Controllers History

Introduction to Functional Verification. Niels Burkhardt

CLOCK DOMAIN CROSSING CLOSING THE LOOP ON CLOCK DOMAIN FUNCTIONAL IMPLEMENTATION PROBLEMS

CHAPTER 3 Boolean Algebra and Digital Logic

EE482: Advanced Computer Organization Lecture #11 Processor Architecture Stanford University Wednesday, 31 May ILP Execution

RAM & ROM Based Digital Design. ECE 152A Winter 2012

Sequential Logic. (Materials taken from: Principles of Computer Hardware by Alan Clements )

Digital Design and Synthesis INTRODUCTION

Chapter 4 Register Transfer and Microoperations. Section 4.1 Register Transfer Language

DESIGN AND VERIFICATION OF LSR OF THE MPLS NETWORK USING VHDL

Sequential Circuit Design

Verification of Triple Modular Redundancy (TMR) Insertion for Reliable and Trusted Systems

ASYNCHRONOUS COUNTERS

System-on-Chip Design with Virtual Components

YAML: A Tool for Hardware Design Visualization and Capture

SoC Curricula at Tallinn Technical University

Seeking Opportunities for Hardware Acceleration in Big Data Analytics

Transcription:

Introduction to RTL INESC-ID/IST 1 Design Complexity How to manage the complexity of a digital design with 100 000 logic gates? Abstraction simplify system model Consider only specific features for the given abstraction-level Ignore unnecessary detail E.g. at gate-level consider only logic values, 0 or 1, and fixed gate delays. Register Transfer Level Represent the digital system as a sequence of data processing/transfers between registers 2

Abstraction Hierarchy Set of representation levels that describe the system with more or less detail Higher-level Level 1 Less detail Level i Level i+1 Transformation Lower-level Level N More detail 3 Abstraction Levels Abstraction Representation in Level Behavioral Domain Structural Domain Processor Algorithm Microprocessor, or Chip RAM, ASICs... Register Data Flow Register, ALU, Counter, MUX,... Gate Boolean equations AND,OR,XOR,FF,... Circuit Differential equations Transistor, R, L, C Layout IC Masks 4

Design Flow Behavioral Domain Structural Domain Processor Register-Transfer Level RTL Algorithm Data Flow Behavioral The system is described by defining the relationship between the input and output signals Gate Circuit Layout Logic Transistors Masks Structural The system is described as an set of interconnections (netlist) of lower-level components 5 Main Design Tasks Synthesis Transform system representation from higher to lower abstraction level, (or from behavioral to structural domain) Placement and Routing Obtain final circuit layout Verification Check functionality and performance (timing) Testing Detect physical defects after circuit manufacture 6

Synthesis The outcome of a synthesis process is a circuit structural description at the lower (same) abstraction level High-level (Architectural) synthesis RT level synthesis Gate level synthesis Technology mapping 7 Design Space The designer must establish a tradeoff between: Area region of acceptable designs faster design (61ns, 394) speed area (cost!) power testability smaller design (78ns, 272) Delay 8

Verification Simulation cannot prove absence of errors not exhaustive depends on designer testbench. post P&R simulation may be very computation intensive Timing analysis (static) checks delay may be pessimistic 9 Algorithm to hardware? Example: y = ⅛ (a x 2 + b x + c) calculate 2 nd order polynomial divide by 8 round the result y = ⅛ ((a x + b) x + c) 10

Direct dataflow implementation? res <= r1 when p4(2) = '1' else r0; r1 <= r0 + 1; r0 <= "000" & p4(p4'high downto 3); p4 <= p3 + c ; p3 <= p2 * x ; p2 <= p1 + b ; p1 <= a * x ; -- c + x *(b + a*x) -- x *(b + a*x) -- (b + a*x) -- a * x 11 Datapath with intermediate regs Intermediate registers reduce critical path and may support pipelining (for streaming applications) y = ⅛ ((a x + b) x + c)

Problems with direct implementation Can only be used to implement simple algorithms Not flexible Resources cannot be shared Difficult to map algorithms where the number of operations (and/or their order of execution) is not fixed 13 Register-Transfer Level Methodology RTL: The digital system is represented as a sequence of data processing/transfers between registers Use registers to store (intermediate) data Use a datapath to implement all required operations between registers Use a control unit (FSM) to specify the order of execution of the operations FSMD = Finite-State Machine with Datapath 14

Basic RT Operation R dest f ( R src1, R src2,, R srcn ) At the rising edge of the clock, the values stored in registers R src are available The values are processed by a combinational circuit that implements f (...) At the next rising edge of the clock, the result is stored into R dest 15 Datapath Example (1) y = ⅛ (a x 2 + b x + c) y = ⅛ ((a x + b) x + c) Sequence of RT operations R 2 R A * R X R 2 R 2 + R B R 2 R 2 * R X R 2 R 2 + R C R 2 ⅛ * R 2 16

Control Unit Use a FSM to control the RT operations States transition is on clock-by-clock basis FSM enforces order of execution selects MUX paths selects ALU operations enables/disables registers FSM allows branches on execution sequence 17 Example (1) FSM controls sequence of RT operations New value of R 2 becomes available at the end of the corresponding execution state. x = 2 a = 3 b = 4 c = 5 y = ⅛ ((a x + b) x + c) = 3 18

Datapath Example (2) y = ⅛ ((a x + b) x + c) Sequence of RT operations R 2 R A * R X + R B R 2 ⅛ (R 2 * R X + R C ) 19