An Overview of Hardware Design Methodology Ian Mitchelle De Vera.

Slides:



Advertisements
Similar presentations
VHDL Design of Multifunctional RISC Processor on FPGA
Advertisements

TOPIC : SYNTHESIS DESIGN FLOW Module 4.3 Verilog Synthesis.
Simulation executable (simv)
ECOE 560 Design Methodologies and Tools for Software/Hardware Systems Spring 2004 Serdar Taşıran.
Digital Design with VHDL Presented by: Amir Masoud Gharehbaghi
MICROELETTRONICA Design methodologies Lection 8. Design methodologies (general) Three domains –Behavior –Structural –physic Three levels inside –Architectural.
The Design Process Outline Goal Reading Design Domain Design Flow
02/02/20091 Logic devices can be classified into two broad categories Fixed Programmable Programmable Logic Device Introduction Lecture Notes – Lab 2.
Behavioral Design Outline –Design Specification –Behavioral Design –Behavioral Specification –Hardware Description Languages –Behavioral Simulation –Behavioral.
1 Hardware description languages: introduction intellectual property (IP) introduction to VHDL and Verilog entities and architectural bodies behavioral,
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction.
VHDL Intro What does VHDL stand for? VHSIC Hardware Description Language VHSIC = Very High Speed Integrated Circuit Developed in 1982 by Govt. to standardize.
1/31/20081 Logic devices can be classified into two broad categories Fixed Programmable Programmable Logic Device Introduction Lecture Notes – Lab 2.
Silicon Programming--Intro. to HDLs1 Hardware description languages: introduction intellectual property (IP) introduction to VHDL and Verilog entities.
Principle of Functional Verification Chapter 1~3 Presenter : Fu-Ching Yang.
O VERVIEW OF DIGITAL SYSTEMS Hardware Description Language 1.
CSET 4650 Field Programmable Logic Devices
ECE 332 Digital Electronics and Logic Design Lab Lab 5 VHDL Design Styles Testbenches.
VHDL Structured Logic Design School of Electrical Engineering University of Belgrade Department of Computer Engineering Ivan Dugic Veljko.
Verilog Digital System Design Z. Navabi, McGraw-Hill, 2005
1 VERILOG Fundamentals Workshop סמסטר א ' תשע " ה מרצה : משה דורון הפקולטה להנדסה Workshop Objectives: Gain basic understanding of the essential concepts.
ISE. Tatjana Petrovic 249/982/22 ISE software tools ISE is Xilinx software design tools that concentrate on delivering you the most productivity available.
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use Lecture 12 – Design Procedure.
Chap. 1 Overview of Digital Design with Verilog. 2 Overview of Digital Design with Verilog HDL Evolution of computer aided digital circuit design Emergence.
Principles Of Digital Design Chapter 1 Introduction Design Representation Levels of Abstraction Design Tasks and Design Processes CAD Tools.
Lecture 17 Lecture 17: Platform-Based Design and IP ECE 412: Microcomputer Laboratory.
ASIC/FPGA design flow. FPGA Design Flow Detailed (RTL) Design Detailed (RTL) Design Ideas (Specifications) Design Ideas (Specifications) Device Programming.
Digitaalsüsteemide verifitseerimise kursus1 Digitaalsüsteemide verifitseerimine IAF0620, 5.0 AP, E Jaan Raik IT-208,
Design Verification An Overview. Powerful HDL Verification Solutions for the Industry’s Highest Density Devices  What is driving the FPGA Verification.
Copyright © 2002 Qualis Design Corporation Industry and Textbook Overview Qualis Design Corporation PO Box 4444 Beaverton, Oregon USA Phone:
Using Formal Verification to Exhaustively Verify SoC Assemblies by Mark Handover Kenny Ranerup Applications Engineer ASIC Consultant Mentor Graphics Corp.
1 H ardware D escription L anguages Modeling Digital Systems.
CSE 494: Electronic Design Automation Lecture 2 VLSI Design, Physical Design Automation, Design Styles.
COE 405 Design and Modeling of Digital Systems
Interfaces to External EDA Tools Debussy Denali SWIFT™ Course 12.
Chonnam national university VLSI Lab 8.4 Block Integration for Hard Macros The process of integrating the subblocks into the macro.
Functional Verification Figure 1.1 p 6 Detection of errors in the design Before fab for design errors, after fab for physical errors.
Introduction to FPGA Created & Presented By Ali Masoudi For Advanced Digital Communication Lab (ADC-Lab) At Isfahan University Of technology (IUT) Department.
Module 1.2 Introduction to Verilog
EE 466/586 VLSI Design Partha Pande School of EECS Washington State University
Fall 2004EE 3563 Digital Systems Design EE 3563 VHSIC Hardware Description Language  Required Reading: –These Slides –VHDL Tutorial  Very High Speed.
Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics Modeling with hardware description languages (HDLs).
ECE-C662 Lecture 2 Prawat Nagvajara
Modern VLSI Design 3e: Chapter 8 Copyright  1998, 2002 Prentice Hall PTR Topics n Modeling with hardware description languages (HDLs).
1 IAF0620, 5.0 AP, Exam Jaan Raik ICT-524, , Digital systems verification.
Lecture 1 – Overview (rSp06) ©2008 Joanne DeGroat, ECE, OSU -1- Functional Verification of Hardware Designs EE764 – Functional Verification of Hardware.
04/26/20031 ECE 551: Digital System Design & Synthesis Lecture Set : Introduction to VHDL 12.2: VHDL versus Verilog (Separate File)
ECE 551: Digital System Design & Synthesis Motivation and Introduction Lectures Set 1 (3 Lectures)
Integrated Microsystems Lab. EE372 VLSI SYSTEM DESIGNE. Yoon 1-1 Panorama of VLSI Design Fabrication (Chem, physics) Technology (EE) Systems (CS) Matel.
FPGA-Based System Design Copyright  2004 Prentice Hall PTR Topics n Modeling with hardware description languages (HDLs).
Chapter 11 System-Level Verification Issues. The Importance of Verification Verifying at the system level is the last opportunity to find errors before.
Verilog Intro: Part 1. Hardware Description Languages A Hardware Description Language (HDL) is a language used to describe a digital system, for example,
ASIC/FPGA design flow. Design Flow Detailed Design Detailed Design Ideas Design Ideas Device Programming Device Programming Timing Simulation Timing Simulation.
VHDL From Ch. 5 Hardware Description Languages. History 1980’s Schematics 1990’s Hardware Description Languages –Increased due to the use of Programming.
Lecture 1 – Overview (rSp06) ©2008 Joanne DeGroat, ECE, OSU -1- Functional Verification of Hardware Designs EE764 – Functional Verification of Hardware.
Microprocessor Design Process
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.
Programmable Logic Devices
ASIC Design Methodology
Combinational Logic Design
Topics Modeling with hardware description languages (HDLs).
Topics Modeling with hardware description languages (HDLs).
Programmable Logic Devices: CPLDs and FPGAs with VHDL Design
Week 5, Verilog & Full Adder
ECE-C662 Introduction to Behavioral Synthesis Knapp Text Ch
HIGH LEVEL SYNTHESIS.
THE ECE 554 XILINX DESIGN PROCESS
Design Methodology & HDL
THE ECE 554 XILINX DESIGN PROCESS
Presentation transcript:

An Overview of Hardware Design Methodology Ian Mitchelle De Vera

Outline of the Presentation Design Classifications Typical Design Flow Post Design Design Data Hierarchy Testbenches Design Flow Overview Challenges of Hardware Design

Design Classifications ASIC Design Processor Design Memory Embedded Design

ASIC Design Application Specific IC  e.g. cruise controller, etc. Typical Characteristics  specific applications  short development time  mass market  low cost  slow performance  via older manufacture facilities Today’s ASIC designs may contain millions of transistors

Processor Design Designs that follow certain architectural standards  e.g. microprocessors, signal processors, graphic processors, etc. Typical characteristics  architectural specification  long development time  expensive  fixed market  high performance  via state-of-the-art manufacture facilities

Memory On-chip storage device  e.g. RAM, Video RAM, etc. Typical Characteristics  high density  low-high performance  regular structure  special design methodology  special manufacture facilities

Embedded Designs Core-based design or intellectual property (IP) design Emerging market New challenges in tools/methodologies System-on-a-chip Video Core Audio Core uController Core RAM ASIC

Typical Design Flow Obtain product requirements Derive design specifications Choosing technology and tools Verification a. Simulation b. Design Review c. Synthesis d. Physical Implementation e. Formal Verification System Integration and Test

Post Design Setup manufacture line Obtain first silicon Diagnosis of defects / Yield of improvement System bring-up test Silicon debugging / On-chip repair Mass production / Speed Grading Ship to customers

Design Data Hierarchy There are four levels of abstraction in the design process: A.Behavior Level  Like a C program  Behavioral code consists of a process containing constructs like loops, conditions, array and variable declarations.  Focuses on functionality and the system level architecture but less on defining architectural details (e.g. sequential or parallel structure)  Simulation on this level is faster because the description is more abstract than RTL.

B. RTL (Register Transfer Level)  explicitly define all state-holding elements  specifies the architecture in detail C.Gate Level  All high-level constructs (if, case, assign) are converted to gates (and, or, not). D.Transistor Level  All are converted to nmos, pmos, etc. E. Layout (final picture)

Data Hierarchy Behavior RTL Gate Level Transistor/Layout Functional Simulation Synthesis Test Generation Design for Test Physical Prop. Area/Timing Optimization Specification Implementation Less Complex Very Complex

if (x = 0) A = T1 else A = T2 T0 T2 T1 x  0 x = 0 C Program (if, else) Verilog, VHDL AND, OR, NOT CMOS, PMOS, NMOS

Testbenches Due to increases in design size and complexity, digital design verification has become an increasingly difficult and laborious task. To meet this challenge, verification engineers rely on several verification tools and methods. Testbenches have become the standard method to verify HLL (High Level Language) designs.

Testbench Tasks Typically, testbenches perform the following tasks: Instantiate the design under test (DUT) Stimulate the DUT by applying test vectors to the model. Output results to a terminal or waveform window for visual inspection. Optionally compare actual results to expected results.

Typically, testbenches are written in the industry-standard VHDL or Verilog hardware description languages. Testbenches invoke the functional design, then stimulate it. Complex testbenches perform additional functions—for example, they contain logic to determine the proper design stimulus for the design or to compare actual to expected results.

Standard HDL Verification Flow

Constructs used in Testbenches The following are some constructs used frequently in testbenches: 1.Generating Clock Signals  designs that use system clocks to sequence logic must generate a clock. Iterative clocks can easily be implemented in both VHDL and Verilog source code 2.Providing Stimulus  to obtain testbench verification results stimulus must be provided to the DUT. Concurrent stimulus blocks are used in testbenches to provide the stimuli. Two methods are employed: absolute-time stimulus and relative-time stimulus.

A.absolute time stimulus  simulation values are specified relative to simulation time zero. B.relative time stimulus  supplies initial values, then waits for an event before retriggering the stimulus. Both methods can be combined in a testbench, according to the designer’s needs. 3.Displaying Results  displaying results is facilitated by the $display and $monitor keywords in Verilog.

4.Automatic Verification  automating the verification of testbench results is recommended, particularly for larger designs. Several methods can be used: A. Database comparisons: first, a database file containing expected output (‘golden vector’ file) is created. Then, simu- lation outputs are captured and compared to the reference vectors in the golden vector file. B. Waveform comparison: waveform comparisons can be performed automatically or manually. The automatic method employs a testbench comparator to compare a golden waveform against a testbench output waveform. C. Self-checking Testbenches: a self-checking testbench checks expected results against actual results at run time not at the end of the simulation.

Testbench Environment

Verilog Example Verification If the simulation succeeds, the following information is shown on the terminal screen:

Design Flow Overview Architecture Specification Block Implementation Specification Blk Behavior Model RTL Model Gate Level Model Transistor Level Schematic Design Library Layout Concept! Manufacturing Chip! synthesis custom design Validation of fcn Validation of Timing, Power, etc. Validation of Test/Implementation

Challenges of Hardware Design Functional Verification  What functions do we need?  How do we know the design performs all functions we want. Equivalence checking  Specification = Implementation? Test Preparation  Is the chip manufactured correctly? Performance constraints  Timing, power, noise are ok?