200 likes | 359 Views
METODOLOGIA PER LA REALIZZAZIONE DI IP CORE BASATI SU DESCRIZIONI IN LINGUAGGIO C. Relatore: Prof. Fabrizio FERRANDI Correlatore: Ing. Marco Domenico SANTAMBROGIO. Massimo Ratti MATRICOLA 653597 Fabio Rizzato MATRICOLA 653694. Sommario. 1. FPGA, FSM, FSMD, diagrammi ASM, EDK;
E N D
METODOLOGIA PER LA REALIZZAZIONE DI IP CORE BASATI SU DESCRIZIONI IN LINGUAGGIO C Relatore: Prof. Fabrizio FERRANDI Correlatore: Ing. Marco Domenico SANTAMBROGIO Massimo Ratti MATRICOLA 653597 Fabio Rizzato MATRICOLA 653694
Sommario • 1. FPGA, FSM, FSMD, diagrammi ASM, EDK; • 2. Metodologia proposta; • 2a. Realizzazione del diagramma ASM; • 2b. Realizzazione del diagramma a blocchi; • 2c. Traduzione in VHDL; • 2d. Interfacciamento sul bus OPB; • 2e. Inserimento nell’architettura; • 2f. Definizione del device driver; • 3. Risultati, conclusioni e sviluppi. Ratti Massimo – Fabio Rizzato
Introduzione: FPGA Virtex II Pro Evaluation Board Ratti Massimo – Fabio Rizzato
Introduzione: FSM MOORE (S, I, O, d, l, s0) MEALY Ratti Massimo – Fabio Rizzato
Introduzione: FSMD Ratti Massimo – Fabio Rizzato
Introduzione: diagrammi ASM STATE BOX DECISION BOX CONDITION BOX Ratti Massimo – Fabio Rizzato
Introduzione: EDK e XPS Ratti Massimo – Fabio Rizzato
Metodologia proposta DESCRIZIONE IN LINGUAGGIO C IMPLEMENTAZIONE COMPONENTE SU FPGA REALIZZAZIONE DEL DIAGRAMMA ASM COMPILAZIONE E SINTESI REALIZZAZIONE DEL DIAGRAMMA A BLOCCHI DEFINIZIONE DEL DEVICE DRIVER INSERIMENTO NELL’ARCHITETTURA TRADUZIONE DEL DIAGRAMMA A BLOCCHI IN VHDL IP CORE CORE DEL COMPONENTE INTERFACCIAMENTO SU BUS Ratti Massimo – Fabio Rizzato
Realizzazione del diagramma ASM for(int i=0;i<N;i++) for(int j=N-2;j>=i;j--) if(valore[j]>valore[j+1]) scambio=valore[j] valore[j]=valore[j+1] valore[j+1]=scambio end if end for end for Ratti Massimo – Fabio Rizzato
Realizzazione del diagramma a blocchi Ratti Massimo – Fabio Rizzato
Realizzazione del diagramma a blocchi MACCHINA DI MEALY MACCHINA DI MOORE Ratti Massimo – Fabio Rizzato
Traduzione State box in VHDL SI DEFINISCE IL DATAPATH PROCESSO DATAPATH CASE stato_presente IS WHEN 0 => operazioni stato 0 WHEN 1 => operazioni stato 1 … WHEN OTHERS => fine END PROCESSO Ratti Massimo – Fabio Rizzato
Traduzione Decision box in VHDL SI DEFINISCE IL CONTROLLORE PROCESSO 1 CONTROLLORE if reset=1 then stato_corrente <= stato_reset elseif start=1 then stato_corrente <= stato prossimo end if END PROCESSO DATAPATH PROCESSO 2 CONTROLLORE CASE stato_presente IS WHEN 0 => definizione stato prossimo WHEN 1 => definizione stato prossimo … WHEN OTHERS => fine END PROCESSO Ratti Massimo – Fabio Rizzato
Interfacciamento al bus REALIZZAZIONE DEL DIAGRAMMA ASM DEFINIZIONE PSELECT REALIZZAZIONE DEL DIAGRAMMA A BLOCCHI INTERFACCIAMENTO PSELECT CON OPB E CON IP CORE TRADUZIONE DEL DIAGRAMMA A BLOCCHI IN VHDL Ratti Massimo – Fabio Rizzato
Inserimento nell’architettura BUS PLB BUS OPB IP CORE PROCESSORE PPC Ratti Massimo – Fabio Rizzato
Definizione del device driver (1) REGISTRI OPB ASSOCIATI ALL’IP CORE 2 IP CORE FILE SORGENTE 3 PSELECT WRITE CORE 1 Ratti Massimo – Fabio Rizzato
Definizione del device driver (2) REGISTRI OPB ASSOCIATI ALL’IP CORE IP CORE FILE SORGENTE 2 PSELECT READ CORE 1 Ratti Massimo – Fabio Rizzato
Simulazione comportamentale INIZIO SIMULAZIONE FINE SIMULAZIONE Ratti Massimo – Fabio Rizzato
Conclusioni e sviluppi futuri LA METODOLOGIA CONSENTE DI DEFINIRE UN IP CORE LOGICAMENTE CORRETTO POSSIBILI SVILUPPI AUTOMAZIONE DELLA METODOLOGIA PROPOSTA ATTRAVERSO SOFTWARE IMPLEMENTAZIONE DELL’ALGORITMO DI ORDINAMENTO CON UNA MACCHINA DI MEALY Ratti Massimo – Fabio Rizzato
Fine presentazione Ratti Massimo – Fabio Rizzato