Electronic System Design The Digital Design Process Hardware Description Language (VHDL)

Similar documents
Aims and Objectives. E 3.05 Digital System Design. Course Syllabus. Course Syllabus (1) Programmable Logic

Digital Systems Design! Lecture 1 - Introduction!!

Introduction to Digital System Design

9/14/ :38

INTRODUCTION TO DIGITAL SYSTEMS. IMPLEMENTATION: MODULES (ICs) AND NETWORKS IMPLEMENTATION OF ALGORITHMS IN HARDWARE

7a. System-on-chip design and prototyping platforms

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

Hardware and Software

Let s put together a Manual Processor

Digital Systems. Role of the Digital Engineer

EEM870 Embedded System and Experiment Lecture 1: SoC Design Overview

Architectures and Platforms

System-on. on-chip Design Flow. Prof. Jouni Tomberg Tampere University of Technology Institute of Digital and Computer Systems.

what operations can it perform? how does it perform them? on what kind of data? where are instructions and data stored?

Agenda. Michele Taliercio, Il circuito Integrato, Novembre 2001

Curriculum for a Master s Degree in ECE with focus on Mixed Signal SOC Design

design Synopsys and LANcity

Introducción. Diseño de sistemas digitales.1

Printed Circuit Board Design with HDL Designer

Lecture 5: Gate Logic Logic Optimization

RAM & ROM Based Digital Design. ECE 152A Winter 2012

Gates, Circuits, and Boolean Algebra

AUTOMATIC NIGHT LAMP WITH MORNING ALARM USING MICROPROCESSOR

Area 3: Analog and Digital Electronics. D.A. Johns

Digital VLSI Systems Design Prof. S. Srinivasan Department of Electrical Engineering Indian Institute of Technology, Madras.

What is a System on a Chip?

What will I learn as an Electrical Engineering student?

Testing of Digital System-on- Chip (SoC)

Chapter 2 Logic Gates and Introduction to Computer Architecture

Verification & Design Techniques Used in a Graduate Level VHDL Course

Concept Engineering Adds JavaScript-based Web Capabilities to Nlview at DAC 2016

Introduction to Programmable Logic Devices. John Coughlan RAL Technology Department Detector & Electronics Division

Lecture 12: More on Registers, Multiplexers, Decoders, Comparators and Wot- Nots

Space product assurance

RAPID PROTOTYPING OF DIGITAL SYSTEMS Second Edition

Ping Pong Game with Touch-screen. March 2012

Contents. System Development Models and Methods. Design Abstraction and Views. Synthesis. Control/Data-Flow Models. System Synthesis Models

Custom design services

Serial port interface for microcontroller embedded into integrated power meter

Technical Aspects of Creating and Assessing a Learning Environment in Digital Electronics for High School Students

INSTITUTE OF AERONAUTICAL ENGINEERING Dundigal, Hyderabad

Figure 8-1 Four Possible Results of Adding Two Bits

Design Cycle for Microprocessors

CHAPTER 3 Boolean Algebra and Digital Logic

1. True or False? A voltage level in the range 0 to 2 volts is interpreted as a binary 1.

ESP-CV Custom Design Formal Equivalence Checking Based on Symbolic Simulation

MSME TOOL ROOM, HYDERABAD CENTRAL INSTITUTE OF TOOL DESIGN

Machine Architecture and Number Systems. Major Computer Components. Schematic Diagram of a Computer. The CPU. The Bus. Main Memory.

CAs and Turing Machines. The Basis for Universal Computation

State-of-Art (SoA) System-on-Chip (SoC) Design HPC SoC Workshop

VHDL Test Bench Tutorial

COMPUTER SCIENCE AND ENGINEERING - Microprocessor Systems - Mitchell Aaron Thornton

Digital Design and Synthesis INTRODUCTION

The 104 Duke_ACC Machine

Parts of a Computer. Preparation. Objectives. Standards. Materials Micron Technology Foundation, Inc. All Rights Reserved

C8051F020 Utilization in an Embedded Digital Design Project Course. Daren R. Wilcox Southern Polytechnic State University Marietta, Georgia

Product Development Flow Including Model- Based Design and System-Level Functional Verification

ON SUITABILITY OF FPGA BASED EVOLVABLE HARDWARE SYSTEMS TO INTEGRATE RECONFIGURABLE CIRCUITS WITH HOST PROCESSING UNIT

EXPERIMENT 8. Flip-Flops and Sequential Circuits

NIOS II Based Embedded Web Server Development for Networking Applications

How To Design A Single Chip System Bus (Amba) For A Single Threaded Microprocessor (Mma) (I386) (Mmb) (Microprocessor) (Ai) (Bower) (Dmi) (Dual

ECE410 Design Project Spring 2008 Design and Characterization of a CMOS 8-bit Microprocessor Data Path

Example-driven Interconnect Synthesis for Heterogeneous Coarse-Grain Reconfigurable Logic

Sistemas Digitais I LESI - 2º ano

Pre-tested System-on-Chip Design. Accelerates PLD Development

AC : PRACTICAL DESIGN PROJECTS UTILIZING COMPLEX PROGRAMMABLE LOGIC DEVICES (CPLD)

Lecture 1. Introduction to Embedded Computer Systems

Programmable Logic IP Cores in SoC Design: Opportunities and Challenges

GETTING STARTED WITH PROGRAMMABLE LOGIC DEVICES, THE 16V8 AND 20V8

Design Verification and Test of Digital VLSI Circuits NPTEL Video Course. Module-VII Lecture-I Introduction to Digital VLSI Testing

Seven-Segment LED Displays

Engineering Change Order (ECO) Support in Programmable Logic Design

How To Learn To Understand And Understand The Physics Of Chemistry

VHDL-Testbench as Executable Specification

From Concept to Production in Secure Voice Communications

Digital Circuit Design

The components. E3: Digital electronics. Goals:

Xilinx ISE. <Release Version: 10.1i> Tutorial. Department of Electrical and Computer Engineering State University of New York New Paltz

Modeling Sequential Elements with Verilog. Prof. Chien-Nan Liu TEL: ext: Sequential Circuit

CONTROL SYSTEMS, ROBOTICS, AND AUTOMATION - Vol. XIX - Automation and Control in Electronic Industries - Popovic D.

Digital Electronics Detailed Outline

Teaching Systems Integration In An Advanced Microprocessor Applications Course

ETEC 2301 Programmable Logic Devices. Chapter 10 Counters. Shawnee State University Department of Industrial and Engineering Technologies

Price/performance Modern Memory Hierarchy

Digital circuits make up all computers and computer systems. The operation of digital circuits is based on

DIGITAL-TO-ANALOGUE AND ANALOGUE-TO-DIGITAL CONVERSION

Design of a High Speed Communications Link Using Field Programmable Gate Arrays

A First Course in Digital Design Using VHDL and Programmable Logic

MICROPROCESSOR AND MICROCOMPUTER BASICS

Near Field Communication in the real world part III

SYSTEM-ON-PROGRAMMABLE-CHIP DESIGN USING A UNIFIED DEVELOPMENT ENVIRONMENT. Nicholas Wieder

Implementing a Digital Answering Machine with a High-Speed 8-Bit Microcontroller

Computer Systems Structure Main Memory Organization

A New Paradigm for Synchronous State Machine Design in Verilog

AC : A PROCESSOR DESIGN PROJECT FOR A FIRST COURSE IN COMPUTER ORGANIZATION

Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai Jens Onno Krah

EMBEDDED SYSTEM BASICS AND APPLICATION

DIGITAL DESIGN FLOW OPTIONS

After opening the Programs> Xilinx ISE 8.1i > Project Navigator, you will come to this screen as start-up.

Transcription:

Electronic System Design 3 1. The Digital Design Process Hardware Description Language (VHDL)

Bits n pieces Scott Roy Rankine Building, Room 307B (between I.Thayne & Device Modelling) S.Roy@elec.gla.ac.uk Course changes - already covered by Dr. Weaver Lecture handouts, recommended reading, syllabus, Thanks to Craig Slorach! For a fair chunk of this text. 2

Nobel Prize in Physics - 2000 Jack S. Kilby Texas Instruments, Dallas, Texas, USA for his part in the invention of the integrated circuit (with Zhores Alferov & Herbert Kroemer - heterostructures) 3

First Integrated Circuit Invented at TI in 1958 Comprised of a single transistor and other components on a slice of germanium 7/16-by-1/16-inches in size. 4

Summary Design Issues IC s and Systems are becoming more and more complex and there is a need for good design analysis and practice. Managing complexity by breaking down systems into manageable parts for design and implementation. Tools for Design & Implementation Provide a brief refresher on Hardware Description Languages (HDLs) and consider how they are really used to build digital systems. 5

Into Context Center around procedures used for digital devices Many principles applicable to all areas of electronic design. Concentrate initially on all digital systems. Designing chips to perform some specific task From a simple application (e.g. Glue-Logic ) To a complex device (e.g. DVD, CD, Digital TV) What needs to be optimised? Such chips are now used everywhere and allow us to build electronic devices that would have been unheard of even 5 years ago! 6

Some Definitions Design The process of taking a functional specification and producing a solution for this specification There may be many different solutions, but we are only ever interested in producing a single one! (although an optimisation criterion may be extensibility). Implementation Implementing the design in some form Or, in simple terms building it 7

Design Issues

Motivation Building IC s is just another Engineering Problem! Principles no different from designing a car, etc. Electronic designs are becoming more and more complex 25 years ago designed with primitive gates (AND, OR, etc.) and connected these together to form systems. With the advent of the ASICs (Application Specific Integrated Circuits) and large FPGAs (Field Programmable Gate Arrays) can design a custom IC for each application / prototype. Integration of general purpose processors and dedicated hardware needs hardware & software design skills (co-design). Rebalancing of design criteria. 9

Motivation Commercial factors $$ Cost, speed, power, size, yield, Drivers are now more consumer than military. Consumer products have a very short lifespan so time to market is critical. Design re-use is therefore becoming crucial. Must have robust methods of design verification, 10

Motivation Have to get things right first time! Want to get things right as early as possible as the cost of change/ problem fixing increases exponentially with the stage of design Cost to Fix Time 11

Ideal Design Process So, ideally our design process should Work for any size of design from the simplest (<1000 gates) design to the very large designs (>1M gates) Allow new designs to be realized rapidly Be structured to get the design right first time before we commit to implementation/ manufacture.» Design for test» Design verification Re-use parts of existing designs to speed up time to market 12

The Problem It s the first day of your new job working for a large semiconductor company Design a chip to. So, where do you start???? 13

Design Flow -I Start with some high level functional specification. Joe Bloggs Inc. The system should.. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ e.g. LCD Display Driver, Teletext, Telephone, etc. May run to several hundred pages and defines the scope of our design 14

Design Flow- II So, how do we start implementing? Could now sit down and start building the system from logic gates Would you do this if you were building a car? See you in 10 years time! We require a much more structured and organised design approach through the use of Hierarchy Regularity Re-use 15

Hierarchical Approach- Introduction Hierarchical Approach to System Design Split the overall design into discrete blocks which have (typically) a single function and then connect these blocks together to form the complete system (see later) The process is repeated on each of the blocks in the design until a desired level of abstraction is achieved Eventually, we have a list of blocks (with inputs, outputs and required functionality) These then have to be implemented (see later) 16

Hierarchical Approach- Example In the example below, the design top contains 2 blocks BLOCK1 and BLOCK2 BLOCK1 is then sub-divided into another 3 blocks Level 0 TOP Level 1 BLOCK1 BLOCK2 Level 2 17

Hierarchical Approach- I Identify the system inputs, outputs and behaviour This is in our system specification Example- feature telephone top design 1 2 3 4 5 6 7 8 9 * 0 # Keypad D-A Converter Line Control DAA Interface (Analog) LCD Handset Switch Line Control & Dialing 18

Hierarchical Approach- II We now split the system into discrete blocks which have (typically) a single function (termed highly cohesive) and identify the way in which they are interconnected An example of this is presented in schematic 1 where the hierarchy of our phone has been taken down a level to give the internal details of the telephone IC The system is now comprised of 5 blocks which perform a single function within the whole system (e.g. display control) Could further decompose design Note that the inputs and outputs are the same as the previous level (i.e. keybd[6..0] etc.) 19

Feature Telephone Schematic 20

Regularity Regularity is also useful in the design process When decomposing a design attempt to form regular structures Regularity is particularly useful when considering the lower-level (layout issues of a design) E.g. memory design which is made from a tile of similar cells connected together If we design a single cell, then all that is required is to replicate the cells to form the complete memory array Datapaths also benefit from regularity e.g. Adder 21

Design Reuse- Introduction Re-Use is very important, especially with fast time to market If we can re-use a block then it can yield a very fast produced design As part of the design has already been implemented Ideally, we drop the block into our top-level design At the extreme, we have System on a Chip (SoC) designs which are composed of blocks from multiple authors which are simply connected together to form large devices (e.g. Set Top Boxes for Television) 22

Design Reuse- Requirements Block must be well specified and documented The author may not be the end user so the full functionality of the block should be well documented (both inline within code and external documentation) Block generally has to be highly cohesive to be able to be re-used For example, if we are designing a peripheral block for a microprocessor (e.g. Dialing block) then it would be better if the block could be design in two sections- one general block connected to a processor specific block Other issues (e.g. testability etc.) 23

Reuse- The Tradeoff Functionality Vs. Silicon Real Estate If we are reusing a design, are we only using a small set of the functionality?- if so then this is wasteful (needs more Siliconso higher cost) E.g. we could use a 64 bit loadable counter every time we needed a counter but this would be wasteful! This not only an issue when selecting a component for a design, we also have to avoid building blocks which offer deluxe functionality (e.g. I ll make this counter have inverted inputs as well as normal inputs just in case it s needed later ) 24

Tools for Design & Implementation

Introduction Using the previous techniques, we now have a design, but how is it implemented? The outcome of the previous steps is essentially a (hierarchical) block diagram with a list of blocks each with a specification List of inputs and outputs Specification of the internal behaviour of the block 26

The Digital Design Flow entity ANDGATE is port ( A,B: in std_logic; Netlist Z: out std_logic ); end ANDGATE; architecture MYARCH of ANDGATE is begin Z <= A and B; end MYARCH; Synthesis Tool Schematic CAD Hardware Description Language Design Masks Complete Working IC 27

HDL s- Motivation HDL s = Hardware Description Languages Isn t our Silicon solution just some highly complex program (c.f. a software implementation!)? So, wouldn t it be nice to write our hardware in some program type form? HDL s allow us to do this! We have a text based description of the desired functionality of the blocks that we re trying to design No longer symbolic at the design level- so we re no longer targeting a specific final architecture 28

HDL s- Background Broadly 2 different types commercially available Simple State Machine e.g. Orcad HDL, Abel, etc. With these we simply describe state machines Gets a bit messy when dealing with complex designs Still useful for some systems (e.g. making up a PLD) Full Functionality e.g. VHDL & Verilog Works very well for complex designs We re going to look at VHDL 29

30