Design and Documentation

Slides:



Advertisements
Similar presentations
Documentation Standards
Advertisements

Give qualifications of instructors: DAP
ECE 272 Xilinx Tutorial. Workshop Goals Learn how to use Xilinx to: Draw a schematic Create a symbol Generate a testbench Simulate your circuit.
CMPT150, Ch 3, Tariq Nuruddin, Fall 06, SFU 1 Ch3. Combinatorial Logic Design Modern digital design involves a number of techniques and tools essential.
Documentation Standards Programmable Logic Devices Decoders
Chapter 4 Gates and Circuits.
5.1 Documentation Standards
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 3 – Combinational Logic Design Part 1 –
ECE Lecture 1 1 ECE 3561 Advanced Digital Design Department of Electrical and Computer Engineering The Ohio State University.
Lecture 3. Boolean Algebra, Logic Gates
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 3 – Combinational Logic Design Part 1 –
Overview Part 1 – Design Procedure 3-1 Design Procedure
Digital Logic Lecture 08 By Amr Al-Awamry. Combinational Logic 1 A combinational circuit consists of an interconnection of logic gates. Combinational.
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.
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.
Combinational Logic Design CS341 Digital Logic and Computer Organization F2003.
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.
Combinational Logic Design BIL- 223 Logic Circuit Design Ege University Department of Computer Engineering.
Documentation Standards Circuit specification. –Description of what the system is supposed to do, including a description of all inputs and outputs and.
1 Combinational Logic Design Digital Computer Logic Kashif Bashir
ECE 3110: Introduction to Digital Systems Chapter 5 Combinational Logic Design Practices Documentation Standards (contd.)
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 3 – Combinational Logic Design Part 1 –
ECE 3110: Introduction to Digital Systems Chapter 5 Combinational Logic Design Practices Documentation Standards.
Chapter 0 deSiGn conCepTs EKT 221 / 4 DIGITAL ELECTRONICS II.
Chapter 0 - reVieW Combinational Logic Circuit, Combinational Logic Circuit, Propagation Delay, Propagation Delay, Programmable Logic. Programmable Logic.
CMPUT Computer Organization and Architecture II1 CMPUT329 - Fall 2003 Topic 8: Documentation and Timing Diagrams José Nelson Amaral.
Documentation Standards (contd.)
ECE 2110: Introduction to Digital Systems Chapter 6 Combinational Logic Design Practices Documentation Standards (contd.)
ECE Lecture 1 1 ECE 561 Digital Circuit Design Department of Electrical and Computer Engineering The Ohio State University.
ECE 3110: Introduction to Digital Systems Chapter 5 Combinational Logic Design Practices Documentation Standards.
1 EE121 John Wakerly Lecture #5 Documentation Standards Programmable Logic Devices Decoders.
Logic Design EE-2121 Manesh T. Digital Systems  Introduction  Binary Quantities and Variables  Logic Gates  Boolean Algebra  Combinational Logic.
Combinational Logic Design. 2 Combinational Circuits A combinational logic circuit has: ♦ A set of m Boolean inputs, ♦ A set of n Boolean outputs ♦ n.
ECE 2110: Introduction to Digital Systems Chapter 6 Review.
ECE DIGITAL LOGIC LECTURE 15: COMBINATIONAL CIRCUITS Assistant Prof. Fareena Saqib Florida Institute of Technology Fall 2015, 10/20/2015.
ASIC/FPGA design flow. Design Flow Detailed Design Detailed Design Ideas Design Ideas Device Programming Device Programming Timing Simulation Timing Simulation.
Combinational Design, Part 2: Procedure. 2 Topics Positive vs. negative logic Design procedure.
Lecture 1 Gunjeet kaur Dronacharya group of institutions.
Week 1: Introduction and Logic gates IT3002 – Computer Architecture
This chapter in the book includes: Objectives Study Guide
EET 1131 Unit 4 Programmable Logic Devices
EGR 2131 Unit 4 Combinational Circuits: Analysis & Design
Basics of Logic gates - Part 1
ASIC Design Methodology
Combinational Logic Design
Figure 1.1 The Altera UP 1 CPLD development board.
Combinational Logic Design&Analysis.
EEE2135 Digital Logic Design Chapter 1. Introduction
ECE 2110: Introduction to Digital Systems
ECE 331 – Digital System Design
CSCI-100 Introduction to Computing
Overview Part 1 – Design Procedure Beginning Hierarchical Design
This chapter in the book includes: Objectives Study Guide
Fundamentals & Ethics of Information Systems IS 201
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
Programmable Logic Devices: CPLDs and FPGAs with VHDL Design
Combinatorial Logic Design Practices
Figure 5. 1 An example of AND-OR logic
Introduction to Verilog
Structural style Modular design and hierarchy Part 1
Chapter 3 – Combinational Logic Design
Logic Gates.
DESIGN OF SEQUENTIAL CIRCUITS
Digital Fundamentals Floyd Chapter 4 Tenth Edition
Combinational Circuits
Combinational Circuits
Digital Designs – What does it take
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
Presentation transcript:

Design and Documentation

Top-down Modular Design Top-down design is a process in which a function is initially specified at a high level of abstraction and then decomposed into lower-level sub-functions, each of which is more concrete. The decomposition process continues until the design is reduced to a set of functions, each of which is well defined and can be realized with a relatively simple circuit. Hence, the design has been developed from the “top” level “down” to a level at which the individual modules are manageable.

complete the design After all functions have been defined, each is realized with a circuit module that is designed, implemented, and tested individually. The finished modules are then interconnected to complete the design. This implementation process is often referred to as a bottom-up process, since it begins with the bottommost elements of the design and works toward the topmost function.

decomposition of a design The decomposition of a design is often represented in the form of a tree structure. Let us suppose that we wish to design a circuit for a temperature acquisition system in which temperatures are read from two sensors, with one of the two computations (min(A, B) and max(A,B)) performed on these values as selected by a 1-bit code S. Select Code, S Output function 0 min(A,B) 1 max(A,B)

A tree structure The root of the design tree is the top-level function, T, which represents the complete system. Three basic functions are needed to implement the process control system: a circuit to create digital input signals from the two sensors, a circuit to perform the two computations on the two sensor values, and a circuit to select the desired result as the system output, according to the selection code S. Therefore, top-level block T is decomposed into second-level blocks T1, T2 and T3, representing the input, computation, and output functions, respectively. Next, each of the second-level functions is examined.

Input function T1 Input function T1 must convert data from the two sensors in to binary numbers. Therefore, function T1 is decomposed into two sub-modules: conversion circuits T11 for sensor A and T12 for sensor B. Both of these functions represent modules that are not broken down into smaller circuits. Functions that are not further decomposed are called leaf nodes of the design tree.

The computation function T2 The computation function T2 must generate two values: min(A,B), and max(A,B). These two sub-functions are defined as T21 and T22. The sub-function T21 is further decomposed into T211 which compares A and B, and T212, which selects one of A or B according to the result of the comparison.. The sub-function T22 is similarly decomposed into T221 and T222.

The output function T3 The output function T3 selects one of two values, according to the selection code S. This can be done with a standard circuit module. Therefore block T3 is a leaf node of the design tree.

Block Diagram From the design tree, a block diagram can be developed. Each block in this diagram represents one of the leaf nodes of the design tree, with all block inputs and outputs. After completion of the block diagram, the designer has the option to choose from a standard modules, previously-designed modules or to develop a new one for each block. Many different modules have been developed and are available as standard functions that can be used as building blocks for complex digital circuits. In VLSI design (CPLD and FPGA), commonly-used modules, or standard cells, are maintained in libraries of functions from which they can be selected and incorporated into designs as needed. For developing circuit boards and other multi-chip systems, there are a number of standard modules available as MSI circuit components (74 series chips).

Design Tree T Temperature Acquisition System Top level or, Level 1 T1 Input Sensor Data T2 Compute Values T3 Select Output Level 2 T11 Sensor A T12 Sensor B T21 min(A,B) T22 max(A,B) Level 3 T211 Compare A & B T212 Select min T221 Compare A & B T222 Select max Leaf nodes Level 4

Block Diagram Sensors T2 Compute T11 T12 T211 T212 Select T221 T222 Convert A A T12 Convert B B T211 Compare T212 Select T221 Compare T222 Select T1 Input FunctionSelect T3 Select T3 Output Select Output

Documentation

Documentation A good documentation is essential for correct design and efficient maintenance of digital systems.

Documentation Standards Specification - describes what the system is suppose to do, interfaces, functions, what results not how. Block diagrams - pictorial description of the system’s major functional modules and their interconnections. - first step in hierarchical design Schematic diagrams - formal specification of the electrical components of the system, their interconnections in details. Logic diagram + more. Structured logic device description - HDL programs (ABEL, Verilog, VHDL) in the form of equations, tables, or state diagrams. Timing diagrams - various logic signals as a function of time. Circuit descriptions - a narrative text document that explains how the system works internally.

Block Diagram

Block Diagram do’s/don’ts

Gate symbols

DeMorgan equivalent symbols Which symbol to use? Answer depends on signal names and active levels.

Signal names Each input and output signal in a logic circuit should have a descriptive alphanumeric label, the signal’s name. A signal’s name indicates an action that is controlled e.g., GO, PAUSE a condition that it detects e.g., READY, ERROR data that it carries e.g., INBUS[31:0]

Signal names and active levels Each signal name should have an active level (HIGH or LOW) associated with it. A signal is active high if it performs the named action or denotes the named condition when it is high. A signal is active low if it performs the named action or denotes the named condition when it is low. A signal is said to be asserted when it is at its active level. A signal is said to be negated or deasserted when it is not at its active level.

Signal names and active levels Signal names are chosen to be descriptive. Active levels -- HIGH or LOW named condition or action occurs in either the HIGH or the LOW state, according to the active-level designation in the name.

Example HIGH when error occurs Logic Circuit ERROR OK_L Logic Circuit LOW when error occurs ERROR_L ERROR ERROR1_L

Signal name, logic expression, and logic equation A signal name is just a name - an alphanumeric label. X, Y, Z, READY, RD_L, WR_L A logic expression combines signal names using the operators of switching algebra - AND, OR, and NOT. X+Y A logic equation is an assignment of a logic expression to a signal name - it describes one signal’s function in terms of other signals. Z = X+Y

Active Levels of Pins When we draw AND or OR symbols, we think of the given logic function as occurring inside that symbolic outline and they have active-high inputs. They require 1s on the input to assert (when it is at its active level) their outputs.

Active Levels of Pins Similarly, we show the same logic elements with active-low input and output pins as follows:

Drawing Layout Inputs on the left Ouputs on the right Flow of signals should be from left to right.

Example of Buses

Schematic diagrams Details of component inputs, outputs, and interconnections Reference designators Pin numbers Title blocks Names for all signals Page-to-page connectors

Example schematic

Flat schematic structure

Hierarchichal schematic structure

Other Documentation Timing diagrams Output from simulator Specialized timing-diagram drawing tools Circuit descriptions Text (word processing) Can be as big as a book (e.g., typical Cisco ASIC descriptions) Typically incorporate other elements (block diagrams, timing diagrams, etc.)

Timing Diagrams for a combinational circuit

Timing specification for 74 series gates

Block Diagram xx

Block Diagram xx

Block Diagram xx

Block Diagram xx

Block Diagram xx

Block Diagram xx

Block Diagram xx

Block Diagram xx

Block Diagram xx