Achilles: A High-Level Synthesis System. for Asynchronous Circuits. Jordi Cortadella, Rosa M. Badia, Enric Pastor, and Abelardo Pardo y

Size: px
Start display at page:

Download "Achilles: A High-Level Synthesis System. for Asynchronous Circuits. Jordi Cortadella, Rosa M. Badia, Enric Pastor, and Abelardo Pardo y"

Transcription

1 Achilles: A High-Level Synthesis System for Asynchronous Circuits Jordi Cortadella, Rosa M. Badia, Enric Pastor, and Abelardo Pardo y Dept. of Computer Architecture Universitat Politecnica de Catalunya (Barcelona) jordic@ac.upc.es y Dept. of Electrical Engineering University of Colorado (Boulder) Abstract This paper presents Achilles, a High-Level Synthesis System for asynchronous digital circuits. A new architecture model based on a completely distributed control structure is proposed. The most relevant dierences from synthesis systems for synchronous circuits appear in the phases of scheduling and synthesis of the control. Signal Transition Graphs are automatically generated to describe the behavior of local controllers. 1 Introduction Asynchronous circuits require no global clock and elude, thus, the problem of clock skew. A task can be executed as soon as their preceding tasks are completed. The computation time of a task depends, in general, on the input data and can be represented by a distribution function with a worst-case and an average delay. The nonexistence of a global clock eases the extendability of asynchronous systems [1]. One-toone local synchronization between modules allows their interconnection without aecting the system's functionality. Furthermore, asynchronism does not add timing constraints that could eventually limit the physical size of the system. However, asynchronism also involves several problems that make circuit design dicult. Metastability, race conditions, and hazard conditions [2] have been topics deeply studied for many years, and design methodologies to synthesize error-free circuits have been proposed [3]. On the other hand, the design of an asynchronous circuit also implies some area penalty due to the overhead required for synchronization, mainly for the routing of dierential signals when using dual-rail encoding in self-timed units. As asynchronous circuits are more extensively used, there is a need of synthesis tools that hide the underlying complexity of their design to the user. Currently, most of the research is focused on the synthesis of asynchronous circuits from signal transition graphs (STGs) rstly introduced by Chu [4]. 7225) Work funded by CYCIT TIC , Dept. d'ensenyament de la Generalitat de Catalunya and ACiD-WG (Esprit

2 Until now, only synchronous architectures have been proposed for high-level synthesis systems. The eorts on synthesis from high-level languages have been mainly focused on the generation of asynchronous circuits by syntax{directed translation [5]. When conceiving synthesis algorithms for asynchronous circuits, the major dierences from those in the eld of synchronous circuits come from the fact of using a dierent timing model. Scheduling and control synthesis are, thus, the steps that need to be rethought when considering an asynchronous target architecture. Until now, the algorithms proposed for scheduling have been based on the existence of a global clock to dene control states [6, 7]. In an asynchronous execution model, the scheduling phase must determine timing precedences which preserve dependencies between operations, with an estimation of the performance according to the average processing speed of the hardware modules used to execute the operations. A centralized control unit approach would neglect most of the attractiveness of asynchronous systems. Global signals introduce delays that reduce the potential parallelism inherent to asynchronism. Furthermore, the number of states of the control unit grows exponentially with the number of control signals [4], which makes the synthesis of control units for large systems prohibitive. Therefore, models based on the distribution of control functions must be proposed for asynchronous systems. This paper presents Achilles, a high-level synthesis system for asynchronous circuits that is currently under development and focuses on those issues that dierentiate it from synthesis systems for synchronous circuits: architecture model, scheduling, and control synthesis. Section 2 describes the target architecture model used in Achilles. An overview of the synthesis system is presented in section 3. The scheduling algorithm is described in section 4. Section 5 explains how control units are generated from the schedule dened for the operations. Finally, section 6 concludes the paper. 2 Architecture Model The architecture model proposed in Achilles is based on two main key-notions: Processing Unit and Channel. A processing unit (PU) is an entity that executes operations. Two PUs can communicate to each other through unidirectional channels. The granularity of a PU may vary from the basic modules given in a library (adder, ALU, multiplexor, register, etc.) to large, complex modules (elliptic lter, microprocessor, etc.). Moreover, at lower levels of abstraction a PU may be composed of other PUs. Each PU consists of a data processing part and a control part. The data processing part is implemented by a self-timed module (either asynchronous or locally-synchronous) that executes operations. The control part manages the communication and synchronization with other PUs. There is no global PU snd(p ) 1 ack_rcv(p ) 1 port 1 channel PU rcv(p ) 2 port 2 ack_snd(p ) 2 Figure 1: Communication Protocol

3 control managing the functioning of the circuit. Thus, control is fully distributed among PUs, which communicate to each other locally. 2.1 Communication Protocol Communication between PUs follows a message passing handshake protocol as illustrated in gure 1. A channel has an active port in one PU (designated as p 1 ) and a passive port in other PU (p 2 ). Four primitives are used to implement the communication protocol: snd(p 1 ): Send data to p 1. rcv(p 2 ): Receive data from p 2. ack snd(p 2 ): Send data reception ack to p 2. ack rcv(p 1 ): Receive data reception ack from p 1. Communication between two PUs is initiated by the active PU (PU connected to the active port). Once the active PU has completed its operation sends the output data to p 1 (snd(p 1 )). The passive PU receives its input data from p 2 (rcv(p 2 )). When the data received from p 2 is no longer required, the passive PU accomplishes an ack snd(p 2 ) and continues its execution. At the other side, the active PU receives the acknowledgment (rcv ack(p 1 )) and continues its execution. 2.2 Behavioral Model for Processing Units In 1 In 2 Repeat R4 R1 R2 R3 In R1 In R2 R4 := R1 R2 Out M1 M2 R3 := R1 R4 R4 := R2 R3 adder Local Control Out R4 For ever (a) R1 Data processing unit (b) Figure 2: (a) Communication Processes and (b) Implemented code The semantics of the model used for the description of the behavior of the PUs must be capable of expressing all the potential parallelism inherent to the asynchronism of the operation execution. Dierent languages have been used to express parallel behavior in hardware, like CSP or ISPS. In Achilles, we have chosen Petri Nets. Two main reasons have endorsed this decision: The ability for Petri Nets to express ne-grain parallelism. The simplicity of translating Petri nets into Signal Transition Graphs[4]. Figure 2(a) depicts a circuit composed of seven processing units: an adder, two multiplexors, and four registers. The operations executed in this circuit are described by the RTL code in gure 2(b). Each PU receives data, performs an operation and sends the result to other PUs through output

4 channels in an asynchronous manner. Figure 3(a) shows the behavioral specication (Petri Net) for multiplexor M2. Actions like rcv(r4), rcv(r2), and rcv(r3) can occur in parallel with other actions like evaluate, snd(alu), and ack rcv(alu). rcv(r2) ack_rcv(alu) evaluate rcv(in1) rcv(in2) ack_rcv(r2) snd(alu) evaluate snd(alu) rcv(r3) ack_rcv(in1) ack_rcv(in2) evaluate snd(out) ack_rcv(alu) ack_rcv(r3) rcv(r4) ack_rcv(alu) ack_rcv(out) ack_rcv(r4) evaluate (a) snd(alu) (b) Figure 3: Petri net for (a) MUX2 and (b) whole circuit With this approach, the whole circuit can also be expressed as a hierarchical structure of PUs. For example, gure 3(b) describes the behavior of the whole circuit. The operation evaluate includes all the operations executed in parallel by all the internal PUs. This description can then be used to consider the circuit as a new PU for more complex circuits. 3 Overview of Achilles Figure 4 describes the main phases of Achilles synthesis system. From a Control{Data Flow Graph, a library of self-timed modules, and a set of constraints, the scheduler denes a partial ordering for the execution of the operations and determines the type of module that will execute each operation. The scheduler generates a Scheduled Control{Data Flow Graph. The Module Binder assigns a hardware module instance to each operation (registers are considered as hardware modules that execute a storage operation). Thus, a processing unit can be dened for each hardware module of the circuit (ALUs, multipliers, multiplexors, registers, etc.). As a starting point, Achilles denes the PUs at the nest level of granularity: one for each hardware module. After module binding, a network of PUs and communication channels can be derived. Moreover, the data processing part of each PU is completely dened. Therefore only the local control of each PU is left to be synthesized. From the Scheduled CDFG and by means of a data{ow analysis, similarly to how optimizing compilers do, the input/output relationships among PUs can be determined and the Petri nets describing the behavior of the local controllers generated (see [8] for a more detailed explanation). Still, the description in terms of Petri nets is independent from the low-level handshaking protocol. These details are dened when a Signal Transition Graph is generated for each local controller: handshake signals, asynchronous or locally-synchronous communications, 2 or 4-phase protocol, dual or single-rail, etc. Next, STGs are merged to reduce the granularity of the distributed control. This step is optional and only applied to reduce the area and improve the performance of tightly-coupled local controllers (i.e.

5 Behavioral Description Compilation Constraints CDFG Module Library (ALU, regs, muxs...) Scheduling & Allocation Scheduled CDFG Module Binding Definition of Processes & Channels Process i Process1 (ALU) Process2 (MUX) Process3 (MUX) Process4 (REG) Local Control Data Processing Unit STG alu STG mux Control Definition STG merging Petri Net STG alu&mux Handshake protocol Dual or single rail Control Sythesis STG mux STG reg STG i Figure 4: Synthesis ow in Achilles. an ALU with its input multiplexors). Finally, an asynchronous sequential circuit is synthesized from each STG. 4 Operation Scheduling in Achilles This section presents the approach used by Achilles for operation scheduling (see [9] for further details). The problem to be solved is nding a partial ordering of the graph vertices which minimizes the total execution time under resource contraints. This partial ordering must preserve both data and structural 1 dependencies between vertices. The total execution time must be calculated by considering the estimated average execution time of each operation. 4.1 Frame Reservation Table (FRT) A Frame Reservation Table F RT r is a data structure that represents the utilization of a resource type r during the execution of the scheduling algorithm. It stores the number of active resources at each time instant. An FRT can also be represented as an Event List. An Event List EL r is a list of ordered pairs < time i ; nfus > where nfus is the number of available instances of type r from time i to time i1. 1 A structural dependency exists between two vertices if they cannot be executed simultaneously due to resource conicts.

6 Figure 5: (a) Frame Re FRT adder EL adder time nfus 0 1 t1 t2 t3 t (a) (b) (c) t -

7 t * * * * * * < Resources: 2 Mult (*) 1 ALU (,-,<) 1 Adder () * Mult ALU Adder

8 Figure 7: (a) ph P1 port X port Y P2 P1 snd(x) req X req Y rcv(y) P2 req X req Y ack_rcv(x) ack X ack Y ack_snd(y) ack X ack Y Data X Data Y req X - req Y - channel (X,Y) ack X - ack Y - (a) (b)

B2 if cs < cs_max then cs := cs + 1 cs := 1 ra

B2 if cs < cs_max then cs := cs + 1 cs := 1 ra Register Transfer Level VHDL Models without Clocks Matthias Mutz (MMutz@sican{bs.de) SICAN Braunschweig GmbH, Digital IC Center D{38106 Braunschweig, GERMANY Abstract Several hardware compilers on the

More information

FPGA for Software Engineers

FPGA for Software Engineers FPGA for Software Engineers Course Description This course closes the gap between hardware and software engineers by providing the software engineer all the necessary FPGA concepts and terms. The course

More information

Verilog for High Performance

Verilog for High Performance Verilog for High Performance Course Description This course provides all necessary theoretical and practical know-how to write synthesizable HDL code through Verilog standard language. The course goes

More information

Introduction to asynchronous circuit design. Motivation

Introduction to asynchronous circuit design. Motivation Introduction to asynchronous circuit design Using slides from: Jordi Cortadella, Universitat Politècnica de Catalunya, Spain Michael Kishinevsky, Intel Corporation, USA Alex Kondratyev, Theseus Logic,

More information

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

Introduction to Electronic Design Automation. Model of Computation. Model of Computation. Model of Computation Introduction to Electronic Design Automation Model of Computation Jie-Hong Roland Jiang 江介宏 Department of Electrical Engineering National Taiwan University Spring 03 Model of Computation In system design,

More information

Synthesis of Systems Specified as Interacting VHDL Processes

Synthesis of Systems Specified as Interacting VHDL Processes - 1 - Synthesis of Systems Specified as Interacting VHDL Processes Petru Eles 1,2, Krzysztof Kuchcinski 1, Zebo Peng 1 1 Dept. of Computer and Information Science Linköping University Sweden 2 Computer

More information

TEMPLATE BASED ASYNCHRONOUS DESIGN

TEMPLATE BASED ASYNCHRONOUS DESIGN TEMPLATE BASED ASYNCHRONOUS DESIGN By Recep Ozgur Ozdag A Dissertation Presented to the FACULTY OF THE GRADUATE SCHOOL UNIVERSITY OF SOUTHERN CALIFORNIA In Partial Fulfillment of the Requirements for the

More information

CHAPTER 3 ASYNCHRONOUS PIPELINE CONTROLLER

CHAPTER 3 ASYNCHRONOUS PIPELINE CONTROLLER 84 CHAPTER 3 ASYNCHRONOUS PIPELINE CONTROLLER 3.1 INTRODUCTION The introduction of several new asynchronous designs which provides high throughput and low latency is the significance of this chapter. The

More information

Mahsa Vahidi and Alex Orailoglu. La Jolla CA of alternatives needs to be explored to obtain the

Mahsa Vahidi and Alex Orailoglu. La Jolla CA of alternatives needs to be explored to obtain the Metric-Based Transformations for Self Testable VLSI Designs with High Test Concurrency Mahsa Vahidi and Alex Orailoglu Department of Computer Science and Engineering University of California, San Diego

More information

TIMA Lab. Research Reports

TIMA Lab. Research Reports ISSN 1292-862 TIMA Lab. Research Reports TIMA Laboratory, 46 avenue Félix Viallet, 38000 Grenoble France Session 1.2 - Hop Topics for SoC Design Asynchronous System Design Prof. Marc RENAUDIN TIMA, Grenoble,

More information

COE 561 Digital System Design & Synthesis Introduction

COE 561 Digital System Design & Synthesis Introduction 1 COE 561 Digital System Design & Synthesis Introduction Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum & Minerals Outline Course Topics Microelectronics Design

More information

Accelerating DSP Applications in Embedded Systems with a Coprocessor Data-Path

Accelerating DSP Applications in Embedded Systems with a Coprocessor Data-Path Accelerating DSP Applications in Embedded Systems with a Coprocessor Data-Path Michalis D. Galanis, Gregory Dimitroulakos, and Costas E. Goutis VLSI Design Laboratory, Electrical and Computer Engineering

More information

Modeling Asynchronous Communication at Different Levels of Abstraction Using SystemC

Modeling Asynchronous Communication at Different Levels of Abstraction Using SystemC Modeling Asynchronous Communication at Different Levels of Abstraction Using SystemC Shankar Mahadevan Inst. for Informatics and Mathematical Modeling Tech. Univ. of Denmark (DTU) Lyngby, Denmark sm@imm.dtu.dk

More information

under Timing Constraints David Filo David Ku Claudionor N. Coelho, Jr. Giovanni De Micheli

under Timing Constraints David Filo David Ku Claudionor N. Coelho, Jr. Giovanni De Micheli Interface Optimization for Concurrent Systems under Timing Constraints David Filo David Ku Claudionor N. Coelho, Jr. Giovanni De Micheli Abstract The scope of most high-level synthesis eorts to date has

More information

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

Topics. Verilog. Verilog vs. VHDL (2) Verilog vs. VHDL (1) Topics Verilog Hardware modeling and simulation Event-driven simulation Basics of register-transfer design: data paths and controllers; ASM charts. High-level synthesis Initially a proprietary language,

More information

Synthesis of Complicated Asynchronous Control Circuits Using Template Based Technique

Synthesis of Complicated Asynchronous Control Circuits Using Template Based Technique Synthesis of Complicated Asynchronous Control Circuits Using Template Based Technique Sufian Sudeng and Arthit Thongtak Abstract this paper proposes an approach for complicated asynchronous controller

More information

ASYNCHRONOUS circuits promise a number of important

ASYNCHRONOUS circuits promise a number of important 1108 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL 17, NO 11, NOVEMBER 1998 Structural Methods for the Synthesis of Speed-Independent Circuits Enric Pastor, Jordi Cortadella,

More information

Behavioral Synthesis of Asynchronous Circuits Using Syntax Directed Translation as Backend

Behavioral Synthesis of Asynchronous Circuits Using Syntax Directed Translation as Backend Downloaded from orbit.dtu.dk on: Aug 31, 2018 Behavioral Synthesis of Asynchronous Circuits Using Syntax Directed Translation as Backend Nielsen, Sune Fallgaard; Sparsø, Jens; Madsen, Jan Published in:

More information

LECTURE 4. Logic Design

LECTURE 4. Logic Design LECTURE 4 Logic Design LOGIC DESIGN The language of the machine is binary that is, sequences of 1 s and 0 s. But why? At the hardware level, computers are streams of signals. These signals only have two

More information

INTERCONNECTION NETWORKS LECTURE 4

INTERCONNECTION NETWORKS LECTURE 4 INTERCONNECTION NETWORKS LECTURE 4 DR. SAMMAN H. AMEEN 1 Topology Specifies way switches are wired Affects routing, reliability, throughput, latency, building ease Routing How does a message get from source

More information

Implementation of ALU Using Asynchronous Design

Implementation of ALU Using Asynchronous Design IOSR Journal of Electronics and Communication Engineering (IOSR-JECE) ISSN: 2278-2834, ISBN: 2278-8735. Volume 3, Issue 6 (Nov. - Dec. 2012), PP 07-12 Implementation of ALU Using Asynchronous Design P.

More information

VHDL for Synthesis. Course Description. Course Duration. Goals

VHDL for Synthesis. Course Description. Course Duration. Goals VHDL for Synthesis Course Description This course provides all necessary theoretical and practical know how to write an efficient synthesizable HDL code through VHDL standard language. The course goes

More information

160 M. Nadjarbashi, S.M. Fakhraie and A. Kaviani Figure 2. LUTB structure. each block-level track can be arbitrarily connected to each of 16 4-LUT inp

160 M. Nadjarbashi, S.M. Fakhraie and A. Kaviani Figure 2. LUTB structure. each block-level track can be arbitrarily connected to each of 16 4-LUT inp Scientia Iranica, Vol. 11, No. 3, pp 159{164 c Sharif University of Technology, July 2004 On Routing Architecture for Hybrid FPGA M. Nadjarbashi, S.M. Fakhraie 1 and A. Kaviani 2 In this paper, the routing

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

Basic Block. Inputs. K input. N outputs. I inputs MUX. Clock. Input Multiplexors

Basic Block. Inputs. K input. N outputs. I inputs MUX. Clock. Input Multiplexors RPack: Rability-Driven packing for cluster-based FPGAs E. Bozorgzadeh S. Ogrenci-Memik M. Sarrafzadeh Computer Science Department Department ofece Computer Science Department UCLA Northwestern University

More information

VHDL simulation and synthesis

VHDL simulation and synthesis VHDL simulation and synthesis How we treat VHDL in this course You will not become an expert in VHDL after taking this course The goal is that you should learn how VHDL can be used for simulation and synthesis

More information

In Proceedings of Design of Integrated Circuits and Systems Conference (DCIS), November 1996

In Proceedings of Design of Integrated Circuits and Systems Conference (DCIS), November 1996 In Proceedings of Design of Integrated Circuits and Systems Conference (DCIS), November 1996 Register Transfer Level VHDL Block Generation Paulo Flores Horacio Neto INESC/IST Instituto de Engenharia de

More information

Interface Specification and Synthesis for VHDL Processes *

Interface Specification and Synthesis for VHDL Processes * Interface Specification and Synthesis for VHDL Processes * P. Gutberlet W. Rosenstiel 1 Forschungszentrum Informatik (FZI) Haid-und-Neu-Str. 10-14, D-76131 Karlsruhe, Germany 1 FZI and University of Tübingen

More information

A Low Power Asynchronous FPGA with Autonomous Fine Grain Power Gating and LEDR Encoding

A Low Power Asynchronous FPGA with Autonomous Fine Grain Power Gating and LEDR Encoding A Low Power Asynchronous FPGA with Autonomous Fine Grain Power Gating and LEDR Encoding N.Rajagopala krishnan, k.sivasuparamanyan, G.Ramadoss Abstract Field Programmable Gate Arrays (FPGAs) are widely

More information

signature i-1 signature i instruction j j+1 branch adjustment value "if - path" initial value signature i signature j instruction exit signature j+1

signature i-1 signature i instruction j j+1 branch adjustment value if - path initial value signature i signature j instruction exit signature j+1 CONTROL FLOW MONITORING FOR A TIME-TRIGGERED COMMUNICATION CONTROLLER Thomas M. Galla 1, Michael Sprachmann 2, Andreas Steininger 1 and Christopher Temple 1 Abstract A novel control ow monitoring scheme

More information

RTL Power Estimation and Optimization

RTL Power Estimation and Optimization Power Modeling Issues RTL Power Estimation and Optimization Model granularity Model parameters Model semantics Model storage Model construction Politecnico di Torino Dip. di Automatica e Informatica RTL

More information

FILTER SYNTHESIS USING FINE-GRAIN DATA-FLOW GRAPHS. Waqas Akram, Cirrus Logic Inc., Austin, Texas

FILTER SYNTHESIS USING FINE-GRAIN DATA-FLOW GRAPHS. Waqas Akram, Cirrus Logic Inc., Austin, Texas FILTER SYNTHESIS USING FINE-GRAIN DATA-FLOW GRAPHS Waqas Akram, Cirrus Logic Inc., Austin, Texas Abstract: This project is concerned with finding ways to synthesize hardware-efficient digital filters given

More information

Lecture 20: High-level Synthesis (1)

Lecture 20: High-level Synthesis (1) Lecture 20: High-level Synthesis (1) Slides courtesy of Deming Chen Some slides are from Prof. S. Levitan of U. of Pittsburgh Outline High-level synthesis introduction High-level synthesis operations Scheduling

More information

HW/SW Co-design. Design of Embedded Systems Jaap Hofstede Version 3, September 1999

HW/SW Co-design. Design of Embedded Systems Jaap Hofstede Version 3, September 1999 HW/SW Co-design Design of Embedded Systems Jaap Hofstede Version 3, September 1999 Embedded system Embedded Systems is a computer system (combination of hardware and software) is part of a larger system

More information

A Process Model suitable for defining and programming MpSoCs

A Process Model suitable for defining and programming MpSoCs A Process Model suitable for defining and programming MpSoCs MpSoC-Workshop at Rheinfels, 29-30.6.2010 F. Mayer-Lindenberg, TU Hamburg-Harburg 1. Motivation 2. The Process Model 3. Mapping to MpSoC 4.

More information

Desynchronisation Technique using Petri nets

Desynchronisation Technique using Petri nets Desynchronisation Technique using Petri nets Sohini Dasgupta 1 and Alex Yakovlev 2 1 University of Manchester, 2 Newcastle University Abstract In this paper we consider the problem of desynchronising modular

More information

Elastic Bundles: Modelling and Architecting Asynchronous Circuits with Granular Rigidity

Elastic Bundles: Modelling and Architecting Asynchronous Circuits with Granular Rigidity µsystems Research Group School of Electrical and Electronic Engineering Elastic Bundles: Modelling and Architecting Asynchronous Circuits with Granular Rigidity Johnson Fernandes Technical Report Series

More information

Lecture 2 Hardware Description Language (HDL): VHSIC HDL (VHDL)

Lecture 2 Hardware Description Language (HDL): VHSIC HDL (VHDL) Lecture 2 Hardware Description Language (HDL): VHSIC HDL (VHDL) Pinit Kumhom VLSI Laboratory Dept. of Electronic and Telecommunication Engineering (KMUTT) Faculty of Engineering King Mongkut s University

More information

High-Level Test Synthesis. Tianruo Yang and Zebo Peng. Department of Computer and Information Science

High-Level Test Synthesis. Tianruo Yang and Zebo Peng. Department of Computer and Information Science An Ecient Algorithm to Integrate Scheduling and Allocation in High-Level Synthesis Tianruo Yang and Zebo Peng Department of Computer and Information Science Linkoping University, S-581 83, Linkoping, Sweden

More information

Unit 2: High-Level Synthesis

Unit 2: High-Level Synthesis Course contents Unit 2: High-Level Synthesis Hardware modeling Data flow Scheduling/allocation/assignment Reading Chapter 11 Unit 2 1 High-Level Synthesis (HLS) Hardware-description language (HDL) synthesis

More information

Keywords: Soft Core Processor, Arithmetic and Logical Unit, Back End Implementation and Front End Implementation.

Keywords: Soft Core Processor, Arithmetic and Logical Unit, Back End Implementation and Front End Implementation. ISSN 2319-8885 Vol.03,Issue.32 October-2014, Pages:6436-6440 www.ijsetr.com Design and Modeling of Arithmetic and Logical Unit with the Platform of VLSI N. AMRUTHA BINDU 1, M. SAILAJA 2 1 Dept of ECE,

More information

UNIVERSITÄT PADERBORN. ComponentTools

UNIVERSITÄT PADERBORN. ComponentTools UNIVERSITÄT PADERBORN ComponentTools Component Library Concept Project Group ComponentTools pg-components@uni-paderborn.de Alexander Gepting, Joel Greenyer, Andreas Maas, Sebastian Munkelt, Csaba Pales,

More information

High-Level Synthesis Creating Custom Circuits from High-Level Code

High-Level Synthesis Creating Custom Circuits from High-Level Code High-Level Synthesis Creating Custom Circuits from High-Level Code Hao Zheng Comp Sci & Eng University of South Florida Exis%ng Design Flow Register-transfer (RT) synthesis - Specify RT structure (muxes,

More information

Distributed Synchronous Control Units for Dataflow Graphs under Allocation of Telescopic Arithmetic Units

Distributed Synchronous Control Units for Dataflow Graphs under Allocation of Telescopic Arithmetic Units Distributed Synchronous Control Units for Dataflow Graphs under Allocation of Telescopic Arithmetic Units Euiseok Kim, Hiroshi Saito Jeong-Gun Lee Dong-Ik Lee Hiroshi Nakamura Takashi Nanya Dependable

More information

EECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis

EECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis EECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis Jan 31, 2012 John Wawrzynek Spring 2012 EECS150 - Lec05-verilog_synth Page 1 Outline Quick review of essentials of state elements Finite State

More information

An Algorithm for the Allocation of Functional Units from. Realistic RT Component Libraries. Department of Information and Computer Science

An Algorithm for the Allocation of Functional Units from. Realistic RT Component Libraries. Department of Information and Computer Science An Algorithm for the Allocation of Functional Units from Realistic RT Component Libraries Roger Ang rang@ics.uci.edu Nikil Dutt dutt@ics.uci.edu Department of Information and Computer Science University

More information

Controller FSM Design Issues : Correctness and Efficiency. Lecture Notes # 10. CAD Based Logic Design ECE 368

Controller FSM Design Issues : Correctness and Efficiency. Lecture Notes # 10. CAD Based Logic Design ECE 368 ECE 368 CAD Based Logic Design Lecture Notes # 10 Controller FSM Design Issues : Correctness and Efficiency SHANTANU DUTT Department of Electrical & Computer Engineering University of Illinois, Chicago

More information

Register Transfer Methodology II

Register Transfer Methodology II Register Transfer Methodology II Chapter 12 1 Outline 1. Design example: One shot pulse generator 2. Design Example: GCD 3. Design Example: UART 4. Design Example: SRAM Interface Controller 5. Square root

More information

Outline. Register Transfer Methodology II. 1. One shot pulse generator. Refined block diagram of FSMD

Outline. Register Transfer Methodology II. 1. One shot pulse generator. Refined block diagram of FSMD Outline Register Transfer Methodology II 1. Design example: One shot pulse generator 2. Design Example: GCD 3. Design Example: UART 4. Design Example: SRAM Interface Controller 5. Square root approximation

More information

Lecture 12 VHDL Synthesis

Lecture 12 VHDL Synthesis CPE 487: Digital System Design Spring 2018 Lecture 12 VHDL Synthesis Bryan Ackland Department of Electrical and Computer Engineering Stevens Institute of Technology Hoboken, NJ 07030 1 What is Synthesis?

More information

Lecture 3: Modeling in VHDL. EE 3610 Digital Systems

Lecture 3: Modeling in VHDL. EE 3610 Digital Systems EE 3610: Digital Systems 1 Lecture 3: Modeling in VHDL VHDL: Overview 2 VHDL VHSIC Hardware Description Language VHSIC=Very High Speed Integrated Circuit Programming language for modelling of hardware

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

DISCRETE-event dynamic systems (DEDS) are dynamic

DISCRETE-event dynamic systems (DEDS) are dynamic IEEE TRANSACTIONS ON CONTROL SYSTEMS TECHNOLOGY, VOL. 7, NO. 2, MARCH 1999 175 The Supervised Control of Discrete-Event Dynamic Systems François Charbonnier, Hassane Alla, and René David Abstract The supervisory

More information

DRAFT for FINAL VERSION. Accepted for CACSD'97, Gent, Belgium, April 1997 IMPLEMENTATION ASPECTS OF THE PLC STANDARD IEC

DRAFT for FINAL VERSION. Accepted for CACSD'97, Gent, Belgium, April 1997 IMPLEMENTATION ASPECTS OF THE PLC STANDARD IEC DRAFT for FINAL VERSION. Accepted for CACSD'97, Gent, Belgium, 28-3 April 1997 IMPLEMENTATION ASPECTS OF THE PLC STANDARD IEC 1131-3 Martin hman Stefan Johansson Karl-Erik rzen Department of Automatic

More information

Storage System. Distributor. Network. Drive. Drive. Storage System. Controller. Controller. Disk. Disk

Storage System. Distributor. Network. Drive. Drive. Storage System. Controller. Controller. Disk. Disk HRaid: a Flexible Storage-system Simulator Toni Cortes Jesus Labarta Universitat Politecnica de Catalunya - Barcelona ftoni, jesusg@ac.upc.es - http://www.ac.upc.es/hpc Abstract Clusters of workstations

More information

Crosstalk Noise Avoidance in Asynchronous Circuits

Crosstalk Noise Avoidance in Asynchronous Circuits Crosstalk Noise Avoidance in Asynchronous Circuits Alexander Taubin (University of Aizu) Alex Kondratyev (University of Aizu) J. Cortadella (Univ. Politecnica Catalunya) Luciano Lavagno (University of

More information

High-Level Synthesis

High-Level Synthesis High-Level Synthesis 1 High-Level Synthesis 1. Basic definition 2. A typical HLS process 3. Scheduling techniques 4. Allocation and binding techniques 5. Advanced issues High-Level Synthesis 2 Introduction

More information

Instruction Set Denition and Instruction Selection for ASIPs. Johan Van Praet Gert Goossens Dirk Lanneer Hugo De Man

Instruction Set Denition and Instruction Selection for ASIPs. Johan Van Praet Gert Goossens Dirk Lanneer Hugo De Man Instruction Set Denition and Instruction Selection for ASIPs Johan Van Praet Gert Goossens Dirk Lanneer Hugo De Man IMEC, Kapeldreef 75, B-3001 Leuven, Belgium Professor at K.U. Leuven, Belgium Abstract

More information

JOHN GUSTAF HOLM. B.S.E., University of Michigan, 1989 THESIS. Submitted in partial fulllment of the requirements.

JOHN GUSTAF HOLM. B.S.E., University of Michigan, 1989 THESIS. Submitted in partial fulllment of the requirements. EVALUATION OF SOME SUPERSCALAR AND VLIW PROCESSOR DESIGNS BY JOHN GUSTAF HOLM B.S.E., University of Michigan, 989 THESIS Submitted in partial fulllment of the requirements for the degree of Master of Science

More information

RTL Design. Gate-level design is now rare! RTL = Register Transfer Level

RTL Design. Gate-level design is now rare! RTL = Register Transfer Level RTL Design Gate-level design is now rare! design automation is necessary to manage the complexity of modern circuits only library designers use gates automated RTL synthesis is now almost universal RTL

More information

MODELING LANGUAGES AND ABSTRACT MODELS. Giovanni De Micheli Stanford University. Chapter 3 in book, please read it.

MODELING LANGUAGES AND ABSTRACT MODELS. Giovanni De Micheli Stanford University. Chapter 3 in book, please read it. MODELING LANGUAGES AND ABSTRACT MODELS Giovanni De Micheli Stanford University Chapter 3 in book, please read it. Outline Hardware modeling issues: Representations and models. Issues in hardware languages.

More information

req unit unit unit ack unit unit ack

req unit unit unit ack unit unit ack The Design and Implementation of ZCRP Zero Copying Reliable Protocol Mikkel Christiansen Jesper Langfeldt Hagen Brian Nielsen Arne Skou Kristian Qvistgaard Skov August 24, 1998 1 Design 1.1 Service specication

More information

NoC Test-Chip Project: Working Document

NoC Test-Chip Project: Working Document NoC Test-Chip Project: Working Document Michele Petracca, Omar Ahmad, Young Jin Yoon, Frank Zovko, Luca Carloni and Kenneth Shepard I. INTRODUCTION This document describes the low-power high-performance

More information

SpecC Methodology for High-Level Modeling

SpecC Methodology for High-Level Modeling EDP 2002 9 th IEEE/DATC Electronic Design Processes Workshop SpecC Methodology for High-Level Modeling Rainer Dömer Daniel D. Gajski Andreas Gerstlauer Center for Embedded Computer Systems Universitiy

More information

Synthesis of Asynchronous Hardware from Petri Nets

Synthesis of Asynchronous Hardware from Petri Nets Synthesis of Asynchronous Hardware from Petri Nets Josep Carmona 1, Jordi Cortadella 1, Victor Khomenko 2 and Alex Yakovlev 2 1 Universitat Politècnica de Catalunya, Barcelona, Spain jcarmona@ac.upc.es,

More information

Register Transfer Level in Verilog: Part I

Register Transfer Level in Verilog: Part I Source: M. Morris Mano and Michael D. Ciletti, Digital Design, 4rd Edition, 2007, Prentice Hall. Register Transfer Level in Verilog: Part I Lan-Da Van ( 范倫達 ), Ph. D. Department of Computer Science National

More information

Type T1: force false. Type T2: force true. Type T3: complement. Type T4: load

Type T1: force false. Type T2: force true. Type T3: complement. Type T4: load Testability Insertion in Behavioral Descriptions Frank F. Hsu Elizabeth M. Rudnick Janak H. Patel Center for Reliable & High-Performance Computing University of Illinois, Urbana, IL Abstract A new synthesis-for-testability

More information

Energy Aware Optimized Resource Allocation Using Buffer Based Data Flow In MPSOC Architecture

Energy Aware Optimized Resource Allocation Using Buffer Based Data Flow In MPSOC Architecture ISSN (Online) : 2319-8753 ISSN (Print) : 2347-6710 International Journal of Innovative Research in Science, Engineering and Technology Volume 3, Special Issue 3, March 2014 2014 International Conference

More information

Logic Synthesis. EECS150 - Digital Design Lecture 6 - Synthesis

Logic Synthesis. EECS150 - Digital Design Lecture 6 - Synthesis Logic Synthesis Verilog and VHDL started out as simulation languages, but quickly people wrote programs to automatically convert Verilog code into low-level circuit descriptions (netlists). EECS150 - Digital

More information

A Synthesizable RTL Design of Asynchronous FIFO Interfaced with SRAM

A Synthesizable RTL Design of Asynchronous FIFO Interfaced with SRAM A Synthesizable RTL Design of Asynchronous FIFO Interfaced with SRAM Mansi Jhamb, Sugam Kapoor USIT, GGSIPU Sector 16-C, Dwarka, New Delhi-110078, India Abstract This paper demonstrates an asynchronous

More information

Synthesis of Asynchronous Logic Design: A Study of Current Testing Practices. EXTRA CREDIT PROJECT EE552 Advanced Logic Design and Switching Theory

Synthesis of Asynchronous Logic Design: A Study of Current Testing Practices. EXTRA CREDIT PROJECT EE552 Advanced Logic Design and Switching Theory Synthesis of Asynchronous Logic Design: A Study of Current Testing Practices EXTRA CREDIT PROJECT EE552 Advanced Logic Design and Switching Theory Submitted By Maneesh Saxena. Department of Electrical

More information

35 th Design Automation Conference Copyright 1998 ACM

35 th Design Automation Conference Copyright 1998 ACM Automatic Synthesis of Interfaces between Incompatible Protocols Roberto Passerone Department of EECS University of California at Berkeley roby@eecs.berkeley.edu James A. Rowson Alta Group of Cadence Sunnyvale,

More information

DHANALAKSHMI SRINIVASAN INSTITUTE OF RESEARCH AND TECHNOLOGY. Department of Computer science and engineering

DHANALAKSHMI SRINIVASAN INSTITUTE OF RESEARCH AND TECHNOLOGY. Department of Computer science and engineering DHANALAKSHMI SRINIVASAN INSTITUTE OF RESEARCH AND TECHNOLOGY Department of Computer science and engineering Year :II year CS6303 COMPUTER ARCHITECTURE Question Bank UNIT-1OVERVIEW AND INSTRUCTIONS PART-B

More information

Embedded Systems Ch 15 ARM Organization and Implementation

Embedded Systems Ch 15 ARM Organization and Implementation Embedded Systems Ch 15 ARM Organization and Implementation Byung Kook Kim Dept of EECS Korea Advanced Institute of Science and Technology Summary ARM architecture Very little change From the first 3-micron

More information

2 Keywords Backtracking Algorithms, Constraint Satisfaction Problem, Distributed Articial Intelligence, Iterative Improvement Algorithm, Multiagent Sy

2 Keywords Backtracking Algorithms, Constraint Satisfaction Problem, Distributed Articial Intelligence, Iterative Improvement Algorithm, Multiagent Sy 1 The Distributed Constraint Satisfaction Problem: Formalization and Algorithms IEEE Trans. on Knowledge and DATA Engineering, vol.10, No.5 September 1998 Makoto Yokoo, Edmund H. Durfee, Toru Ishida, and

More information

ECE 545 Lecture 12. Datapath vs. Controller. Structure of a Typical Digital System Data Inputs. Required reading. Design of Controllers

ECE 545 Lecture 12. Datapath vs. Controller. Structure of a Typical Digital System Data Inputs. Required reading. Design of Controllers ECE 545 Lecture 12 Design of Controllers Finite State Machines and Algorithmic State Machine (ASM) Charts Required reading P. Chu, using VHDL Chapter 1, Finite State Machine: Principle & Practice Chapter

More information

HIERARCHICAL DESIGN. RTL Hardware Design by P. Chu. Chapter 13 1

HIERARCHICAL DESIGN. RTL Hardware Design by P. Chu. Chapter 13 1 HIERARCHICAL DESIGN Chapter 13 1 Outline 1. Introduction 2. Components 3. Generics 4. Configuration 5. Other supporting constructs Chapter 13 2 1. Introduction How to deal with 1M gates or more? Hierarchical

More information

Outline HIERARCHICAL DESIGN. 1. Introduction. Benefits of hierarchical design

Outline HIERARCHICAL DESIGN. 1. Introduction. Benefits of hierarchical design Outline HIERARCHICAL DESIGN 1. Introduction 2. Components 3. Generics 4. Configuration 5. Other supporting constructs Chapter 13 1 Chapter 13 2 1. Introduction How to deal with 1M gates or more? Hierarchical

More information

RECONFIGURATION OF HIERARCHICAL TUPLE-SPACES: EXPERIMENTS WITH LINDA-POLYLITH. Computer Science Department and Institute. University of Maryland

RECONFIGURATION OF HIERARCHICAL TUPLE-SPACES: EXPERIMENTS WITH LINDA-POLYLITH. Computer Science Department and Institute. University of Maryland RECONFIGURATION OF HIERARCHICAL TUPLE-SPACES: EXPERIMENTS WITH LINDA-POLYLITH Gilberto Matos James Purtilo Computer Science Department and Institute for Advanced Computer Studies University of Maryland

More information

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

HDL. Operations and dependencies. FSMs Logic functions HDL. Interconnected logic blocks HDL BEHAVIORAL VIEW LOGIC LEVEL ARCHITECTURAL LEVEL ARCHITECTURAL-LEVEL SYNTHESIS Motivation. Outline cgiovanni De Micheli Stanford University Compiling language models into abstract models. Behavioral-level optimization and program-level transformations.

More information

Synthesis vs. Compilation Descriptions mapped to hardware Verilog design patterns for best synthesis. Spring 2007 Lec #8 -- HW Synthesis 1

Synthesis vs. Compilation Descriptions mapped to hardware Verilog design patterns for best synthesis. Spring 2007 Lec #8 -- HW Synthesis 1 Verilog Synthesis Synthesis vs. Compilation Descriptions mapped to hardware Verilog design patterns for best synthesis Spring 2007 Lec #8 -- HW Synthesis 1 Logic Synthesis Verilog and VHDL started out

More information

A Hierarchical Approach to Workload. M. Calzarossa 1, G. Haring 2, G. Kotsis 2,A.Merlo 1,D.Tessera 1

A Hierarchical Approach to Workload. M. Calzarossa 1, G. Haring 2, G. Kotsis 2,A.Merlo 1,D.Tessera 1 A Hierarchical Approach to Workload Characterization for Parallel Systems? M. Calzarossa 1, G. Haring 2, G. Kotsis 2,A.Merlo 1,D.Tessera 1 1 Dipartimento di Informatica e Sistemistica, Universita dipavia,

More information

Towards the Automatic Synthesis of Asynchronous Communication Mechanisms

Towards the Automatic Synthesis of Asynchronous Communication Mechanisms Towards the Automatic Synthesis of Asynchronous Communication Mechanisms Kyller Costa Gorgônio kyller@lsi.upc.edu Advisor: Jordi Cortadella Draft submitted in Partial Fulllment of the Requirements for

More information

Synthesis at different abstraction levels

Synthesis at different abstraction levels Synthesis at different abstraction levels System Level Synthesis Clustering. Communication synthesis. High-Level Synthesis Resource or time constrained scheduling Resource allocation. Binding Register-Transfer

More information

Seminars in Embedded System Design EDAN15

Seminars in Embedded System Design EDAN15 Seminars in Embedded System Design EDAN15 Krzysztof Kuchcinski Department of Computer Science Lund Univeristy April 11, 2011 1 Petri net Draw simple Petri nets which model sequential execution, parallel

More information

Memory. Controller CPU. Memory. read / write requests linear address MMU. read / write operation. stall CPU signal.

Memory. Controller CPU. Memory. read / write requests linear address MMU. read / write operation. stall CPU signal. Modeling a Memory Subsystem with Petri Nets: a Case Study Matthias Gries Computer Engineering and Networks Laboratory (TIK), Swiss Federal Institute of Technology (ETH) CH-8092 Zurich, Switzerland, gries@tik.ee.ethz.ch

More information

EECS Components and Design Techniques for Digital Systems. Lec 20 RTL Design Optimization 11/6/2007

EECS Components and Design Techniques for Digital Systems. Lec 20 RTL Design Optimization 11/6/2007 EECS 5 - Components and Design Techniques for Digital Systems Lec 2 RTL Design Optimization /6/27 Shauki Elassaad Electrical Engineering and Computer Sciences University of California, Berkeley Slides

More information

Design of a clockless MSP430 core using mixed asynchronous design flow

Design of a clockless MSP430 core using mixed asynchronous design flow LETTER IEICE Electronics Express, Vol.14, No.8, 1 12 Design of a clockless MSP430 core using mixed asynchronous design flow Ziho Shin 1,3a), Myeong-Hoon Oh 1,3b), Jeong-Gun Lee 2, Hag Young Kim 3, and

More information

Control and Datapath 8

Control and Datapath 8 Control and Datapath 8 Engineering attempts to develop design methods that break a problem up into separate steps to simplify the design and increase the likelihood of a correct solution. Digital system

More information

EMBEDDED SOPC DESIGN WITH NIOS II PROCESSOR AND VHDL EXAMPLES

EMBEDDED SOPC DESIGN WITH NIOS II PROCESSOR AND VHDL EXAMPLES EMBEDDED SOPC DESIGN WITH NIOS II PROCESSOR AND VHDL EXAMPLES Pong P. Chu Cleveland State University A JOHN WILEY & SONS, INC., PUBLICATION PREFACE An SoC (system on a chip) integrates a processor, memory

More information

Levels in Processor Design

Levels in Processor Design Levels in Processor Design Circuit design Keywords: transistors, wires etc.results in gates, flip-flops etc. Logical design Putting gates (AND, NAND, ) and flip-flops together to build basic blocks such

More information

High-Level Synthesis (HLS)

High-Level Synthesis (HLS) Course contents Unit 11: High-Level Synthesis Hardware modeling Data flow Scheduling/allocation/assignment Reading Chapter 11 Unit 11 1 High-Level Synthesis (HLS) Hardware-description language (HDL) synthesis

More information

Automated versus Manual Design of Asynchronous Circuits in DSM Technologies

Automated versus Manual Design of Asynchronous Circuits in DSM Technologies FACULDADE DE INFORMÁTICA PUCRS - Brazil http://www.inf.pucrs.br Automated versus Manual Design of Asynchronous Circuits in DSM Technologies Matheus Moreira, Bruno Oliveira, Julian Pontes, Ney Calazans

More information

Chapter 4. The Processor. Instruction count Determined by ISA and compiler. We will examine two MIPS implementations

Chapter 4. The Processor. Instruction count Determined by ISA and compiler. We will examine two MIPS implementations Chapter 4 The Processor Part I 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

More information

VLSI Testing. Virendra Singh. Bangalore E0 286: Test & Verification of SoC Design Lecture - 7. Jan 27,

VLSI Testing. Virendra Singh. Bangalore E0 286: Test & Verification of SoC Design Lecture - 7. Jan 27, VLSI Testing Fault Simulation Virendra Singh Indian Institute t of Science Bangalore virendra@computer.org E 286: Test & Verification of SoC Design Lecture - 7 Jan 27, 2 E-286@SERC Fault Simulation Jan

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

Synchronization In Digital Systems

Synchronization In Digital Systems 2011 International Conference on Information and Network Technology IPCSIT vol.4 (2011) (2011) IACSIT Press, Singapore Synchronization In Digital Systems Ranjani.M. Narasimhamurthy Lecturer, Dr. Ambedkar

More information

100-hour Design Cycle: A Test Case. keeping the specication close to the conceptualization. 2. Use of standard languages for input specications.

100-hour Design Cycle: A Test Case. keeping the specication close to the conceptualization. 2. Use of standard languages for input specications. 100-hour Design Cycle: A Test Case Daniel D. Gajski, Loganath Ramachandran, Peter Fung 3, Sanjiv Narayan 1 and Frank Vahid 2 University of California, Irvine, CA 3 Matsushita Electric Works, Research and

More information

קורס VHDL for High Performance. VHDL

קורס VHDL for High Performance. VHDL קורס VHDL for High Performance תיאור הקורס קורסזהמספקאתכלהידע התיאורטיוהמעשילכתיבתקודHDL. VHDL לסינתזה בעזרת שפת הסטנדרט הקורסמעמיקמאודומלמדאת הדרךהיעילהלכתיבתקודVHDL בכדילקבלאתמימושתכןהלוגי המדויק. הקורסמשלב

More information

CSE 140L Final Exam. Prof. Tajana Simunic Rosing. Spring 2008

CSE 140L Final Exam. Prof. Tajana Simunic Rosing. Spring 2008 CSE 140L Final Exam Prof. Tajana Simunic Rosing Spring 2008 NAME: ID#: Do not start the exam until you are told to. Turn off any cell phones or pagers. Write your name and PID at the top of every page.

More information