332:437 Lecture 7 Verilog Hardware Description Language Basics

Slides:



Advertisements
Similar presentations
Day - 3 EL-313: Samar Ansari. INTEGRATED CIRCUITS Integrated Circuit Design Methodology EL-313: Samar Ansari Programmable Logic Programmable Array Logic.
Advertisements

TOPIC : SYNTHESIS DESIGN FLOW Module 4.3 Verilog Synthesis.
Introduction to Programmable Logic John Coughlan RAL Technology Department Electronics Division.
ENEL111 Digital Electronics
VHDL - I 1 Digital Systems. 2 «The designer’s guide to VHDL» Peter J. Andersen Morgan Kaufman Publisher Bring laptop with installed Xilinx.
University Of Vaasa Telecommunications Engineering Automation Seminar Signal Generator By Tibebu Sime 13 th December 2011.
EELE 367 – Logic Design Module 2 – Modern Digital Design Flow Agenda 1.History of Digital Design Approach 2.HDLs 3.Design Abstraction 4.Modern Design Steps.
The Design Process Outline Goal Reading Design Domain Design Flow
ENGIN112 L38: Programmable Logic December 5, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 38 Programmable Logic.
CS 151 Digital Systems Design Lecture 38 Programmable Logic.
VHDL Structured Logic Design School of Electrical Engineering University of Belgrade Department of Computer Engineering Ivan Dugic Veljko.
Chap. 1 Overview of Digital Design with Verilog. 2 Overview of Digital Design with Verilog HDL Evolution of computer aided digital circuit design Emergence.
ASIC/FPGA design flow. FPGA Design Flow Detailed (RTL) Design Detailed (RTL) Design Ideas (Specifications) Design Ideas (Specifications) Device Programming.
FPGA-Based System Design: Chapter 6 Copyright  2004 Prentice Hall PTR Topics n Design methodologies.
CSE 494: Electronic Design Automation Lecture 2 VLSI Design, Physical Design Automation, Design Styles.
Lecture 2 1 ECE 412: Microcomputer Laboratory Lecture 2: Design Methodologies.
COE 405 Design and Modeling of Digital Systems
IEEE ICECS 2010 SysPy: Using Python for processor-centric SoC design Evangelos Logaras Elias S. Manolakos {evlog, Department of Informatics.
Galen SasakiEE 260 University of Hawaii1 Electronic Design Automation (EDA) EE 260 University of Hawaii.
1 An Update on Verilog Ξ – Computer Architecture Lab 28/06/2005 Kypros Constantinides.
Introduction to FPGA Created & Presented By Ali Masoudi For Advanced Digital Communication Lab (ADC-Lab) At Isfahan University Of technology (IUT) Department.
CSCI-100 Introduction to Computing Hardware Design Part I.
Chapter 0 deSiGn conCepTs EKT 221 / 4 DIGITAL ELECTRONICS II.
EE3A1 Computer Hardware and Digital Design
Fall 2004EE 3563 Digital Systems Design EE 3563 VHSIC Hardware Description Language  Required Reading: –These Slides –VHDL Tutorial  Very High Speed.
Electrical and Computer Engineering University of Cyprus LAB 1: VHDL.
DEVICES AND DESIGN : ASIC. DEFINITION Any IC other than a general purpose IC which contains the functionality of thousands of gates is usually called.
IMPLEMENTATION OF MIPS 64 WITH VERILOG HARDWARE DESIGN LANGUAGE BY PRAMOD MENON CET520 S’03.
FPGA CAD 10-MAR-2003.
ASIC/FPGA design flow. Design Flow Detailed Design Detailed Design Ideas Design Ideas Device Programming Device Programming Timing Simulation Timing Simulation.
EECE 320 L8: Combinational Logic design Principles 1Chehab, AUB, 2003 EECE 320 Digital Systems Design Lecture 8: Combinational Logic Design Principles.
1 A hardware description language is a computer language that is used to describe hardware. Two HDLs are widely used Verilog HDL VHDL (Very High Speed.
SUBJECT : DIGITAL ELECTRONICS CLASS : SEM 3(B) TOPIC : INTRODUCTION OF VHDL.
Introduction to Verilog COE 202 Digital Logic Design Dr. Muhamed Mudawar King Fahd University of Petroleum and Minerals.
EMT 351/4 DIGITAL IC DESIGN Week # 1 EDA & HDL.
ASIC Design Methodology
Combinational Logic Design
ELEC 7770 Advanced VLSI Design Spring 2016 Introduction
EEE2135 Digital Logic Design Chapter 1. Introduction
Discussion 2: More to discuss
VLSI Testing Lecture 5: Logic Simulation
ECE 551: Digital System Design & Synthesis
Vishwani D. Agrawal Department of ECE, Auburn University
Electronics for Physicists
VLSI Testing Lecture 6: Fault Simulation
ELEC 7770 Advanced VLSI Design Spring 2014 Introduction
Topics The logic design process..
Programmable Logic Devices: CPLDs and FPGAs with VHDL Design
Week 5, Verilog & Full Adder
332:437 Lecture 10 Verilog Language Details
Hardware Description Languages
ELEC 7770 Advanced VLSI Design Spring 2012 Introduction
Introduction to Verilog
Lecture 1.3 Hardware Description Languages (HDLs)
332:437 Lecture 10 Verilog Language Details
Lesson 4 Synchronous Design Architectures: Data Path and High-level Synthesis (part two) Sept EE37E Adv. Digital Electronics.
ELEC 7770 Advanced VLSI Design Spring 2010 Introduction
ECE-C662 Introduction to Behavioral Synthesis Knapp Text Ch
332:437 Lecture 7 Verilog Hardware Description Language Basics
VHDL Introduction.
HIGH LEVEL SYNTHESIS.
332:437 Lecture 10 Verilog Language Details
332:437 Lecture 7 Verilog Hardware Description Language Basics
Win with HDL Slide 4 System Level Design
Electronics for Physicists
Combinational Circuits
THE ECE 554 XILINX DESIGN PROCESS
Combinational Circuits
Digital Designs – What does it take
THE ECE 554 XILINX DESIGN PROCESS
Presentation transcript:

332:437 Lecture 7 Verilog Hardware Description Language Basics Motivation for Hardware Description Language Tool flow FPGA Design Methodology and Synthesis Logic Synthesis Problems Summary Material from The Verilog Hardware Description Language, by Thomas and Moorby, Kluwer Academic Publishers, VHDL for Programmable Logic, by Kevin Skahill, Addison Wesley Longman. 11/22/2018 Bushnell: Digital Systems Design Lecture 7

Bushnell: Digital Systems Design Lecture 7 Motivation Now possible to automatically design hardware using a computer program (Synopsys design_analyzer) Translate high-level hardware description language (Verilog or VHDL) automatically into logic gates Massive saving of time for hardware design Widely used at all electronics companies Problem: Resulting hardware design is not always good Designer must check the design to determine its quality If unacceptable, redesign manually using K-maps and lower-level hardware synthesis tools Example: NJ company went out of business because they used a bad design created with VHDL Too many logic gates, too slow, too expensive 11/22/2018 Bushnell: Digital Systems Design Lecture 7

Synopsys System at Rutgers Industrial Cost: 50 licenses X $1 million / license = $50 million University Cost: 3 X $5000 = $15000 Tools used in DSD: design_analyzer: Translates Verilog into logic gates vcs – Verilog behavioral and logic simulator Good check to make certain that design_analyzer correctly created the logic Many other tools are in the tool suite 11/22/2018 Bushnell: Digital Systems Design Lecture 7

Bushnell: Digital Systems Design Lecture 7 Verilog Language Concurrent hardware description language Expresses parallelism in the hardware DO NOT code Verilog like a C or FORTRAN program Serializes the hardware operations Leads to a BIG increase in the amount of the hardware design_analyzer adds interlock logic gates to make sure that the hardware runs serially -- unnecessary 11/22/2018 Bushnell: Digital Systems Design Lecture 7

Choice of Hardware Description Language VHDL Used in all Dept. of Defense (DoD) military system designs Used throughout Europe, Japan, and IBM Has problems with type conversions between Boolean and arithmetic Verilog Preferred in the commercial electronics industry Best for converting data types between bit vector and arithmetic notations Best for configuring large designs produced by large design teams Best for describing low-level logic (more concise) Reality: Probably need to know both languages Impossible to say which is better – matter of taste 11/22/2018 Bushnell: Digital Systems Design Lecture 7

Shortcomings of Verilog or VHDL You lose some control of defining the gate-level circuit implementation You don’t have time to do that, anyway Logic synthesized by the Verilog compiler is sometimes inefficient A real problem – Must learn to “explain” the design to the compiler in the “right” way to get maximum hardware parallelism, which leads to the best design Quality of synthesis varies from tool to tool: Use Synopsys for high quality – used at Intel, IBM, Agere, everywhere – knowing this helps you get a job 11/22/2018 Bushnell: Digital Systems Design Lecture 7

Activities of Design at Levels of Design ARCHITECTURE & BEHAVIORAL REGISTER TRANSFER – Verilog/VHDL LOGIC SWITCH LEVEL CIRCUIT (TRANSISTORS) LAYOUT & TEST PATTERNS FABRICATION LINE Synopsys Design Analyzer Synopsys Behavioral Simulation Cadence Verilog-XL Synopsys Logic Sim. SPICE and Cadence Spectre Cadence LayoutPlus 11/22/2018 Bushnell: Digital Systems Design Lecture 7

Bushnell: Digital Systems Design Lecture 7 Design Activities Implemented by complex Computer-Aided Design programs You must know how to parameterize these correctly to get correct results Estimation – Estimate likely design parameters Synthesis – Translate design into lower level of representation Simulation – Mimic design behavior at level of representation to see if it is correct Analysis – Analyze design parameters at a level 11/22/2018 Bushnell: Digital Systems Design Lecture 7

Bushnell: Digital Systems Design Lecture 7 Fitting and Routing Fitting – Fit logic produced by synthesis, place it onto a particular programmable logic device, transforming the logic as needed Place & Route – Place logic in a particular combinational Logic Block on an FPGA, such that the wiring delay between the block and others is acceptable Must place critical circuit portions together to minimize wiring delays Propagation delay of signals depends significantly on routing delay 11/22/2018 Bushnell: Digital Systems Design Lecture 7

Bushnell: Digital Systems Design Lecture 7 Design Verification Can simulate the placed & routed device with fairly realistic logic gate delays Use Synopsys PrimeTime static timing analyzer Simulation always essential to verify correct design behavior Can avoid making application-specific integrated circuits (ASICs), burning field-programmable gate arrays (FPGAs), or making full-custom chips that do not work Must simulate at both behavioral and logic levels Behavioral simulation finds logic errors Logic simulation verifies that Synopsys designed logic correctly 11/22/2018 Bushnell: Digital Systems Design Lecture 7

FPGA Modern Design Methodology always mumble blah Synthesis gates, gates, gates, … Technology Mapping Synthesizable Verilog Place and Route LE 1 LE 2 Logic Elements in FPGA Chip 11/22/2018 Bushnell: Digital Systems Design Lecture 7

What’s a Logic Element (LE)? A mux selects which element of memory to send to output Arbitrary programmable Boolean function of K inputs K=4 in our particular example. Usually see K=3, 4, 5 in real FPGAs It has a memory — you download to the memory to program the device You also program connections between these Logical Elements Synthesis tool partitions logic into groups of 5-input functions Really just a 1-bit memory 11/22/2018 Bushnell: Digital Systems Design Lecture 7

What Do We Mean by “Synthesis”? Logic synthesis A program that “designs” logic from abstract descriptions of the logic takes constraints (e.g. size, speed) uses a library (e.g. 3-input gates) How? You write an “abstract” Verilog description of the logic The synthesis tool provides alternative implementations constraints Verilog blah blah blah synthesis or … library 11/22/2018 Bushnell: Digital Systems Design Lecture 7

Bushnell: Digital Systems Design Lecture 7 An Example What’s cool? You type the left, synthesis gives you the gates It used a different library than you did. (2-input gates only) One description suffices for a variety of alternate implementations! ... but this assumes you know a gate level implementation — that’s not an “abstract” Verilog description. module gate (f, a, b, c); output f; input a, b, c; and A (a1, a, b, c), B (a2, a, ~b, ~c), C (a3, ~a, o1); or D (o1, b, c), E (f, a1, a2, a3); endmodule a b c f 11/22/2018 Bushnell: Digital Systems Design Lecture 7

Bushnell: Digital Systems Design Lecture 7 What Do We Want Here…? Goal To specify a combination ckt, inputs->outputs… … in a form of Verilog that synthesis tools will correctly read … and then use to make the right logic And... We know the function we want, and can specify in C-like form... … but we don’t now the exact gates (nor logic elements); we want the tool to figure this out. Combinational Logic A B C F 11/22/2018 Bushnell: Digital Systems Design Lecture 7

Synthesis and Libraries Synopsys can synthesize hardware for the components in a wide variety of libraries, as well as for complex programmable logic devices (CPLDs) and field-programmable gate arrays (FPGAs) 11/22/2018 Bushnell: Digital Systems Design Lecture 7

Problems with Automatic Logic Synthesis Verilog synthesis may frequently interpret code differently from Verilog simulation Unneeded Logic May Not Be Detected Both circuits are equivalent 11/22/2018 Bushnell: Digital Systems Design Lecture 7

Ease of Synthesis Depends on Description Form Easier to synthesize 11/22/2018 Bushnell: Digital Systems Design Lecture 7

Bushnell: Digital Systems Design Lecture 7 Summary Motivation for Hardware Description Language FPGA Design Methodology and Synthesis Logic Synthesis Problems Tool flow 11/22/2018 Bushnell: Digital Systems Design Lecture 7