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

Similar documents
COE 561 Digital System Design & Synthesis Introduction

VHDL. Chapter 1 Introduction to VHDL. Course Objectives Affected. Outline

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

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

101-1 Under-Graduate Project Digital IC Design Flow

Lecture 2 Hardware Description Language (HDL): VHSIC HDL (VHDL)

DIGITAL DESIGN TECHNOLOGY & TECHNIQUES

Verilog for High Performance

Overview of Digital Design Methodologies

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

Digital Design Methodology (Revisited) Design Methodology: Big Picture

Digital Design Methodology

Lecture 3 Introduction to VHDL

RTL Coding General Concepts

Keywords: HDL, Hardware Language, Digital Design, Logic Design, RTL, Register Transfer, VHDL, Verilog, VLSI, Electronic CAD.

Design Methodologies and Tools. Full-Custom Design

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

CMSC 611: Advanced Computer Architecture

INSTITUTE OF AERONAUTICAL ENGINEERING Dundigal, Hyderabad ELECTRONICS AND COMMUNICATIONS ENGINEERING

Lecture #1: Introduction

VHDL for Synthesis. Course Description. Course Duration. Goals

Programmable Logic Devices II

ECE U530 Digital Hardware Synthesis. Programming Assignments

EECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis

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

Hardware Modeling. Hardware Description. ECS Group, TU Wien

Lecture 3: Modeling in VHDL. EE 3610 Digital Systems

VHDL simulation and synthesis

Evolution of CAD Tools & Verilog HDL Definition

Chapter 5: ASICs Vs. PLDs

MLR Institute of Technology

Electronic Design Automation Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

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

Tutorial on VHDL and Verilog Applications

Digital Systems Laboratory

FPGA for Software Engineers

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

CHAPTER - 2 : DESIGN OF ARITHMETIC CIRCUITS

PINE TRAINING ACADEMY

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

Hardware Description Languages (HDLs) Verilog

HIERARCHICAL DESIGN. RTL Hardware Design by P. Chu. Chapter 13 1

Outline HIERARCHICAL DESIGN. 1. Introduction. Benefits of hierarchical design

: : (91-44) (Office) (91-44) (Residence)

Overview. CSE372 Digital Systems Organization and Design Lab. Hardware CAD. Two Types of Chips

EE 4755 Digital Design Using Hardware Description Languages

VLSI Design Automation

Unit 2: High-Level Synthesis

Register Transfer Level in Verilog: Part I

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

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

Outline. EECS Components and Design Techniques for Digital Systems. Lec 11 Putting it all together Where are we now?

Overview of Digital Design with Verilog HDL 1

For a long time, programming languages such as FORTRAN, PASCAL, and C Were being used to describe computer programs that were

DESIGN STRATEGIES & TOOLS UTILIZED

ELCT 501: Digital System Design

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

Don t expect to be able to write and debug your code during the lab session.

A Brief Introduction to Verilog Hardware Definition Language (HDL)

HIGH-LEVEL SYNTHESIS

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

In this chapter we present basic definitions that relate to

Outline. CPE/EE 422/522 Advanced Logic Design L05. Review: General Model of Moore Sequential Machine. Review: Mealy Sequential Networks.

Synthesis and Optimization of Digital Circuits

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

More Course Information

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

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

I 3 I 2. ! Language of logic design " Logic optimization, state, timing, CAD tools

VLSI Design Automation

Hardware Description Language VHDL (1) Introduction

Digital System Design Lecture 2: Design. Amir Masoud Gharehbaghi

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

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

EECS Components and Design Techniques for Digital Systems. Lec 20 RTL Design Optimization 11/6/2007

VLSI Design Automation. Calcolatori Elettronici Ing. Informatica

Introduction to Electronic Design Automation. Model of Computation. Model of Computation. Model of Computation

Synthesis at different abstraction levels

V1 - VHDL Language. FPGA Programming with VHDL and Simulation (through the training Xilinx, Lattice or Actel FPGA are targeted) Objectives

Overview. Design flow. Principles of logic synthesis. Logic Synthesis with the common tools. Conclusions

EE 4755 Digital Design Using Hardware Description Languages

1 Controlling complexity

Lab #1: Introduction to Design Methodology with FPGAs part 1 (80 pts)

The Optimization of a Design Using VHDL Concepts

St.MARTIN S ENGINEERING COLLEGE Dhulapally, Secunderabad

Digital Design Using Digilent FPGA Boards -- Verilog / Active-HDL Edition

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

EITF35: Introduction to Structured VLSI Design

Synthesis of Combinational and Sequential Circuits with Verilog

Digital System Design with SystemVerilog

EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs)

System Synthesis of Digital Systems

C-Based Hardware Design

Designing with VHDL and FPGA

Lecture 15: System Modeling and Verilog

Outline. EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs) FPGA Overview. Why FPGAs?

MOJTABA MAHDAVI Mojtaba Mahdavi DSP Design Course, EIT Department, Lund University, Sweden

System Verification of Hardware Optimization Based on Edge Detection

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

TOPIC : Verilog Synthesis examples. Module 4.3 : Verilog synthesis

Transcription:

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

Outline Welcome to COE 405 Digital System Design Design Domains and Levels of Abstractions Synthesis Process Objectives of VHDL Styles in VHDL Design Flow in VHDL Simulation Process 1-2

Welcome to COE 405 Catalog Description Design methodology. Hardware modeling basics. Modeling concurrency and timing aspects. Behavioral, structural, and data flow level modeling using hardware description languages (HDLs). System level modeling and design of practical processors, controllers, arithmetic units, etc. Translation of instruction sets to hardware models for software emulation. Case studies. Prerequisite: Digital logic circuits Instructor Dr. Mahdi Abbasi. Room: 308 Email: abbasi@basu.ac.ir 1-3

Course Objectives After successfully completing the course, students will be able to: Master the hardware description language, VHDL, for the design (specification, modeling, simulation, and synthesis) of digital systems using programmable logic or VLSI components. Design complete digital systems starting from the concept, advancing through the modeling, simulation, synthesis, and test, by using different styles in VHDL, namely structural, dataflow, and behavioral, for describing the architecture. 1-4

Course Learning Outcomes Ability to design a digital system based on VHDL including modeling, simulation, and synthesis. Ability to use CAD tools for the analysis and verification of digital designs. Ability to demonstrate self-learning capability. Ability to work in a team. 1-5

Text Book Zainalabedin Navabi, VHDL: Analysis and Modeling of Digital Systems, McGraw-Hill, Inc., 2nd edition, 1998 1-6

Course Content Signals, Delays & Concurrency: Variables vs. Signals, Sequential vs. Concurrent Constructs, Signal Propagation Delay & Delay types, Transactions, Events and Transaction Scheduling, Signal Attributes. Design & Modeling Tools: Tutorials on available Simulators and Design Tools. Structural Models: Configuration Statement, Modeling Iterative/Regular Structures. Design Organization & Parameterization: Packages & Libraries, Design Parameterization, Design Configuration & General Purpose Test Bench. 1-7

Course Content Dataflow Models: Concurrent Signal Assignment, Block statements, Guards, Resolution Functions, Resolved Signals and Signal Kinds, Data Flow Moore & Mealy Models, Data & Control Path Data Flow Models. Behavioral Models: Process & Wait Statements, Assert Statement, General Algorithmic Model, Moore and Mealy Machine Algorithmic Models, Data & Control Path Design. Writing Test Benches: Types of Test Benches, Examples. Introduction to VHDL Synthesis: Combinational, Sequential Logic Synthesis, State Machine Synthesis. VHDL Coding Styles for Synthesis. CPU Design Example: Behavioral Modeling of CPU, Datapath and Control Unit Modeling, CPU-Memory Interface. 1-8

Digital System Design Realization of a specification subject to the optimization of Area (Chip, PCB) Lower manufacturing cost Increase manufacturing yield Reduce packaging cost Performance Propagation delay (combinational circuits) Cycle time and latency (sequential circuits) Throughput (pipelined circuits) Power dissipation Testability Earlier detection of manufacturing defects lowers overall cost Design time (time-to-market) Cost reduction Be competitive 1-9

Digital System Design Cycle Design Idea System Specification Behavioral (Functional) Design Architecture Design Logic Design Circuit Design Physical Design Pseudo Code, Flow Charts Bus & Register Structure Netlist (Gate & Wire Lists) Transistor List VLSI / PCB Layout Fabrication & Packaging 1-10

Architecture Design Data Path Control Path REG1 REG2 Main Logic Unit REG3 Logic Finite State Machine 1-11

Architecture Design Example Problem: It is required to design an 8-bit adder The two operands are stored in two 8-bit shift registers A and B At the end of the addition operation, the sum must be stored in the A register. The contents of the B register must not be destroyed. The design must be as economical as possible in terms of hardware. 1-12

8-bit Adder Possible Solutions There are numerous ways to design the above circuit, some of which are listed below. Use an 8-bit ripple-carry adder Use an 8-bit carry look-ahead adder. Use two 4-bit carry look-ahead adders and ripple the carry between stages. Use a 1-bit adder and perform the addition serially in 8 clock cycles. 1-13

8-bit Adder Selected Design Since it is specified that the hardware cost must be minimum, the serial adder design is selected. S A MUX A Start Clock M A M B D in M A FA S Add S B S A S B C in C out R D MUX B Q D Read A Read B R C M B (a) (b) 1-14

Data Path & Control Unit of Serial Adder Data path consists of Two 8-bit shift registers A full adder A D-flip flop Two multiplexers 3-bit Counter Control unit generates the following signals S A to Shift the register A right by one bit S B to shift the register B right by one bit M A to control multiplexer A M B to control multiplexer B R D to Reset the D flip-flop R C to Reset the counter 1-15

Control Algorithm of Serial Adder Forever do While (START = 0) skip; Reset the D flip-flop and the counter; Set M A and M B to 0; Repeat Shift registers A and B right by one counter = counter + 1; Until counter = 8; 1-16

Observations Design involves trade-offs between Cost Performance Testability Power dissipation Fault tolerance Ease of design Ease of making changes to the design. Serial is cheap but slow, parallel fastest in terms of performance but most costly. The different ways we can think of building an 8-bit adder constitutes what is known as design space (at a particular level of abstraction). Each method of implementation is called a point in the design space. 1-17

Behavioral or High-Level Synthesis The automatic generation of data path and control unit is known as high-level synthesis. Tasks involved in HLS are scheduling and allocation. Scheduling distributes the execution of operations throughout time steps. Allocation assigns hardware to operations and values. Allocation of hardware cells include functional unit allocation, register allocation and bus allocation. Allocation determines the interconnections required. 1-18

Behavioral Description and its Control Data Flow Graph (CDFG) X = W + ( S * T ) Y = ( S * T ) + ( U * V ) (a) Scheduled CDFG W S T U V CDFG W S T U V 1 * * * 2 + * + + 3 + X (b) Y X (c) Y 1-19

Resulting Architecture Design Bus 1 Data Path X Y W S U T V MUX Z MUX MUX + * 1-20

Digital System Complexity 1-21

How to Deal with Design Complexity? Moore s Law: Number of transistors that can be packed on a chip doubles every 18 months while the price stays the same. Hierarchy: structure of a design at different levels of description. Abstraction: hiding the lower level details. 1-22

Design Hierarchy Bottom UP Top Down 1-23

Abstractions An Abstraction is a simplified model of some Entity which hides certain amount of the Internal details of this Entity Lower Level abstractions give more details of the modeled Entity. Several levels of abstractions (details) are commonly used: System Level Chip Level Register Level Gate Level Circuit (Transistor) Level Layout (Geometric) Level More Details (Less Abstract) 1-24

Design Domains & Levels of Abstraction Designs can be expressed / viewed in one of three possible domains Behavioral Domain (Behavioral View) Structural/Component Domain (Structural View) Physical Domain (Physical View) A design modeled in a given domain can be represented at several levels of abstraction (Details). 1-25

Three Abstraction Levels of Circuit Representation Architectural level Operations implemented by resources. Logic level Logic functions implemented by gates. Geometrical level Devices are geometrical objects. 1-26

Modeling Views Behavioral view Abstract function. Structural view An interconnection of parts. Physical view Physical objects with size and positions. 1-27

Levels of Abstractions & Corresponding Views 1-28

Design Domains & Levels of Abstraction Design Domain Behavioral Structural Physical Abstraction Level System English Specs Computer, Disk Units, Radar, etc. Chip Register Gate Circuit (Tr) Algorithms, Flow Charts Data Flow, Reg. Transfer Boolean Equations Diff, and element Equations Processors, RAMs, ROMs Registers, ALUs, Counters, MUX, Buses AND, OR, XOR, FFs, etc Transistors, R, C, etc Boards, MCMs, Cabinets, Physical Partitions Clusters, Chips, PCBs Std. Cells, Floor Plans Cells, Module Plans Mask Geometry (Layout) 1-29

Gajski and Kuhn's Y Chart 1-30

Design Methods Full custom Maximal freedom High performance blocks Slow Semi-custom Gate Arrays Mask Programmable (MPGAs) Field Programmable (FPGAs)) Standard Cells Silicon Compilers & Parametrizable Modules (adder, multiplier, memories) 1-31

Design vs. Synthesis Synthesis Process of transforming H/W from one level of abstraction to a lower one. Synthesis may occur at many different levels of abstraction Behavioral or High-level synthesis Logic synthesis Layout synthesis Design A Sequence of synthesis steps down to a level of abstraction which is manufacturable. 1-32

Synthesis Process Behavioral Domain Structural Domain System Chip English Specs Algorithmic Desc. Natural Language Synthesis Algorithmic Synthesis, or High-Level Synthesis Layout Synthesis Logic Circuit (Transistor) Gate Circuit Register Data Flow (RTL) Mask Layout Geometry Layout Logic Synthesis 1-33

Circuit Synthesis Architectural-level synthesis Determine the macroscopic structure Interconnection of major building blocks. Logic-level synthesis Determine the microscopic structure Interconnection of logic gates. Geometrical-level synthesis (Physical design) Placement and routing. Determine positions and connections. 1-34

Design Automation & CAD Tools Design Entry (Description) Tools Schematic Capture Hardware Description Language (HDL) Simulation (Design Verification) Tools Simulators (Logic level, Transistor Level, High Level Language HLL ) Synthesis Tools Formal Verification Tools Design for Testability Tools Test Vector Generation Tools 1-35

Hardware Description Languages HDLs are used to describe the hardware for the purpose of modeling, simulation, testing, design, and documentation. Modeling: behavior, flow of data, structure Simulation: verification and test Design: synthesis Two widely-used HDLs today VHDL: VHSIC (Very High Speed Integrated Circuit ) Hardware Description Language (IEEE standard) Verilog (from Cadence, now IEEE standard) 1-36

Objectives of VHDL Provide a unified notation to describe Electronic Systems (digital hardware) at various levels of abstractions. Standardization of documentation To support the communication of design data System design time and cost reduced ambiguity in specification of design interfaces and design functions reusability of existing designs Improved integration of multi-vendor designs shared design databases become possible standard cells, behavioral models 1-37

VHDL Requirements Support for design hierarchy Library support Sequential statement Generic design Type declaration and usage Use of subprograms Timing control Structural specification 1-38

History of VHDL Created by DoD to document military designs for portability IEEE standard 1076 (VHDL) in 1987 Revised IEEE standard 1076 (VHDL) in 1993 IEEE standard 1164 (object types standard) in 1993 IEEE standard 1076.3 (synthesis standard) in 1996 1981 First Publication (Base-Line) 1985 1987 Publication Of Revised VHDL Standard 1993 Start Of VHDL Development First Publication Of VHDL Standard 1-39

VHDL Advantages Modular Hierarchical, allows design description: TOP - DOWN BOTTOM - UP Portable Can describe the Same design Entity using more than one view (Domain): The Behavioral View ( e.g. as an algorithm, Register-Transfer (Data Flow), Input-Output Relations, etc) The Structural View. This allows investigation of design alternatives of the same Entity. It also allows delayed detailed Implementations. Can model systems at various levels of abstraction (System, chip RTL, Logic (Gate)) VHDL can be made to simulate timing at reasonable accuracy. 1-40

Styles in VHDL Behavioral High level, algorithmic, sequential execution Hard to synthesize well Easy to write and understand (like high-level language code) Dataflow Medium level, register-to-register transfers, concurrent execution Easy to synthesize well Harder to write and understand (like assembly code) Structural Low level, netlist, component instantiations and wiring Trivial to synthesize Hardest to write and understand (very detailed and low level) 1-41

Design Flow in VHDL Define the design requirements Describe the design in VHDL Top-down, hierarchical design approach Code optimized for synthesis or simulation Simulate the VHDL source code Early problem detection before synthesis Synthesize, optimize, and fit (place and route) the design for a device Synthesize to equations and/or netlist Optimize equations and logic blocks subject to constraints Fit into the components blocks of a given device Simulate the post-layout design model Check final functionality and worst-case timing Program the device (if PLD) or send data to ASIC vendor 1-42

Design Tool Flow VHDL Design Test Bench/ Stimulus Device Selection Synthesis Directives Source Simulation Software Synthesis Software Waveform Data File Functional Simulation Equations or Netlist To Fitter Software 1-43

Design Tool Flow Equations or Netlist From Synthesis Test Bench/ Stimulus Fitter (Place & Route) Software Post-fit Simulation Software Device Programming File or ASIC Data Report File Post-fit Model Waveform Data File Full-timing Simulation 1-44

Simulation Process 1-45

Simulation Types Oblivious and Event-driven simulation 1-46

Oblivious Simulation Need a tabular netlist for oblivious simulation Simulate fixed time intervals Update table values at each interval 1-47

Event-Driven Simulation Evaluate circuit only when events occur Offers a faster simulation for digital systems VHDL is an event driven simulation 1-48