RIZALAFANDE CHE ISMAIL TKT. 3, BLOK A, PPK MIKRO-e KOMPLEKS PENGAJIAN KUKUM. SYNTHESIS OF COMBINATIONAL LOGIC (Chapter 8)

Similar documents
Programmable Logic Devices Verilog VII CMPE 415

Verilog Tutorial (Structure, Test)

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

Verilog. What is Verilog? VHDL vs. Verilog. Hardware description language: Two major languages. Many EDA tools support HDL-based design

ECEN 468 Advanced Logic Design

Speaker: Kayting Adviser: Prof. An-Yeu Wu Date: 2009/11/23

CSE140L: Components and Design Techniques for Digital Systems Lab

EECS150 - Digital Design Lecture 10 Logic Synthesis

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

EECS150 - Digital Design Lecture 10 Logic Synthesis

CSE140L: Components and Design

St.MARTIN S ENGINEERING COLLEGE Dhulapally, Secunderabad

EEL 4783: HDL in Digital System Design

RIZALAFANDE CHE ISMAIL TKT. 3, BLOK A, PPK MIKRO-e KOMPLEKS PENGAJIAN KUKUM. BEHAVIORAL DESCRIPTIONS IN VERILOG HDL (Chapter 7)

Verilog. Like VHDL, Verilog HDL is like a programming language but:

Logic Synthesis. EECS150 - Digital Design Lecture 6 - Synthesis

MLR Institute of Technology

Verilog for High Performance

INSTITUTE OF AERONAUTICAL ENGINEERING Dundigal, Hyderabad ELECTRONICS AND COMMUNICATIONS ENGINEERING

Speaker: Shao-Wei Feng Adviser: Prof. An-Yeu Wu Date: 2010/09/28

Introduction to Digital Design with Verilog HDL

Graduate Institute of Electronics Engineering, NTU. Lecturer: Chihhao Chao Date:

Register Transfer Level in Verilog: Part I

Online Verilog Resources

Introduction to Verilog design. Design flow (from the book) Hierarchical Design. Lecture 2

CAD for VLSI Design - I. Lecture 21 V. Kamakoti and Shankar Balachandran

Introduction to Verilog design. Design flow (from the book)

Lecture #2: Verilog HDL

CSE241 VLSI Digital Circuits Winter Recitation 1: RTL Coding in Verilog

Synthesis of Combinational and Sequential Circuits with Verilog

Verilog HDL. A Guide to Digital Design and Synthesis. Samir Palnitkar. SunSoft Press A Prentice Hall Title

14:332:231 DIGITAL LOGIC DESIGN. Hardware Description Languages

Hardware Description Languages (HDLs) Verilog

OVERVIEW: ============================================================ REPLACE

Schematic design. Gate level design. 0 EDA (Electronic Design Assistance) 0 Classical design. 0 Computer based language

EECS 427 Lecture 14: Verilog HDL Reading: Many handouts/references. EECS 427 W07 Lecture 14 1

A Verilog Primer. An Overview of Verilog for Digital Design and Simulation

Computer Aided Design Basic Syntax Gate Level Modeling Behavioral Modeling. Verilog

CHAPTER - 2 : DESIGN OF ARITHMETIC CIRCUITS

Verilog. Verilog for Synthesis

Contents. Appendix D Verilog Summary Page 1 of 16

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

VERILOG QUICKSTART. Second Edition. A Practical Guide to Simulation and Synthesis in Verilog

Verilog Module 1 Introduction and Combinational Logic

EEL 4783: Hardware/Software Co-design with FPGAs

What is Verilog HDL? Lecture 1: Verilog HDL Introduction. Basic Design Methodology. What is VHDL? Requirements

Advanced Digital Design Using FPGA. Dr. Shahrokh Abadi

Department of Computer Science and Electrical Engineering. Intro to Verilog II

Synthesizable Verilog

VHDL for Synthesis. Course Description. Course Duration. Goals

430 Index. D flip-flop, from nands, 189, 191, 192 D flip-flop, verilog, 37

A Tutorial Introduction 1

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

Introduction to Verilog HDL. Verilog 1

EECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis

VERILOG QUICKSTART. James M. Lee Cadence Design Systems, Inc. SPRINGER SCIENCE+BUSINESS MEDIA, LLC

Introduction to Verilog. Garrison W. Greenwood, Ph.D, P.E.

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

Brief Introduction of Cell-based Design. Ching-Da Chan CIC/DSD

101-1 Under-Graduate Project Digital IC Design Flow

Introduction to Verilog HDL

Chapter-5. EE 335 : Advanced Microprocessor. Logic Design with Behavioral Models of Combinational and Sequential Logic

Midterm Exam Thursday, October 24, :00--2:15PM (75 minutes)

Verilog Language Concepts

UNIT V: SPECIFICATION USING VERILOG HDL

Verilog Essentials Simulation & Synthesis

Design Compiler Interface 8

The Verilog Hardware Description Language

Chapter 2 Using Hardware Description Language Verilog. Overview

VERILOG. Deepjyoti Borah, Diwahar Jawahar

EN2911X: Reconfigurable Computing Topic 02: Hardware Definition Languages

Spiral 1 / Unit 4 Verilog HDL. Digital Circuit Design Steps. Digital Circuit Design OVERVIEW. Mark Redekopp. Description. Verification.

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

a, b sum module add32 sum vector bus sum[31:0] sum[0] sum[31]. sum[7:0] sum sum overflow module add32_carry assign

Verilog Tutorial. Verilog Fundamentals. Originally designers used manual translation + bread boards for verification

Verilog Tutorial 9/28/2015. Verilog Fundamentals. Originally designers used manual translation + bread boards for verification

RTL Coding General Concepts

Lecture 15: System Modeling and Verilog

Programmable Logic Devices HDL-Based Design Flows CMPE 415

EN164: Design of Computing Systems Lecture 06: Lab Foundations / Verilog 2

Advanced Digital Design with the Verilog HDL

תכן חומרה בשפת VERILOG הפקולטה להנדסה

Verilog HDL Introduction

ASIC Design Flow. P.Radhakrishnan, Senior ASIC-Core Development Engineer, Toshiba, 1060, Rincon Circle, San Jose, CA (USA) Jan 2000 (Issue-3)

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

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

Homework deadline extended to next friday

Sunburst Design - Verilog-2001 Design & Best Coding Practices by Recognized Verilog & SystemVerilog Guru, Cliff Cummings of Sunburst Design, Inc.

Appendix A GATE-LEVEL DETAILS

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

Programmable Logic Devices II

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

MODELING LANGUAGES AND ABSTRACT MODELS. Giovanni De Micheli Stanford University. Chapter 3 in book, please read it.

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

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

A Brief Introduction to Verilog Hardware Definition Language (HDL)

Introduction to synthesis. Logic Synthesis

CHAPTER 2 LITERATURE REVIEW

RTL LEVEL POWER OPTIMIZATION OF ETHERNET MEDIA ACCESS CONTROLLER

Transcription:

RIZALAFANDE CHE ISMAIL TKT. 3, BLOK A, PPK MIKRO-e KOMPLEKS PENGAJIAN KUKUM SYNTHESIS OF COMBINATIONAL LOGIC (Chapter 8)

HDL-BASED SYNTHESIS Modern ASIC design use HDL together with synthesis tool to create hardware realizations In theory, synthesis tools will automatically create an optimal gate-level realization In practice, results are dependent upon the skill of designers in writing RTL codes Synthesis tools supposed to produce a high-quality, optimal realization of the functionality described by a Verilog behavior Tools typically optimize for area and check for timing constraints Synthesis tools address three related problems: 1. Logic synthesis 2. RTL synthesis 3. Behavioral synthesis

HDL-BASED SYNTHESIS Design entry HDL behavioral model Functional simulation Timing simulation Design verification Physical optimization and implementation PLD FPGA, Arrays Standard cells HDL based design flow

HDL-BASED SYNTHESIS Logic synthesis Tools which operate on Boolean equations and produce optimal combinational logic and hence can be mapped into a physical realization example Boolean equation: y = a b + b c The general organization for logic synthesis tool:

HDL-BASED SYNTHESIS Behavioral description Technology libraries Translation engine Optimization engine Mapping engine Two-level logic functions Optimized multi-level logic functions Technology implementation

HDL-BASED SYNTHESIS RTL synthesis Transforms a behavior described in terms of operations on registers, signals and constraints into an optimal combinational logic and thus map the result into the target technology RTL description represents either a FSM or a more general machine (data-flow graphs)

HDL-BASED SYNTHESIS Behavioral synthesis Tools that synthesize datapath elements, control units and memory A relatively young technology, but successful tools have been developed supporting behavioral synthesis for DSP applications Poses the great challenge to EDA tools because there are many algorithms still cannot be synthesized easily

BENEFITS OF SYNTHESIS Synthesis methodology provide several benefits to all designers: Less time to write a Verilog code and synthesize into gate-level realization of a huge circuit rather than using gate-level entry The ease of writing, changing or substituting Verilog descriptions encourages architectural exploration The optimal circuit generated can be easily map into the target technology either FPGA or ASIC without having to re-optimize design Incorporate documentation within the design, thereby reducing the volume of documentation that must be kept in other archives

SYNTHESIS METHODOLOGY Focuses on the overall functionality of the design and creates a top-down architectural partition Timing constraints and area are used to synthesize a gate-level hardware realization to ensure that the timing and functionality of the design meet specifications The tools are not cheap and need designers to learn the technology and a new language

SYNTHESIS METHODOLOGY The synthesis methodology has some rules that apply to all synthesis tools: Avoid referencing the same variables in more than one cyclic (always) behavior can cause races in the software Advisable to use only synchronous re-settable flipflops in the design The synthesis tools can be influence by the designers in terms of clocking scheme, partition of the design hierarchy and instantiation of pre-defined modules

VENDOR SUPPORT Very hard to all vendors to support the entire language serves in several tools Strongly recommended to avoid any technologydependent descriptions For example, the propagation delay of a gate should not be included in the description Expressions which perform Boolean operation on the logic values x and z also need to be avoid

VENDOR SUPPORT Commonly supported Verilog constructs: Module declaration Port modes: input, output, inout Parameter declaration Connectivity nets: wire, tri, wand, wor, supply0, supply1 Register variables: reg, integer Integer types in binary, decimal, octal, hex formats Module and macromodule instantiation Continuous assignments Shift operator Conditional operator Concatenation operator PCA (assign deassign) Procedural block statements (begin end), case, default Branching: if, if else, if else if

VENDOR SUPPORT Unsupported and ignored constructs: Timing and event control Case equality, inequality Fork join Forever While Wait Initial Force release Cmos, rcmos, rnmos, nmos, pmos, rpmos Intra-assignment timing control Delay specifications Weak0, weak1, strong0, strong1, pull0, pull1

STYLES FOR SYNTHESIS OF COMBINATIONAL LOGIC Combinational synthesis from a netlist of primitives Combinational logic can be synthesized from a netlist of gate-level Verilog primitives module or (w1,x1,x2); or (w2,x3,x4); or (w3,x3,x4); nand (y,w1,w2,w3,en); X1 X2 X3 X4 en y endmodule

STYLES FOR SYNTHESIS OF COMBINATIONAL LOGIC Combinational synthesis from UDPs Synthesis tool can operate on a UDP to first obtain an equivalent representation in terms of Boolean expressions, and then optimize the logic module. table // inputs output // a b c y 0 1? : 1; 0 0? : 0; 1? 1 : 1; 1? 0 : 0; endtable C A B Y

STYLES FOR SYNTHESIS OF COMBINATIONAL LOGIC Combinational synthesis from continuous assignments Synthesis tool translates continuous assignment statement into a set of equivalent Boolean equations which can be optimized simultaneously module Assign y = ~(enable & (x1 x2) & (x3 x4)); endmodule X1 X2 X3 X4 en y

STYLES FOR SYNTHESIS OF COMBINATIONAL LOGIC Combinational synthesis from a cyclic behavior Combinational logic can also be described by a cyclic behavior but failure to assign value to the output under all events resulting in producing a design with unwanted latches after performing synthesis process module always @ (enable or x1 or x2 or x3 or x4) begin assign y = ~(enable & (x1 x2) & (x3 x4)); end endmodule X1 X2 X3 X4 en y

STYLES FOR SYNTHESIS OF COMBINATIONAL LOGIC Combinational synthesis from a function or task Functions Task - Represent combinational logic because the value produced by a function depends only upon the values of its arguments - As a general rule, incomplete case statements and incomplete conditionals should be avoid in order to implement combinational logic - Implementing combinational logic similar with functions but restricted for not using timing control constructs in any procedural code