Optimization of Run-time Reconfigurable Embedded Systems

Size: px
Start display at page:

Download "Optimization of Run-time Reconfigurable Embedded Systems"

Transcription

1 Optimization of Run-time Reconfigurable Embedded Systems Michael Eisenring and Marco Platzner Swiss Federal Institute of Technology (ETH) Zurich, Switzerland {eisenring Abstract. Run-time reconfigurable approaches for FPGAs are gaining interest as they enlarge the design space for system implementation by sequential execution of temporally exclusive system parts on one or several FPGA resources. In [7], we introduced a novel methodology and a design tool for communication synthesis in reconfigurable embedded systems. In [5], this work was extended by a hierarchical reconfiguration structure that implements reconfiguration control. In this paper, we describe techniques that are employed to optimize the reconfiguration structure and its communication requirements. The optimizations reduce the required FPGA area and I/O pins. 1 Introduction Embedded systems are the backbone for a wide range of application domains: simple home appliances, PDAs (personal digital assistants), portable phones, and complex autopilots in airplanes. The rising design complexity of such systems is tackled by sophisticated computer-aided design (CAD) tools [8, 10, 12] that guide the designer from system specification to implementation. Examples for decisions to be taken during design are component selection, i.e., selecting computing resources among different types of processors and programmable hardware devices, and communication type selection, e.g., using standard protocols such as the CAN bus or dedicated links based on built-in facilities such as DMA channels. Run-time reconfiguration (RTR) of FPGAs is gaining interest for embedded system design as it enlarges the design space by allowing to execute timeexclusive system parts sequentially [9, 14] on a moderately sized FPGA device. The challenge is to design efficient RTR systems in terms of reconfiguration time (system performance) and area overhead (implementation cost). A further important issue is the synthesis of communication channels between heterogeneous components [11, 12] on one hand and between time-exclusive system parts on the other hand (interconfiguration communication [9, 7, 6]). Most current approaches for reconfigurable system design focus on aspects such as optimal partitioning [3], scheduling [4, 13], or communication synthesis [12]. We learned through our previous work [7] that dynamic reconfiguration of FPGAs sometimes leads to remarkable overheads in terms of FPGA area

2 and memory. Consequently, we now consider communication and reconfiguration issues at the same time to reflect their strong interdependence. In this paper, we propose two optimization techniques that are employed to minimize the overhead added by the reconfiguration structure and its communication requirements. 2 Hierarchical Reconfiguration In our framework [5], an application is captured by a problem specification consisting of (i) a problem graph PG, (ii) an architecture graph AG, and (iii) a mapping M. The problem graph P G represents the application s behavior in form of communicating tasks and buffers. Each problem graph node has an associated control port for receiving control commands (e.g., start) and replying status messages (e.g., done). The architecture graph AG describes the target that may consist of connected computing resources (general- and special-purpose processors, ASICs, FPGAs), and memories. The mapping M determines the implementation of the problem graph on the target architecture. A mapping includes spatial partitioning (assignment of tasks and buffers to computing resources and memories), temporal partitioning (assignment of tasks and buffers to FPGA configurations), scheduling of tasks and buffers inside configurations, and the scheduling of complete configurations. In our work, we assume that a mapping has been derived by a set of front-end tools specific to the used specification model (task graphs, SDF graphs, etc.) or by user intervention. We focus on the back-end which is formed by the subsequent steps of generating an appropriate reconfiguration structure and communication channels. In [7], we presented the CORES/HASIS tool set providing communication synthesis for reconfigurable embedded systems. These tools establish the required communication infrastructure and automatically generate device drivers and interface circuitry for each FPGA configuration and the host. In [5], we extended CORES/HASIS by a hierarchical reconfiguration structure. In this paper, we discuss optimizations that can be applied to save FPGA area and I/O pins. These optimizations are based on the sharing of objects and reduce the overhead caused by the automatic generation of reconfiguration control. The added reconfiguration structure is hierarchical and consists of two layers: 1. a top layer, where one or several configurator tasks supervise a set of dynamically reconfigured FPGAs by downloading and starting complete configurations, and 2. a bottom layer, where each configuration c ij for each FPGA F i includes a dispatcher task d ij that starts and stops the nodes of the configuration using their control ports. Example 1 (Hierarchical reconfiguration structure). Figure 1a) shows the hierarchical reconfiguration structure for an FPGA F 1 with two configurations

3 and. The top layer consists of the configurator task running on the host that supervises the two FPGA configurations by controlling the corresponding dispatcher tasks and d 12. The bottom layer for configuration is shown in Figure 1b) where the dispatcher task supervises the local nodes b, q 3, c, and d using their control ports. Figure 1c) outlines a possible dispatcher function that implements a local schedule. a) Top layer FPGA configuration CPU b) Bottom Layer c) Dispatcher node features: Dispatcher_d () { b b q 3 c FPGA F 1 d b c d number of node invocations 1/30 1/30 3/18 execution cycles 11 state = s0 counterd=1 start b,d,q 3,c loop if d.done and (counterd<3) start d, counterd++ case state s0 : if b.done start c, state=s1 s1 : if c.done configuration done Fig. 1. Hierarchical reconfiguration structure. Our tool inserts edges (communication channels) d ij to connect all dispatcher tasks to the configurator on the host. For FPGAs not directly connected to the host, routing nodes have to be inserted on intermediate FPGAs: r klm d ij. Our framework supports both off-line and on-line scheduling techniques. The actual schedule is implemented in a distributed manner by the configurator and all the dispatcher tasks. Each FPGA executes only one of its configurations at any given time. However, the configuration schedule, i.e., the total order of all the configurations, may not be known at compile time. In this case, we have to add a routing node r klm for each communication channel m into each configuration c l on each intermediate FPGA F k. This process is called routing node distribution and inserts n c routing nodes for an intermediate FPGA in the problem graph [7], where n is the number of communication channels that must be routed and c the overall number of configurations for the FPGA. If the configuration schedule is known, the number of inserted routing nodes can be reduced. Example 2 (Routing node distribution). Figure 2a) shows an architecture graph with a host and two FPGAs. Two different configuration schedules that lead to different routing node distributions are shown in Figure 2b) and Figure 2c), respectively. In both mappings, FPGA F 1 has two configurations and,and FPGA F 2 implements three configurations,,and. The configuration schedule in Figure 2b2) gives the order of configurations for each FPGA. As there is no information about the relative timing of configurations on F 1 and F 2, 6 routing nodes are inserted on FPGA F 1. These 6 routing nodes require

4 12 I/O ports on FPGA F 1 and 6 I/O ports on FPGA F 2. Figure 2c2) shows a configuration schedule with an additional dependency. Configuration will only be executed when configurations and have completed. Consequently, the configurations on FPGA F 1 do not have to implement all communication channels. Only 3 routing nodes are required, leading to 6 and 3 I/O ports for FPGAs F 1 and F 2, respectively. b 1 b 2 a) Architecture graph d 21 d 21 r 111 r 111 r 112 r 112 r 113 d 22 d 22 r 121 r 122 r 123 d 23 r 123 d 23 d 12 d 12 configuration b1) Problem specification for configuration schedule A c1) Problem specification for configuration schedule B c21 b2) Configuration schedule A c2) Configuration schedule B Fig. 2. Routing node distribution.

5 Our back-end tools analyze the configuration schedule and try to insert routing nodes into configurations only if necessary to reduce the required FPGA area and I/O pins. For the remaining routing nodes and I/O ports, optimization strategies are applied to reduce the number of routing nodes and required I/O ports even further. 3 Optimization by Object Sharing Objects that can be shared comprise problem graph nodes and I/O ports. Although we consider here only routing nodes that have been added by our backend tools, object sharing could be applied to the original nodes of the problem graph as well. Nodes can be divided into three groups that demand for different interface circuitry (see Figure 3). Nodes of type a are connected only to nodes in the same configuration and are thus not amenable to the proposed optimizations. Nodes of type b are connected to nodes in the same configuration as well as to nodes on other computing resources. Nodes of type c have only connections to nodes bound to other computing resources. Node types b and c require I/O ports and are the main targets of object sharing. The routing nodes, which are of type c, benefit most from object sharing optimizations. The optimizations are split into two groups: 1. Port sharing: Several communication channels are routed over the same FPGA I/O pins in order to save pins. 2. Node sharing: The implementation of a routing node is shared between several communication channels in one configuration. This reduces the required FPGA area and routing resources. external edge c a b FPGA internal edge node type: a b c only internal edges internal and external edges only external edges Fig. 3. Node types. 3.1 Port Sharing A port is a set of I/O pins that enable data communication between two connected computing resources. Sharing ports among several channels defuses the problem of limited I/O pin resources. Port sharing applies to external edges of the node types b and c and has been extensively used in the Virtual Wire

6 project [2, 1]. We extend port sharing to time-exclusive configurations of runtime reconfigurable systems. Therefore, we differentiate between two types of port sharing: Intraconfiguration port sharing allows communication channels in the same configuration to share I/O ports by adding multiplexing and demultiplexing interface circuitry [1]. This technique can be applied to both CTR and RTR systems. Interconfiguration port sharing allows communication channels in different configurations of one FPGA to share I/O ports. These channels would otherwise be mapped to different ports as configurations of other FPGAs could require that both channels exist at the same time. Interconfiguration port sharing applies only to RTR systems. Example 3 (Intraconfiguration port sharing). Figure 4a) shows part of the problem graph of Example 2b1). Applying intraconfiguration port sharing to edges r 111, r 112,and r113 implies the multiplexing/demultiplexing interface circuits i 3 and i 4 (see Figure 4b). a) Problem specification b) Implementation r 111 i 1 i 2 r 111 r 112 i 3 i 4 r 112 r 113 interface r 113 Fig. 4. Intraconfiguration port sharing. Example 4 (Interconfiguration port sharing). Figure 5a) shows again a part of the problem graph of Example 2b1). The configurator controls the dispatchers via the edges and d 12. As the dispatchers reside in time-exclusive configurations, the corresponding ports can be shared. In Figure 5b) this is implemented by the interface circuits i 1 and i Node Sharing Node sharing is a technique where several identical problem graph nodes assigned to the same configuration share a single physical implementation on the target architecture. Generally, node sharing can be applied to all three node types a, b, and c. Node sharing to original problem graph nodes allows to trade-off between required FPGA area and execution time and could require additional buffers.

7 a) Problem specification b) Implementation i 1 i 2 d 12 d 12 Fig. 5. Interconfiguration port sharing. Node sharing for original problem graph nodes actually means to modify the mapping determined by front-end tools. Hence, we consider node sharing only for routing nodes (nodes of type c), which is extremely valuable if combined with port sharing. Example 5 (Node and port sharing for routing nodes). Figure 6a) shows a problem specification including FPGA F 1 with one configuration and FPGA F 2 with three configurations. The communication channels r 111 d 21, r 112 d 22,and r 113 d 23 are routed over FPGA F 1. The three routing nodes can share one physical implementation as the three configurations of FPGA F 2 never exist at the same time. This sharing of nodes can be combined with intraconfiguration port sharing of the three channels between the host and FPGA F 1 and interconfiguration port sharing between FPGA F 1 and FPGA F 2 (see Figure 6b). a) Problem specification b) Implementation r 111 N d 21 d 21 r 112 N d 22 i 1 i 2 r i 3 i 4 d 22 r 113 N node sharing d 23 intraconfiguration port sharing interconfiguration port sharing d 23 Fig. 6. Node and port sharing. 4 DYNAMITE algorithm The proposed optimization techniques have been implemented in our synthesis tool CORES/HASIS [6]. The corresponding algorithm DYNAMITE (DY- NAMIc system implementation) consists of two parts:

8 DYNAMITE 1 is executed for each host and extends the original problem graph with the hierarchical reconfiguration structure. The procedure has two main steps: (i) extension of the problem graph by introducing configurator and dispatcher tasks and inserting routing tasks by routing node distribution (lines ) and (ii) application of port and node sharing optimizations (lines ). DYNAMITE 2 performs the actual communication synthesis, i.e., introduces interface circuits, by executing the HASIS tool set for each configuration (lines ). The pseudo-code shown below outlines the basic steps of the DYNAMITE algorithm and is based on following assumptions: A host h supervises a set of FPGAs F h. Single FPGAs are denoted by F i. The problem graph PG consists of nodes and edges. The nodes are further split into subsets, depending on where they are mapped to. For example, V h denotes the problem graph nodes mapped to the host, V cij denotes nodes mapped to configuration c ij. C fi is the set of configurations of FPGA F i. All edges between the dispatchers of an FPGA and the configurator on the host are routed over the same set of FPGAs. Lines 2-8 insert and connect the configurator and dispatcher nodes. In lines 9-10, routing node distribution is performed for FPGAs that are not directly connected to the host. This step inserts routing nodes into several configurations, depending on information that is extracted from the configuration schedule. Lines perform port and node sharing optimizations. In line 12, all edges connecting to dispatcher nodes share their ports. This includes intra- as well as interconfiguration port sharing. In line 15, all routing nodes mapped to one configuration share their node implementations. 1. DYNAMITE_1(PG,AG,M,h) 2. V h V h -- insert configurator 3. for all F i F h 4. for all c ij C Fi 5. V cij V cij d ij -- insert dispatcher 6. E E (, d ij) -- insert edge 7. for all nodes n V cij \ d ij 8. E E (d ij,n) -- insert edge 9. if non_adjacent(f i,h) 10. routing_node_distribution(pg,ag,m,f i,h) 11. E temp {(x, d ij) j = 1... C Fi } 12. share_ports(e temp) 13. while (((x, y) E temp), x ) 14. V routing {v source(e), e E temp} 15. share_nodes(v routing) 16. E temp {(x, y) y V routing} 17. share_ports(e temp)

9 18. DYNAMITE_2(PG,AG,M) 19. for all F i F h 20. for all c ij C fi 21. HASIS.start(V cij,ag,m) Figure 7 shows the optimized implementation for Figure 2b1) after DYNA- MITE has been applied. The hierarchical reconfiguration structure consists of a configurator node on the host, one dispatcher node per FPGA configuration, and two routing nodes on FPGA F 1. Overall, three I/O ports are required on FPGA F 1 and one I/O port on FPGA F 2 to implement the reconfiguration structure. d 21 r 11 i 1 i 2 i 3 i 4 i 5 i 6 d 22 r 12 d 12 d 23 Fig. 7. Object sharing optimizations. 5 Conclusions The paper discussed optimization strategies for the hierarchical reconfiguration structure introduced in [5]. The optimizations are based on object sharing and include port sharing and node sharing. Port sharing saves I/O pins by multiplexing several communication channels over one physical channel. Node sharing saves FPGA area by reusing one physical node implementation for several routing nodes. References [1] J. Babb, R. Tessier, and A. Agarwal. Virtual Wires: Overcoming Pin Limitations in FPGA-based Logic Emulators. In IEEE Workshop on FPGA-based Custom Computing Machines, pages , Napa, CA, April 1993.

10 [2] J. Babb, R. Tessier, M. Dahl, S. Hanono, D. Hoki, and A. Agarwal. Logic emulation with virtual wires. IEEE Transactions on Computer-Aided Design of Integrated Circuit and Systems, 16(6): , June [3] K. Chatha and R. Vemuri. Hardware-Software Codesign for Dynamically Reconfigurable Architectures. In 9th International Workshop on Field-Programmable Logic and Applications, FPL 99, Lecture Notes in Computer Science, 1673, pages , Glasgow, UK, August/September [4] R. Dick and N. Jha. CORDS: Hardware-Software Co-Synthesis of Reconfigurable Real-Time Distributed Embedded Systems. In IEEE/ACM International Conference on Computer-Aided Design, pages 62 68, 8-12 November [5] M. Eisenring and M. Platzner. An Implementation Framework for Run-time Reconfigurable Systems. In The Second International Workshop on Engineering of Reconfigurable Hardware/Software Objects, ENREGLE 2000, Monte Carlo Resort, Las Vegas, Nevada, USA, June [6] M. Eisenring and M. Platzner. Synthesis of Interfaces and Communication in Reconfigurable Embedded Systems. To appear in IEE Proceedings - Computers and Digital Techniques, [7] M. Eisenring, M. Platzner, and L. Thiele. Communication Synthesis for Reconfigurable Embedded Systems. In 9th International Workshop on Field-Programmable Logic and Applications, pages , Glasgow, UK, August/September [8] R. Ernst, J. Henkel, T. Benner, W. Ye, U. Holtmann, and D. Herrmann. The COSYMA environment for hardware/software cosynthesis of small embedded systems. Microprocessors and Microsystems, 20(3): , May [9] B. Hutchings and M. Wirthlin. Implementation Approaches for Reconfigurable Logic Applications. In International Workshop on Field-Programmable Logic and Applications, pages , [10] A. Kirschbaum and M. Glesner. Rapid Prototyping of Communication Architectures. In 8th IEEE Int. Workshop on Rapid System Prototyping, pages , June , Chapel Hill, North Carolina. [11] M. O Nils and A. Jantsch. Communication in Hardware/Software Embedded Systems - A Taxonomy and Problem Formulation. In 15th NORCHIP Seminar, Copenhagen, Denmark, pages 67 74, November [12] R. Ortega and G. Borriello. Communication Synthesis for Distributed Embedded Systems. In IEEE/ACM Int l Conf. on Computer-Aided Design, pages , San Jose, CA, November [13] K. Purna and D. Bhatia. Temporal Partitioning and Scheduling Data Flow Graphs for Reconfigurable Computers. IEEE Transactions on Computers, 48(6): , June [14] E. Sanchez, M. Sipper, J. Haenni, J. Beuchat, A. Stauffer, and A. Perez-Uribe. Static and Dynamic Configurable Systems. IEEE Transactions on Computers, 48(6): , June 1999.

Anand Raghunathan

Anand Raghunathan ECE 695R: SYSTEM-ON-CHIP DESIGN Module 2: HW/SW Partitioning Lecture 2.13: HW/SW Co-Synthesis: Automatic Partitioning Anand Raghunathan raghunathan@purdue.edu Fall 2014, ME 1052, T Th 12:00PM-1:15PM 2014

More information

TIERS: Topology IndependEnt Pipelined Routing and Scheduling for VirtualWire TM Compilation

TIERS: Topology IndependEnt Pipelined Routing and Scheduling for VirtualWire TM Compilation TIERS: Topology IndependEnt Pipelined Routing and Scheduling for VirtualWire TM Compilation Charles Selvidge, Anant Agarwal, Matt Dahl, Jonathan Babb Virtual Machine Works, Inc. 1 Kendall Sq. Building

More information

Managing Dynamic Reconfiguration Overhead in Systems-on-a-Chip Design Using Reconfigurable Datapaths and Optimized Interconnection Networks

Managing Dynamic Reconfiguration Overhead in Systems-on-a-Chip Design Using Reconfigurable Datapaths and Optimized Interconnection Networks Managing Dynamic Reconfiguration Overhead in Systems-on-a-Chip Design Using Reconfigurable Datapaths and Optimized Interconnection Networks Zhining Huang, Sharad Malik Electrical Engineering Department

More information

The Design of Mixed Hardware/Software Systems

The Design of Mixed Hardware/Software Systems The Design of Mixed Hardware/Software Systems Jay K. Adams Synopsys, Inc. 700 East Middlefield Road Mountain View, CA 94043 jka@synopsys.com Donald E. Thomas Deptartment of Electrical and Computer Engineering

More information

Hardware/Software Co-design

Hardware/Software Co-design Hardware/Software Co-design Zebo Peng, Department of Computer and Information Science (IDA) Linköping University Course page: http://www.ida.liu.se/~petel/codesign/ 1 of 52 Lecture 1/2: Outline : an Introduction

More information

A Complete Data Scheduler for Multi-Context Reconfigurable Architectures

A Complete Data Scheduler for Multi-Context Reconfigurable Architectures A Complete Data Scheduler for Multi-Context Reconfigurable Architectures M. Sanchez-Elez, M. Fernandez, R. Maestre, R. Hermida, N. Bagherzadeh, F. J. Kurdahi Departamento de Arquitectura de Computadores

More information

From Temporal Partitioning and Temporal Placement to Algorithmic Skeletons

From Temporal Partitioning and Temporal Placement to Algorithmic Skeletons From Temporal Partitioning and Temporal Placement to Algorithmic Skeletons Florian Dittmann, Franz J. Rammig Heinz Nixdorf Institute University of Paderborn, Germany Motivation Making reconfigurable computing

More information

EE382V: System-on-a-Chip (SoC) Design

EE382V: System-on-a-Chip (SoC) Design EE382V: System-on-a-Chip (SoC) Design Lecture 10 Task Partitioning Sources: Prof. Margarida Jacome, UT Austin Prof. Lothar Thiele, ETH Zürich Andreas Gerstlauer Electrical and Computer Engineering University

More information

Operating System Approaches for Dynamically Reconfigurable Hardware

Operating System Approaches for Dynamically Reconfigurable Hardware Operating System Approaches for Dynamically Reconfigurable Hardware Marco Platzner Computer Engineering Group University of Paderborn platzner@upb.de Outline operating systems for reconfigurable hardware

More information

UML-BASED CO-DESIGN FOR RUN-TIME RECONFIGURABLE ARCHITECTURES

UML-BASED CO-DESIGN FOR RUN-TIME RECONFIGURABLE ARCHITECTURES Chapter 1 UML-BASED CO-DESIGN FOR RUN-TIME RECONFIGURABLE ARCHITECTURES Bernd Steinbach 1, Thomas Beierlein 2, Dominik Fröhlich 1,2 1 TU Bergakademie Freiberg Institute of Computer Science 2 Hochschule

More information

FPGA: What? Why? Marco D. Santambrogio

FPGA: What? Why? Marco D. Santambrogio FPGA: What? Why? Marco D. Santambrogio marco.santambrogio@polimi.it 2 Reconfigurable Hardware Reconfigurable computing is intended to fill the gap between hardware and software, achieving potentially much

More information

A Device-Controlled Dynamic Configuration Framework Supporting Heterogeneous Resource Management

A Device-Controlled Dynamic Configuration Framework Supporting Heterogeneous Resource Management A Device-Controlled Dynamic Configuration Framework Supporting Heterogeneous Resource Management H. Tan and R. F. DeMara Department of Electrical and Computer Engineering University of Central Florida

More information

Hardware-Software Codesign

Hardware-Software Codesign Hardware-Software Codesign 4. System Partitioning Lothar Thiele 4-1 System Design specification system synthesis estimation SW-compilation intellectual prop. code instruction set HW-synthesis intellectual

More information

ReconOS: Multithreaded Programming and Execution Models for Reconfigurable Hardware

ReconOS: Multithreaded Programming and Execution Models for Reconfigurable Hardware ReconOS: Multithreaded Programming and Execution Models for Reconfigurable Hardware Enno Lübbers and Marco Platzner Computer Engineering Group University of Paderborn {enno.luebbers, platzner}@upb.de Outline

More information

Design methodology for multi processor systems design on regular platforms

Design methodology for multi processor systems design on regular platforms Design methodology for multi processor systems design on regular platforms Ph.D in Electronics, Computer Science and Telecommunications Ph.D Student: Davide Rossi Ph.D Tutor: Prof. Roberto Guerrieri Outline

More information

Hardware/Software Partitioning and Minimizing Memory Interface Traffic

Hardware/Software Partitioning and Minimizing Memory Interface Traffic Hardware/Software Partitioning and Minimizing Memory Interface Traffic Axel Jantsch, Peeter Ellervee, Johnny Öberg, Ahmed Hemani and Hannu Tenhunen Electronic System Design Laboratory, Royal Institute

More information

Abstract A SCALABLE, PARALLEL, AND RECONFIGURABLE DATAPATH ARCHITECTURE

Abstract A SCALABLE, PARALLEL, AND RECONFIGURABLE DATAPATH ARCHITECTURE A SCALABLE, PARALLEL, AND RECONFIGURABLE DATAPATH ARCHITECTURE Reiner W. Hartenstein, Rainer Kress, Helmut Reinig University of Kaiserslautern Erwin-Schrödinger-Straße, D-67663 Kaiserslautern, Germany

More information

Hardware/Software Codesign

Hardware/Software Codesign Hardware/Software Codesign 3. Partitioning Marco Platzner Lothar Thiele by the authors 1 Overview A Model for System Synthesis The Partitioning Problem General Partitioning Methods HW/SW-Partitioning Methods

More information

A hardware/software partitioning and scheduling approach for embedded systems with low-power and high performance requirements

A hardware/software partitioning and scheduling approach for embedded systems with low-power and high performance requirements A hardware/software partitioning and scheduling approach for embedded systems with low-power and high performance requirements Javier Resano, Daniel Mozos, Elena Pérez, Hortensia Mecha, Julio Septién Dept.

More information

Hardware/Software Codesign

Hardware/Software Codesign Hardware/Software Codesign SS 2016 Prof. Dr. Christian Plessl High-Performance IT Systems group University of Paderborn Version 2.2.0 2016-04-08 how to design a "digital TV set top box" Motivating Example

More information

Co-synthesis and Accelerator based Embedded System Design

Co-synthesis and Accelerator based Embedded System Design Co-synthesis and Accelerator based Embedded System Design COE838: Embedded Computer System http://www.ee.ryerson.ca/~courses/coe838/ Dr. Gul N. Khan http://www.ee.ryerson.ca/~gnkhan Electrical and Computer

More information

Concepts for Model Compilation in Hardware/Software Codesign

Concepts for Model Compilation in Hardware/Software Codesign Concepts for Model Compilation in Hardware/Software Codesign S. Schulz, and J.W. Rozenblit Dept. of Electrical and Computer Engineering The University of Arizona Tucson, AZ 85721 USA sschulz@ece.arizona.edu

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

Profiling in the ASP Codesign Environment

Profiling in the ASP Codesign Environment Profiling in the ASP Codesign Environment Matthew F. Parkinson and Sri Parameswaran Department of Electrical and Computer Engineering University of Queensland, St. Lucia 72 Brisbane, Queensland, Australia

More information

Introduction to reconfigurable systems

Introduction to reconfigurable systems Introduction to reconfigurable systems Reconfigurable system (RS)= any system whose sub-system configurations can be changed or modified after fabrication Reconfigurable computing (RC) is commonly used

More information

Hardware/Software Partitioning for SoCs. EECE Advanced Topics in VLSI Design Spring 2009 Brad Quinton

Hardware/Software Partitioning for SoCs. EECE Advanced Topics in VLSI Design Spring 2009 Brad Quinton Hardware/Software Partitioning for SoCs EECE 579 - Advanced Topics in VLSI Design Spring 2009 Brad Quinton Goals of this Lecture Automatic hardware/software partitioning is big topic... In this lecture,

More information

Implementation of A Optimized Systolic Array Architecture for FSBMA using FPGA for Real-time Applications

Implementation of A Optimized Systolic Array Architecture for FSBMA using FPGA for Real-time Applications 46 IJCSNS International Journal of Computer Science and Network Security, VOL.8 No.3, March 2008 Implementation of A Optimized Systolic Array Architecture for FSBMA using FPGA for Real-time Applications

More information

Efficient Self-Reconfigurable Implementations Using On-Chip Memory

Efficient Self-Reconfigurable Implementations Using On-Chip Memory 10th International Conference on Field Programmable Logic and Applications, August 2000. Efficient Self-Reconfigurable Implementations Using On-Chip Memory Sameer Wadhwa and Andreas Dandalis University

More information

software, user input or sensor data. RTP Cores utilize a certain number of Configurable Logic Blocks (CLBs) on the device when created and contain a s

software, user input or sensor data. RTP Cores utilize a certain number of Configurable Logic Blocks (CLBs) on the device when created and contain a s Debug of Reconfigurable Systems Tim Price, Delon Levi and Steven A. Guccione Xilinx, Inc., 2100 Logic Drive, San Jose, CA 95124 (USA) ABSTRACT While FPGA design tools have progressed steadily, availability

More information

RTL Coding General Concepts

RTL Coding General Concepts RTL Coding General Concepts Typical Digital System 2 Components of a Digital System Printed circuit board (PCB) Embedded d software microprocessor microcontroller digital signal processor (DSP) ASIC Programmable

More information

A New Approach to Execution Time Estimations in a Hardware/Software Codesign Environment

A New Approach to Execution Time Estimations in a Hardware/Software Codesign Environment A New Approach to Execution Time Estimations in a Hardware/Software Codesign Environment JAVIER RESANO, ELENA PEREZ, DANIEL MOZOS, HORTENSIA MECHA, JULIO SEPTIÉN Departamento de Arquitectura de Computadores

More information

Mapping real-life applications on run-time reconfigurable NoC-based MPSoC on FPGA. Singh, A.K.; Kumar, A.; Srikanthan, Th.; Ha, Y.

Mapping real-life applications on run-time reconfigurable NoC-based MPSoC on FPGA. Singh, A.K.; Kumar, A.; Srikanthan, Th.; Ha, Y. Mapping real-life applications on run-time reconfigurable NoC-based MPSoC on FPGA. Singh, A.K.; Kumar, A.; Srikanthan, Th.; Ha, Y. Published in: Proceedings of the 2010 International Conference on Field-programmable

More information

A linear algebra processor using Monte Carlo methods

A linear algebra processor using Monte Carlo methods A linear algebra processor using Monte Carlo methods Conference or Workshop Item Accepted Version Plaks, T. P., Megson, G. M., Cadenas Medina, J. O. and Alexandrov, V. N. (2003) A linear algebra processor

More information

Multi-domain Communication Scheduling For FPGA-based Logic Emulation

Multi-domain Communication Scheduling For FPGA-based Logic Emulation Multi-domain Communication Scheduling For -based Logic Emulation Abstract Communication scheduling is a technique used by many parallel verification systems to pipeline data signals across shared physical

More information

Bibliography. Measuring Software Reuse, Jeffrey S. Poulin, Addison-Wesley, Practical Software Reuse, Donald J. Reifer, Wiley, 1997.

Bibliography. Measuring Software Reuse, Jeffrey S. Poulin, Addison-Wesley, Practical Software Reuse, Donald J. Reifer, Wiley, 1997. Bibliography Books on software reuse: 1. 2. Measuring Software Reuse, Jeffrey S. Poulin, Addison-Wesley, 1997. Practical Software Reuse, Donald J. Reifer, Wiley, 1997. Formal specification and verification:

More information

Memory-efficient and fast run-time reconfiguration of regularly structured designs

Memory-efficient and fast run-time reconfiguration of regularly structured designs Memory-efficient and fast run-time reconfiguration of regularly structured designs Brahim Al Farisi, Karel Heyse, Karel Bruneel and Dirk Stroobandt Ghent University, ELIS Department Sint-Pietersnieuwstraat

More information

RUN-TIME RECONFIGURABLE IMPLEMENTATION OF DSP ALGORITHMS USING DISTRIBUTED ARITHMETIC. Zoltan Baruch

RUN-TIME RECONFIGURABLE IMPLEMENTATION OF DSP ALGORITHMS USING DISTRIBUTED ARITHMETIC. Zoltan Baruch RUN-TIME RECONFIGURABLE IMPLEMENTATION OF DSP ALGORITHMS USING DISTRIBUTED ARITHMETIC Zoltan Baruch Computer Science Department, Technical University of Cluj-Napoca, 26-28, Bariţiu St., 3400 Cluj-Napoca,

More information

Design Issues in Hardware/Software Co-Design

Design Issues in Hardware/Software Co-Design Volume-2, Issue-1, January-February, 2014, pp. 01-05, IASTER 2013 www.iaster.com, Online: 2347-6109, Print: 2348-0017 ABSTRACT Design Issues in Hardware/Software Co-Design R. Ganesh Sr. Asst. Professor,

More information

Hardware Software Codesign of Embedded Systems

Hardware Software Codesign of Embedded Systems Hardware Software Codesign of Embedded Systems Rabi Mahapatra Texas A&M University Today s topics Course Organization Introduction to HS-CODES Codesign Motivation Some Issues on Codesign of Embedded System

More information

Integrating MRPSOC with multigrain parallelism for improvement of performance

Integrating MRPSOC with multigrain parallelism for improvement of performance Integrating MRPSOC with multigrain parallelism for improvement of performance 1 Swathi S T, 2 Kavitha V 1 PG Student [VLSI], Dept. of ECE, CMRIT, Bangalore, Karnataka, India 2 Ph.D Scholar, Jain University,

More information

Partially Reconfigurable Cores for Xilinx Virtex

Partially Reconfigurable Cores for Xilinx Virtex Author s copy Partially Reconfigurable Cores for Xilinx Virtex Matthias Dyer, Christian Plessl, and Marco Platzner Computer Engineering and Networks Lab, Swiss Federal Institute of Technology, ETH Zurich,

More information

Systems Development Tools for Embedded Systems and SOC s

Systems Development Tools for Embedded Systems and SOC s Systems Development Tools for Embedded Systems and SOC s Óscar R. Ribeiro Departamento de Informática, Universidade do Minho 4710 057 Braga, Portugal oscar.rafael@di.uminho.pt Abstract. A new approach

More information

Reconfigurable Architecture Requirements for Co-Designed Virtual Machines

Reconfigurable Architecture Requirements for Co-Designed Virtual Machines Reconfigurable Architecture Requirements for Co-Designed Virtual Machines Kenneth B. Kent University of New Brunswick Faculty of Computer Science Fredericton, New Brunswick, Canada ken@unb.ca Micaela Serra

More information

Automated RTR Temporal Partitioning for Reconfigurable Embedded Real-Time System Design

Automated RTR Temporal Partitioning for Reconfigurable Embedded Real-Time System Design Automated RTR Temporal Partitioning for Reconfigurable Embedded Real-Time System Design C. Tanougast, Y. Berviller, P. Brunet and S. Weber L. I. E. N. Laboratoire d Instrumentation Electronique de Nancy

More information

Karthik Narayanan, Santosh Madiraju EEL Embedded Systems Seminar 1/41 1

Karthik Narayanan, Santosh Madiraju EEL Embedded Systems Seminar 1/41 1 Karthik Narayanan, Santosh Madiraju EEL6935 - Embedded Systems Seminar 1/41 1 Efficient Search Space Exploration for HW-SW Partitioning Hardware/Software Codesign and System Synthesis, 2004. CODES + ISSS

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

Manuscript received 12 October 2004; revised 17 December 2004 Communicated by Hong Zhu

Manuscript received 12 October 2004; revised 17 December 2004 Communicated by Hong Zhu Computing and Informatics, Vol. 23, 2004, 557 569 KNAPSACK MODEL AND ALGORITHM FOR HARDWARE/SOFTWARE PARTITIONING PROBLEM Abhijit Ray, Wu Jigang, Thambipillai Srikanthan Centre for High Performance Embedded

More information

System Synthesis of Digital Systems

System Synthesis of Digital Systems System Synthesis Introduction 1 System Synthesis of Digital Systems Petru Eles, Zebo Peng System Synthesis Introduction 2 Literature: Introduction P. Eles, K. Kuchcinski and Z. Peng "System Synthesis with

More information

TODAY, new applications, e.g., multimedia or advanced

TODAY, new applications, e.g., multimedia or advanced 584 IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS II: ANALOG AND DIGITAL SIGNAL PROCESSING, VOL. 45, NO. 5, MAY 1998 A Formal Technique for Hardware Interface Design Adel Baganne, Jean-Luc Philippe, and Eric

More information

Multiway Netlist Partitioning onto FPGA-based Board Architectures

Multiway Netlist Partitioning onto FPGA-based Board Architectures Multiway Netlist Partitioning onto FPGA-based Board Architectures U. Ober, M. Glesner Institute of Microelectronic Systems, Darmstadt University of Technology, Karlstr. 15, 64283 Darmstadt, Germany Abstract

More information

FPGA Implementation of Multiplier for Floating- Point Numbers Based on IEEE Standard

FPGA Implementation of Multiplier for Floating- Point Numbers Based on IEEE Standard FPGA Implementation of Multiplier for Floating- Point Numbers Based on IEEE 754-2008 Standard M. Shyamsi, M. I. Ibrahimy, S. M. A. Motakabber and M. R. Ahsan Dept. of Electrical and Computer Engineering

More information

Reconfigurable Computing. Introduction

Reconfigurable Computing. Introduction Reconfigurable Computing Tony Givargis and Nikil Dutt Introduction! Reconfigurable computing, a new paradigm for system design Post fabrication software personalization for hardware computation Traditionally

More information

Gated-Demultiplexer Tree Buffer for Low Power Using Clock Tree Based Gated Driver

Gated-Demultiplexer Tree Buffer for Low Power Using Clock Tree Based Gated Driver Gated-Demultiplexer Tree Buffer for Low Power Using Clock Tree Based Gated Driver E.Kanniga 1, N. Imocha Singh 2,K.Selva Rama Rathnam 3 Professor Department of Electronics and Telecommunication, Bharath

More information

USING C-TO-HARDWARE ACCELERATION IN FPGAS FOR WAVEFORM BASEBAND PROCESSING

USING C-TO-HARDWARE ACCELERATION IN FPGAS FOR WAVEFORM BASEBAND PROCESSING USING C-TO-HARDWARE ACCELERATION IN FPGAS FOR WAVEFORM BASEBAND PROCESSING David Lau (Altera Corporation, San Jose, CA, dlau@alteracom) Jarrod Blackburn, (Altera Corporation, San Jose, CA, jblackbu@alteracom)

More information

Hardware Accelerators

Hardware Accelerators Hardware Accelerators José Costa Software for Embedded Systems Departamento de Engenharia Informática (DEI) Instituto Superior Técnico 2014-04-08 José Costa (DEI/IST) Hardware Accelerators 1 Outline Hardware

More information

RED: A Reconfigurable Datapath

RED: A Reconfigurable Datapath RED: A Reconfigurable Datapath Fernando Rincón, José M. Moya, Juan Carlos López Universidad de Castilla-La Mancha Departamento de Informática {frincon,fmoya,lopez}@inf-cr.uclm.es Abstract The popularity

More information

System-Level Modeling Environment: MLDesigner

System-Level Modeling Environment: MLDesigner System-Level Modeling Environment: MLDesigner Ankur Agarwal 1, Cyril-Daniel Iskander 2, Ravi Shankar 1, Georgiana Hamza-Lup 1 ankur@cse.fau.edu, cyril_iskander@hotmail.com, ravi@cse.fau.edu, ghamzal@fau.edu

More information

System Design and Methodology/ Embedded Systems Design (Modeling and Design of Embedded Systems)

System Design and Methodology/ Embedded Systems Design (Modeling and Design of Embedded Systems) Design&Methodologies Fö 1&2-1 Design&Methodologies Fö 1&2-2 Course Information Design and Methodology/ Embedded s Design (Modeling and Design of Embedded s) TDTS07/TDDI08 Web page: http://www.ida.liu.se/~tdts07

More information

Hardware-Software Co-Design of Embedded Reconfigurable Architectures

Hardware-Software Co-Design of Embedded Reconfigurable Architectures Hardware-Software Co-Design of Embedded Reconfigurable Architectures Yanbing Li, Tim Callahan *, Ervan Darnell **, Randolph Harr, Uday Kurkure, Jon Stockwood Synopsys Inc., 700 East Middlefield Rd. Mountain

More information

Metodologie di Progettazione Hardware e Software

Metodologie di Progettazione Hardware e Software POLITECNICO DI MILANO Metodologie di Progettazione Hardware e Software Reconfigurable Computing - Design Flow - Marco D. Santambrogio marco.santabrogio@polimi.it Outline 2 Retargetable Compiler Basic Idea

More information

EE382V: System-on-a-Chip (SoC) Design

EE382V: System-on-a-Chip (SoC) Design EE382V: System-on-a-Chip (SoC) Design Lecture 8 HW/SW Co-Design Sources: Prof. Margarida Jacome, UT Austin Andreas Gerstlauer Electrical and Computer Engineering University of Texas at Austin gerstl@ece.utexas.edu

More information

Issues in FPGA-based Configurable Computer Design for Operating Systems and Multimedia Applications

Issues in FPGA-based Configurable Computer Design for Operating Systems and Multimedia Applications Issues in -based Configurable Computer Design for Operating Systems and Multimedia Applications 3UHGUDJ.QHåHYLü%RåLGDU5DGXQRYLü$EREDNHU(OKRXQL Department of Computer Engineering School of Electrical Engineering

More information

New Approach for Affine Combination of A New Architecture of RISC cum CISC Processor

New Approach for Affine Combination of A New Architecture of RISC cum CISC Processor Volume 2 Issue 1 March 2014 ISSN: 2320-9984 (Online) International Journal of Modern Engineering & Management Research Website: www.ijmemr.org New Approach for Affine Combination of A New Architecture

More information

SRAM SRAM SRAM SRAM EPF 10K130V EPF 10K130V. Ethernet DRAM DRAM DRAM EPROM EPF 10K130V EPF 10K130V. Flash DRAM DRAM

SRAM SRAM SRAM SRAM EPF 10K130V EPF 10K130V. Ethernet DRAM DRAM DRAM EPROM EPF 10K130V EPF 10K130V. Flash DRAM DRAM Hardware Recongurable Neural Networks Jean-Luc Beuchat, Jacques-Olivier Haenni and Eduardo Sanchez Swiss Federal Institute of Technology, Logic Systems Laboratory, EPFL { LSL, IN { Ecublens, CH { 1015

More information

A Methodology and Tool Framework for Supporting Rapid Exploration of Memory Hierarchies in FPGAs

A Methodology and Tool Framework for Supporting Rapid Exploration of Memory Hierarchies in FPGAs A Methodology and Tool Framework for Supporting Rapid Exploration of Memory Hierarchies in FPGAs Harrys Sidiropoulos, Kostas Siozios and Dimitrios Soudris School of Electrical & Computer Engineering National

More information

A Scalable Multiprocessor for Real-time Signal Processing

A Scalable Multiprocessor for Real-time Signal Processing A Scalable Multiprocessor for Real-time Signal Processing Daniel Scherrer, Hans Eberle Institute for Computer Systems, Swiss Federal Institute of Technology CH-8092 Zurich, Switzerland {scherrer, eberle}@inf.ethz.ch

More information

Hardware Acceleration of Edge Detection Algorithm on FPGAs

Hardware Acceleration of Edge Detection Algorithm on FPGAs Hardware Acceleration of Edge Detection Algorithm on FPGAs Muthukumar Venkatesan and Daggu Venkateshwar Rao Department of Electrical and Computer Engineering University of Nevada Las Vegas. Las Vegas NV

More information

Contents Part I Basic Concepts The Nature of Hardware and Software Data Flow Modeling and Transformation

Contents Part I Basic Concepts The Nature of Hardware and Software Data Flow Modeling and Transformation Contents Part I Basic Concepts 1 The Nature of Hardware and Software... 3 1.1 Introducing Hardware/Software Codesign... 3 1.1.1 Hardware... 3 1.1.2 Software... 5 1.1.3 Hardware and Software... 7 1.1.4

More information

Codesign Framework. Parts of this lecture are borrowed from lectures of Johan Lilius of TUCS and ASV/LL of UC Berkeley available in their web.

Codesign Framework. Parts of this lecture are borrowed from lectures of Johan Lilius of TUCS and ASV/LL of UC Berkeley available in their web. Codesign Framework Parts of this lecture are borrowed from lectures of Johan Lilius of TUCS and ASV/LL of UC Berkeley available in their web. Embedded Processor Types General Purpose Expensive, requires

More information

Hardware, Software and Mechanical Cosimulation for Automotive Applications

Hardware, Software and Mechanical Cosimulation for Automotive Applications Hardware, Software and Mechanical Cosimulation for Automotive Applications P. Le Marrec, C.A. Valderrama, F. Hessel, A.A. Jerraya TIMA Laboratory 46 Avenue Felix Viallet 38031 Grenoble France fphilippe.lemarrec,

More information

Integrated Circuit ORB (ICO) White Paper V1.1

Integrated Circuit ORB (ICO) White Paper V1.1 Integrated Circuit (ICO) White Paper V1.1 F. Humcke and D. Paniscotti PrismTech Corporation SYNOPSIS This white paper presents a detailed overview of PrismTech s Integrated Circuit (ICO) and describes

More information

Designing Heterogeneous FPGAs with Multiple SBs *

Designing Heterogeneous FPGAs with Multiple SBs * Designing Heterogeneous FPGAs with Multiple SBs * K. Siozios, S. Mamagkakis, D. Soudris, and A. Thanailakis VLSI Design and Testing Center, Department of Electrical and Computer Engineering, Democritus

More information

A Frame Study for Post-Processing Analysis on System Behavior: A Case Study of Deadline Miss Detection

A Frame Study for Post-Processing Analysis on System Behavior: A Case Study of Deadline Miss Detection Journal of Computer Science 6 (12): 1505-1510, 2010 ISSN 1549-3636 2010 Science Publications A Frame Study for Post-Processing Analysis on System Behavior: A Case Study of Deadline Miss Detection Junghee

More information

Design Guidelines for Optimal Results in High-Density FPGAs

Design Guidelines for Optimal Results in High-Density FPGAs White Paper Introduction Design Guidelines for Optimal Results in High-Density FPGAs Today s FPGA applications are approaching the complexity and performance requirements of ASICs. In some cases, FPGAs

More information

Wavelength Assignment in a Ring Topology for Wavelength Routed WDM Optical Networks

Wavelength Assignment in a Ring Topology for Wavelength Routed WDM Optical Networks Wavelength Assignment in a Ring Topology for Wavelength Routed WDM Optical Networks Amit Shukla, L. Premjit Singh and Raja Datta, Dept. of Computer Science and Engineering, North Eastern Regional Institute

More information

A Versatile Instrument for Analyzing and Testing the Interfaces of Peripheral Devices

A Versatile Instrument for Analyzing and Testing the Interfaces of Peripheral Devices Reprint A Versatile Instrument for Analyzing and Testing the Interfaces of Peripheral Devices P. Savvopoulos, M. Varsamou and Th. Antonakopoulos The 3rd International Conference on Systems, Signals & Devices

More information

Hardware-Software Codesign. 1. Introduction

Hardware-Software Codesign. 1. Introduction Hardware-Software Codesign 1. Introduction Lothar Thiele 1-1 Contents What is an Embedded System? Levels of Abstraction in Electronic System Design Typical Design Flow of Hardware-Software Systems 1-2

More information

EN2911X: Reconfigurable Computing Lecture 01: Introduction

EN2911X: Reconfigurable Computing Lecture 01: Introduction EN2911X: Reconfigurable Computing Lecture 01: Introduction Prof. Sherief Reda Division of Engineering, Brown University Fall 2009 Methods for executing computations Hardware (Application Specific Integrated

More information

N-Model Tests for VLSI Circuits

N-Model Tests for VLSI Circuits 40th Southeastern Symposium on System Theory University of New Orleans New Orleans, LA, USA, March 16-18, 2008 MC3.6 N-Model Tests for VLSI Circuits Nitin Yogi and Vishwani D. Agrawal Auburn University,

More information

A Time-Multiplexed FPGA

A Time-Multiplexed FPGA A Time-Multiplexed FPGA Steve Trimberger, Dean Carberry, Anders Johnson, Jennifer Wong Xilinx, nc. 2 100 Logic Drive San Jose, CA 95124 408-559-7778 steve.trimberger @ xilinx.com Abstract This paper describes

More information

ReconOS: An RTOS Supporting Hardware and Software Threads

ReconOS: An RTOS Supporting Hardware and Software Threads ReconOS: An RTOS Supporting Hardware and Software Threads Enno Lübbers and Marco Platzner Computer Engineering Group University of Paderborn marco.platzner@computer.org Overview the ReconOS project programming

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

Reliability-Aware Co-synthesis for Embedded Systems

Reliability-Aware Co-synthesis for Embedded Systems Reliability-Aware Co-synthesis for Embedded Systems Y. Xie, L. Li, M. Kandemir, N. Vijaykrishnan, and M. J. Irwin Department of Computer Science and Engineering Pennsylvania State University {yuanxie,

More information

Specification (VHDL) Specification (VHDL) 2.2 Functional partitioning. Spec1 (VHDL) Spec2 (VHDL) Behavioral Synthesis (MEBS)

Specification (VHDL) Specification (VHDL) 2.2 Functional partitioning. Spec1 (VHDL) Spec2 (VHDL) Behavioral Synthesis (MEBS) A Comparison of Functional and Structural Partitioning Frank Vahid Thuy Dm Le Yu-chin Hsu Department of Computer Science University of California, Riverside, CA 92521 vahid@cs.ucr.edu Abstract Incorporating

More information

Lecture 7: Introduction to Co-synthesis Algorithms

Lecture 7: Introduction to Co-synthesis Algorithms Design & Co-design of Embedded Systems Lecture 7: Introduction to Co-synthesis Algorithms Sharif University of Technology Computer Engineering Dept. Winter-Spring 2008 Mehdi Modarressi Topics for today

More information

Linköping University Post Print. Analysis of Twiddle Factor Memory Complexity of Radix-2^i Pipelined FFTs

Linköping University Post Print. Analysis of Twiddle Factor Memory Complexity of Radix-2^i Pipelined FFTs Linköping University Post Print Analysis of Twiddle Factor Complexity of Radix-2^i Pipelined FFTs Fahad Qureshi and Oscar Gustafsson N.B.: When citing this work, cite the original article. 200 IEEE. Personal

More information

Non-Uniform Memory Access (NUMA) Architecture and Multicomputers

Non-Uniform Memory Access (NUMA) Architecture and Multicomputers Non-Uniform Memory Access (NUMA) Architecture and Multicomputers Parallel and Distributed Computing MSc in Information Systems and Computer Engineering DEA in Computational Engineering Department of Computer

More information

Re-configurable VLIW processor for streaming data

Re-configurable VLIW processor for streaming data International Workshop NGNT 97 Re-configurable VLIW processor for streaming data V. Iossifov Studiengang Technische Informatik, FB Ingenieurwissenschaften 1, FHTW Berlin. G. Megson School of Computer Science,

More information

Automatic Generation of Hardware/Software Interface with Product-Specific Debugging Tools

Automatic Generation of Hardware/Software Interface with Product-Specific Debugging Tools Automatic Generation of Hardware/Software Interface with Product-Specific Debugging Tools Jeong-Han Yun, Gunwoo Kim, Choonho Son, and Taisook Han Dept. of Computer Science, Korea Advanced Institute of

More information

A Hardware-Software Co-Design System for Embedded Real-Time Applications

A Hardware-Software Co-Design System for Embedded Real-Time Applications A Hardware-Software Co-Design System for Embedded Real-Time Applications Sérgio Vanderlei Cavalcante A thesis submitted for the degree of Doctor of Philosophy in the Department of Electrical and Electronic

More information

Hardware Software Codesign of Embedded System

Hardware Software Codesign of Embedded System Hardware Software Codesign of Embedded System CPSC489-501 Rabi Mahapatra Mahapatra - Texas A&M - Fall 00 1 Today s topics Course Organization Introduction to HS-CODES Codesign Motivation Some Issues on

More information

Fast FPGA Routing Approach Using Stochestic Architecture

Fast FPGA Routing Approach Using Stochestic Architecture . Fast FPGA Routing Approach Using Stochestic Architecture MITESH GURJAR 1, NAYAN PATEL 2 1 M.E. Student, VLSI and Embedded System Design, GTU PG School, Ahmedabad, Gujarat, India. 2 Professor, Sabar Institute

More information

Introduction to Partial Reconfiguration Methodology

Introduction to Partial Reconfiguration Methodology Methodology This material exempt per Department of Commerce license exception TSU Objectives After completing this module, you will be able to: Define Partial Reconfiguration technology List common applications

More information

A Dynamic NOC Arbitration Technique using Combination of VCT and XY Routing

A Dynamic NOC Arbitration Technique using Combination of VCT and XY Routing 727 A Dynamic NOC Arbitration Technique using Combination of VCT and XY Routing 1 Bharati B. Sayankar, 2 Pankaj Agrawal 1 Electronics Department, Rashtrasant Tukdoji Maharaj Nagpur University, G.H. Raisoni

More information

FPGA-Based Rapid Prototyping of Digital Signal Processing Systems

FPGA-Based Rapid Prototyping of Digital Signal Processing Systems FPGA-Based Rapid Prototyping of Digital Signal Processing Systems Kevin Banovic, Mohammed A. S. Khalid, and Esam Abdel-Raheem Presented By Kevin Banovic July 29, 2005 To be presented at the 48 th Midwest

More information

Springbok: A Rapid-Prototyping System for Board- Level Designs

Springbok: A Rapid-Prototyping System for Board- Level Designs ACM/SIGDA 2nd International Workshop on Field-Programmable Gate Arrays, Berkeley, February, 1994. Springbok: A Rapid-Prototyping System for Board- Level Designs Scott Hauck, Gaetano Borriello, Carl Ebeling

More information

Evolution of Implementation Technologies. ECE 4211/5211 Rapid Prototyping with FPGAs. Gate Array Technology (IBM s) Programmable Logic

Evolution of Implementation Technologies. ECE 4211/5211 Rapid Prototyping with FPGAs. Gate Array Technology (IBM s) Programmable Logic ECE 42/52 Rapid Prototyping with FPGAs Dr. Charlie Wang Department of Electrical and Computer Engineering University of Colorado at Colorado Springs Evolution of Implementation Technologies Discrete devices:

More information

Cosimulation of Real-Time Control Systems

Cosimulation of Real-Time Control Systems Cosimulation of Real-Time Control Systems Juha-Pekka Soininen, Tuomo Huttunen, Kari Tiensyrjä and Hannu Heusala VTT Electronics, Oulu, Finland Abstract The behaviour of a real-time system can be validated

More information

Tradeoff Analysis and Architecture Design of a Hybrid Hardware/Software Sorter

Tradeoff Analysis and Architecture Design of a Hybrid Hardware/Software Sorter Tradeoff Analysis and Architecture Design of a Hybrid Hardware/Software Sorter M. Bednara, O. Beyer, J. Teich, R. Wanka Paderborn University D-33095 Paderborn, Germany bednara,beyer,teich @date.upb.de,

More information

Design Methodologies. Full-Custom Design

Design Methodologies. Full-Custom Design Design Methodologies Design styles Full-custom design Standard-cell design Programmable logic Gate arrays and field-programmable gate arrays (FPGAs) Sea of gates System-on-a-chip (embedded cores) Design

More information