Date post: | 05-Jul-2015 |
Category: |
Documents |
Upload: | pierluigi-picciau |
View: | 144 times |
Download: | 0 times |
Introduzione Hardware: progettazione e verifica Sviluppo di un ambiente di verifica Test e conclusioni
Verifica funzionale dell’ALU del microprocessoreGaisler Leon3
Candidato: Pierluigi PicciauRelatore: Prof. Sergio Congiu
Dipartimento di Ingegneria dell’Informazione - Università degli Studi di Padova
11 Dicembre 2012
Pierluigi Picciau (1014465) DEI-Unipd
Verifica funzionale dell’ALU del microprocessore Gaisler Leon3 1 / 21
Introduzione Hardware: progettazione e verifica Sviluppo di un ambiente di verifica Test e conclusioni
Piano della presentazione
1 Introduzione
2 Hardware: progettazione e verifica
3 Sviluppo di un ambiente di verifica
4 Test e conclusioni
Pierluigi Picciau (1014465) DEI-Unipd
Verifica funzionale dell’ALU del microprocessore Gaisler Leon3 2 / 21
Introduzione Hardware: progettazione e verifica Sviluppo di un ambiente di verifica Test e conclusioni
Il contesto
Ogheri Consulting GmbH
sede a Feldkirchen (Monaco di Baviera)attività di consulenza nell’ambito della progettazione e verificadi hardware
Il lavoro di tesi
Sviluppo di un ambiente per la verifica funzionale dell’ALU delmicroprocessore Gaisler Leon3
Pierluigi Picciau (1014465) DEI-Unipd
Verifica funzionale dell’ALU del microprocessore Gaisler Leon3 3 / 21
Introduzione Hardware: progettazione e verifica Sviluppo di un ambiente di verifica Test e conclusioni
Piano della presentazione
1 Introduzione
2 Hardware: progettazione e verifica
3 Sviluppo di un ambiente di verifica
4 Test e conclusioni
Pierluigi Picciau (1014465) DEI-Unipd
Verifica funzionale dell’ALU del microprocessore Gaisler Leon3 4 / 21
Introduzione Hardware: progettazione e verifica Sviluppo di un ambiente di verifica Test e conclusioni
Progettazione dell’hardware
progressi nella tecnologia → complessità crescenteesigenza di strumenti per maggiore produttività
Pierluigi Picciau (1014465) DEI-Unipd
Verifica funzionale dell’ALU del microprocessore Gaisler Leon3 5 / 21
Introduzione Hardware: progettazione e verifica Sviluppo di un ambiente di verifica Test e conclusioni
Progettazione dell’hardware
Linguaggi HDL
linguaggi di descrizionesupportano le peculiarità dei sistemi hardware
esecuzione concorrentenozione del tempo
possono essere eseguiti → l’hardware può essere simulato
Principali linguaggi
VHDL (IEEE.1076)Verilog
Pierluigi Picciau (1014465) DEI-Unipd
Verifica funzionale dell’ALU del microprocessore Gaisler Leon3 6 / 21
Introduzione Hardware: progettazione e verifica Sviluppo di un ambiente di verifica Test e conclusioni
Verifica dell’hardware
Verifica funzionale
L’implementazione rispetta i requisiti di progetto?
Pierluigi Picciau (1014465) DEI-Unipd
Verifica funzionale dell’ALU del microprocessore Gaisler Leon3 7 / 21
Introduzione Hardware: progettazione e verifica Sviluppo di un ambiente di verifica Test e conclusioni
Metodologie di verifica
Directed testing
forza brutatest diretti
Random testing
sequenze casuali di transizionigenerazione vincolata (solotransizioni valide)
Coverage-driven verification
miglioramento del random testingcoverage (informazioni sull’efficacia)automazione e completezza
Pierluigi Picciau (1014465) DEI-Unipd
Verifica funzionale dell’ALU del microprocessore Gaisler Leon3 8 / 21
Introduzione Hardware: progettazione e verifica Sviluppo di un ambiente di verifica Test e conclusioni
Metodologie di verifica
Directed testing
forza brutatest diretti
Random testing
sequenze casuali di transizionigenerazione vincolata (solotransizioni valide)
Coverage-driven verification
miglioramento del random testingcoverage (informazioni sull’efficacia)automazione e completezza
Pierluigi Picciau (1014465) DEI-Unipd
Verifica funzionale dell’ALU del microprocessore Gaisler Leon3 8 / 21
Introduzione Hardware: progettazione e verifica Sviluppo di un ambiente di verifica Test e conclusioni
Metodologie di verifica
Directed testing
forza brutatest diretti
Random testing
sequenze casuali di transizionigenerazione vincolata (solotransizioni valide)
Coverage-driven verification
miglioramento del random testingcoverage (informazioni sull’efficacia)automazione e completezza
Pierluigi Picciau (1014465) DEI-Unipd
Verifica funzionale dell’ALU del microprocessore Gaisler Leon3 8 / 21
Introduzione Hardware: progettazione e verifica Sviluppo di un ambiente di verifica Test e conclusioni
Ausilii alla verifica
Linguaggio e
Linguaggio (proprietario) concepito per la verifica dell’hardwareinterfaccia con il simulatore VHDL (o Verilog)espressioni di linguaggio temporalegenerazione casuale e vincolatastrumenti per il coverage
Pierluigi Picciau (1014465) DEI-Unipd
Verifica funzionale dell’ALU del microprocessore Gaisler Leon3 9 / 21
Introduzione Hardware: progettazione e verifica Sviluppo di un ambiente di verifica Test e conclusioni
Piano della presentazione
1 Introduzione
2 Hardware: progettazione e verifica
3 Sviluppo di un ambiente di verifica
4 Test e conclusioni
Pierluigi Picciau (1014465) DEI-Unipd
Verifica funzionale dell’ALU del microprocessore Gaisler Leon3 10 / 21
Introduzione Hardware: progettazione e verifica Sviluppo di un ambiente di verifica Test e conclusioni
Device Under Test
Gaisler Leon3
microprocessore a 32 bit, con architettura SPARC v8adatto ad applicazioni embedded (prestazioni medio-alte,bassa complessità)disponibile in VHDL con licenza GPL
Integer Unit
pipeline a 7 stadinumero variabile di registriinterfacce separate verso data cache e instruction cache
Pierluigi Picciau (1014465) DEI-Unipd
Verifica funzionale dell’ALU del microprocessore Gaisler Leon3 11 / 21
Introduzione Hardware: progettazione e verifica Sviluppo di un ambiente di verifica Test e conclusioni
Caratteristiche salienti di SPARC
Scalable Processor ARChitecture
architettura RISC a 32 bitformati d’istruzione: pochi e semplici2 registri sorgenti, 1 registro destinazionenumero variabile di registri
Registri
Organizzazione a finestre da 24 registri8 globali (condivisi)24 locali (8+8+8)
Pierluigi Picciau (1014465) DEI-Unipd
Verifica funzionale dell’ALU del microprocessore Gaisler Leon3 12 / 21
Introduzione Hardware: progettazione e verifica Sviluppo di un ambiente di verifica Test e conclusioni
Obiettivi di verifica
Verifica dell’ALU (Integer Unit)
fetch & decode & executeaccesso in lettura/scrittura ai registriinteger condition codesgestione Current Window Pointerbranch
AritmeticheADD, ADDCC,SUB, SUBCC,ADDC, SUBX,ADDXCC,SUBXCC
LogicheAND, ANDCC,ANDN, ANDNCC,OR, ORCC, ORN,ORNCC, XOR,XORCC, XNOR,XNORCC
ShiftSLL, SRL, SRA
FlussoBICC, SAVE,RESTORE, CALL
Pierluigi Picciau (1014465) DEI-Unipd
Verifica funzionale dell’ALU del microprocessore Gaisler Leon3 13 / 21
Introduzione Hardware: progettazione e verifica Sviluppo di un ambiente di verifica Test e conclusioni
Struttura dell’ambiente di verifica L3IU
Sequence Driver
genera l’input ad alto livello
BFM
implementa il protocollo fisico dicomunicazione
simula una cache istruzioni
Pierluigi Picciau (1014465) DEI-Unipd
Verifica funzionale dell’ALU del microprocessore Gaisler Leon3 14 / 21
Introduzione Hardware: progettazione e verifica Sviluppo di un ambiente di verifica Test e conclusioni
Struttura dell’ambiente di verifica L3IU
Input Monitor
instruction word (32 bit)
PC
contenuto dei registri
Output Monitor
indirizzi di lettura/scrittura deiregistri
valori CWP e integer conditioncodes
valore da scrivere su registrodestinazione
Pierluigi Picciau (1014465) DEI-Unipd
Verifica funzionale dell’ALU del microprocessore Gaisler Leon3 15 / 21
Introduzione Hardware: progettazione e verifica Sviluppo di un ambiente di verifica Test e conclusioni
Struttura dell’ambiente di verifica L3IU
Checker
riceve le istruzioni dall’inputmonitor
riceve l’esito dell’esecuzionedall’output monitor
verifica la correttezza
Sync e Signal Map
Sync genera eventi clock, reset ...
Signal Map definisce lacorrispondenza tra segnali VHDLe variabili e
Pierluigi Picciau (1014465) DEI-Unipd
Verifica funzionale dell’ALU del microprocessore Gaisler Leon3 16 / 21
Introduzione Hardware: progettazione e verifica Sviluppo di un ambiente di verifica Test e conclusioni
Piano della presentazione
1 Introduzione
2 Hardware: progettazione e verifica
3 Sviluppo di un ambiente di verifica
4 Test e conclusioni
Pierluigi Picciau (1014465) DEI-Unipd
Verifica funzionale dell’ALU del microprocessore Gaisler Leon3 17 / 21
Introduzione Hardware: progettazione e verifica Sviluppo di un ambiente di verifica Test e conclusioni
Test singoli
Pierluigi Picciau (1014465) DEI-Unipd
Verifica funzionale dell’ALU del microprocessore Gaisler Leon3 18 / 21
Introduzione Hardware: progettazione e verifica Sviluppo di un ambiente di verifica Test e conclusioni
Rapporto di coverage
Pierluigi Picciau (1014465) DEI-Unipd
Verifica funzionale dell’ALU del microprocessore Gaisler Leon3 19 / 21
Introduzione Hardware: progettazione e verifica Sviluppo di un ambiente di verifica Test e conclusioni
Batch test
10 istanze x 10k istruzioni
Pierluigi Picciau (1014465) DEI-Unipd
Verifica funzionale dell’ALU del microprocessore Gaisler Leon3 20 / 21
Introduzione Hardware: progettazione e verifica Sviluppo di un ambiente di verifica Test e conclusioni
Conclusioni
Risultati raggiunti
sviluppata l’architettura base dell’ambiente di verificaverificate le istruzioni aritmetiche, logiche e di controllo delflusso
Sviluppi futuri
supporto a più istruzioni (MUL, DIV, FPU, LOAD/STORE ...)dinamiche di cache misssupporto alla branch prediction
Grazie per l’attenzione
Pierluigi Picciau (1014465) DEI-Unipd
Verifica funzionale dell’ALU del microprocessore Gaisler Leon3 21 / 21
Introduzione Hardware: progettazione e verifica Sviluppo di un ambiente di verifica Test e conclusioni
Conclusioni
Risultati raggiunti
sviluppata l’architettura base dell’ambiente di verificaverificate le istruzioni aritmetiche, logiche e di controllo delflusso
Sviluppi futuri
supporto a più istruzioni (MUL, DIV, FPU, LOAD/STORE ...)dinamiche di cache misssupporto alla branch prediction
Grazie per l’attenzionePierluigi Picciau (1014465) DEI-Unipd
Verifica funzionale dell’ALU del microprocessore Gaisler Leon3 21 / 21