TOPIC : Verilog Synthesis examples. Module 4.3 : Verilog synthesis

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

Module 4. Design of Embedded Processors. Version 2 EE IIT, Kharagpur 1

Digital Design with FPGAs. By Neeraj Kulkarni

Lecture 11 Logic Synthesis, Part 2

Lecture 15: System Modeling and Verilog

Lecture 12 VHDL Synthesis

Lab. Course Goals. Topics. What is VLSI design? What is an integrated circuit? VLSI Design Cycle. VLSI Design Automation

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

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

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

Writing Circuit Descriptions 8

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

EECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis

Verilog Tutorial (Structure, Test)

DESIGN STRATEGIES & TOOLS UTILIZED

EEL 4783: HDL in Digital System Design

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

Topics. Midterm Finish Chapter 7

CSE140L: Components and Design Techniques for Digital Systems Lab

EECS150 - Digital Design Lecture 10 Logic Synthesis

EECS150 - Digital Design Lecture 10 Logic Synthesis

Logic Synthesis. EECS150 - Digital Design Lecture 6 - Synthesis

CSE140L: Components and Design

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

Programming with HDLs

Verilog for Synthesis Ing. Pullini Antonio

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

Verilog for High Performance

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

A Brief Introduction to Verilog Hardware Definition Language (HDL)

Exp#8: Designing a Programmable Sequence Detector

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

EE-382M VLSI II. Early Design Planning: Front End

CHAPTER 3 METHODOLOGY. 3.1 Analysis of the Conventional High Speed 8-bits x 8-bits Wallace Tree Multiplier

Digital Design Using Verilog EE Final Examination

EN164: Design of Computing Systems Lecture 07: Lab Foundations / Verilog 3

Introduction to Verilog HDL. Verilog 1

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

Verilog Execution Semantics

Synthesizable Verilog

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

Topics. Midterm Finish Chapter 7

ENGN1640: Design of Computing Systems Topic 02: Design/Lab Foundations

Hardware Synthesis. References

101-1 Under-Graduate Project Digital IC Design Flow

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

Introduction to synthesis. Logic Synthesis

FPGA Design Flow 1. All About FPGA

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

VHDL for Synthesis. Course Description. Course Duration. Goals

ECE 4514 Digital Design II. Spring Lecture 20: Timing Analysis and Timed Simulation

VLSI Design 13. Introduction to Verilog

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

VERILOG: FLIP-FLOPS AND REGISTERS

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

VHDL Sample Slides Rev Sample Slides from the 2-day and 4-day VHDL Training Courses

CPE/EE 427, CPE 527, VLSI Design I: Tutorial #4, Standard cell design flow (from verilog to layout, 8-bit accumulator)

Digital System Design with SystemVerilog

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

Lab 1 Modular Design and Testbench Simulation ENGIN 341 Advanced Digital Design University of Massachusetts Boston

ENGN1640: Design of Computing Systems Topic 02: Design/Lab Foundations

SP3Q.3. What makes it a good idea to put CRC computation and error-correcting code computation into custom hardware?

Inferring Storage Elements

Modeling Sequential Circuits in Verilog

UNIT V: SPECIFICATION USING VERILOG HDL

Synthesis of Combinational and Sequential Circuits with Verilog

Sequential Circuit Design: Principle

Digital Logic Design Lab

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

Overview of Digital Design Methodologies

University of California, Davis Department of Electrical and Computer Engineering. EEC180B DIGITAL SYSTEMS Spring Quarter 2018

ECE Digital Engineering Laboratory. Designing for Synthesis

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

Digital Design with SystemVerilog

Digital Integrated Circuits

Image Courtesy CS250 Section 2. Yunsup Lee 9/4/09

Area Efficient, Low Power Array Multiplier for Signed and Unsigned Number. Chapter 3

Announcements. Midterm 2 next Thursday, 6-7:30pm, 277 Cory Review session on Tuesday, 6-7:30pm, 277 Cory Homework 8 due next Tuesday Labs: project

Synthesis. Other key files. Standard cell (NAND, NOR, Flip-Flop, etc.) FPGA CLB

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

3. The high voltage level of a digital signal in positive logic is : a) 1 b) 0 c) either 1 or 0

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

ECE U530 Digital Hardware Synthesis. Programming Assignments

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

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

LSN 1 Digital Design Flow for PLDs

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

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

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

Tutorial 2.(b) : Synthesizing your design using the Synopsys Design Compiler ( For DFT Flow)

Verilog for Combinational Circuits

EE595. Part VIII Overall Concept on VHDL. EE 595 EDA / ASIC Design Lab

23. Digital Baseband Design

Verilog Overview. Verilog Overview. Simple Example. Simple Example. Simple Example. Simple Example

VERILOG HDL. 1 ENGN3213: Digital Systems and Microprocessors L#5-6

Control in Digital Systems

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

Chapter 5: ASICs Vs. PLDs

Verilog 1 - Fundamentals

Verilog Fundamentals. Shubham Singh. Junior Undergrad. Electrical Engineering

Transcription:

TOPIC : Verilog Synthesis examples Module 4.3 : Verilog synthesis

Example : 4-bit magnitude comptarator Discuss synthesis of a 4-bit magnitude comparator to understand each step in the synthesis flow. Steps of the synthesis flow such as translation, logic optimization, and technology mapping are not visible to us as a designer.

Design specification A magnitude comparator checks if one number is greater than, equal to, or less than another number. Design a 4-bit magnitude comparator IC chip that has the following specifications: Name of the design is magnitude-comparator Inputs A and B are 4-bit inputs. No x or z values will appear on A and B inputs Output A_gt_B is true if A is greater than B Output A-lt-B is true if A is less than B Output A-eq-B is true if A is equal to B Magnitude comparator circuit must be as fast as possible. Area can be compromised for speed.

RTL description The RTL description that describes the magnitude comparator is below :

Technology library We decide to use the 65nm CMOS process say xyz -50 used by xyz Inc. to make our IC chip. ABC Inc. supplies a technology library for synthesis. Functionality, timing, area, and power dissipation information of each library cell are specified in the technology library. The library contains the following library cells. The library cells are defined in a format understood by the synthesis tool.

Design constraints : According to the specification, the design should be as fast as possible for the target technology, xyz-50. There are no area constraints. Thus, there is only one design constraint : Optimize the final circuit for fastest timing. Logic synthesis : The RTL description of the magnitude comparator is read by the logic synthesis tool. The design constraints and technology library for xyz-50 are provided to be logic synthesis tool. The logic synthesis tool performs the necessary optimizations and produces a gate-level description optimized for xyz-50 technology. Final, Optimized, Gate-Level Description : The logic synthesis tool produces a final, gate-level description.

The schematic for the gate-level circuit Gate level schematic or Netlist for Magnitude Comprator

Netlist for magnitude comparator

IC Fabrication The gate-level netlist is verified for functionality and timing and then submitted to XYZ Inc. XYZ Inc. does the chip layout, checks that the postlayout circuit meets timing requirements, and then fabricates the IC chip, using xyz-50 technology.

Verification of Gate-Level Netlist Functional Verification : Identical stimulus is run with the original RTL and synthesized gatelevel descriptions(netlist) of the design. The output is compared to find any mismatches. Timing verification : The gate-level netlist is typically checked for timing by use of timing simulation or by a static timing verifier. If any timing constraints are violated, the designer must either redesign part of the RTL or make tradeoffs in design constraints for logic synthesis. The entire flow is iterated until timing requirements are met.

Modeling Tips for Logic Synthesis Verilog Coding Style Use meaningful names for signals and variables Avoid mixing positive and negative edge-triggered flip-flops. Use basic building blocks vs. Use continuous assign statements : Instantiation of basic building blocks creates symmetric designs, and the logic synthesis tool is able to optimize smaller modules more effectively. Instantiate multiplexers vs. Use if-else or case statements : By using multiplexers, because if-else or case statements can cause undesired random logic to be generated by the synthesis tool.

Use parentheses to optimize logic structure //translates to 3 adders in series out = a + b + c + d ; //translates to 2 adders in parallel with one final adder to sum results out = (a + b) + (c + d) ; *, /, %, Multiply, divide, and modulo operators are very expensive to implement in terms of logic and area.

Be careful with multiple assignments to the same variable : Multiple assignments to the same variable can cause undesired logic to be generated. The previous assignment might be ignored, and only the last assignment would be used. //two assignments to the same variable always @ (posedge clk) if(load1) q <= al; always @ (posedge clk) if(load2) q <= a2; The synthesis tool infers two flip-flops with the outputs anded together to produce the q output. The designer needs to be careful about such situations.

Define if-else or case statements explicitly Branches for all possible conditions must be specified in the if-else or case statements. Otherwise, level-sensitive latches may be inferred instead of multiplexers.