23,859 research outputs found

    Are IEEE 1500 compliant cores really compliant to the standard?

    Get PDF
    Functional verification of complex SoC designs is a challenging task, which fortunately is increasingly supported by automation. This article proposes a verification component for IEEE Std 1500, to be plugged into a commercial verification tool suit

    Automating the IEEE std. 1500 compliance verification for embedded cores

    Get PDF
    The IEEE 1500 standard for embedded core testing proposes a very effective solution for testing modern system-on-chip (SoC). It proposes a flexible hardware test wrapper architecture, together with a core test language (CTL) used to describe the implemented wrapper functionalities. Already several IP providers have announced compliance in both existing and future design blocks. In this paper we address the challenge of guaranteeing the compliance of a wrapper architecture and its CTL description to the IEEE std. 1500. This is a mandatory step to fully trust the wrapper functionalities in applying the test sequences to the core. The proposed solution aims at implementing a verification framework allowing core providers and/or integrators to automatically verify the compliancy of their products (sold or purchased) to the standar

    Integrating Web Services into Agentcities

    Get PDF
    This document describes how to make Web Services available to agents in an Agentcities environment and how to make agent-based services available to Web Service servers in a Web Services environment

    Coupling CAD and CFD codes within a virtual integration platform

    Get PDF
    The Virtual Integration Platform (VIP) is an essential component of the VIRTUE project. It provides a system for combining disparate numerical analysis methods into a simulation environment. The platform allows for defining process chains, allocating of which tools to be used, and assigning users to perform the individual tasks. The platform also manages the data that are imported into or generated within a process, so that a version history of input and output can be evaluated. Within the VIP, a re-usable template for a given process chain can be created. A process chain is composed of one or more smaller tasks. For each of these tasks, a selection of available tools can be allocated. The advanced scripting methods in the VIP use wrappers for managing the individual tools. A wrapper allows communication between the platform and the tool, and passes input and output data as necessary, in most cases without modifying the tool in any way. In this way, third-party tools may also be used without the need for access to source code or special modifications. The included case study demonstrates several advantages of using the integration platform. A parametric propeller design process couples CAD and CFD codes to adapt the propeller to given operating constraints. The VIP template helped eliminate common user errors, and captured enough expert knowledge so that the casual user could perform the given tasks with minimal guidance. Areas of improvements to in-house codes and to the overall process were identified while using the integration platform. Additionally, the process chain was designed to facilitate formal optimisation methods

    Application Acceleration on FPGAs with OmpSs@FPGA

    Get PDF
    © 2019 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes,creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works.OmpSs@FPGA is the flavor of OmpSs that allows offloading application functionality to FPGAs. Similarly to OpenMP, it is based on compiler directives. While the OpenMP specification also includes support for heterogeneous execution, we use OmpSs and OmpSs@FPGA as prototype implementation to develop new ideas for OpenMP. OmpSs@FPGA implements the tasking model with runtime support to automatically exploit all SMP and FPGA resources available in the execution platform. In this paper, we present the OmpSs@FPGA ecosystem, based on the Mercurium compiler and the Nanos++ runtime system. We show how the applications are transformed to run on the SMP cores and the FPGA. The application kernels defined as tasks to be accelerated, using the OmpSs directives are: 1) transformed by the compiler into kernels connected with the proper synchronization and communication ports, 2) extracted to intermediate files, 3) compiled through the FPGA vendor HLS tool, and 4) used to configure the FPGA. Our Nanos++ runtime system schedules the application tasks on the platform, being able to use the SMP cores and the FPGA accelerators at the same time. We present the evaluation of the OmpSs@FPGA environment with the Matrix Multiplication, Cholesky and N-Body benchmarks, showing the internal details of the execution, and the performance obtained on a Zynq Ultrascale+ MPSoC (up to 128x). The source code uses OmpSs@FPGA annotations and different Vivado HLS optimization directives are applied for acceleration.This work is partially supported by the European Union H2020 program through the EuroEXA project (grant 754337), and HiPEAC (GA 687698), by the Spanish Government through Programa Severo Ochoa (SEV-2015- 0493), by the Spanish Ministry of Science and Technology (TIN2015-65316-P) and the Departament d’InnovaciĂł Universitats i Empresa de la Generalitat de Catalunya, under project MPEXPAR: Models de ProgramaciĂł i Entorns d’ExecuciĂł Paral·lels (2014-SGR-1051).Peer ReviewedPostprint (author's final draft
    • 

    corecore