The document outlines the agenda for the Reconfigurable Computing Italian Meeting held on December 19, 2008 at Politecnico di Milano in Milan, Italy. The agenda included four sessions on trends in reconfigurable computing, the hArtes European project, applicative scenarios, and the High Level Reconfiguration project. Each session included 3-4 presentations on technical topics within the session theme, such as FPGA strategies, multi-core signal processing, evolvable hardware, and runtime core relocation management. The meeting concluded with wishes for a merry Christmas and a happy new year.
The document summarizes the plans and activities of DRESD, a research group on dynamic reconfigurability in embedded system design at Politecnico di Milano. It discusses DRESD's research objectives, collaboration with other universities, involvement in teaching courses, and plans to hold workshops and become an official association to support its research vision.
The document describes a methodology for designing dynamic reconfigurable multi-FPGA systems. It presents an intermediate representation for hierarchical circuits and a design flow with three main phases: design extraction from VHDL, static global layout partitioning and placement, and reuse through dynamic reconfiguration to minimize delays. Experimental results validate partitioning, placement and blocks reuse approaches. Future work includes improving clustering metrics, time estimation, and adding routing algorithms.
The document outlines the agenda for the Reconfigurable Computing Italian Meeting held on December 19, 2008 at Politecnico di Milano in Milan, Italy. The agenda included four sessions on trends in reconfigurable computing, the hArtes European project, applicative scenarios, and the High Level Reconfiguration project. Each session included 3-4 presentations on technical topics within the session theme, such as FPGA strategies, multi-core signal processing, evolvable hardware, and runtime core relocation management. The meeting concluded with wishes for a merry Christmas and a happy new year.
The document summarizes the plans and activities of DRESD, a research group on dynamic reconfigurability in embedded system design at Politecnico di Milano. It discusses DRESD's research objectives, collaboration with other universities, involvement in teaching courses, and plans to hold workshops and become an official association to support its research vision.
The document describes a methodology for designing dynamic reconfigurable multi-FPGA systems. It presents an intermediate representation for hierarchical circuits and a design flow with three main phases: design extraction from VHDL, static global layout partitioning and placement, and reuse through dynamic reconfiguration to minimize delays. Experimental results validate partitioning, placement and blocks reuse approaches. Future work includes improving clustering metrics, time estimation, and adding routing algorithms.
Il web service e i sistemi embedded - Tesi - cap2pma77
Ìý
Nel capitolo secondo capitolo della tesi " SVILUPPO E IMPLEMENTAZIONE SU MICROCONTROLLORE DI UN’APPLICAZIONE WEB SERVER PER IL CONTROLLO DI UN SISTEMA EMBEDDED"sono presentati diversi prodotti commerciali impieganti Web Service , in modo particolare dispositivi di tipo embedded. Viene discusso, inoltre, su come le tecnologie Web entrino nel mondo industriale e della domotica e si pone l’attenzione sui fattori che impediscono il pieno sviluppo in questi ambiti. Infine vengono proposti diversi articoli che affrontano tematiche simili a quelle della tesi.
1. The document discusses Diopsis940, a microcontroller product from Atmel that features an ARM9 processor and floating point DSP for consumer applications.
2. It provides details on target applications including hands-free phones, high-end car audio, and sound processors. The microcontroller supports complex audio processing algorithms.
3. hArtes, an Atmel division, aims to reduce application development time through tools that streamline the process from conceptual design to implementation using their microcontroller products.
The document proposes a coarse-grain reconfigurable array (CGRA) for accelerating digital signal processing. The CGRA aims to provide an intermediate tradeoff between flexibility and performance compared to FPGAs and ASICs. It consists of an array of processing elements and distributed memory interconnected via programmable switches. Evaluation shows the CGRA achieves 4.8-8X speedup, 24-58% improved energy efficiency, and up to 40% reduced area compared to a Xilinx Virtex-4 FPGA for applications like color space conversion, FIR filtering, and DCT.
This document discusses Altera's FPGA strategy for reconfigurable hardware in industry applications. It defines reconfigurable hardware as an architecture that does not require on-the-fly timing analysis because product qualification is extensively done through temperature and cycle testing without hardware architecture changes. It then shows how programmable solutions have evolved from single CPU and DSP cores to multi-core processors and coarse-grained arrays with FPGAs moving to fine-grained, massively parallel arrays with embedded hard IP blocks. Future trends include challenges of scaling CPUs due to physical limits and the benefits of parallelism through hardware reconfiguration.
The document describes processes in VHDL. It defines a process as a concurrent statement that contains sequential logic. Processes run in parallel and can be conditioned by a sensitivity list or wait statement. Local variables retain their values between executions. It provides an example of a process with a sensitivity list and one with a wait statement. It also summarizes the general structure of a VHDL program and describes different types of process control including if-then-else, case statements, and decoders. Additional topics covered include flip-flops, counters, and finite state machines.
The document discusses requirements for enabling self-adaptivity at both the software and hardware levels. It proposes a layered model with controllers at the application, run-time environment, and hardware levels. A component-based approach is suggested to allow adaptations such as replacing or modifying components. Simulation results demonstrate how controllers at each level can coordinate to meet goals like high throughput while minimizing power usage. Reconfigurable computing platforms need to allow hardware components to be instantiated and interconnected to enable self-adaptation across software and hardware.
The document summarizes research on task scheduling techniques for dynamically reconfigurable systems. It presents (1) an integer linear programming model to formally define the scheduling problem, (2) the Napoleon heuristic scheduler to solve the problem in reasonable time based on the ILP model, and (3) experimental results validating that Napoleon obtains an average 18.6% better schedule length than other algorithms. Future work is outlined to integrate Napoleon into a general design framework and scheduling-aware partitioning flow.
The document summarizes key topics in reconfigurable computing, including motivations for reconfigurable systems, types of flexibility they provide, and challenges in reconfiguration. It discusses design flows to reduce complexity, maximizing reuse of reconfigurable modules to reduce latency, hiding reconfiguration times, and using relocation to further optimize schedules. Areas of reconfiguration and possible implementation scenarios involving relocation are illustrated.
The document discusses an approach for identifying cores for reconfigurable systems driven by specification self-similarity. It involves partitioning a specification graph into subsets of operations that can be mapped to reusable configurable modules. The approach identifies recurrent subgraphs in the specification that are good candidates for these cores. It works in two phases: first identifying isomorphic subgraph templates, and then selecting templates for implementation as reconfigurable modules based on metrics like largest size, most frequent usage, or minimizing communication. Experimental results on encryption benchmarks show the approach can cover a large portion of the specification with a small set of identified templates.
This document summarizes techniques for core allocation and relocation management in self-dynamically reconfigurable architectures. It introduces basic concepts like cores, IP cores, and reconfigurable regions. It then describes proposed 1D and 2D relocation solutions like BiRF and BiRF Square that allow runtime relocation with low overhead. A core allocation manager is introduced to choose core placements optimizing criteria like rejection rate and completion time with low management costs. Evaluation shows the techniques improve metrics like rejection rate and routing costs compared to other approaches.
The document discusses an hardware application platform developed for the hArtes project. It provides heterogeneous computing resources like DSPs, CPUs and FPGAs. Demonstrator applications focus on advanced audio processing for car infotainment and teleconferencing. The platform supports these applications by integrating different components, scaling computational power, and accommodating future additions. It also provides adequate I/O channels for audio signal processing.
The document describes the Janus system, an FPGA-based approach for simulating spin glass systems using Monte Carlo algorithms. The key aspects are:
1) Spin glass systems are computationally challenging to simulate due to the huge number of possible configurations.
2) The Janus system uses FPGAs to implement a large number of parallel update engines that can flip spins and accept/reject changes according to a Metropolis algorithm.
3) Each FPGA processor grid contains 4x4 processors that can communicate with neighbors. This allows simulations to be massively parallelized across the FPGA network.
This document provides an overview of architectural description languages (ADLs). It discusses that ADLs capture the structure and behavior of processor architectures to enable high-level modeling, analysis, and automatic prototype generation. ADLs can be classified as structural, behavioral, or mixed. Structural ADLs focus on low-level hardware details while behavioral ADLs model instruction sets for compiler generation. The document outlines different ADL types and their applications.
The document discusses design flows for partially reconfigurable systems on FPGAs. It provides an overview of Xilinx FPGA technology and configuration memory organization. It then summarizes several of Xilinx's design flows for partial reconfiguration (difference-based, module-based, EAPR). It outlines challenges with existing design flows and introduces the DRESD methodology and tools (INCA, Caronte) which aim to address these challenges by providing a more comprehensive framework for implementing dynamic reconfigurable embedded systems.
The document discusses some real needs for and limits of reconfigurable computing systems. It describes how partial dynamic reconfiguration can provide flexibility and enhance performance but introduces drawbacks. Simulation and verification tools are needed to design such systems. Reconfiguration times significantly impact latency so tasks should be reused and reconfiguration hidden when possible through techniques like relocation.
The document discusses concepts related to partial dynamic reconfiguration. It defines key terms like reconfigurable computing, object code, reconfiguration controller, and reconfiguration manager. It also discusses the 5 Ws of reconfiguration - who controls it, where the controller is located, when configurations are generated, which is the granularity, and in what dimension it operates. Examples of reconfiguration in everyday life like sports are provided. Reconfigurable architectures are characterized based on factors like embedded vs external, complete vs partial, and dynamic vs static. Finally, more definitions related to cores, IP cores, and reconfigurable functional units and regions are given.
This document provides an overview of reconfigurable computing systems and field programmable gate arrays (FPGAs). It discusses the basic idea and history of reconfigurable computing from the 1960s to present. It also outlines some of the academic efforts in this area and drivers for choosing FPGAs, including time, area, costs and power considerations. The document notes trends like programmable systems on a chip that integrate FPGAs with other components like DSPs and processors.
The Blanket project aims to advance reconfigurable architectures and runtime reconfiguration through several subprojects. The goals are to exploit dynamic reconfigurability for different architectures, design applicative solutions for real world needs, and explore novel architectural paradigms like bio-inspired systems. The subprojects include YaRA for reconfigurable SoCs, HARPE for multicore systems, ReCPU for regular expression matching, and SCAR to develop application-specific reconfigurable architectures. IPs are also being designed to enhance reconfiguration capabilities.
1. Introduzione ai Sistemi Embedded DRESD How To (DHow2) - L4 POLITECNICO DI MILANO D ynamic R econfigurability in E mbedded S ystems D esign DRESD Team [email_address]
2. Outline Sistemi embedded Introduzione Caratteristiche Soluzioni architetturali System-on-Chip Microprocessori Memorie Interfacciamento Tecnologie programmabili Metodologia di progetto
3. Sistemi embedded: introduzione Sistemi dedicati a classi specifiche di applicazioni Ottimizzazione Diversificazione a livello architetturale Requisiti funzionali Vincoli: dimensioni, consumo di potenza, costo, ...
4. Sistemi embedded: caratteristiche Dimensioni Consumo energetico Scelta della tecnologia Interfacce di comunicazione Quantità di dati da trasferire Tipo di utilizzo Interfacce utente Volumi Time-to-market Tempo di vita
5. Soluzioni architetturali Printed Circuit Board (PCB) Assemblaggio di componenti discreti su una basetta di materiale plastico che realizza le interconnessioni necessarie System-on-Chip SoC Multi-Processor System-on-Chip (MPSoC) Multi-Chip Module (MCM) Network on Chip (NoC) Sistemi distribuiti Funzionalità complessa su più sottosistemi fortemente interagenti tra loro tramite reti di comunicazione Wireless Sensor Network (WSN)
6. Soluzioni architetturali: System-on-Chip (1/2) Architettura basata su un singolo chip in tecnologia intergrata che ospita l’intero sistema Vantaggi Prestazioni Assorbimento energetico Numero di pin di ingresso/uscita più basso Costo
7. Soluzioni architetturali: System-on-Chip (2/2) Componenti funzionali Microprocessori Memorie Blocchi digitali dedicati Core digitali standard: encoder, decoder, filtri, ... Blocchi di temporizzazione: timer, watchdog, ... Blocchi di alimentazione: regolatori di tensione, ... Interfacce: analogiche, seriali, parallele, di rete, ...
8. Microprocessori (1/2) General Purpose Processor (GPP) Architettura di calcolo per applicazioni in campi anche molto diversi Architetture CISC (Complex Instruction Set Computer): ampio instruction set costituito da istruzioni complesse Architetture RISC (Reduced Instruction Set Computer): instruction set limitato con istruzioni mediamente semplici Architetture CISC/RISC: scomposizione di istruzioni CISC in istruzioni simili alle istruzioni RISC Architetture superscalari: architetture con più di un’unità di elaborazione Architetture EPIC/VLIW (Explicitly Parallel Instruction Computer / Very Long Instruction Word): istruzioni elementari in una sola parola di grandi dimensioni
9. Microprocessori (2/2) Processori dedicati Architetture di microprocessore ottimizzate per applicazioni specifiche Digital Signal Processor (DSP): elaborazione numerica Network Processor (NP): applicazioni di reti (e.g. elaborazione di pacchetti) Micro Controller Unit (MCU): microprocessori che dispongono di molte periferiche e interfacce integrate su singolo chip, adatti per carico computazionale modesto e vincoli sulle risorse hardware
10. Memorie (1/2) Parametri caratteristici Tempo di accesso Granularità Tipo di accesso: casuale, FIFO, LIFO, ... Funzione: operazioni per cui è concepita la memoria Programmabilità : memorie volatili vs non volatili Classificazione Static Random Access Memory (SRAM) Dynamic Random Access Memory (DRAM) Read Only Memory (ROM) Electrically Programmable Read Only Memory (EPROM) Electrically Erasable Programmable Read Only Memory (E2PROM) Flash
12. Interfacciamento (1/2) Trasferimento di dati tra porzioni dello stesso sistema Indirizzamento Memory mapped I/O: spazio di indirizzamento del microprocessore suddiviso in sezioni assegnate ai dispositivi Standard I/O: bus di controllo con una linea aggiuntiva che indica se l’indirizzo si riferisce alla memoria o alle periferiche Port mapped I/O: comunicazione tra microprocessore e periferiche tramite linee dedicate Extended I/O: uso di un dispositivo hardware, detto Parallel I/O (PIO), che si interfaccia con il microprocessore tramite bus o porta
13. Interfacciamento (2/2) Polling Verifica ciclica di tutte le unità di Input/Output tramite test dei bit di stato associati ad ogni periferica Interrupt Messaggio, inviato dalla periferica al microprocessore, che indica la disponibilità di un nuovo dato da leggere Direct Memory Access (DMA) DMA controller
16. Metodologia di progetto Procedura seguita per il progetto Top-down Bottom-up Modello del sistema Applicazione di tecniche di scheduling, HW/SW codesign, ... Simulazione Sintesi (HW) / compilazione (SW) Implementazione fisica