Digital Design: An Embedded Systems Approach Using Verilog

Slides:



Advertisements
Similar presentations
Digital Design — Chapter 1 — Introduction and Methodology
Advertisements

Sistemas Digitais I LESI - 2º ano Lesson 1 - Introduction U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA Prof. João Miguel Fernandes
ECOE 560 Design Methodologies and Tools for Software/Hardware Systems Spring 2004 Serdar Taşıran.
Sahar Mosleh PageCalifornia State University San Marcos 1 Introductory Concepts This section of the course introduces the concept of digital circuits and.
16/04/20151 Hardware Descriptive Languages these notes are taken from Mano’s book It can represent: Truth Table Boolean Expression Diagrams of gates and.
Introduction to Digital Electronics. Suplementary Reading Digital Design by - John F. Wakerly – - you will find some solutions at this site.
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.
Microelectronic Circuits, Sixth Edition Sedra/Smith Copyright © 2010 by Oxford University Press, Inc. C H A P T E R 13 CMOS Digital Logic Circuits.
Copyright 2001, Agrawal & BushnellDay-1 PM Lecture 4a1 Design for Testability Theory and Practice Lecture 4a: Simulation n What is simulation? n Design.
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.
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.
Chapter 4 Gates and Circuits.
Computer Engineering 222. VLSI Digital System Design Introduction.
1/31/20081 Logic devices can be classified into two broad categories Fixed Programmable Programmable Logic Device Introduction Lecture Notes – Lab 2.
9/19/06 Hofstra University – Overview of Computer Science, CSC005 1 Chapter 4 Gates and Circuits.
ELEN468 Lecture 11 ELEN468 Advanced Logic Design Lecture 1Introduction.
COE 405 Introduction to Digital Design Methodology
(1) Introduction © Sudhakar Yalamanchili, Georgia Institute of Technology, 2006.
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use Lecture 11 – Design Concepts.
COMP541 Combinational Logic - I
Chapter 4 Gates and Circuits. 4–2 Chapter Goals Identify the basic gates and describe the behavior of each Describe how gates are implemented using transistors.
Contemporary Logic Design Multi-Level Logic © R.H. Katz Transparency No. 5-1 Chapter # 2: Two-Level Combinational Logic Section Practical Matters.
Introduction to Digital Design
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.
Boolean Algebra and Logic Gates CE 40 B 18 June 2003.
CSCI-235 Micro-Computers in Science Hardware Design Part I.
ECE 2372 Modern Digital System Design
Principles Of Digital Design Chapter 1 Introduction Design Representation Levels of Abstraction Design Tasks and Design Processes CAD Tools.
EGRE 427 Advanced Digital Design Figures from Application-Specific Integrated Circuits, Michael John Sebastian Smith, Addison Wesley, 1997 Chapter 4 Programmable.
School of Computer Science G51CSA 1 Computer Systems Architecture Fundamentals Of Digital Logic.
System Arch 2008 (Fire Tom Wada) /10/9 Field Programmable Gate Array.
DIGITAL LOGIC DESIGN BY: ENGR. M.ZAKIR SHAIKH. DIGITAL LOGIC DESIGN BY: ENGR. M.ZAKIR SHAIKH.
Introduction Verilog is a HARDWARE DESCRIPTION LANGUAGE (HDL) A hardware description language is a language or means used to describe or model a digital.
1 COMP541 Combinational Logic - I Montek Singh Jan 11, 2012.
VHDL IE- CSE. What do you understand by VHDL??  VHDL stands for VHSIC (Very High Speed Integrated Circuits) Hardware Description Language.
CSCI-100 Introduction to Computing Hardware Design Part I.
LOGIC GATES. Electronic digital circuits are also called logic circuits because with the proper input, they establish logical manipulation paths. Each.
ECE 3110: Introduction to Digital Systems Introduction (Contd.)
ECE 2110: Introduction to Digital Systems Introduction (Contd.)
ECE 3110: Introduction to Digital Systems Introduction (Contd.)
Module 1.2 Introduction to Verilog
Chapter 7 Logic Circuits 1.State the advantages of digital technology compared to analog technology. 2. Understand the terminology of digital circuits.
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.
Introduction to VLSI Design – Lec01. Chapter 1 Introduction to VLSI Design Lecture # 11 High Desecration Language- Based Design.
IMPLEMENTATION OF MIPS 64 WITH VERILOG HARDWARE DESIGN LANGUAGE BY PRAMOD MENON CET520 S’03.
1 Copyright  2001 Pao-Ann Hsiung SW HW Module Outline l Introduction l Unified HW/SW Representations l HW/SW Partitioning Techniques l Integrated HW/SW.
ELEE 4303 Digital II Introduction to Verilog. ELEE 4303 Digital II Learning Objectives Get familiar with background of HDLs Basic concepts of Verilog.
Chapter 3 Digital Logic Structures. Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 3-2 Transistor: Building.
Introduction to ASIC flow and Verilog HDL
Digital Design Using VHDL and PLDs ECOM 4311 Digital System Design Chapter 1.
ECE 3110: Introduction to Digital Systems Introduction (Contd.)
1 (c) , W. J. Dally Digital Design: A Systems Approach Lecture 1: The Digital Abstraction Combinational Logic Verilog.
TOPIC : Introduction to Sequential Circuits UNIT 1: Modeling and Simulation Module 4 : Modeling Sequential Circuits.

ECE 2110: Introduction to Digital Systems Introduction (Contd.)
Hardware Description Languages: Verilog
ASIC Design Methodology
Combinational Logic Design
EEE2135 Digital Logic Design Chapter 1. Introduction
VLSI Testing Lecture 5: Logic Simulation
Hardware Description Languages: Verilog
CS105 Introduction to Computer Concepts GATES and CIRCUITS
332:437 Lecture 7 Verilog Hardware Description Language Basics
Lesson 4 Synchronous Design Architectures: Data Path and High-level Synthesis (part two) Sept EE37E Adv. Digital Electronics.
HIGH LEVEL SYNTHESIS.
Presentation transcript:

Digital Design: An Embedded Systems Approach Using Verilog Digital Design — Chapter 1 — Introduction and Methodology 19 April 2017 Digital Design: An Embedded Systems Approach Using Verilog Chapter 1 Introduction and Methodology Portions of this work are from the book, Digital Design: An Embedded Systems Approach Using Verilog, by Peter J. Ashenden, published by Morgan Kaufmann Publishers, Copyright 2007 Elsevier Inc. All rights reserved.

Digital Design — Chapter 1 — Introduction and Methodology 19 April 2017 Digital Design Digital: circuits that use two voltage levels to represent information Logic: use truth values and logic to analyze circuits Design: meeting functional requirements while satisfying constraints Constraints: performance, size, power, cost, etc. Digital Design — Chapter 1 — Introduction and Methodology

Design using Abstraction Digital Design — Chapter 1 — Introduction and Methodology 19 April 2017 Design using Abstraction Circuits contain millions of transistors How can we manage this complexity? Abstraction Focus on aspects relevant aspects, ignoring other aspects Don’t break assumptions that allow aspect to be ignored! Examples: Transistors are on or off Voltages are low or high Digital Design — Chapter 1 — Introduction and Methodology

Digital Design — Chapter 1 — Introduction and Methodology 19 April 2017 Digital Systems Electronic circuits that use discrete representations of information Discrete in space and time Digital Design — Chapter 1 — Introduction and Methodology

Digital Design — Chapter 1 — Introduction and Methodology 19 April 2017 Embedded Systems Most real-world digital systems include embedded computers Processor cores, memory, I/O Different functional requirements can be implemented by the embedded software by special-purpose attached circuits Trade-off among cost, performance, power, etc. Digital Design — Chapter 1 — Introduction and Methodology

Binary Representation Digital Design — Chapter 1 — Introduction and Methodology 19 April 2017 Binary Representation Basic representation for simplest form of information, with only two states a switch: open or closed a light: on or off a microphone: active or muted a logical proposition: false or true a binary (base 2) digit, or bit: 0 or 1 Digital Design — Chapter 1 — Introduction and Methodology

Binary Representation: Example Digital Design — Chapter 1 — Introduction and Methodology 19 April 2017 Binary Representation: Example Signal represents the state of the switch high-voltage => pressed, low-voltage => not pressed Equally, it represents state of the lamp lamp_lit = switch_pressed Digital Design — Chapter 1 — Introduction and Methodology

Binary Representation: Example Digital Design — Chapter 1 — Introduction and Methodology 19 April 2017 Binary Representation: Example dark: it’s night time lamp_enabled: turn on lamp at night lamp_lit: lamp_enabled AND dark Logically: day time => NOT lamp_lit Digital Design — Chapter 1 — Introduction and Methodology

Digital Design — Chapter 1 — Introduction and Methodology 19 April 2017 Basic Gate Components Primitive components for logic design Digital Design — Chapter 1 — Introduction and Methodology

Combinational Circuits Digital Design — Chapter 1 — Introduction and Methodology 19 April 2017 Combinational Circuits Circuit whose output values depend purely on current input values Digital Design — Chapter 1 — Introduction and Methodology

Digital Design — Chapter 1 — Introduction and Methodology 19 April 2017 Sequential Circuits Circuit whose output values depend on current and previous input values Include some form of storage of values Nearly all digital systems are sequential Mixture of gates and storage components Combinational parts transform inputs and stored values Digital Design — Chapter 1 — Introduction and Methodology

Digital Design — Chapter 1 — Introduction and Methodology 19 April 2017 Flipflops and Clocks Edge-triggered D-flipflop stores one bit of information at a time Timing diagram Graph of signal values versus time Digital Design — Chapter 1 — Introduction and Methodology

Digital Design — Chapter 1 — Introduction and Methodology 19 April 2017 Real-World Circuits Assumptions behind digital abstraction ideal circuits, only two voltages, instantaneous transitions, no delay Greatly simplify functional design Constraints arise from real components and real-world physics Meeting constraints ensures circuits are “ideal enough” to support abstractions Digital Design — Chapter 1 — Introduction and Methodology

Integrated Circuits (ICs) Digital Design — Chapter 1 — Introduction and Methodology 19 April 2017 Integrated Circuits (ICs) Circuits formed on surface of silicon wafer Minimum feature size reduced in each technology generation Currently 90nm, 65nm Moore’s Law: increasing transistor count CMOS: complementary MOSFET circuits Digital Design — Chapter 1 — Introduction and Methodology

Digital Design — Chapter 1 — Introduction and Methodology 19 April 2017 Logic Levels Actual voltages for “low” and “high” Example: 1.4V threshold for inputs Digital Design — Chapter 1 — Introduction and Methodology

Digital Design — Chapter 1 — Introduction and Methodology 19 April 2017 Logic Levels TTL logic levels with noise margins VOL: output low voltage VIL: input low voltage VOH: output high voltage VIH: input high voltage Digital Design — Chapter 1 — Introduction and Methodology

Digital Design — Chapter 1 — Introduction and Methodology 19 April 2017 Static Load and Fanout Current flowing into or out of an output High: SW1 closed, SW0 open Voltage drop across R1 Too much current: VO < VOH Low: SW0 closed, SW1 open Voltage drop across R0 Too much current: VO > VOL Fanout: number of inputs connected to an output determines static load Digital Design — Chapter 1 — Introduction and Methodology

Capacitive Load and Prop Delay Digital Design — Chapter 1 — Introduction and Methodology 19 April 2017 Capacitive Load and Prop Delay Inputs and wires act as capacitors tr: rise time tf: fall time tpd: propagation delay delay from input transition to output transition Digital Design — Chapter 1 — Introduction and Methodology

Digital Design — Chapter 1 — Introduction and Methodology 19 April 2017 Other Constraints Wire delay: delay for transition to traverse interconnecting wire Flipflop timing delay from clk edge to Q output D stable before and after clk edge Power current through resistance => heat must be dissipated, or circuit cooks! Digital Design — Chapter 1 — Introduction and Methodology

Digital Design — Chapter 1 — Introduction and Methodology 19 April 2017 Area and Packaging Circuits implemented on silicon chips Larger circuit area => greater cost Chips in packages with connecting wires More wires => greater cost Package dissipates heat Packages interconnected on a printed circuit board (PCB) Size, shape, cooling, etc, constrained by final product Digital Design — Chapter 1 — Introduction and Methodology

Digital Design — Chapter 1 — Introduction and Methodology 19 April 2017 Models Abstract representations of aspects of a system being designed Allow us to analyze the system before building it Example: Ohm’s Law V = I × R Represents electrical aspects of a resistor Expressed as a mathematical equation Ignores thermal, mechanical, materials aspects Digital Design — Chapter 1 — Introduction and Methodology

Digital Design — Chapter 1 — Introduction and Methodology 19 April 2017 Verilog Hardware Description Language A computer language for modeling behavior and structure of digital systems Electronic Design Automation (EDA) using Verilog Design entry: alternative to schematics Verification: simulation, proof of properties Synthesis: automatic generation of circuits Digital Design — Chapter 1 — Introduction and Methodology

Digital Design — Chapter 1 — Introduction and Methodology 19 April 2017 Module Ports Describe input and outputs of a circuit Digital Design — Chapter 1 — Introduction and Methodology

Structural Module Definition Digital Design — Chapter 1 — Introduction and Methodology 19 April 2017 Structural Module Definition module vat_buzzer_struct ( output buzzer, input above_25_0, above_30_0, low_level_0, input above_25_1, above_30_1, low_level_1, input select_vat_1 ); wire below_25_0, temp_bad_0, wake_up_0; wire below_25_1, temp_bad_1, wake_up_1; // components for vat 0 not inv_0 (below_25_0, above_25_0); or or_0a (temp_bad_0, above_30_0, below_25_0); or or_0b (wake_up_0, temp_bad_0, low_level_0); // components for vat 1 not inv_1 (below_25_1, above_25_1); or or_1a (temp_bad_1, above_30_1, below_25_1); or or_1b (wake_up_1, temp_bad_1, low_level_1); mux2 select_mux (buzzer, select_vat_1, wake_up_0, wake_up_1); endmodule Digital Design — Chapter 1 — Introduction and Methodology

Behavioral Module Definition Digital Design — Chapter 1 — Introduction and Methodology 19 April 2017 Behavioral Module Definition module vat_buzzer_struct ( output buzzer, input above_25_0, above_30_0, low_level_0, input above_25_1, above_30_1, low_level_1, input select_vat_1 ); assign buzzer = select_vat_1 ? low_level_1 | (above_30_1 | ~above_25_1) : low_level_0 | (above_30_0 | ~above_25_0); endmodule Digital Design — Chapter 1 — Introduction and Methodology

Digital Design — Chapter 1 — Introduction and Methodology 19 April 2017 Design Methodology Simple systems can be design by one person using ad hoc methods Real-world systems are design by teams Require a systematic design methodology Specifies Tasks to be undertaken Information needed and produced Relationships between tasks dependencies, sequences EDA tools used Digital Design — Chapter 1 — Introduction and Methodology

A Simple Design Methodology Digital Design — Chapter 1 — Introduction and Methodology 19 April 2017 A Simple Design Methodology Requirements and Constraints Design Synthesize Physical Implementation Manufacture Functional Verification Post-synthesis Verification Physical Verification Test Y Y Y OK? OK? OK? N N N Digital Design — Chapter 1 — Introduction and Methodology

Digital Design — Chapter 1 — Introduction and Methodology 19 April 2017 Hierarchical Design Circuits are too complex for us to design all the detail at once 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 Digital Design — Chapter 1 — Introduction and Methodology

Digital Design — Chapter 1 — Introduction and Methodology 19 April 2017 Hierarchical Design Architecture Design Unit Design Design Unit Verification Functional Verification N OK? Y OK? Y Integration Verification N N OK? Y Digital Design — Chapter 1 — Introduction and Methodology

Digital Design — Chapter 1 — Introduction and Methodology 19 April 2017 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 Digital Design — Chapter 1 — Introduction and Methodology

Physical Implementation Digital Design — Chapter 1 — Introduction and Methodology 19 April 2017 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 Digital Design — Chapter 1 — Introduction and Methodology

Digital Design — Chapter 1 — Introduction and Methodology 19 April 2017 Codesign Methodology Requirements and Constraints Partitioning Hardware Requirements and Constraints Software Requirements and Constraints Hardware Design and Verification Software Design and Verification N N OK? OK? Manufacture and Test Digital Design — Chapter 1 — Introduction and Methodology

Digital Design — Chapter 1 — Introduction and Methodology 19 April 2017 Summary Digital systems use discrete (binary) representations of information Basic components: gates and flipflops Combinational and sequential circuits Real-world constraints logic levels, loads, timing, area, etc Verilog models: structural, behavioral Design methodology Digital Design — Chapter 1 — Introduction and Methodology