COE 405 Introduction to Digital Design Methodology

Slides:



Advertisements
Similar presentations
Digital System Design Subject Name : Digital System Design Course Code : IT-314.
Advertisements

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.
CMPT150, Ch 3, Tariq Nuruddin, Fall 06, SFU 1 Ch3. Combinatorial Logic Design Modern digital design involves a number of techniques and tools essential.
The Design Process Outline Goal Reading Design Domain Design Flow
1 HW/SW Partitioning Embedded Systems Design. 2 Hardware/Software Codesign “Exploration of the system design space formed by combinations of hardware.
ENGIN112 L38: Programmable Logic December 5, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 38 Programmable Logic.
02/02/20091 Logic devices can be classified into two broad categories Fixed Programmable Programmable Logic Device Introduction Lecture Notes – Lab 2.
Spring 08, Jan 15 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2007 Introduction Vishwani D. Agrawal James J. Danaher.
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,
Spring 07, Jan 16 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2007 Introduction Vishwani D. Agrawal James J. Danaher.
Digital Design: Chapters Chapter 1. Introduction Digital Design - Logic Design? Analog versus Digital Once-analog now goes digital –Still pictures.
COE 561 Digital System Design & Synthesis Introduction Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum & Minerals.
1/31/20081 Logic devices can be classified into two broad categories Fixed Programmable Programmable Logic Device Introduction Lecture Notes – Lab 2.
COE 561 Digital System Design & Synthesis Introduction Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum & Minerals.
CS 151 Digital Systems Design Lecture 38 Programmable Logic.
COE 405 Hardware Design Environments
Digital Design: An Embedded Systems Approach Using Verilog
(1) Introduction © Sudhakar Yalamanchili, Georgia Institute of Technology, 2006.
GOOD MORNING.
Design methodology.
CSET 4650 Field Programmable Logic Devices
April 15, Synthesis of Signal Processing on FPGA Hongtao
Electronic Design Automation. Course Outline 1.Digital circuit design flow 2.Verilog Hardware Description Language 3.Logic Synthesis –Multilevel logic.
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
Chap. 1 Overview of Digital Design with Verilog. 2 Overview of Digital Design with Verilog HDL Evolution of computer aided digital circuit design Emergence.
CAD Techniques for IP-Based and System-On-Chip Designs Allen C.-H. Wu Department of Computer Science Tsing Hua University Hsinchu, Taiwan, R.O.C {
1 Digital System Design Subject Name : Digital System Design Course Code : IT- 308 Instructor : Amit Prakash Singh Home page :
CAD for Physical Design of VLSI Circuits
ASIC/FPGA design flow. FPGA Design Flow Detailed (RTL) Design Detailed (RTL) Design Ideas (Specifications) Design Ideas (Specifications) Device Programming.
PROGRAMMABLE LOGIC DEVICES (PLD)
Hardware Design Environment Instructors: Fu-Chiung Cheng ( 鄭福炯 ) Associate Professor Computer Science & Engineering Tatung University.
CMOS Design Methods.
Digital System Design Pradondet Nilagupta Department of Computer Engineering.
CSE 494: Electronic Design Automation Lecture 2 VLSI Design, Physical Design Automation, Design Styles.
COE 405 Design and Modeling of Digital Systems
COE 561 Digital System Design & Synthesis Introduction Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum & Minerals.
UNIT 1 Introduction. 1-2 OutlineOutline n Course Topics n Microelectronics n Design Styles n Design Domains and Levels of Abstractions n Digital System.
Chapter 0 deSiGn conCepTs EKT 221 / 4 DIGITAL ELECTRONICS II.
ECE 3110: Introduction to Digital Systems Introduction (Contd.)
Fall 2004EE 3563 Digital Systems Design EE 3563 VHSIC Hardware Description Language  Required Reading: –These Slides –VHDL Tutorial  Very High Speed.
Spring 2007 W. Rhett Davis with minor editing by J. Dean Brock UNCA ECE Slide 1 ECE 406 – Design of Complex Digital Systems Lecture 1: Introduction.
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.
M.Mohajjel. Digital Systems Advantages Ease of design Reproducibility of results Noise immunity Ease of Integration Disadvantages The real world is analog.
Introduction to ASIC flow and Verilog HDL
EE121 John Wakerly Lecture #17
ECE 551: Digital System Design & Synthesis Motivation and Introduction Lectures Set 1 (3 Lectures)
ECE 3110: Introduction to Digital Systems Introduction (Contd.)

EECE 320 L8: Combinational Logic design Principles 1Chehab, AUB, 2003 EECE 320 Digital Systems Design Lecture 8: Combinational Logic Design Principles.
SUBJECT : DIGITAL ELECTRONICS CLASS : SEM 3(B) TOPIC : INTRODUCTION OF VHDL.
EMT 351/4 DIGITAL IC DESIGN Week # 1 EDA & HDL.
Introduction to ASICs ASIC - Application Specific Integrated Circuit
Combinational Logic Design
ELEC 7770 Advanced VLSI Design Spring 2016 Introduction
EEE2135 Digital Logic Design Chapter 1. Introduction
ELEC 7770 Advanced VLSI Design Spring 2014 Introduction
Week 5, Verilog & Full Adder
ELEC 7770 Advanced VLSI Design Spring 2012 Introduction
Introduction to Verilog
COE 561 Digital System Design & Synthesis Introduction
ELEC 7770 Advanced VLSI Design Spring 2010 Introduction
ECNG 1014: Digital Electronics Lecture 1: Course Overview
ECE-C662 Introduction to Behavioral Synthesis Knapp Text Ch
HIGH LEVEL SYNTHESIS.
COE 561 Digital System Design & Synthesis Introduction
Digital Designs – What does it take
Presentation transcript:

COE 405 Introduction to Digital Design Methodology Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum & Minerals

Outline Welcome to COE 405 Digital System Design Design Space and Evaluation Space Digital System Complexity Design Domains and Levels of Abstractions Synthesis Process Design Flow in Verilog Simulation Process

Welcome to COE 405 Catalog Description Review of sequential circuits design and analysis, Data path and control unit design, Design with Hardware Description languages (HDL), Design with Field-Programmable Gate Arrays (FPGAs), Block interfacing. Prerequisite: COE 202 Logic Design Instructor Dr. Aiman H. El-Maleh. Room: 22/407-5 Phone: 2811 Email: aimane@ccse.kfupm.edu.sa Office Hours

Course Objectives & Learning Ouctomes Introduce students to the design methodologies of digital systems with special emphasis on FPGA implementations. Course Learning Outcomes Data Path and Control Unit design Digital systems modeling using hardware description languages (Verilog HDL) Simulation of digital systems Synthesis and FPGA implementation of digital systems

Text Book M. D. Ciletti, “Advanced Digital Design with the Verilog HDL,” (Prentice Hall), 2/e 2010.

Grading Policy Discussions 5% Assignments 15% Quizzes 10% Midterm 20% (Sat., Nov. 9, 1:30 PM) Project 25% Final 25% Attendance will be taken regularly. Excuses for officially authorized absences must be presented no later than one week following resumption of class attendance. Late assignments will be accepted (upto 3 days) but you will be penalized 10% per each late day. A student caught cheating in any of the assignments will get 0 out of 15%. No makeup will be made for missing Quizzes or Exams.

Course Content Introduction to Digital Design Methodology: Review of combinational logic design. Review of Sequential circuit design, Mealy versus Moore Machines, timing constraints, State minimization, State assignment. Design of a digital system by partitioning it into a Data Path and Control unit: Design of DP and CU, Algorithmic State Machine (ASM) charts. Introduction to logic design with Verilog: structural models of combinational logic, logic system, design verification and test methodology, propagation delay, truth table models of combinational and sequential logic with Verilog.

Course Content Logic design with behavioral models of combinational and sequential logic: continuous assignment models, dataflow/RTL models, algorithmic based models. Synthesis of combinational and sequential logic: Introduction to synthesis, synthesis of combinational logic, synthesis of sequential logic, synthesis of three-state devices and bus interfaces, synthesis of explicit state machines, synthesis of implicit state machines, synthesis of loops. Design and synthesis of Datapath controllers. Block interfacing Field Programmable Gate Arrays (FPGAs): FPGA technologies, Verilog based design flows for FPGAs, design and synthesis with FPGAs.

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

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

Architecture Design Data Path Unit Control Unit

Architecture Design Example Problem: It is required to design a circuit to add two 8-bit numbers. The design must be as economical as possible in terms of hardware. 8-bit Addition 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.

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.

Design Space and Evaluation Space Design space: All feasible implementations of a circuit. Each design point has values for objective evaluation functions e.g. area. The multidimensional space spanned by the different objectives is called design evaluation space.

Optimization Trade-Off in Combinational Circuits

Combinational Circuit Design Space Example Implement f = p q r s with 2-input or 3-input AND gates. Area and delay proportional to number of inputs.

Digital System Complexity Moore’s Law: Number of transistors that can be packed on a chip doubles every 18 months while the price stays the same.

How to Deal with Design Complexity? Hierarchy: structure of a design at different levels of description. Abstraction: hiding the lower level details. Design Hierarchy: Design subsystems for simple functions Compose subsystems to form the system Treating subcircuits as “black box” components Verify independently, then verify the composition Top-down/bottom-up design

Design Hierarchy Top – Down Bottom UP

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)

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).

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.

Levels of Abstractions & Corresponding Views

Design Methods Full custom Semi-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)

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.

Synthesis Process

Circuit Synthesis Architectural-level synthesis Logic-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.

Circuit Synthesis We usually design using register-transfer-level (RTL) Verilog Higher level of abstraction than gates Synthesis tool translates to a circuit of gates that performs the same function Specify to the tool the target implementation fabric constraints on timing, area, etc. Post-synthesis verification synthesized circuit meets constraints

Physical Implementation Implementation fabrics Application-specific ICs (ASICs) Field-programmable gate arrays (FPGAs) Floor-planning: arranging the subsystems Placement: arranging the gates within subsystems Routing: joining the gates with wires Physical verification physical circuit still meets constraints use better estimates of delays

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)

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

Design Flow in Verilog Define the design requirements Describe the design in Verilog Top-down, hierarchical design approach Code optimized for synthesis or simulation Simulate the Verilog 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

Simulation Process