SOFTWARE ARCHITECTURE For MOLECTRONICS

Size: px
Start display at page:

Download "SOFTWARE ARCHITECTURE For MOLECTRONICS"

Transcription

1 SOFTWARE ARCHITECTURE For MOLECTRONICS John H. Reif Duke University Computer Science Department In Collaboration with: Allara, Hill, Reed, Seminario, Tour, Weiss Research Report Presentation to DARPA: Sept 30, 1999 DARPA Moletronics Program

2 Title of DARPA Research Effort: Moleware and the Molecular Computer overall PI of DARPA Contract: James M. Tour, Rice University Background: The Hardware Tour's contract is developing a software architecture for a molecular scale computational system, which will be termed here a Molecular Computer(MC). The MC is to use moleware components of molecular scale (e.g., organic molecules that act as diodes and transistors) connected in a regular array. On the other hand, at this time, the wiring between these moleware components is assumed at this time to be conventional, with reconfigurable interconnections between moleware components.

3 MOLEWARE SOFTWARE ARCHITECTURE Subcontract PI Name: John Reif Our Areas of Investigation in Software There are two aspects of this that we at Duke are investigating: A. Evolutionary software for the design of new moleware components. The approach was considered by Reif and a Duke graduate student Richard Kisley and described in some detail in the recent ONR report this summer, But this work is not the primary objective this fall, B. Techniques for Programming and Simulating the MC to do a well specified task (e.g., an 8 bit adder). This is our primary objective this fall, 1999, and is described below. A Duke master student Christopher J. Butler is currently working with Reif on this.

4 Programming the MC: Summary The immediate goal is to produce a bit-serial adder, which is a simple feed-forward, combinatoric type device (requiring no loop-back circuits that may cause the devices to have different states). It is assumed that the only moleware components of molecular scale are the organic molecules that act as diodes and transistors, and that these are connected in a regular array, but that the wiring between these moleware components is assumed at this time to be conventional, with reconfigurable interconnections between moleware components. We are using a modular approach to programming the MC; the programming of each module reduces to a combinatorial optimization problem (which may be solved by a variety of heuristic techniques including evolutionary methods), and the communication between the modules makes use of a conventional VLSI interconnect topology.

5 I/O of the MC: The MC is assumed to have certain I/O wires used for input and output. When programming the MC, these wires are partitioned into three categories: "input" wires for input of the Boolean values of the computational problem. "output" wires for output of the Boolean values of the computational problem. "control" wires used to control the behavior of the MC. These might be set to rational values on the range from 0 to 1 (that is, they are not necessarily Boolean). Given a specific well specified computational task, we would like to rewire the interconnect topology of the MC, and set the "control" wires to the MC to fixed values, so the MC will execute the specified computational task.

6 MOLEWARE ARCHITECTURE: Moletronics Processing Array Contains basic logic gates Surrounded by: Reconfigurable Interconnects INPUTs: X = vector of m data inputs Y = vector of l control inputs X Y OUTPUT: O(X,Y) O(X,Y)= vector of n outputs Initial Conditions of System: random interconnects meaningless output for a given data input

7 Detailed Discussion of Programming the MC: Modular Decomposition While any computational task can be specified by a table relating the values of the input wires to output wires, an arbitrary true table with n Boolean inputs, for even moderate size n, has size too large to easily work with. Instead we wish to make (portions of) the MC simulate a circuit (we will give below an example of a carry-adder circuit) that can be modularly decomposed. That way, the programming problem for the MC is reduced to many smaller problems that can be efficiently solved by appropriately programming selected portions of the MC, as described below. Using Modular Decomposition By using a modular approach to programming the MC, we can determine and separate key functional modules to be executed, and thus to separately program and test these modules.

8 Assumptions of Modular Decomposition: we need to assume the MC has some way to do the following: (i) select sub-portions of the MC by external control (ii) wire together distinct portions of the MC that execute distinct modules. Both of these problems (i) and (ii) can be solved by the use of conventional reconfigurable VLSI wiring technology, which we are assuming to be on-chip. Note: The problem is not Feasible for Large Circuits: In the case where there no mechanism to solve (i) and (ii), then we need to consider the entire MC as a black box, and the problem of programming such a MC has no known efficient solution. In particular, then the problem is NP hard (i.e., equivalent to the SAT problem). There are only heuristics for such problems; no known fast solutions, and they will only in general give approximate circuits that may not always work correctly. Further Note: An Analogy with the Human Brain: The human brain (which has inspired our ideas for programming the MC) makes an important use of a similar selection mechanism, viewable by magnetic resonance imaging, that essentially provides a mechanism for problem (i); it is used for example when we concentrate on learning or executing specific tasks within the limbic and the prefrontal cortex.

9 Programming the MC Using Modular Decomposition for a 8 bit adder: The 8 bit adder circuit can be decomposed into a sequence of 8 distinct 1 bit carry-adder subcircuits, with "glue" logic between these. Each of these 1 bit carry-adder subcircuits has three inputs: the carry bit, and two input bits from the numbers to be added. Each of these 1 bit carry-adder subcircuits constitutes a module which needs to be programmed on separate portions of the MC, and wired together using the interconnect topology. These modules communicate via the interconnect technology (recall that the wiring between these moleware components is assumed at this time to be conventional, with reconfigurable interconnections between moleware components). Our software will attempt to locate these modules so that consecutive modules are close together, minimizing distance communications between them.

10 Determining a Modular Decomposition: A modular decomposition of a computational task can be done for many key computational tasks. We are developing some software to do this task semiautomatically in the case where the computational task is of a class known as prefix computation ; the class includes: integer arithmetic, scan operations and many much larger tasks. Can use techniques developed in the field of parallel algorithms (see the text "Synthesis of Parallel Algorithms", edited by J Reif, published by Morgan Kaufmann.).

11 Training the MC: To execute a specified module, we need to train the MC, by (1) determining a specified portion of the MC to be selected by use of the interconnect topology, and (2) determining, if possible, the settings for the "control" wires which make that portion of the MC execute the base module. Both of these problems associated with training the MC are combinatorial optimization problems that can needs to be solved. To do this, we will be testing some combinatorial optimization techniques, including: Genetic Algorithms(GA) and Simulated Annealing(SA). In addition, the chemistry of the moleware components could be changed (e.g., by the addition of new solvents, or by burnout ) at least somewhat during training, possibly necessitating a sequence of iterations of the training procedure as the chemistry evolves. The key point is that as long as the module is of bounded size, then the computational effort to train the MC is modest.

12 Modeling and Simulating the MC To demonstrate the feasibility of programming the MC in this manner, it is essential that we do software simulations of the programming process. This implies we need: a software model to model and simulate the MC. Modeling Moleware Components Some of the moleware components (e.g., diodes) have already been: demonstrated by Tour and Reed, and electrical properties have both been empirically measured by Reed, and simulated by Jorge M. Seminario using ab initio functional density methods. We will use the signal thresholds and analog response curves (e.g., current, voltage curves) that they have experimentally determined for multiple samples of moleware components.

13 TESTING METHODOLOGY for MOLECTRONICS: Testing System: may be Symmetric MultiProcessors (SMPs) Interface to Testing System: During Assembly: via I/O leads After Assembly: via input & output wires Multiple Testing Stages in Fabrication & Assembly Components to be Tested: Individually & In Place

14 TESTING for DIGITAL RESPONSE: DETERMINING FAULT LOCATIONS COMPONENT I/O Tests: For each logical component: Test if usable truth table output obtained Cycle through subsets of inputs to determine truth tables BUNDLED I/O Tests: Decreases Number of I/O testing Combinations Increases Likelihood of Overcoming Single Fault Locations AGGREGATE Fault Testing on Subcircuits: May employ Sophisticated Software Routines developed fo VLSI testing [Reif, 1993]

15 MEASURING and MODELING ANALOG RESPONSE 1 st Year: using 2D probed configuration may use hybrid on-chip multiplexer INITIAL VALIDATIONS: characterize & tune: electrode configuration, individual components, signal value/thresholds [1] APPROXIMATE Numerical Parameters signal thresholds response curves [2] Develop Software MODELS: for component performance [3] TUNE MANUFACTURE of Components Goal: INCREASE YIELDS of working Components [4] Use ITERATIVE REFINEMENT of Above In Later Years: Full 3D structure NOT always Accessible to Surface Probes Will Use Previously Developed Numerical Software Models

16 Possible Variability of Moleware Components: 1) in their number, chemical properties, & spatial location 2) variable electrical characteristics & prone to faults. Variability in the experimental results will be useful: it will allow us to develop a statistical model for the probability distribution of the electrical characteristics of the moleware components. Statistical Modeling: We are developing a statistical model for the probability distribution is to model the curves by a fixed function (e.g., exponential and polynomials) with a fixed number of numerical parameters; then the probability distribution can simply be generated from interpolated probability distributions on these parameters. Using this statistical model: We can artificially generate an example set of moleware components have variable electrical characteristics, and some of which are likely to be faulty. May also be used to predict the affect of errors within subcircuits and possibly also tune the manufacture of the moleware components to increase yields of working components.

17 Simulating the MC using SPICE We are using a UNIX version (i.e., PSPICE) of the circuit simulator SPICE to provide a circuit simulation of the MC; the wires are simulated using the conventional models for VLSI wires, whereas the moleware components of the MC will be simulated by choosing a sample of the moleware components using the learnt statistical model. While moleware components for wires and diodes have been demonstrated, others such as transistors have not been demonstrated, and so we have no empirical data for their behavior. Hence, we can simulate only an MC without restoring logic provided by transistors. Goals: We intend to determine the rate that the signals will degrade with the number of steps of the computation, due to both to the lack of restoring logic and also the variability in individual moleware components.

18 Fall, 1999 Demonstration Example: an Adder Circuit As a concrete example of these techniques for programming and simulating the MC, we will attempt to demonstrate this fall, 1999, by software simulation, the programming of an 8 bit adder. This is a simple feed-forward, combinatoric type device (requiring no loop-back circuits that may cause the devices to have different states).

19 The Modular versus the Neural Network Approach to Programming the MC Neural network learning works well for tasks involving approximation, clustering, etc. Our task under the current DARPA contract is to get an adder working on the MC. The task of addition and other arithmetic tasks are not at all well suited for neural network learning, since this is a task that allows for no errors or approximation. For the task of addition, the process of neural network learning amounts to simply memorizing the entire addition table, and that requires roughly as many nodes as the number of items to be memorized. (exponential in the number of bits). Also, for that task, the neural network approach does not work efficiently: for we need to iterate and test the system on the average at least the size of the truth table (exponential in the number of bits). Other Heuristic Methods: (In addition to Neural Network Learning) that may Speed Up Convergence Somewhat (but all still are exponential in the number of bits). Evolutionary Programming Techniques Simulated Annealing Techniques Nested Annealing Techniques [Reif]

20 When the Neural Network Approach Works for Programming the MC It is feasible to use a neural network approach (or any one of a number of other heuristic approaches) for training the MC to execute tasks involving a very small number of bits. That s another reason why it is essential to use a modular decomposition of the problem. Further Analogy with Human Brain: Again, consider the human brain. We learn the addition table for a digit or so (about 3 bits), then we start using sequential algorithm for addition. So the brain uses exactly the sort of modular technique as described. We do not memorize the entire addition table for even moderate size numbers because that is not an efficient use of memory resources and learning effort.

21 Additional Slides on ERROR-RESILIENT PROGRAMMING METHODOLOGIES for MOLECTRONICS

22 ERROR RESILIENCY Key Software Problem: PROGRAMMING a moletronic computer to do useful computation when: Use highly UNRELIABLE components Some components may be only PARTIALLY functional Coping With Dynamic Faults: Programming Needs To Do: Efficient DETECTION of Faulty Components on an ongoing basis REPAIR Faults by Bypassing Faulty Components ERROR-RESILIENT PROGRAMMING TECHNIQUES: (3) Fault Resiliency Using REDUNDANCY [von Neumann, 1950s] (4) MODULAR Fault Resilient Software Architecture e.g., [Gacs,1989][Gacs,Reif,1990] (5) Task RE-ASSIGNMENT e.g., [Kar, Nikolaou,Reif,1984]

23 ERROR-RESILIENT PROGRAMMING TECHNIQUE #1 Fault Resiliency Using REDUNDANCY [von Neumann, 1950s] Transform Digital Circuit with Faulty Components Using 3-way Redundancy Replicate Logical Components and use Majority Voting Replication Majority Voting

24 ERROR-RESILIENT PROGRAMMING TECHNIQUE #2: MODULAR Fault Resilient Software Architecture [Gacs,1989][Gacs,Reif,1990] Use Hierarchical Structured Fault Detection and Correction Decision Making via Majority o-director Co-Director Co-Director Level 2 Manager Level 2 Manager Level 2 Manager Level 1 Manager Level 1 Manager Level 1 Manager processor processor processor

25 ERROR-RESILIENT PROGRAMMING TECHNIQUE #3: Task RE-ASSIGNMENT [Kar, Nikolaou,Reif,1984] Re-Mapping Algorithm Uses Decomposition of Task Network Re-Mapping to Sub-Network of Reliable Components

SOFTWARE ARCHITECTURE For MOLECTRONICS

SOFTWARE ARCHITECTURE For MOLECTRONICS SOFTWARE ARCHITECTURE For MOLECTRONICS John H. Reif Computer Science Dept Duke Univ. In Collaboration with: Allara, Hill, Reed, Seminario, Tour, Weiss DARPA Moletronics Program BLACK BOX ARCHITECTURE:

More information

CAD Algorithms. Circuit Partitioning

CAD Algorithms. Circuit Partitioning CAD Algorithms Partitioning Mohammad Tehranipoor ECE Department 13 October 2008 1 Circuit Partitioning Partitioning: The process of decomposing a circuit/system into smaller subcircuits/subsystems, which

More information

Programme Outcome COURSE OUTCOMES MCA

Programme Outcome COURSE OUTCOMES MCA Programme Outcome PO1: To provide trained human resource for the IT industry. COURSE OUTCOMES MCA MCA 101 : Object Oriented Programming CO1 The students develops a sound approach to problem solving using

More information

1 Definition of Reduction

1 Definition of Reduction 1 Definition of Reduction Problem A is reducible, or more technically Turing reducible, to problem B, denoted A B if there a main program M to solve problem A that lacks only a procedure to solve problem

More information

Digital System Design

Digital System Design Digital System Design Analog time varying signals that can take on any value across a continuous range of voltage, current or other metric Digital signals are modeled with two states, 0 or 1 underneath

More information

APPENDIX-A INTRODUCTION TO OrCAD PSPICE

APPENDIX-A INTRODUCTION TO OrCAD PSPICE 220 APPENDIX-A INTRODUCTION TO OrCAD PSPICE 221 APPENDIX-A INTRODUCTION TO OrCAD PSPICE 1.0 INTRODUCTION Computer aided circuit analysis provides additional information about the circuit performance that

More information

Applied Cloning Techniques for a Genetic Algorithm Used in Evolvable Hardware Design

Applied Cloning Techniques for a Genetic Algorithm Used in Evolvable Hardware Design Applied Cloning Techniques for a Genetic Algorithm Used in Evolvable Hardware Design Viet C. Trinh vtrinh@isl.ucf.edu Gregory A. Holifield greg.holifield@us.army.mil School of Electrical Engineering and

More information

Programmable Logic Devices II

Programmable Logic Devices II São José February 2015 Prof. Hoeller, Prof. Moecke (http://www.sj.ifsc.edu.br) 1 / 28 Lecture 01: Complexity Management and the Design of Complex Digital Systems Prof. Arliones Hoeller arliones.hoeller@ifsc.edu.br

More information

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

Advanced VLSI Design Prof. Virendra K. Singh Department of Electrical Engineering Indian Institute of Technology Bombay Advanced VLSI Design Prof. Virendra K. Singh Department of Electrical Engineering Indian Institute of Technology Bombay Lecture 40 VLSI Design Verification: An Introduction Hello. Welcome to the advance

More information

How Much Logic Should Go in an FPGA Logic Block?

How Much Logic Should Go in an FPGA Logic Block? How Much Logic Should Go in an FPGA Logic Block? Vaughn Betz and Jonathan Rose Department of Electrical and Computer Engineering, University of Toronto Toronto, Ontario, Canada M5S 3G4 {vaughn, jayar}@eecgutorontoca

More information

Research Incubator: Combinatorial Optimization. Dr. Lixin Tao December 9, 2003

Research Incubator: Combinatorial Optimization. Dr. Lixin Tao December 9, 2003 Research Incubator: Combinatorial Optimization Dr. Lixin Tao December 9, 23 Content General Nature of Research on Combinatorial Optimization Problem Identification and Abstraction Problem Properties and

More information

TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES

TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Kewal K. Saluja University of Wisconsin - Madison Motivation, Fault Models and some Callenges Overview Motivation Technology, Test cost, and VLSI realization

More information

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

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University Hardware Design Environments Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University Outline Welcome to COE 405 Digital System Design Design Domains and Levels of Abstractions Synthesis

More information

Switching to AQA from Edexcel

Switching to AQA from Edexcel Switching to AQA from Edexcel This resource compares our new GCSE Computer Science specification (8520) with the new Edexcel Computer Science specification (1CP1). If you are thinking of switching from

More information

Unit 8: Coping with NP-Completeness. Complexity classes Reducibility and NP-completeness proofs Coping with NP-complete problems. Y.-W.

Unit 8: Coping with NP-Completeness. Complexity classes Reducibility and NP-completeness proofs Coping with NP-complete problems. Y.-W. : Coping with NP-Completeness Course contents: Complexity classes Reducibility and NP-completeness proofs Coping with NP-complete problems Reading: Chapter 34 Chapter 35.1, 35.2 Y.-W. Chang 1 Complexity

More information

PROBLEM SOLVING AND SEARCH IN ARTIFICIAL INTELLIGENCE

PROBLEM SOLVING AND SEARCH IN ARTIFICIAL INTELLIGENCE Artificial Intelligence, Computational Logic PROBLEM SOLVING AND SEARCH IN ARTIFICIAL INTELLIGENCE Lecture 2 Uninformed Search vs. Informed Search Sarah Gaggl Dresden, 28th April 2015 Agenda 1 Introduction

More information

Introduction to Combinatorial Algorithms

Introduction to Combinatorial Algorithms Fall 2009 Intro Introduction to the course What are : Combinatorial Structures? Combinatorial Algorithms? Combinatorial Problems? Combinatorial Structures Combinatorial Structures Combinatorial structures

More information

DIGITAL DESIGN TECHNOLOGY & TECHNIQUES

DIGITAL DESIGN TECHNOLOGY & TECHNIQUES DIGITAL DESIGN TECHNOLOGY & TECHNIQUES CAD for ASIC Design 1 INTEGRATED CIRCUITS (IC) An integrated circuit (IC) consists complex electronic circuitries and their interconnections. William Shockley et

More information

CHAPTER 1 INTRODUCTION

CHAPTER 1 INTRODUCTION CHAPTER 1 INTRODUCTION Rapid advances in integrated circuit technology have made it possible to fabricate digital circuits with large number of devices on a single chip. The advantages of integrated circuits

More information

Copyright 2000, Kevin Wayne 1

Copyright 2000, Kevin Wayne 1 Guessing Game: NP-Complete? 1. LONGEST-PATH: Given a graph G = (V, E), does there exists a simple path of length at least k edges? YES. SHORTEST-PATH: Given a graph G = (V, E), does there exists a simple

More information

Binary Decision Diagrams and Symbolic Model Checking

Binary Decision Diagrams and Symbolic Model Checking Binary Decision Diagrams and Symbolic Model Checking Randy Bryant Ed Clarke Ken McMillan Allen Emerson CMU CMU Cadence U Texas http://www.cs.cmu.edu/~bryant Binary Decision Diagrams Restricted Form of

More information

EE434 ASIC & Digital Systems Testing

EE434 ASIC & Digital Systems Testing EE434 ASIC & Digital Systems Testing Spring 2015 Dae Hyun Kim daehyun@eecs.wsu.edu 1 Introduction VLSI realization process Verification and test Ideal and real tests Costs of testing Roles of testing A

More information

Properties of Biological Networks

Properties of Biological Networks Properties of Biological Networks presented by: Ola Hamud June 12, 2013 Supervisor: Prof. Ron Pinter Based on: NETWORK BIOLOGY: UNDERSTANDING THE CELL S FUNCTIONAL ORGANIZATION By Albert-László Barabási

More information

Collapsing for Multiple Output Circuits. Diagnostic and Detection Fault. Raja K. K. R. Sandireddy. Dept. Of Electrical and Computer Engineering,

Collapsing for Multiple Output Circuits. Diagnostic and Detection Fault. Raja K. K. R. Sandireddy. Dept. Of Electrical and Computer Engineering, Diagnostic and Detection Fault Collapsing for Multiple Output Circuits Raja K. K. R. Sandireddy Dept. Of Electrical and Computer Engineering, Auburn University, Auburn AL-36849 USA Outline Introduction

More information

EE244: Design Technology for Integrated Circuits and Systems Outline Lecture 9.2. Introduction to Behavioral Synthesis (cont.)

EE244: Design Technology for Integrated Circuits and Systems Outline Lecture 9.2. Introduction to Behavioral Synthesis (cont.) EE244: Design Technology for Integrated Circuits and Systems Outline Lecture 9.2 Introduction to Behavioral Synthesis (cont.) Relationship to silicon compilation Stochastic Algorithms and Learning EE244

More information

CHAPTER 6 ORTHOGONAL PARTICLE SWARM OPTIMIZATION

CHAPTER 6 ORTHOGONAL PARTICLE SWARM OPTIMIZATION 131 CHAPTER 6 ORTHOGONAL PARTICLE SWARM OPTIMIZATION 6.1 INTRODUCTION The Orthogonal arrays are helpful in guiding the heuristic algorithms to obtain a good solution when applied to NP-hard problems. This

More information

Chapter 9. Design for Testability

Chapter 9. Design for Testability Chapter 9 Design for Testability Testability CUT = Circuit Under Test A design property that allows: cost-effective development of tests to be applied to the CUT determining the status of the CUT (normal

More information

Fault Tolerant and Secure Architectures for On Chip Networks With Emerging Interconnect Technologies. Mohsin Y Ahmed Conlan Wesson

Fault Tolerant and Secure Architectures for On Chip Networks With Emerging Interconnect Technologies. Mohsin Y Ahmed Conlan Wesson Fault Tolerant and Secure Architectures for On Chip Networks With Emerging Interconnect Technologies Mohsin Y Ahmed Conlan Wesson Overview NoC: Future generation of many core processor on a single chip

More information

6. NEURAL NETWORK BASED PATH PLANNING ALGORITHM 6.1 INTRODUCTION

6. NEURAL NETWORK BASED PATH PLANNING ALGORITHM 6.1 INTRODUCTION 6 NEURAL NETWORK BASED PATH PLANNING ALGORITHM 61 INTRODUCTION In previous chapters path planning algorithms such as trigonometry based path planning algorithm and direction based path planning algorithm

More information

Artificial Neural Network based Curve Prediction

Artificial Neural Network based Curve Prediction Artificial Neural Network based Curve Prediction LECTURE COURSE: AUSGEWÄHLTE OPTIMIERUNGSVERFAHREN FÜR INGENIEURE SUPERVISOR: PROF. CHRISTIAN HAFNER STUDENTS: ANTHONY HSIAO, MICHAEL BOESCH Abstract We

More information

VLSI Test Technology and Reliability (ET4076)

VLSI Test Technology and Reliability (ET4076) VLSI Test Technology and Reliability (ET4076) Lecture 8 (1) Delay Test (Chapter 12) Said Hamdioui Computer Engineering Lab Delft University of Technology 2009-2010 1 Learning aims Define a path delay fault

More information

DEVELOPMENT OF NEURAL NETWORK TRAINING METHODOLOGY FOR MODELING NONLINEAR SYSTEMS WITH APPLICATION TO THE PREDICTION OF THE REFRACTIVE INDEX

DEVELOPMENT OF NEURAL NETWORK TRAINING METHODOLOGY FOR MODELING NONLINEAR SYSTEMS WITH APPLICATION TO THE PREDICTION OF THE REFRACTIVE INDEX DEVELOPMENT OF NEURAL NETWORK TRAINING METHODOLOGY FOR MODELING NONLINEAR SYSTEMS WITH APPLICATION TO THE PREDICTION OF THE REFRACTIVE INDEX THESIS CHONDRODIMA EVANGELIA Supervisor: Dr. Alex Alexandridis,

More information

Combinational Circuits

Combinational Circuits Combinational Circuits Q. What is a combinational circuit? A. Digital: signals are or. A. No feedback: no loops. analog circuits: signals vary continuously sequential circuits: loops allowed (stay tuned)

More information

Metodologie di progetto HW Il test di circuiti digitali

Metodologie di progetto HW Il test di circuiti digitali Metodologie di progetto HW Il test di circuiti digitali Introduzione Versione del 9/4/8 Metodologie di progetto HW Il test di circuiti digitali Introduction VLSI Realization Process Customer s need Determine

More information

Neural Network based Energy-Efficient Fault Tolerant Architect

Neural Network based Energy-Efficient Fault Tolerant Architect Neural Network based Energy-Efficient Fault Tolerant Architectures and Accelerators University of Rochester February 7, 2013 References Flexible Error Protection for Energy Efficient Reliable Architectures

More information

«Computer Science» Requirements for applicants by Innopolis University

«Computer Science» Requirements for applicants by Innopolis University «Computer Science» Requirements for applicants by Innopolis University Contents Architecture and Organization... 2 Digital Logic and Digital Systems... 2 Machine Level Representation of Data... 2 Assembly

More information

Partitioning Methods. Outline

Partitioning Methods. Outline Partitioning Methods 1 Outline Introduction to Hardware-Software Codesign Models, Architectures, Languages Partitioning Methods Design Quality Estimation Specification Refinement Co-synthesis Techniques

More information

More Course Information

More Course Information More Course Information Labs and lectures are both important Labs: cover more on hands-on design/tool/flow issues Lectures: important in terms of basic concepts and fundamentals Do well in labs Do well

More information

Metodologie di progetto HW Il test di circuiti digitali

Metodologie di progetto HW Il test di circuiti digitali Metodologie di progetto HW Il test di circuiti digitali Introduzione Versione del 9/4/8 Metodologie di progetto HW Il test di circuiti digitali Introduction Pag. 2 VLSI Realization Process Customer s need

More information

ABC basics (compilation from different articles)

ABC basics (compilation from different articles) 1. AIG construction 2. AIG optimization 3. Technology mapping ABC basics (compilation from different articles) 1. BACKGROUND An And-Inverter Graph (AIG) is a directed acyclic graph (DAG), in which a node

More information

Combinatorial Algorithms. Unate Covering Binate Covering Graph Coloring Maximum Clique

Combinatorial Algorithms. Unate Covering Binate Covering Graph Coloring Maximum Clique Combinatorial Algorithms Unate Covering Binate Covering Graph Coloring Maximum Clique Example As an Example, let s consider the formula: F(x,y,z) = x y z + x yz + x yz + xyz + xy z The complete sum of

More information

Contemporary Design. Traditional Hardware Design. Traditional Hardware Design. HDL Based Hardware Design User Inputs. Requirements.

Contemporary Design. Traditional Hardware Design. Traditional Hardware Design. HDL Based Hardware Design User Inputs. Requirements. Contemporary Design We have been talking about design process Let s now take next steps into examining in some detail Increasing complexities of contemporary systems Demand the use of increasingly powerful

More information

Symbolic Manipulation of Boolean Functions Using a Graphical Representation. Abstract

Symbolic Manipulation of Boolean Functions Using a Graphical Representation. Abstract Symbolic Manipulation of Boolean Functions Using a Graphical Representation Randal E. Bryant 1 Dept. of Computer Science Carnegie-Mellon University Abstract In this paper we describe a data structure for

More information

Architecture and Synthesis of. Field-Programmable Gate Arrays with. Hard-wired Connections. Kevin Charles Kenton Chung

Architecture and Synthesis of. Field-Programmable Gate Arrays with. Hard-wired Connections. Kevin Charles Kenton Chung Architecture and Synthesis of Field-Programmable Gate Arrays with Hard-wired Connections by Kevin Charles Kenton Chung A thesis submitted in conformity with the requirements for the Degree of Doctor of

More information

Seminar on. A Coarse-Grain Parallel Formulation of Multilevel k-way Graph Partitioning Algorithm

Seminar on. A Coarse-Grain Parallel Formulation of Multilevel k-way Graph Partitioning Algorithm Seminar on A Coarse-Grain Parallel Formulation of Multilevel k-way Graph Partitioning Algorithm Mohammad Iftakher Uddin & Mohammad Mahfuzur Rahman Matrikel Nr: 9003357 Matrikel Nr : 9003358 Masters of

More information

NP-Hardness. We start by defining types of problem, and then move on to defining the polynomial-time reductions.

NP-Hardness. We start by defining types of problem, and then move on to defining the polynomial-time reductions. CS 787: Advanced Algorithms NP-Hardness Instructor: Dieter van Melkebeek We review the concept of polynomial-time reductions, define various classes of problems including NP-complete, and show that 3-SAT

More information

VLSI Test Technology and Reliability (ET4076)

VLSI Test Technology and Reliability (ET4076) VLSI Test Technology and Reliability (ET4076) Lecture 4(part 2) Testability Measurements (Chapter 6) Said Hamdioui Computer Engineering Lab Delft University of Technology 2009-2010 1 Previous lecture What

More information

Fuzzy Inspired Hybrid Genetic Approach to Optimize Travelling Salesman Problem

Fuzzy Inspired Hybrid Genetic Approach to Optimize Travelling Salesman Problem Fuzzy Inspired Hybrid Genetic Approach to Optimize Travelling Salesman Problem Bindu Student, JMIT Radaur binduaahuja@gmail.com Mrs. Pinki Tanwar Asstt. Prof, CSE, JMIT Radaur pinki.tanwar@gmail.com Abstract

More information

COMPUTER SIMULATION OF COMPLEX SYSTEMS USING AUTOMATA NETWORKS K. Ming Leung

COMPUTER SIMULATION OF COMPLEX SYSTEMS USING AUTOMATA NETWORKS K. Ming Leung POLYTECHNIC UNIVERSITY Department of Computer and Information Science COMPUTER SIMULATION OF COMPLEX SYSTEMS USING AUTOMATA NETWORKS K. Ming Leung Abstract: Computer simulation of the dynamics of complex

More information

Let s put together a Manual Processor

Let s put together a Manual Processor Lecture 14 Let s put together a Manual Processor Hardware Lecture 14 Slide 1 The processor Inside every computer there is at least one processor which can take an instruction, some operands and produce

More information

DEPARTMENT OF COMPUTER SCIENCE

DEPARTMENT OF COMPUTER SCIENCE Department of Computer Science 1 DEPARTMENT OF COMPUTER SCIENCE Office in Computer Science Building, Room 279 (970) 491-5792 cs.colostate.edu (http://www.cs.colostate.edu) Professor L. Darrell Whitley,

More information

Optimized Implementation of Logic Functions

Optimized Implementation of Logic Functions June 25, 22 9:7 vra235_ch4 Sheet number Page number 49 black chapter 4 Optimized Implementation of Logic Functions 4. Nc3xe4, Nb8 d7 49 June 25, 22 9:7 vra235_ch4 Sheet number 2 Page number 5 black 5 CHAPTER

More information

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

All MSEE students are required to take the following two core courses: Linear systems Probability and Random Processes MSEE Curriculum All MSEE students are required to take the following two core courses: 3531-571 Linear systems 3531-507 Probability and Random Processes The course requirements for students majoring in

More information

VALIDATING AN ANALYTICAL APPROXIMATION THROUGH DISCRETE SIMULATION

VALIDATING AN ANALYTICAL APPROXIMATION THROUGH DISCRETE SIMULATION MATHEMATICAL MODELLING AND SCIENTIFIC COMPUTING, Vol. 8 (997) VALIDATING AN ANALYTICAL APPROXIMATION THROUGH DISCRETE ULATION Jehan-François Pâris Computer Science Department, University of Houston, Houston,

More information

FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1

FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1 FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1 Anurag Dwivedi Digital Design : Bottom Up Approach Basic Block - Gates Digital Design : Bottom Up Approach Gates -> Flip Flops Digital

More information

Reals 1. Floating-point numbers and their properties. Pitfalls of numeric computation. Horner's method. Bisection. Newton's method.

Reals 1. Floating-point numbers and their properties. Pitfalls of numeric computation. Horner's method. Bisection. Newton's method. Reals 1 13 Reals Floating-point numbers and their properties. Pitfalls of numeric computation. Horner's method. Bisection. Newton's method. 13.1 Floating-point numbers Real numbers, those declared to be

More information

Parallel and High Performance Computing CSE 745

Parallel and High Performance Computing CSE 745 Parallel and High Performance Computing CSE 745 1 Outline Introduction to HPC computing Overview Parallel Computer Memory Architectures Parallel Programming Models Designing Parallel Programs Parallel

More information

AUTONOMOUS RECONFIGURATION OF IP CORE UNITS USING BLRB ALGORITHM

AUTONOMOUS RECONFIGURATION OF IP CORE UNITS USING BLRB ALGORITHM AUTONOMOUS RECONFIGURATION OF IP CORE UNITS USING BLRB ALGORITHM B.HARIKRISHNA 1, DR.S.RAVI 2 1 Sathyabama Univeristy, Chennai, India 2 Department of Electronics Engineering, Dr. M. G. R. Univeristy, Chennai,

More information

Function approximation using RBF network. 10 basis functions and 25 data points.

Function approximation using RBF network. 10 basis functions and 25 data points. 1 Function approximation using RBF network F (x j ) = m 1 w i ϕ( x j t i ) i=1 j = 1... N, m 1 = 10, N = 25 10 basis functions and 25 data points. Basis function centers are plotted with circles and data

More information

Genetic Algorithm for Circuit Partitioning

Genetic Algorithm for Circuit Partitioning Genetic Algorithm for Circuit Partitioning ZOLTAN BARUCH, OCTAVIAN CREŢ, KALMAN PUSZTAI Computer Science Department, Technical University of Cluj-Napoca, 26, Bariţiu St., 3400 Cluj-Napoca, Romania {Zoltan.Baruch,

More information

Fast Fuzzy Clustering of Infrared Images. 2. brfcm

Fast Fuzzy Clustering of Infrared Images. 2. brfcm Fast Fuzzy Clustering of Infrared Images Steven Eschrich, Jingwei Ke, Lawrence O. Hall and Dmitry B. Goldgof Department of Computer Science and Engineering, ENB 118 University of South Florida 4202 E.

More information

6. Combinational Circuits. Building Blocks. Digital Circuits. Wires. Q. What is a digital system? A. Digital: signals are 0 or 1.

6. Combinational Circuits. Building Blocks. Digital Circuits. Wires. Q. What is a digital system? A. Digital: signals are 0 or 1. Digital Circuits 6 Combinational Circuits Q What is a digital system? A Digital: signals are or analog: signals vary continuously Q Why digital systems? A Accurate, reliable, fast, cheap Basic abstractions

More information

ENG04057 Teste de Sistema Integrados. Prof. Eric Ericson Fabris (Marcelo Lubaszewski)

ENG04057 Teste de Sistema Integrados. Prof. Eric Ericson Fabris (Marcelo Lubaszewski) ENG04057 Teste de Sistema Integrados Prof. Eric Ericson Fabris (Marcelo Lubaszewski) Março 2011 Slides adapted from ABRAMOVICI, M.; BREUER, M.; FRIEDMAN, A. Digital Systems Testing and Testable Design.

More information

Testing Embedded Cores Using Partial Isolation Rings

Testing Embedded Cores Using Partial Isolation Rings Testing Embedded Cores Using Partial Isolation Rings Nur A. Touba and Bahram Pouya Computer Engineering Research Center Department of Electrical and Computer Engineering University of Texas, Austin, TX

More information

Switching to AQA from OCR

Switching to AQA from OCR Switching to AQA from OCR This resource compares our new GCSE Computer Science specification (8520) with the new OCR Computer Science specification (J276). If you are thinking of switching from OCR to

More information

On Using Machine Learning for Logic BIST

On Using Machine Learning for Logic BIST On Using Machine Learning for Logic BIST Christophe FAGOT Patrick GIRARD Christian LANDRAULT Laboratoire d Informatique de Robotique et de Microélectronique de Montpellier, UMR 5506 UNIVERSITE MONTPELLIER

More information

Metaheuristic Development Methodology. Fall 2009 Instructor: Dr. Masoud Yaghini

Metaheuristic Development Methodology. Fall 2009 Instructor: Dr. Masoud Yaghini Metaheuristic Development Methodology Fall 2009 Instructor: Dr. Masoud Yaghini Phases and Steps Phases and Steps Phase 1: Understanding Problem Step 1: State the Problem Step 2: Review of Existing Solution

More information

Digital Logic Design Exercises. Assignment 1

Digital Logic Design Exercises. Assignment 1 Assignment 1 For Exercises 1-5, match the following numbers with their definition A Number Natural number C Integer number D Negative number E Rational number 1 A unit of an abstract mathematical system

More information

Mapping Algorithms onto a Multiple-Chip Data-Driven Array

Mapping Algorithms onto a Multiple-Chip Data-Driven Array Mapping Algorithms onto a MultipleChip DataDriven Array Bilha Mendelson IBM Israel Science & Technology Matam Haifa 31905, Israel bilhaovnet.ibm.com Israel Koren Dept. of Electrical and Computer Eng. University

More information

FPGA Power Management and Modeling Techniques

FPGA Power Management and Modeling Techniques FPGA Power Management and Modeling Techniques WP-01044-2.0 White Paper This white paper discusses the major challenges associated with accurately predicting power consumption in FPGAs, namely, obtaining

More information

4. Hardware Platform: Real-Time Requirements

4. Hardware Platform: Real-Time Requirements 4. Hardware Platform: Real-Time Requirements Contents: 4.1 Evolution of Microprocessor Architecture 4.2 Performance-Increasing Concepts 4.3 Influences on System Architecture 4.4 A Real-Time Hardware Architecture

More information

Basic Idea. The routing problem is typically solved using a twostep

Basic Idea. The routing problem is typically solved using a twostep Global Routing Basic Idea The routing problem is typically solved using a twostep approach: Global Routing Define the routing regions. Generate a tentative route for each net. Each net is assigned to a

More information

Chapter 4. The Processor

Chapter 4. The Processor Chapter 4 The Processor Introduction CPU performance factors Instruction count Determined by ISA and compiler CPI and Cycle time Determined by CPU hardware 4.1 Introduction We will examine two MIPS implementations

More information

Figure 1. An 8-bit Superset Adder.

Figure 1. An 8-bit Superset Adder. Improving the Adder: A Fault-tolerant, Reconfigurable Parallel Prefix Adder Kyle E. Powers Dar-Eaum A. Nam Eric A. Llana ECE 4332 Fall 2012 University of Virginia @virginia.edu ABSTRACT

More information

A Path Decomposition Approach for Computing Blocking Probabilities in Wavelength-Routing Networks

A Path Decomposition Approach for Computing Blocking Probabilities in Wavelength-Routing Networks IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 8, NO. 6, DECEMBER 2000 747 A Path Decomposition Approach for Computing Blocking Probabilities in Wavelength-Routing Networks Yuhong Zhu, George N. Rouskas, Member,

More information

CHAPTER 1 INTRODUCTION. equipment. Almost every digital appliance, like computer, camera, music player or

CHAPTER 1 INTRODUCTION. equipment. Almost every digital appliance, like computer, camera, music player or 1 CHAPTER 1 INTRODUCTION 1.1. Overview In the modern time, integrated circuit (chip) is widely applied in the electronic equipment. Almost every digital appliance, like computer, camera, music player or

More information

VLSI Test Technology and Reliability (ET4076)

VLSI Test Technology and Reliability (ET4076) VLSI Test Technology and Reliability (ET476) Lecture 5 Combinational Circuit Test Generation (Chapter 7) Said Hamdioui Computer Engineering Lab elft University of Technology 29-2 Learning aims of today

More information

Fault-Tolerant Computing

Fault-Tolerant Computing Fault-Tolerant Computing Hardware Design Methods Nov 2007 Self-Checking Modules Slide 1 About This Presentation This presentation has been prepared for the graduate course ECE 257A (Fault-Tolerant Computing)

More information

ECE 637 Integrated VLSI Circuits. Introduction. Introduction EE141

ECE 637 Integrated VLSI Circuits. Introduction. Introduction EE141 ECE 637 Integrated VLSI Circuits Introduction EE141 1 Introduction Course Details Instructor Mohab Anis; manis@vlsi.uwaterloo.ca Text Digital Integrated Circuits, Jan Rabaey, Prentice Hall, 2 nd edition

More information

Boolean Representations and Combinatorial Equivalence

Boolean Representations and Combinatorial Equivalence Chapter 2 Boolean Representations and Combinatorial Equivalence This chapter introduces different representations of Boolean functions. It then discusses the applications of these representations for proving

More information

Parallel Simulated Annealing for VLSI Cell Placement Problem

Parallel Simulated Annealing for VLSI Cell Placement Problem Parallel Simulated Annealing for VLSI Cell Placement Problem Atanu Roy Karthik Ganesan Pillai Department Computer Science Montana State University Bozeman {atanu.roy, k.ganeshanpillai}@cs.montana.edu VLSI

More information

Issues in Programming Language Design for Embedded RT Systems

Issues in Programming Language Design for Embedded RT Systems CSE 237B Fall 2009 Issues in Programming Language Design for Embedded RT Systems Reliability and Fault Tolerance Exceptions and Exception Handling Rajesh Gupta University of California, San Diego ES Characteristics

More information

Contents. Index... 11

Contents. Index... 11 Contents 1 Modular Cartesian Genetic Programming........................ 1 1 Embedded Cartesian Genetic Programming (ECGP)............ 1 1.1 Cone-based and Age-based Module Creation.......... 1 1.2 Cone-based

More information

SIGNAL COMPRESSION. 9. Lossy image compression: SPIHT and S+P

SIGNAL COMPRESSION. 9. Lossy image compression: SPIHT and S+P SIGNAL COMPRESSION 9. Lossy image compression: SPIHT and S+P 9.1 SPIHT embedded coder 9.2 The reversible multiresolution transform S+P 9.3 Error resilience in embedded coding 178 9.1 Embedded Tree-Based

More information

Constraint Satisfaction Problems

Constraint Satisfaction Problems Constraint Satisfaction Problems CE417: Introduction to Artificial Intelligence Sharif University of Technology Spring 2013 Soleymani Course material: Artificial Intelligence: A Modern Approach, 3 rd Edition,

More information

VERY large scale integration (VLSI) design for power

VERY large scale integration (VLSI) design for power IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 7, NO. 1, MARCH 1999 25 Short Papers Segmented Bus Design for Low-Power Systems J. Y. Chen, W. B. Jone, Member, IEEE, J. S. Wang,

More information

Power dissipation! The VLSI Interconnect Challenge. Interconnect is the crux of the problem. Interconnect is the crux of the problem.

Power dissipation! The VLSI Interconnect Challenge. Interconnect is the crux of the problem. Interconnect is the crux of the problem. The VLSI Interconnect Challenge Avinoam Kolodny Electrical Engineering Department Technion Israel Institute of Technology VLSI Challenges System complexity Performance Tolerance to digital noise and faults

More information

Computer Systems. Binary Representation. Binary Representation. Logical Computation: Boolean Algebra

Computer Systems. Binary Representation. Binary Representation. Logical Computation: Boolean Algebra Binary Representation Computer Systems Information is represented as a sequence of binary digits: Bits What the actual bits represent depends on the context: Seminar 3 Numerical value (integer, floating

More information

New developments in LS-OPT

New developments in LS-OPT 7. LS-DYNA Anwenderforum, Bamberg 2008 Optimierung II New developments in LS-OPT Nielen Stander, Tushar Goel, Willem Roux Livermore Software Technology Corporation, Livermore, CA94551, USA Summary: This

More information

Advanced Databases: Parallel Databases A.Poulovassilis

Advanced Databases: Parallel Databases A.Poulovassilis 1 Advanced Databases: Parallel Databases A.Poulovassilis 1 Parallel Database Architectures Parallel database systems use parallel processing techniques to achieve faster DBMS performance and handle larger

More information

Circuit Partitioning for Application-Dependent FPGA Testing

Circuit Partitioning for Application-Dependent FPGA Testing Circuit Partitioning for Application-Dependent FPGA Testing by Rui Zhen Feng B.Eng, Hefei University of Technology, 1996 A Thesis Submitted in Partial Fulfillment of the Requirements for the Degree of

More information

Defect Tolerance in VLSI Circuits

Defect Tolerance in VLSI Circuits Defect Tolerance in VLSI Circuits Prof. Naga Kandasamy We will consider the following redundancy techniques to tolerate defects in VLSI circuits. Duplication with complementary logic (physical redundancy).

More information

COMPUTER ORGANIZATION AND DESIGN. 5 th Edition. The Hardware/Software Interface. Chapter 4. The Processor

COMPUTER ORGANIZATION AND DESIGN. 5 th Edition. The Hardware/Software Interface. Chapter 4. The Processor COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface 5 th Edition Chapter 4 The Processor Introduction CPU performance factors Instruction count Determined by ISA and compiler CPI and Cycle

More information

AMS Behavioral Modeling

AMS Behavioral Modeling CHAPTER 3 AMS Behavioral Modeling Ronald S. Vogelsong, Ph.D. Overview Analog designers have for many decades developed their design using a Bottom-Up design flow. First, they would gain the necessary understanding

More information

Chhattisgarh Swami Vivekanand Technical University, Bhilai

Chhattisgarh Swami Vivekanand Technical University, Bhilai Sr. No. Chhattisgarh Swami Vivekanand Technical University, Bhilai SCHEME OF MASTER OF TECHNOLOGY Electronics & Telecommunication Engineering (VLSI & Embedded System Design) Board Of Studies Code M. Tech.

More information

Fundamentals of Quantitative Design and Analysis

Fundamentals of Quantitative Design and Analysis Fundamentals of Quantitative Design and Analysis Dr. Jiang Li Adapted from the slides provided by the authors Computer Technology Performance improvements: Improvements in semiconductor technology Feature

More information

Chapter 4. The Processor

Chapter 4. The Processor Chapter 4 The Processor Introduction CPU performance factors Instruction count Determined by ISA and compiler CPI and Cycle time Determined by CPU hardware We will examine two MIPS implementations A simplified

More information

Placement Algorithm for FPGA Circuits

Placement Algorithm for FPGA Circuits Placement Algorithm for FPGA Circuits ZOLTAN BARUCH, OCTAVIAN CREŢ, KALMAN PUSZTAI Computer Science Department, Technical University of Cluj-Napoca, 26, Bariţiu St., 3400 Cluj-Napoca, Romania {Zoltan.Baruch,

More information

UNIT 4 INTEGRATED CIRCUIT DESIGN METHODOLOGY E5163

UNIT 4 INTEGRATED CIRCUIT DESIGN METHODOLOGY E5163 UNIT 4 INTEGRATED CIRCUIT DESIGN METHODOLOGY E5163 LEARNING OUTCOMES 4.1 DESIGN METHODOLOGY By the end of this unit, student should be able to: 1. Explain the design methodology for integrated circuit.

More information

Automatic Modularization of ANNs Using Adaptive Critic Method

Automatic Modularization of ANNs Using Adaptive Critic Method Automatic Modularization of ANNs Using Adaptive Critic Method RUDOLF JAKŠA Kyushu Institute of Design 4-9-1 Shiobaru, Minami-ku, Fukuoka, 815-8540 JAPAN Abstract: - We propose automatic modularization

More information