Virtual Hardware basato su FPGA A.ALOISIO La disponibilita’ sempre crescente di dispositivi logici programmabili, noti come FPGA, con risorse di milioni di gates ha mutato negli ultimi dieci anni lo scenario della progettazione digitale di sistemi complessi. Lo sviluppo di circuiti integrati per applicazioni specifiche (ASIC) in tecnologie non riconfigurabili (standard-cell, gate array o full-custom) si e’ oggi ridotto considerevolmente: esso si adotta solo per la produzione industriale di un chip ( >105 pezzi), per il raggiungimento di prestazioni limite in termini di velocita’/densita’/dissipazione o per progetti analogico-digitali. Il flusso di progetto di un FPGA permette di configurare le risorse interne del dispositivo sulla base di una descrizione ad alto livello del circuito digitale desiderato. Appositi ambienti di sviluppo sintetizzano la logica necessaria in base alle risorse messe a disposizione dalla particolare tecnologia. La rete di interconnessioni da attivare all’interno del dispositivo viene quindi generata da un apposito software che produce un file di programmazione. La configurazione finale del dispositivo puo’ essere reversibile o irreversibile in base all’architettura scelta. I dispositivi FPGA basati su memoria SRAM permettono di modificare la loro configurazione un numero indefinito di volte. Il file di configurazione viene scaricato nel chip all’atto dell’accensione o quando venga avviata un’apposita procedura di riprogrammazione. Per alcune tecnologie, quest’ultima puo’ riguardare una particolare sezione del circuito permettendo la modifica locale delle funzionalita del circuito. La riprogrammabilita’ di questo tipo di FPGA e’ stata da sempre sfruttata per correggere errori di disegno, aggiungere nuove funzionalita’ o adattare le caratteristiche del circuito a mutate condizioni d’impiego. E’ possibile tuttavia estendere questo paradigma di progetto, sfruttando la riprogrammabilita’ per realizzare piattaforme hardware appositamente pensate per adattarsi a piu’ applicazioni: un vero e proprio virtual hardware in grado di modellarsi sulle specifiche esigenze dell’utente. Questo approccio alla progettazione e’ stato seguito con successo nello sviluppo di elettronica per esperimenti di Fisica delle Alte Energie. Funzionalita’ diverse presenti nei sistemi di acquisizione dati degli apparati sperimentali sono state realizzate impiegando una stessa scheda, di volta in volta programmata per una particolare applicazione. I vantaggi di questo metodo sono evidenti: progetto e realizzazione di un ridotta varieta’ di hardware, razionalizzazione delle parti di ricambio, manutenzione e documentazione semplificata, impiego di un minor numero di componenti. La positiva esperienza maturata nel mondo della ricerca si presta ad essere esportata verso applicazioni industriali. Il successo dell’iniziativa dipende dalla conoscenza delle possibilita’ offerte dai dispositivi programmabili, dalla individuazione di classi di applicazione che potrebbero beneficiare di questo approccio e dalle regole di progetto adottate. La possibilita' di configurare parte di un dispositivo FPGA per realizzare un microprocessore rende le possibilita' offerte da un virtual hardware ancora piu' interessanti. I processori 'immersi' nella logica (embedded) offrono una grande flessibilita' e possono essere efficacemente interfacciati con periferiche sviluppate dall'utente all'interno della FPGA.E’ inoltre possibile comparare l’efficacia di un sistema basato su processore con una soluzione incentrata su automi a stati finiti, senza dover modificare l’architettura della scheda. I ricercatori proponenti della Sezione INFN di Napoli possono offrire la loro esperienza realizzativa a realta’ aziendali coinvolte nello sviluppo di prodotti tecnologici avanzati che intendano valutare questo approccio. I laboratori della Sezione sono attrezzati con strumentazione d’avanguardia ed sofisticati tools software per la valutazione di soluzioni circuitali e progetto di circuiti stampati. Alberto Aloisio, Luciano Capasso, Francesco Cevenini, Raffaele Giordano, Vincenzo Izzo Sezione INFN di Napoli e Dipartimento di Scienze Fisiche dell’ Universita’ di Napoli “Federico II”