際際滷s used for my Bachelor Degree presentation: the main focus is on SARP, a semi-active replication protocol that I developed and tested for my thsis work.
際際滷s used for my Bachelor Degree presentation: the main focus is on SARP, a semi-active replication protocol that I developed and tested for my thsis work.
presentazione nell' ambito del Master in counselling socio-educativo organizzato dall' Associazione Argo in partnership con L' Ifrep di Roma e l' Ateneo Salesiano di Roma
Presentazione: uno studio sull'efficacia di checker automatici per la moderni...Idriss Riouak
油
Uno studio sull'efficacia del checker Clang Tidy in particolare sull'efficacia del modulo "modernize". Il test 竪 stato applicato sulla Parma Polyhedra Library.
Design Exploration: Sviluppo telaio per vettura formula saeMarco Basilici
油
La relazione approfondir maggiormente gli aspetti teorici legati al Design Exploration effettuata sulla piattaforma di Ansys Workbench, dopo aver fatto un preambolo sullo sviluppo del prodotto.
Un metodo di progettazione di reti locali con esigenze di qualit del servizioClaudio Bortone
油
Metodologia di progettazione per reti LAN con QoS che ha caratteristiche di ortogonalit rispetto agli strumenti di configurazione e ai produttori degli apparati. Con la metodologia sono forniti anche degli algoritmi che permettono di sfruttare gli ultimi standard per reti locali (come MSTP) in modo da trarne benefici per la QoS.
Design pattern architetturali Model View Controller, MVP e MVVMRiccardo Cardin
油
This presentation talks about model view controller, model view presenter and model view viewmodel patterns. These are architectural design patterns for implementing user interfaces. They divide a given software application into three interconnected parts, so as to separate internal representations of information from the ways that information is presented to or accepted from the user. Also, they promote separation of concerns. As examples, some frameworks are reported, such as:
- Spring MVC
- BackboneJS
- AngularJS
The presentation is took from the Software Engineering course I run in the bachelor-level informatics curriculum at the University of Padova.
[ITA] Sql Saturday 355 in Parma - New SQL Server databases under source controlAlessandro Alpi
油
We are used to see our code under source control. What about our databases? This topic is too often underestimated. Keeping database under our control (source controlled) brings many advantages in terms of organization and quality. The distributed work become rock solid and Continuous integration is simpler to implement. In addition, we can take many advantages from testing, automated deployment and all the stuff that brings the agile methodology available to the team. We will compare also third party tools in order to understand the differences between different vendors.
Il progetto SINERGIE si propone di sviluppare nuove soluzioni integrate hardware/software per la movimentazione ad elevata dinamica in macchine automatiche. In particolare, il progetto affronta in modo sinergico due aree tematiche principali, con lobiettivo di migliorare le prestazioni dinamiche e le caratteristiche costruttive delle macchine di domani:
Strumenti SW per la progettazione e il controllo
Dispositivi contactless e wireless per misure, trasmissione segnali ed attuazione
Principali filiere coinvolte: Macchine automatiche, Meccanica, Packaging, ICT
Sito web del progetto: www.sinergieproject.it
Project for the class "Advanced Operating System: we developed a tool for the analysis of Hadoop, DSTAT and HPROF log in order to estimate the performance of a cluster through graphs and warnings.
Used technologies: Java, R, Hadoop, Python, C
More info: http://www.sromano.altervista.org/progetti_magistrale/SOA_HadoopAnalyzerJR.pdf
Progetto e Sviluppo di un Sistema per il Gioco degli Scacchi TridimensionaliMarco Bresciani
油
Questa Tesi di Laurea presenta le modalit con cui ho progettato e realizzato un'applicazione dotata di intelligenza artificiale in grado di giocare al gioco degli Scacchi Tridimensionali, gioco noto dai telefilm e film di Star Trek (Cfr. [Star Trek]). Le regole cui ho fatto riferimento sono le Federation Standard Rules 5.0 di A. R. Bartmess (Cfr. [Bartmess, 1977], [Bartmess, 2003]).
Partendo da tali regole, ho codificato la notazione algebrica di scrittura delle mosse con una grammatica Extended Bakus-Naur Form (EBNF) e, successivamente, ho ideato un indice di classificazione (che ho chiamato Elo3D) per dare una valutazione al comportamento dei giocatori durante le partite.
La prima parte sviluppata 竪 un'infrastruttura di rete, basata su Remote Method Invocation (RMI), che trasforma l'impalcatura client-server di questa componente del linguaggio Java in una struttura di comunicazione "quasi" punto-punto. Questa consente il gioco sia in locale sia in remoto, in modo assolutamente trasparente per l'utente, fatta salva la conoscenza delleventuale indirizzo di rete remoto.
Per l'impostazione di lavoro che ho scelto, l'applicazione fa uso di dati e formati aperti, con un'alta modularit e consentendo una facile espandibilit delle componenti esistenti. A questo scopo ho infatti sviluppato due linguaggi eXtensible Markup Language (XML) per definire i messaggi che le varie componenti l'applicazione si sarebbero scambiati tra loro e per definire una modalit di memorizzazione dello stato di una partita e i dati di un giocatore.
In quest'applicazione ho messo a disposizione diversi algoritmi di Intelligenza Artificiale (IA), tra i quali (e con i quali) ho eseguito numerose partite e confronti per valutarne le prestazioni. Ho sviluppato un'applicazione in grado di utilizzare anche molteplici insiemi di regole di gioco, facilmente selezionabili dall'utente senza alcuna necessit di configurazione o pre-impostazione.
Lo stato dell' arte sulla documentazione dei progetti ICTMatteo Gentile
油
Ogni progetto informatico 竪 sicuramente incompleto fino a quando non viene corredato da una documentazione esauriente. In un progetto informatico la documentazione 竪 presente in tutte le fasi, dalla raccolta dei requisiti, passando per la documentazione di analisi e tecnica di implementazione, fino ad arrivare alla documentazione per lutente finale.
Quali documenti 竪 opportuno generare in un progetto ?
La documentazione di progetto va generata allinizio o alla fine ?
Come fare a tenere sempre aggiornata la documentazione quando i requisiti o le implementazioni cambiano ?
Che standard usare per creare una buona documentazione di un progetto informatico ?
Recentemente c竪 stata un'ampia diffusione delle metodologie Agili. E vero che non 竪 prevista documentazione ?
Questo evento nasce per rispondere a queste domande e per mostrare attraverso un esempio pratico come introdurre la documentazione in un progetto che usa le metodologie Agili.
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.
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.
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.
1. UNA METODOLOGIA PER LA STIMA DELLE RISORSE HARDWARE IN ARCHITETTURE RICONFIGURABILI Relatore: Prof. Fabrizio FERRANDI Correlatore: Ing. Marco Domenico SANTAMBROGIO Tesina di Laurea di Marco MAGNONE Matr. 640006
2. Sommario Introduzione Sistemi dedicati Obiettivi Framework PandA Flusso di sviluppo Estrazione delle metriche PDG Vettore di caratterizzazione Implementazione Parametrizzazione delle metriche Struttura di CLB e slice Test e risultati Esempi Risultati Conclusioni e sviluppi futuri
3. Introduzione Introduzione Sistemi dedicati Obiettivi Framework PandA Flusso di sviluppo Estrazione delle metriche PDG Vettore di caratterizzazione Implementazione delle metriche Parametrizzazione delle metriche Struttura di CLB e slice Test e risultati Esempi Risultati Conclusioni e sviluppi futuri
4. Sistemi dedicati Stato: .:: Introduzione > Sistemi dedicati > Obiettivi .:: Framework > PandA > Flusso di sviluppo .:: Estrazione delle metriche > PDG. > Vettore di caratterizzaz. > Implementaz. > Parametr. > CLB e slice .:: Test e risultati > Esempi > Risultati > Conclusioni e sviluppi futuri Descrizione a livello di sistema Analisi Verifica Partizionamento HW/SW Descrizione HW Descrizione SW Sintesi HW Generazione SW Sintesi Interfacce Integrazione + Valutazione vincoli Simulazione + Validazione Sistema Integrato Creazione del modello Generazione della descrizione Valutazione del progetto ed esplorazione dello spazio delle soluzioni sulla base di prestazioni, dimensioni, consumo e costo Minimizzazione di una cifra di merito rispettando i vincoli di progetto. E necessario disporre di strumenti di stima della qualit del sistema per la parte hardware e quella software Verifica del comportamento del sistema da un punto di vista funzionale e di timing sia per validare la specifica iniziale sia il partizionamento introdotto Tecniche per la sincronizzazione tra hardware e software (scambi di segnale, schemi in interrupt ..)
5. Stato: .:: Introduzione > Sistemi dedicati > Obiettivi .:: Framework > PandA > Flusso di sviluppo .:: Estrazione delle metriche > PDG > Vettore di caratterizzaz. > Implementaz. > Parametr. > CLB e slice .:: Test e risultati > Esempi > Risultati > Conclusioni e sviluppi futuri Obiettivi SVANTAGGI DELLE METRICHE PRESENTI IN LETTERATURA Limitazione a funzioni combinatorie ad un solo ingresso ( Nemani e Najm ) Orientamento ad un solo dispositivo obiettivo, quindi in caso di differente architettura 竪 necessario rifare tutto ( Kulkarni, Najjar, Rinkel ) Errori medi di stima alti (intorno al 20-25%) Sostanziale dipendenza tra implementazione delle metriche e dispositivo obiettivo scelto Ricerca di metriche che permettano una stima affidabile dellarea occupata e del tempo di esecuzione dei singoli componenti in unarchitettura riconfigurabile utilizzando descrizioni semi formali quali PDG e SDG Analisi di varie strutture dati (PDG e FGPDG) e validazione dei risultati tramite flusso automatico con lutilizzo di EDK
6. Framework Introduzione Sistemi dedicati Obiettivi Framework PandA Flusso di sviluppo Estrazione delle metriche PDG Vettore di caratterizzazione Implementazione delle metriche Parametrizzazione delle metriche Struttura di CLB e slice Test e risultati Esempi Risultati Conclusioni e sviluppi futuri
7. Stato: .:: Introduzione > Sistemi dedicati > Obiettivi .:: Framework > PandA > Flusso di sviluppo .:: Estrazione delle metriche > PDG > Vettore di caratterizzaz. > Implementaz. > Parametr. > CLB e slice .:: Test e risultati > Esempi > Risultati > Conclusioni e sviluppi futuri PandA Progetto nato allinterno del DEI del Politecnico di Milano che mira a sviluppare un framework per la progettazione di sistemi dedicati Struttura del progetto modulare, composta da sottoprogetti che interagiscono tra di loro, raggruppati in varie categorie: Livello di gestione di descrizioni comportamentali Livello di gestione di grafi e descrizioni strutturali Livello di sintesi ad alto livello La struttura interna si chiama IR: tree ed 竪 un grafo i cui nodi sono istanze di classi C++ appartenenti ad ununica gerarchia, mentre gli archi sono implicitamente definiti come riferimenti tra coppie di nodi. E composto da due sotto-moduli: IR: graph e IR: circuit Le metriche introdotte verranno implementate allinterno di PandA considerando il sotto-modulo IR: graph
8. Stato: .:: Introduzione > Sistemi dedicati > Obiettivi .:: Framework > PandA > Flusso di sviluppo .:: Estrazione delle metriche > PDG > Vettore di caratterizzaz. > Implementaz. > Parametr. > CLB e slice .:: Test e risultati > Esempi > Risultati > Conclusioni e sviluppi futuri Flusso di sviluppo Descrizione ad alto livello PandA GCC Parser IR: tree IR: graph IR: circuit Metriche Partizionamento HW/SW VHDL IP CoreGen EDK System Creator bitstream C Tool che crea automaticamente un core compatibile con EDK partendo da una generica funzionalit VHDL Tool che collega automaticamente il generico IP-Core e un dato sistema con architettura EDK-compatibile
9. Estrazione delle metriche Introduzione Sistemi dedicati Obiettivi Framework PandA Flusso di sviluppo Estrazione delle metriche PDG Vettore di caratterizzazione Implementazione delle metriche Parametrizzazione delle metriche Struttura di CLB e slice Test e risultati Esempi Risultati Conclusioni e sviluppi futuri
10. Stato: .:: Introduzione > Sistemi dedicati > Obiettivi .:: Framework > PandA > Flusso di sviluppo .:: Estrazione delle metriche > PDG > Vettore di caratterizzaz. > Implementaz. > Parametr. > CLB e slice .:: Test e risultati > Esempi > Risultati > Conclusioni e sviluppi futuri PDG Sa P Sb R 1 S 1 Sc ENTRY T a,li,- a,lc,- a,lc,a a,li,o a,lc,o S : for(a=ref; a<b; a++) { S 1 : ..........; } P : ..........; Sa Sb Sc Archi di dipendenza di controllo Archi di dipendenza dal flusso di dati X,Y,Z X Variabile interessata alla dipendenza Y li loop indipendent lc loop carried Z do def-order dependency o output dependency a anti-dependency - nessuna delle tre precedenti R 1 Nodo regione
11. Stato: .:: Introduzione > Sistemi dedicati > Obiettivi .:: Framework > PandA > Flusso di sviluppo .:: Estrazione delle metriche > PDG > Vettore di caratterizzaz. > Implementaz. > Parametr. > CLB e slice .:: Test e risultati > Esempi > Risultati > Conclusioni e sviluppi futuri Vettore di caratterizzazione Il processo di stima esplora progressivamente lintero grafo per arrivare a determinare le caratteristiche dellintera applicazione. Si considera il PDG di ogni task presente nellapplicazione e si compila una lista di tutti i tipi di operazioni presenti, determinando un vettore di caratterizzazione del tipo: Unit funzionale Coefficiente Sommatori Sottrattori - Contatori Array Multiplier Comparatori Moltiplicatori - Moltiplicatori per costante Operazioni Logiche MUX - Shifter C 1 -C 4 C 5 -C 6 C 7 -C 14 C 15 -C 17 C 28 -C 33 C 34 -C 38
12. Stato: .:: Introduzione > Sistemi dedicati > Obiettivi .:: Framework > PandA > Flusso di sviluppo .:: Estrazione delle metriche > PDG > Vettore di caratterizzaz. > Implementaz. > Parametr. > CLB e slice .:: Test e risultati > Esempi > Risultati > Conclusioni e sviluppi futuri Implementazione delle metriche Una volta che il PDG 竪 stimato, si considerano le dipendenze di controllo, quali loop o branch , e si costruiscono dei macro-nodi fondendo insieme due o piu nodi, e si ripete il procedimento per i nuovi nodi. ENTRY S S3 S1 S2 T F ENTRY S S3 S1 S2 T F ENTRY S S3 S1 S2 T F Allo stesso modo si valutano gli SDG, cio竪 considerando i singoli PDG come macro-nodi e valutando le dipendenze che intercorrono tra essi (esecuzione parallela, sequenziale..)
13. Stato: .:: Introduzione > Sistemi dedicati > Obiettivi .:: Framework > PandA > Flusso di sviluppo .:: Estrazione delle metriche > PDG > Vettore di caratterizzaz. > Implementaz. > Parametr. > CLB e slice .:: Test e risultati > Esempi > Risultati > Conclusioni e sviluppi futuri Parametrizzazione delle metriche Larea e il ritardo di propagazione di ogni unit funzionale sono stati ottenuti attraverso una serie di passi: Generazione del learning-set Sintesi del learning-set Analisi del rapporto di sintesi Estrazione della metrica dallanalisi del rapporto di sintesi Validazione della metrica Per rendere le metriche adattabili ad un certo numero di dispositivi, si sono introdotti dei parametri, S e L , indicanti rispettivamente il numero di slice e di LUT allinterno di una singola CLB. Quindi prima di applicare le metriche 竪 necessario ottenere il valore di tali costanti, in base allarchitettura di volta in volta presa in considerazione. Xilinx FPGA S L Virtex II Pro Virtex II Virtex IV 4 8 Virtex V 2 8 Virtex 2 4 Spartan 3/3L Spartan 3E 4 8
14. Stato: .:: Introduzione > Sistemi dedicati > Obiettivi .:: Framework > PandA > Flusso di sviluppo .:: Estrazione delle metriche > PDG > Vettore di caratterizzaz. > Implementaz. > Parametr. > CLB e slice .:: Test e risultati > Esempi > Risultati > Conclusioni e sviluppi futuri Struttura di CLB e slice Larchitettura obiettivo di questo lavoro 竪 la Virtex II Pro di Xilinx, che ha allinterno di ogni CLB 4 slice ( S =4) e 4x2=8 LUT ( L =8) C IN C OUT C IN C OUT SHIFT Switch Matrix Slice X0Y0 Slice X0Y1 Slice X1Y0 Slice X1Y1 C IN Slice X1Y0 Slice X1Y1 LUT F LUT G FF/ latch FF/ latch CY CY Ogni CLB 竪 composta da: 4 slice 2 buffer 3-state Ogni slice 竪 composta da: 2 generatori di funzioni logiche (LUT a 4 ingressi) 2 elementi di memorizzazione funzionanti in modalit sincrona (FF) o asincrona (latch)
15. Test e risultati Introduzione Sistemi dedicati Obiettivi Framework PandA Flusso di sviluppo Estrazione delle metriche PDG Vettore di caratterizzazione Implementazione delle metriche Parametrizzazione delle metriche Struttura di CLB e slice Test e risultati Esempi Risultati Conclusioni e sviluppi futuri
16. Stato: .:: Introduzione > Sistemi dedicati > Obiettivi .:: Framework > PandA > Flusso di sviluppo .:: Estrazione delle metriche > PDG > Vettore di caratterizzaz. > Implementaz. > Parametr. > CLB e slice .:: Test e risultati > Esempi > Risultati > Conclusioni e sviluppi futuri Esempi (1): unit funzionali Alcuni esempi di metriche ottenute per la SINGOLA unit funzionale, per le famiglie Virtex II e Spartan, per le quali il potere espressivo di una CLB equivale ad un byte: Sommatori Sottrattori CLB =N Slice =S*N LUT =L*N N dimensione in byte degli addendi Moltiplicatori N 2 /2 [(N 1 =1), V N 2 ] N 1 *N 2 [(1<N 1 <16), V N 2 ] V [N 1 >16, N 2 >50] (N 1 +N 2 ) [(N 1 >16), (1<N 2 <50)] 4 CLB = N 1 , N 2 dimensione in byte delle due variabili da moltiplicare 2 Quindi per lintero PDG si avranno le seguenti metriche per i sommatori e moltiplicatori: A Somm [CLB] = C 1 *C 2 C 1 num. Sommatori, C 2 dim.media addendi A Mol1 [CLB] = C 15 *C 16 *0.5 C 15 num. Molt. con N 1 =1, C 16 dim.media N 2 A Mol2 [CLB] = C 17 *C 18 *C 19 A Mol3 [CLB] = C 20 *(C 21 +C 22 )*0.25 A Mol4 [CLB] = C 23 *C 24 *C 25
17. Esempi (2): unit funzionali Quindi larea espressa in CLB dellintero PDG 竪 pari a: A [CLB] = A Somm + A Cont + A ArrMul + A Comp1 + A Comp2 + A Comp3 + A Comp4 + A Mol1 + A Mol2 + + A Mol3 + AMol4 + A MolK + A OpLog1 + A OpLog2 + A OpLog3 + A Mux Per quanto riguarda il timing , si 竪 proceduto nello stesso modo e si 竪 ottenuto ad esempio per gli addizionatori: T Add [s] = NumAdd * [(LungMediaAddendo*d r )+d c ] d r e d c sono rispettivamente il ripple line delay e il combinatorial delay e sono ricavabili dal data sheet della scheda Quindi il ritardo di propagazione 竪 dato dalla somma dei singoli contributi, pesati da un fattore empirico 1.5 necessario per tenere in considerazione linfluenza del routing e dal fattore (1/LP) necessario per pesare la somma dei singoli contributi in relazione alla struttura del task . T [s] = (1.5/LP) (T Add + T Mol + T Mux + T Log ) Una volta che il PDG 竪 stimato, costituisce un nodo, quindi si considerano le dipendenze di controllo, si formano i macro-nodi e si combinano le stime di area e tempo. Ad esempio nel caso di nodi eseguiti in PARALLELO con area (A 1 ,A 2 ) e timing (T 1 ,T 2 ), il macro nodo risultante ha: A = A 1 + A 2 T = MAX (T 1 ,T 2 ) Stato: .:: Introduzione > Sistemi dedicati > Obiettivi .:: Framework > PandA > Flusso di sviluppo .:: Estrazione delle metriche > PDG > Vettore di caratterizzaz. > Implementaz. > Parametr. > CLB e slice .:: Test e risultati > Esempi > Risultati > Conclusioni e sviluppi futuri
18. Risultati (1): unit funzionali Errore medio % Stima tempo Stima FF Stima CLB Errore medio stima FF sempre nullo tranne Molt. e MUX Errore medio stima CLB intorno al 2% Errore medio stima tempo di esecuzione al di sotto del 5% (problema wiring ) Stato: .:: Introduzione > Sistemi dedicati > Obiettivi .:: Framework > PandA > Flusso di sviluppo .:: Estrazione delle metriche > PDG > Vettore di caratterizzaz. > Implementaz. > Parametr. > CLB e slice .:: Test e risultati > Esempi > Risultati > Conclusioni e sviluppi futuri
19. Risultati (2): il filtro FIR Il sorgente C del filtro 竪 costituito dalla funzione clear , che pone zeri nella delay line e dalla funzione fir-basic , che immagazzina i campioni di ingresso e calcola i campioni di uscita. Stima Implementazione Area [CLB] 75 80 85 90 95 100 Stima Implementazione Frequenza [Mhz] Errore medio stima CLB tra il 12% e il 18% Errore medio stima temporale 7% Stato: .:: Introduzione > Sistemi dedicati > Obiettivi .:: Framework > PandA > Flusso di sviluppo .:: Estrazione delle metriche > PDG > Vettore di caratterizzaz. > Implementaz. > Parametr. > CLB e slice .:: Test e risultati > Esempi > Risultati > Conclusioni e sviluppi futuri
20. Stato: .:: Introduzione > Sistemi dedicati > Obiettivi .:: Framework > PandA > Flusso di sviluppo .:: Estrazione delle metriche > PDG > Vettore di caratterizzaz. > Implementaz. > Parametr. > CLB e slice .:: Test e risultati > Esempi > Risultati > Conclusioni e sviluppi futuri Conclusioni e sviluppi futuri Errori medi di stima per le singole unit funzionali soddisfacenti, intorno al 2% per le CLB e al 5% per il tempo di esecuzione Facilit nelladattare le metriche ad architetture differenti Errori medi di stima per benchmark complessi tra il 12% e il 18% Problemi riscontrati con il wiring delay Maggiore utilizzo dei PDG a granularit fine Integrazione automatica nel flusso di sviluppo delle stime ottenute Maggiore indipendenza dai coefficienti di delay nelle stime del tempo di esecuzione In futuro..