Synthesis and Optimization of Digital Circuits

Similar documents
COE 561 Digital System Design & Synthesis Introduction

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

Design Methodologies and Tools. Full-Custom Design

Spiral 2-8. Cell Layout

Design Verification Lecture 01

Digital Design Methodology (Revisited) Design Methodology: Big Picture

Synthesis at different abstraction levels

Digital Design Methodology

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

VLSI Design Automation

DIGITAL DESIGN TECHNOLOGY & TECHNIQUES

VLSI Design Automation

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

Lecture (05) Boolean Algebra and Logic Gates

Design Methodologies. Full-Custom Design

VLSI Design Automation. Calcolatori Elettronici Ing. Informatica

1/28/2013. Synthesis. The Y-diagram Revisited. Structural Behavioral. More abstract designs Physical. CAD for VLSI 2

VLSI Design Automation. Maurizio Palesi

Evolution of CAD Tools & Verilog HDL Definition

Boolean Algebra. BME208 Logic Circuits Yalçın İŞLER

CHAPTER 1 INTRODUCTION

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

Overview of Digital Design Methodologies

More Course Information

Digital Electronics 27. Digital System Design using PLDs

Chapter 5: ASICs Vs. PLDs

CAD for VLSI. Debdeep Mukhopadhyay IIT Madras

Advanced VLSI Design Prof. Virendra K. Singh Department of Electrical Engineering Indian Institute of Technology Bombay

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

Unit 4: Formal Verification

Unit 2: High-Level Synthesis

Testability Optimizations for A Time Multiplexed CPLD Implemented on Structured ASIC Technology

Programmable Logic Devices II

Digital Integrated Circuits A Design Perspective. Jan M. Rabaey

An Introduction to Programmable Logic

FPGA BASED SYSTEM DESIGN. Dr. Tayab Din Memon Lecture 1 & 2

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

EECS 219C: Formal Methods Binary Decision Diagrams (BDDs) Sanjit A. Seshia EECS, UC Berkeley

CS310 Embedded Computer Systems. Maeng

CMPE 415 Programmable Logic Devices Introduction

Introduction. Sungho Kang. Yonsei University

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

Functional Programming in Hardware Design

What is Xilinx Design Language?

Architectural-Level Synthesis. Giovanni De Micheli Integrated Systems Centre EPF Lausanne

Interplay Between Language and Formal Verification

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

VHDL for Synthesis. Course Description. Course Duration. Goals

UNIT 4 INTEGRATED CIRCUIT DESIGN METHODOLOGY E5163

Verilog for High Performance

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

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

CSE241 VLSI Digital Circuits UC San Diego

Technology Dependent Logic Optimization Prof. Kurt Keutzer EECS University of California Berkeley, CA Thanks to S. Devadas

RTL Coding General Concepts

Overview of Digital Design with Verilog HDL 1

Design Metrics. A couple of especially important metrics: Time to market Total cost (NRE + unit cost) Performance (speed latency and throughput)

Reference. Wayne Wolf, FPGA-Based System Design Pearson Education, N Krishna Prakash,, Amrita School of Engineering

Chapter 2. Boolean Algebra and Logic Gates

Hardware Design Verification: Simulation and Formal Method-Based Approaches William K Lam Prentice Hall Modern Semiconductor Design Series

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

Introduction to VHDL. Module #5 Digilent Inc. Course

ESE535: Electronic Design Automation. Today. Question. Question. Intuition. Gate Array Evaluation Model

DIGITAL CIRCUIT LOGIC UNIT 9: MULTIPLEXERS, DECODERS, AND PROGRAMMABLE LOGIC DEVICES

ECE 331 Digital System Design

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

ASIC, Customer-Owned Tooling, and Processor Design

ECE 595Z Digital Systems Design Automation

HIGH-LEVEL SYNTHESIS

All MSEE students are required to take the following two core courses: Linear systems Probability and Random Processes

Binary Decision Diagrams and Symbolic Model Checking

ECE260B CSE241A Winter Logic Synthesis

VLSI Test Technology and Reliability (ET4076)

101-1 Under-Graduate Project Digital IC Design Flow

HDL. Operations and dependencies. FSMs Logic functions HDL. Interconnected logic blocks HDL BEHAVIORAL VIEW LOGIC LEVEL ARCHITECTURAL LEVEL

EE434 ASIC & Digital Systems Testing

EE 466/586 VLSI Design. Partha Pande School of EECS Washington State University

ADVANCED FPGA BASED SYSTEM DESIGN. Dr. Tayab Din Memon Lecture 3 & 4

Boolean Algebra and Logic Gates

CMOS VLSI Design. MIPS Processor Example. Outline

Design Process. Design : specify and enter the design intent. Verify: Implement: verify the correctness of design and implementation

Lecture 8: Synthesis, Implementation Constraints and High-Level Planning

CHAPTER - 2 : DESIGN OF ARITHMETIC CIRCUITS

Integrated circuits and fabrication

EECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis

FABRICATION TECHNOLOGIES

EITF35: Introduction to Structured VLSI Design

Synthesis of Combinational and Sequential Circuits with Verilog

Combinational Circuits

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

ECE 459/559 Secure & Trustworthy Computer Hardware Design

EE178 Spring 2018 Lecture Module 1. Eric Crabill

Topics. Verilog. Verilog vs. VHDL (2) Verilog vs. VHDL (1)

INTRODUCTION TO FPGA ARCHITECTURE

outline Reliable State Machines MER Mission example

Application of Binary Decision Diagram in digital circuit analysis.

EE 434 ASIC & Digital Systems

L2: Design Representations

C Program Adventures. From C code to motion

E 4.20 Introduction to Digital Integrated Circuit Design

Transcription:

Synthesis and Optimization of Digital Circuits Dr. Travis Doom Wright State University Computer Science and Engineering

Outline Introduction Microelectronics Micro economics What is design? Techniques for Digital Synthesis Architectural-Level Synthesis Logic-Level Synthesis Geometric Synthesis Techniques for Formal Verification Automated Theorem-Provers Graph-based Algorithms Reengineering

Overview: Microelectronics What is a microelectronic component? Devices which exploit the properties of semiconductor materials Constructed by patterning a substrate and locally modifying its properties to shape wires and logical devices Complex functions are integrated into one physical package Fabrication is very complex Microelectronic components enable smart systems Prevalent in modern systems Failures are not taken well - most applications are critical

Overview: Micro Economics IC technology has progressed tremendously over 40 yrs. Moore s Law [SSI - 60, MSI - 70, VLSI - 90,?? - 00] Costs have increased tremendously as well Larger capital investment due to cost of refining precision Larger scale increases effort to achieve zero-defect design ICs are nearly impossible to repair The design must be correct (and manufacturing defects limited) Design and manufacturing costs must be recovered via sales Few designs do enjoy a high volume of sales or long life Many systems require specialized devices (ASICs) - few hold a significant market share individually Improvement of technology causes immediate obsolescence

Overview: Micro Economics How can costs be reduced and net profit increased? Minimize Design (and test) time Reduces both time-to-market and designers salaries Increase quality of design to increase fabrication yield and provide competitive performance Design automation techniques provide an effective means for designing economically viable products Carrying out a full design w/o errors is increasingly difficult w/o systematic techniques to handle data CAD techniques tend to focus on Digital Synchronous circuits as they represent the vast majority of circuits in the market

Overview: What is Design? General model for (Re-)Engineering (Byrne, 1992) Alteration Reverse Engineering Abstraction Requirements re-think re-specify Conceptual Conceptual Requirements Forward Engineering Refinement Design re-design Design Implementation Existing System re-build Implementation Target System

Automated Synthesis Design Process Behavioral Level high-level synthesis ~ Requirements Spec. CEG790 Register Transfer Level logic synthesis Gate Level geometrical synthesis Physical Design ~ Implementation Spec.

Automated Synthesis Design Process Behavioral Level Register Transfer Level high-level synthesis... PC = PC + 1; FETCH(PC); DECODE(INST);... logic synthesis Gate Level Physical Design geometrical synthesis ADD RAM MULT CONTROL

High-level Synthesis High-level (Architectural-level) synthesis deals with the transformation of an abstract model of behavior into a model consisting of standard functional units Goal: to construct the macroscopic structure of a circuit Input: an abstract model of behavior Common Abstract Models: HDLs, State diagrams, ASM charts, Sequencing graphs or Control/Data-flow graphs. Output: a structural view of the circuit, in particular of its datapath, and a logic-level specification of its control unit often referred to as the register-transfer level or macro-module model

High-level Synthesis Control Inputs Control Unit Control Signals Status Signals Control Outputs Data Inputs Datapath Data Outputs The data path is an interconnection of resources whose execution and I/O is determined by the control unit according to a schedule functional resources: Primitive resources: stock functions Application-specific resources: requires model memory resources: registers or memory arrays to store data interface resources: steering logic circuits (e.g., muxes and buses) that send data to the appropriate destination at the appropriate time

High-level Synthesis Measuring cost Evaluation Metrics: area, cycle-time (clock period), latency, and throughput (pipelines) The objectives form a n-dimensional design space Architectural exploration is the traversal of the design space to provide a spectrum of solutions for the designers selection Generally only the resources are considered (resource dominant) The fundamental architectural synthesis problem Explore the design space to minimize cost given: A circuit model (behavioral) A set of constraints (on cost) A set of functional resources (characterized for area, delay, etc.)

Temporal Scheduling Automated approaches to the fundamental problem consist of two related constrained optimization problems: Temporal Scheduling and Spatial Binding Temporal Scheduling Each architectural-level operation is reduced to resource operations and the time interval for the operation execution determined A graph of resources must be created such that one path from start to end exists to perform each operation (in parallel) The length of the path represents the operation latency Constraints include maximum latency, bounds on the resource usage per type, etc.

Scheduled Sequencing Graph BDDs T 0 T 1 T 2 T 3 T 4 T 5 NOP * + * > + + * > + * > * * Constraints: Maximum Latency: 5 *: 3 max +: 3 max >: 3 max NOP

Spatial Binding Spatial Binding Determining the detailed interconnections of the data path and the logic-level specifications of the control unit The scheduled sequencing graph represents all necessary operations Each resource may cover several operations (for example, an ALU covers addition, subtraction, comparison, etc.) A simple case is dedicated resource binding - each operation is bound to one resource In general, we wish to share a resources - we don t need to replicate beyond the maximum number of resources at any given temporal depth In essence, this becomes a set-covering problem (NPC) Once a set of resources is identified, area and performance estimations can be calculated from model data

Scheduled Sequencing Graph w/resource Binding BDDs T 0 T 1 T 2 T 3 T 4 T 5 NOP * + * > + + * > + * > * * NOP

Automated Synthesis Design Process Behavioral Level MULT Register Transfer Level high-level synthesis logic synthesis ADD RAM CONTROL Gate Level geometrical synthesis D D Physical Design +

Logic-level Synthesis Logic-level synthesis deals with the transformation of an macroscopic model to an interconnection of logic primitives These primitives determine the microscopic (i.e., gate-level) structure of the circuit A basic approach is to replace stock modules with preoptimized stock logic-level representations Local optimizations of do not necessarily create an optimal result Cost is increased (area, latency, power) / decreased (design time) Alternatively, the modules are partitioned into manageable designs (generally straightforward for the data path) Several different types of finite-state machine decompositions exist

Logic-level Synthesis Tasks CEG790 Optimize finite-state machines by state minimization Stated as a bi-partite covering problem Select a state encoding (for control unit) Heuristics include one-hot, almost one-hot, minimal-bit change, prioritized-adjacency, etc. Minimize the related combinational component Two-level (SOP) minimization (Quine-McCluksey, Rudell- Sangiovanni, and McGeer algorithms) Multi-level minimization (Decomposition is non-trivial) Cell-library binding Implement minimized combinational functions as an interconnection of devices that are available in a given technology library (a bound network)

Automated Synthesis Behavioral Level high-level synthesis D D Register Transfer Level + logic synthesis Gate Level geometrical synthesis Physical Design

Geometrical-level Synthesis Geometrical-level synthesis (physical design) consists of creating a physical view at the geometric level It entails the specification of all geometric patterns defining the physical layout of the chip, as well as their position

Validation and Verification Design Process Behavioral Level high-level synthesis... PC = PC + 1; FETCH(PC); DECODE(INST);... + D D Register Transfer Level Gate Level logic synthesis? Physical Design geometrical synthesis ADD RAM MULT CONTROL

Validation and Verification Design Process Behavioral Level compilation Register Transfer Level Gate Level high-level synthesis logic synthesis geometrical synthesis compilation simulation compilation simulation V er i f i c a ti o n Physical Design simulation

Validation and Verification Circuit validation consists of acquiring reasonable certainty that a circuit will function correctly Assume no manufacturing fault is present Can be performed via simulation or via verification Simulation (Traditional Validation) Traditional verification consists of analyzing circuit variables (at different levels) over an interval of time Unless exhaustive, simulation does not provide full coverage Formal Verification (Design Verification) Verification methods mathematically prove or disprove the consistency between two models, or a model and some set of circuit model properties Requires a suitable representation system Proofs must be mechanizable CEG790

Formal Verification Property Testing (Testing via partial specification) Safety properties: verify bad things will never occur ex: for every path in the future, at every node on the path, if the Request signal is low, it remain lows until Acknowledge goes low Liveness properties: verify good things will occur ex: for every path in the future, if there has been a Request signal, then eventually there will be an Acknowledge signal in response to the request on at least one node on the path Popular FV approaches include: Theorem Proving Symbolic Model Checking Recursive Learning many graph-based approaches (BDDs, etc.)

Automated Theorem-Provers Automated Theorem-Proving techniques require: A representation of the model and/or properties as a series of formulas (axioms) in a High-Order Language A finite collection of rules of inference By means of a rule of inference a new formula can be derived from a given finite set of formulas A formal proof is a finite sequence of formulas, each member of which is either an axiom or the outcome of apply a rule of inference to previous members of the sequence The last formal proof is the theorem Allows exhaustive (heuristic directed) search for proof Theorem-provers presently require extensive user intervention

Equivalence Checking Equivalence checking (complete functional testing) The function of an model is equivalent to the function of another if input, state, and output correspondences exist under which the functions are equivalent Many techniques require factorial exploration of the input and state correspondence search space (in the worst-case) FV equivalence checking of designs is known to be intractable co-np complete heuristic techniques to achieve efficient performance

X 1 CEG790 Representations of External Function BDDs X 2 X 3 M 1 M 2 M 3 M 4 Schematic of simplecircuit F F X 1 X 2 X 3 F 1 d d 0 0 1 1 0 0 1 0 1 0 0 1 1 0 0 0 0 F X 1 (( X 2 X 3 ) (X 2 X 3 )) ARCHITECTURE behavioral OF simplecircuit IS BEGIN F <= (not X1) and ((not X2) and X3) or (X2 and (not X3))) after 10 ns; END behavioral

BDD Representation BDDs BDD for F X 3 0 X 3 X 1 X 2 1 1 0 0 1 1 0 X 1 X 2 X 3 F 1 d d 0 0 1 1 0 0 1 0 1 0 0 1 1 0 0 0 0 1 0 F X 1 (( X 2 X 3 ) (X 2 X 3 )) ARCHITECTURE behavioral OF simplecircuit IS BEGIN F <= (not X1) and ((not X2) and X3) or (X2 and (not X3))) after 10 ns; END behavioral

X 1 BDD Representation BDDs X 2 X 3 M 1 M 2 M 3 M 4 Schematic of simplecircuit ARCHITECTURE structural OF simplecircuit IS SIGNAL M1, M2, M3, M4: bit ; BEGIN gate0: nor2 PORT MAP ( O => M1, a=> X2, b => X3 ); gate1: nor2 PORT MAP ( O => M2, a=> X2, b => M1 ); gate2: nor2 PORT MAP ( O => M3, a=> M1, b => X3 ); gate3: nor2 PORT MAP ( O => M4, a=> M1, b => M3 ); gate4: nor2 PORT MAP ( O => F, a=> X1, b => M4 ); output: probe PORTMAP ( F ); END structural F F CEG790 X 1 X 2 X 3 M 1 M 2 M 3 M 4 F 1 1 1 0 0 0 1 0 1 1 0 0 0 1 0 0 1 0 1 0 1 0 0 0 1 0 0 1 0 0 1 0 0 1 1 0 0 1 0 0 0 1 0 0 0 1 0 1 0 0 1 0 1 0 0 1 0 0 0 1 0 0 1 0

X 1 BDD Representation BDDs X 2 X 3 M 1 M 2 M 3 M 4 Schematic of simplecircuit F F CEG790 X 1 X 2 X 3 M 1 M 2 M 3 M 4 F 1 1 1 0 0 0 1 0 1 1 0 0 0 1 0 0 1 0 1 0 1 0 0 0 1 0 0 1 0 0 1 0 0 1 1 0 0 1 0 0 0 1 0 0 0 1 0 1 0 0 1 0 1 0 0 1 0 0 0 1 0 0 1 0 1 X 1 M 1 0 0 1 1 X2 1 0 M 1 0 BDD representing the characteristic function of NOR gate M 1 : (M 1 (X 2 X 3 ) ) X 2 X 3 M 1 BDD 1 d 0 1 0 1 0 1 0 0 1 1 otherwise 0 1 0

BDD Representation XBDDs 1 X 2 X 3 M 1 M 2 M 3 M 4 F 1 X 1 X 2 X 3 M 1 M 2 M 3 M 4 F 1 1 1 0 0 0 1 0 1 1 0 0 0 1 0 0 1 0 1 0 1 0 0 0 1 0 0 1 0 0 1 0 0 1 1 0 0 1 0 0 0 1 0 0 0 1 0 1 0 0 1 0 1 0 0 1 0 0 0 1 0 0 1 0 (M 1 (X 2 X 3 ) ) (M 2 (X 2 M 1 ) ) (M 3 (X 3 M 1 ) ) (M 4 (M 2 M 3 ) ) (F (X 1 M 4 ) ) BDD representing structural relationships All edges not shown lead to the 0-terminal

Binary Decision Diagrams BDDs have been shown to be efficient under a mild assumption on the order of the variables OBDDS have more practical applications than most graphical representations: OBDDs can be transformed into canonical forms to uniquely characterize their function Operations on OBDDs can be done in O( G ) time OBDDs are the basis for many new FV approaches Unfortunately, the size of the BDD is based upon the variable ordering and can have exponential size in the worst case FV problems are far from solved!

Modern Design Approaches The most common contemporary design approaches are: Custom Approach: Designed primarily by hand (so to speak) Full Custom Vs. Standard Cell - Using standard cell designs (same height, variable width) and routing channels simplifies design process Highest Density, Highest Manufacturing Cost Semi-custom Approach: Design process focuses on CAD tools Gate array: a partially prefabricated IC that incorporates a large number of identical devices (ex: 3-input NAND or NOR gates) that are laid out in a regular two-dimensional array Technology mapping: The process of designing a logic function as a network of the available devices (a.k.a cell-library binding) Lower Density (110-125% devices of equivalent custom design) Inexpensive: Requires only metal deposition (to define device interconnections), economies of scale

Modern Design Approaches The most common contemporary design approaches are: PLD Approach: Often dependent on CAD tools ex: Field Programmable Gate Arrays (FPGAs) VLSI modules that can be programmed to implement a digital system consisting of tens of thousands of gates. LSI PLDs implement two-level combinational and sequential networks FPGAs allow the realization of reprogrammable multilevel networks and complex systems on a single chip Low cost May produce slower network May require a larger silicon area

Reengineering Design Process Behavioral Level high-level synthesis? + D D Register Transfer Level logic synthesis Gate Level geometrical synthesis? Physical Design

CAD tools for Design Recovery REW 98 Sample Preparation REW 98 Behavioral Level Etching Image Acquisition SEM Staging Image Processing BMP to GDL Geometric Description DRC Model Generation Domain Specific Info. Register Transfer Level Syntactic Pattern Matching Semantic Pattern Matching Gate-level Netlist Syntactic Pattern Matching Transistor Netlist