online- phase offline- phase System under Test signals Probe Selection Unit (PSU) FPID trigger FPGA Preprocessing Unit (PPU) Trace Buffer Unit (TBU)



Similar documents
7a. System-on-chip design and prototyping platforms

Design and Implementation of an On-Chip timing based Permutation Network for Multiprocessor system on Chip

Reconfigurable Architecture Requirements for Co-Designed Virtual Machines

Architectures and Platforms

International Workshop on Field Programmable Logic and Applications, FPL '99

GEDAE TM - A Graphical Programming and Autocode Generation Tool for Signal Processor Applications

find model parameters, to validate models, and to develop inputs for models. c 1994 Raj Jain 7.1

Embedded Software development Process and Tools:

Hardware Implementation of Improved Adaptive NoC Router with Flit Flow History based Load Balancing Selection Strategy

Rapid System Prototyping with FPGAs

Real-Time Component Software. slide credits: H. Kopetz, P. Puschner

Medical Device Design: Shorten Prototype and Deployment Time with NI Tools. NI Technical Symposium 2008

Architectural Level Power Consumption of Network on Chip. Presenter: YUAN Zheng

Design of a High Speed Communications Link Using Field Programmable Gate Arrays

Chapter 2 Heterogeneous Multicore Architecture

Fondamenti su strumenti di sviluppo per microcontrollori PIC

Interconnection Networks Programmierung Paralleler und Verteilter Systeme (PPV)

ELEC 5260/6260/6266 Embedded Computing Systems

Extended Boundary Scan Test breaching the analog ban. Marcel Swinnen, teamleader test engineering

AXI Performance Monitor v5.0

Sockets. Pia Node. Pia Node. Subsystem. Internet. Subsystem. Remote Hardware Connection. Pia Node

MsC in Advanced Electronics Systems Engineering


Switched Interconnect for System-on-a-Chip Designs

Best Practises for LabVIEW FPGA Design Flow. uk.ni.com ireland.ni.com

Scalability and Classifications

Interconnection Networks

Agenda. Michele Taliercio, Il circuito Integrato, Novembre 2001

MULTISTAGE INTERCONNECTION NETWORKS: A TRANSITION TO OPTICAL

Introduction to Digital System Design

SoC Curricula at Tallinn Technical University

Architecture bits. (Chromosome) (Evolved chromosome) Downloading. Downloading PLD. GA operation Architecture bits

TCP Servers: Offloading TCP Processing in Internet Servers. Design, Implementation, and Performance

Lesson 7: SYSTEM-ON. SoC) AND USE OF VLSI CIRCUIT DESIGN TECHNOLOGY. Chapter-1L07: "Embedded Systems - ", Raj Kamal, Publs.: McGraw-Hill Education

JTAG Applications. Product Life-Cycle Support. Software Debug. Integration & Test. Figure 1. Product Life Cycle Support

VHDL DESIGN OF EDUCATIONAL, MODERN AND OPEN- ARCHITECTURE CPU

Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai Jens Onno Krah

DDR3 DIMM Slot Interposer

Outline. Introduction. Multiprocessor Systems on Chip. A MPSoC Example: Nexperia DVP. A New Paradigm: Network on Chip

Introduction to Exploration and Optimization of Multiprocessor Embedded Architectures based on Networks On-Chip

Notes and terms of conditions. Vendor shall note the following terms and conditions/ information before they submit their quote.

What is LOG Storm and what is it useful for?

DEVELOPMENT OF DEVICES AND METHODS FOR PHASE AND AC LINEARITY MEASUREMENTS IN DIGITIZERS

System Interconnect Architectures. Goals and Analysis. Network Properties and Routing. Terminology - 2. Terminology - 1

Principles and characteristics of distributed systems and environments

Real-Time Scheduling 1 / 39

A Framework for Automatic Generation of Configuration Files for a Custom Hardware/Software RTOS

IMPLEMENTATION OF BACKEND SYNTHESIS AND STATIC TIMING ANALYSIS OF PROCESSOR LOCAL BUS(PLB) PERFORMANCE MONITOR

SOS: Software-Based Out-of-Order Scheduling for High-Performance NAND Flash-Based SSDs

INTERNATIONAL JOURNAL OF ELECTRONICS AND COMMUNICATION ENGINEERING & TECHNOLOGY (IJECET)

SOCWIRE: A SPACEWIRE INSPIRED FAULT TOLERANT NETWORK-ON-CHIP FOR RECONFIGURABLE SYSTEM-ON-CHIP DESIGNS

Software Development Under Stringent Hardware Constraints: Do Agile Methods Have a Chance?

A Dynamic Link Allocation Router

System-on. on-chip Design Flow. Prof. Jouni Tomberg Tampere University of Technology Institute of Digital and Computer Systems.

Testing of Digital System-on- Chip (SoC)

Computer Network. Interconnected collection of autonomous computers that are able to exchange information

SYSTEMS AND SOFTWARE REQUIREMENTS SPECIFICATION (SSRS) TEMPLATE. Version A.4, January 2014 FOREWORD DOCUMENT CONVENTIONS

FPGA Prototyping Primer

Solving Network Challenges

Implementation of emulated digital CNN-UM architecture on programmable logic devices and its applications

Computer Organization and Components

Chapter 2 Features of Embedded System

Performance Analysis of a RTOS by Emulation of an Embedded System

CAPTAN: A Hardware Architecture for Integrated Data Acquisition, Control, and Analysis for Detector Development

Verification of Triple Modular Redundancy (TMR) Insertion for Reliable and Trusted Systems

NIOS II Based Embedded Web Server Development for Networking Applications

FPGA area allocation for parallel C applications

Digital Signal Controller Based Automatic Transfer Switch

Technical Note. Micron NAND Flash Controller via Xilinx Spartan -3 FPGA. Overview. TN-29-06: NAND Flash Controller on Spartan-3 Overview

CHAPTER 11: Flip Flops

Methods and Tools For Embedded Distributed System Scheduling and Schedulability Analysis

Towards Lightweight Logging and Replay of Embedded, Distributed Systems

Chapter 12. Development Tools for Microcontroller Applications

AC : PRACTICAL DESIGN PROJECTS UTILIZING COMPLEX PROGRAMMABLE LOGIC DEVICES (CPLD)

Load Distribution in Large Scale Network Monitoring Infrastructures

The proliferation of the raw processing

AN EVALUATION OF MODEL-BASED SOFTWARE SYNTHESIS FROM SIMULINK MODELS FOR EMBEDDED VIDEO APPLICATIONS

From Control Loops to Software

Tunable Embedded Software Development Platform

An Event-Based Monitoring Service for Networks on Chip

Accurate Measurement of the Mains Electricity Frequency

A Tool for Multimedia Quality Assessment in NS3: QoE Monitor

Introduction to Embedded Systems. Software Update Problem

ESE566 REPORT3. Design Methodologies for Core-based System-on-Chip HUA TANG OVIDIU CARNU

Partial and Dynamic reconfiguration of FPGAs: a top down design methodology for an automatic implementation

Performance Monitoring for Run-time Management of Reconfigurable Devices

A Hardware and Software Monitor for High-Level System-on-Chip Verification

An On-chip Security Monitoring Solution For System Clock For Low Cost Devices

Design and Verification of Nine port Network Router

FPGA Based Reconfigurable ATM Switch Test Bed. Network Performance Evaluation

PFP Technology White Paper

Serial port interface for microcontroller embedded into integrated power meter

Von der Hardware zur Software in FPGAs mit Embedded Prozessoren. Alexander Hahn Senior Field Application Engineer Lattice Semiconductor

CHAPTER 4: SOFTWARE PART OF RTOS, THE SCHEDULER

Performance Oriented Management System for Reconfigurable Network Appliances

Low-Overhead Hard Real-time Aware Interconnect Network Router

Robot Task-Level Programming Language and Simulation

A Lab Course on Computer Architecture

Reconfigurable Computing. Reconfigurable Architectures. Chapter 3.2

Networking Remote-Controlled Moving Image Monitoring System

Transcription:

A Recongurable Hardware-Monitor for Communication Analysis in Distributed Real-Time Systems Andreas Kirschbaum and Jurgen Becker and Manfred Glesner Darmstadt University of Technology, Institute of Microelectronic Systems D-64283 Darmstadt, Germany Abstract. The importance of interprocess communication increases in recent embedded system designs. In particular this is true for distributed real-time systems, where mainly communication and synchronization cause violations of timing constraints. In this paper we present Har- MonIC 1 { a recongurable hardware monitoring system for the real-time observation of interprocess communication architectures. We will show that recongurability is essential for the use within a rapid prototyping environment like REPLICA 2. It will be demonstrated how HarMonIC can be used to signicantly improve debugging, performance evaluation, and design space exploration of distributed real-time systems. 1 Introduction Nowadays complex systems are often not built from scratch but are assembled by reusing previously designed modules or o-the-shelf components such as processors, memories or I/O circuitry in order to cope with more aggressive time-to-market constraints. A lot of eort in the design process is spent on interfacing existing system modules because communication becomes a bottleneck in many embedded real-time systems. Appropriate interface circuits are either hand-crafted or synthesized with automatic communication-synthesis algorithms [4] [14] [12] [3]. Those circuits often have to be ne-tuned with respect to parameters, e.g. bus width, buer depth, synchronization/arbitration schemes etc., or even dierent implementation alternatives have to be evaluated. Thus, in order to achieve a good communication architecture the designers have to rapidly explore many more points in the design space than current prototyping systems allow. Additionally, real-time systems dier from non-real-time systems because of the timing constraints imposed on them, i.e. they have to meet logic and timing requirements. The most likely cause of missing timing constraints is overhead due to poor or improper interprocess communication and synchronization [11]. Since debugging of real-time systems has to take into account the behavior of the target system as well as it's environment, runtime information is extremely important. Therefore, static analysis with simulation methods is too slow and not 1 Hardware Monitor for Interprocess Communication 2 Realtime Execution Platform for Intermodule Communication Architectures

sucient. A prototyping system focusing on realistic emulation of intermodule communication with an integrated hardware monitoring facility will signicantly improve the design and debugging process, as we will describe in this paper. A monitor observes a target system during its normal operation and collects runtime information through dierent forms of instrumentation techniques [10]. The obtained data provides accurate information for e.g. system testing and debugging, dynamic task scheduling, performance analysis, or architecture optimization. The special constraint of monitoring distributed real-time systems is to keep the interference with the target system so small, that the change in system performance due to the monitor will neither eect the order nor the timing of events. Monitors may be classied into hardware [1], hybrid [5], and pure software monitoring approaches [2]. The interference of the monitor with the target system is increasing analogous to the order of approaches just mentioned. In section 2 we describe the architecture of our recongurable prototyping system REPLICA in which our proposed hardware monitor is integrated. The concept and implementation of the hardware monitor HarMonIC is presented in section 3. Finally, some conlusions are drawn in section 4. 2 REPLICA { The Prototyping System REPLICA [8] is a Rapid-Prototyping System focusing on realistic inter/-processormodule communication emulation. The system is integrated in a design environment for embedded mixed hardware/software systems (DICE) [4]. REPLICA facilitates design space exploration and validation of communication links. The reprogrammable system architecture allows prototyping of dierent topologies, communication types and protocols and is supported by a powerful toolset for automatic system conguration. The integrated hardware monitor (HarMonIC) presented in section 3 extracts real-time data about I/O-channel activities for performance evaluation and enhancement of arbitrary communication channels within the system. REPLICA is based on a scalable and recongurable system architecture. As depicted in Figure 1, a minimal system, which is also referred to as a cluster, consists of a backplane BP, up to six processing modules PM, and optionally an interface module IM between each processing module and the backplane. Each port of the backplane can also be used as a gateway GW. Several clusters may be combined via gateways if the amount of modules to be connected exceeds the capacity of one cluster. The backplane can be congured for dierent interconnect topologies [13]. A non-blocking switch matrix has been chosen as interconnection device. During the prototyping step this device imposes no restrictions on the topologies which can be implemented and elaborated. The nal application system will of course only comprise the optimized communication architecture and therefore will not suer from the high interconnection costs introduced by the switch matrix. Each backplane provide six 106 bit wide symmetric ports which are interconnected with two SRAM-based bit-oriented 3 switches [7]. All pro- 3 Field Programmable Interconnection Devices

PM PM PM PM MD Processing Processing Processing Processing Monitoring Device Gateway to other clusters GW Interface Interface Interface IM IM IM 1 2 3 4 5 6 Configuration Interface CI Interconnection Backplane BP Host processor Fig. 1. Conguration Example of REPLICA. grammable devices in REPLICA located on the backplane and the interface modules are congured via a unique host processor interface (CI). The communication type and the protocol of the communication links to be prototyped may require additional hardware resources such as memory, glue logic, synchronization circuit etc. These components will be mapped on the interface modules (Fig. 2). to PM Data[31:0] 106 FPGA (XC 4025) 82 Adr[14:0] Control Adr[14:0] Dual-Port Memory 32K x 32 reset, clock, interrupt to CI config to BP 106 Data[31:0] Fig. 2. Architecture of the Interface. REPLICA comprises the following PMs: a 32-bit oating point signal processor PC-board with two TMS320C40 signalprocessors, a 32-bit microcontroller board based on a PowerPC505, and an FPGA-based hardware emulator with a capacity of 50K gates. 3 A Recongurable Hardware-Monitor In this section we discuss HarMonIC { the recongurable hardware-monitor concept used in REPLICA. HarMonIC comprises an electronic device physically

connected to specic points of the target system which is currently prototyped in the REPLICA environment. As shown in section 2, all signals belonging to the interprocess communication of the target system will be available at the routing devices within REPLICA. HarMonIC can access the signals via these crossbar switches at a physical level without changing the target systems behavior and performance (non-intrusive). Additionally, the monitoring system has to be recongurable because the points of observation as well as the target system itself may vary. This approach overcomes the lack of exibility which is normally inherent in hardware monitors, and thus improves the usability of HarMonIC signicantly. The main tasks of HarMonIC are the observation of the target system during its normal operation, as well as the collection and the analysis of runtime data. System under Test signals Probe Selection Unit (PSU) online- phase traces events Trace Buffer Unit (TBU) trigger timestamp Preprocessing Unit (PPU) FPGA buffer contents Trace Evaluation Unit (TEU) offline- phase Fig. 3. Basic Building Blocks of HarMonIC. Our monitoring concept consists of two main phases. In a rst phase named online-phase HarMonIC collects and stores data of the target system in realtime, i.e. synchronously to the systems clock frequency. All components used in this phase have to fulll stringent timing constraints that no real-time event is missed. Therefore they are completely designed in hardware but still recongurable to adopt to dierent target systems. In the second phase the sampled data is analyzed and rated. There is no need for real-time in that phase because the input data has already been captured in a buer. As a consequence, all components of this oine-phase are purely implemented in software what also increases the exibility of the analysis. Figure 3 shows the basic building blocks of the recongurable HarMonIC system. The target system which is to be monitored interfaces with HarMonIC via the probe selection unit (PSU). As target systems change in a prototyping system like REPLICA, the PSU is recongurable to adopt to arbitrary system architectures. The recongurability of the PSU is based on programmable devices [7] which are used to physically connect to the (real-time) target system

without causing additional delays. This conceptional approach allows a nonintrusive monitoring of arbitrary target architectures, which is not possible with common prototyping systems. Thanks recongurability HarMonIC still provides exibility at the high speed of a hardware-monitoring device. Probed signals are either interpreted as real-time traces or used for event detection. Real-time traces characterize the target system state during a timeframe. Given the sequence of sampled signals of the target system as well as their chronological order, the system state can be replayed deterministically after execution. Real-time traces need no further online processing and are therefore directly forwarded to the Trace Buer Unit (TBU) which also stores detected events, event counters, and the global timestamp. The memory for storing real-time traces must be large enough and fast enough to store all generated information. However, such data collection would demand excessive storage capacity. Since buer size is limited, methods for data reduction have to be employed. To reduce the amount of generated data, Har- MonIC records only signicant signals at dedicated timepoints. Events are used to determine when data is sampled. In this context an event denotes entering or leaving a target system state. Data is sampled either in between two events or only at the occurrence of an event. The recongurable Preprocessing Unit (PPU) generates a trigger signal for the TBU and updates an internal counter whenever an event occurs. The trigger signal is derived from edge detection circuitries within the PPU. Up to 30 dierent user-dened events can be detected and counted with the PPU. The monitoring system has to be fast enough to detect all events. Therefore the target system clock is derived by downsampling of the monitoring clock. A programmable clock generation unit in the PPU scales an arbitrary clock source and generates the monitoring clock as well as the target system clock. Because of the non-continuously sampling of data we additionally need a global time information if we are not only interested in the occurrence of events but also in the duration of system states. The PPU generates a global 32-bit timestamp which allows long-term measurements at the resolution of the monitoring clock. The timestamp is forwarded to the TBU and is always stored together with the real-time trace. The PPU is completely implemented in an FPGA and is always adopted to the target system and the respective monitoring task. The Trace Buer Unit (TBU) stores the real-time traces and the timestamps during the execution of the target system. The main building block of the TBU is a logic analyzer. It provides a sucient buer depth and sampling rate to be used within HarMonIC. Built-in functions like pattern recognition and state sequencing allow the denition of complex trigger conditions. This trigger conditions complement the event detection capabilities of the PPU and further reduce the necessary storage capacity of the monitor. The Trace Evaluation Unit (TEU) is a software package for the analysis and rating of sampled data. The modular software package comprises a set of tools for data ltering and dierent analysis methods [9]. Included tools allow the statistical analysis of the real-time trace e.g. counting of event occurrences for the calculation of absolute/relative frequency of events. Also the violation of real-time constraints may be checked.

4 Conclusions In this paper we have presented a hardware monitoring approach for interprocess communication analysis in distributed real-time systems 4. The importance of process communication and synchronization, especially for real-time systems with timing constraints, has been sketched. A recongurable hardware monitoring system (HarMonIC) has been presented in detail. HarMonIC imposes minimal intrusion on the target system, i.e. neither function nor timing will be changed, while still providing enough exibility to adopt to arbitrary target systems. It has been shown how the monitor is integrated into the rapid prototyping environment REPLICA which focus on the realistic emulation of communication architectures. The combination of prototyping system and integrated hardware monitor allows the real-time observation, analysis and rating of interprocess communication architectures, which is not feasible with a simulation approach due to it's limited speed. This improves debugging capabilities, performance evaluation and design space exploration signicantly, what in turn will result in better product quality and shorter design time. References 1. W.C. Brantley, K.P. McAulie, and T.A. Ngo. RP3 Performance Monitoring Hardware, pages 35{47. ACM Press, New York, 1989. 2. S.E. Chodrow, F. Jahanian, and M. Donner. Run-Time Monitoring of Real-Time- Systems. In Real-Time Systems Symposium, pages 74{83, Los Alamitos, USA, 1991. IEEE CS Press. 3. R. Ernst and T. Benner. Communication, constraints, and user-directives in cosyma. Technical report, Technical University of Braunschweig, 1994. 4. M. Gasteier et al. An Interactive Approach to Hardware/Software Co-Design. In International Workshop on Logic and Architecture Synthesis, pages 211{218, Grenoble, France, December 1996. 5. D. Haban and D. Wybranietz. A hybrid monitor for behavior and performance analysis. IEEE Trans. Software Eng., 16(2):197{211, Feb. 1990. 6. H.-J. Herpel et al. Real-Time System Prototyping Based on a Heterogeneous Multi-Processor Environment. In 5th Euromicro Workshop on Real Time Systems, pages 62{67, Oulu, 1993. 7. I-Cube Inc. IQX Family Data Sheet, 1996. 8. A. Kirschbaum and M. Glesner. Rapid Prototyping of Communication Architectures. In IEEE Workshop on Rapid System Prototyping, pages 136{141, Chapel Hill, USA, June 1997. 9. B. Mohr. SIMPLE { User's Guide Version 5.3. University of Erlangen, 1992. 10. B.A. Schroeder. On-Line Monitoring: A Tutorial. IEEE Computer, pages 72{78, June 1995. 11. J. Tsai and S. Yang. Monitoring and Debugging of Distributed Real-Time Systems. IEEE Computer Society Press, 1995. 12. B.P. Upender and P.J. Koopman Jr. Communication protocols for embedded systems. Embedded Systems Programming, 7(11):46{58, November 1994. 13. A. Varma and C.S. Raghavendra, editors. Interconnection Networks for Multiprocessors and Multicomputers { Theory and Praxis. IEEE Computer Society Press, 1994. 14. T.-Y. Yen and W. Wolf. Communication Synthesis for Distributed Embedded Systems. In International Conference on Computer Aided Design, pages 288{294. IEEE Computer Society Press, 1995. 4 This research is supported by the german research foundation Deutsche Forschungsgemeinschaft (DFG) under grant Gl 144/14-1