La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Francesco Redaelli - Davide Sacchi

Presentazioni simili


Presentazione sul tema: "Francesco Redaelli - Davide Sacchi"— Transcript della presentazione:

1 Francesco Redaelli - Davide Sacchi
STUDIO DI METODOLOGIE DI SINTESI DI ALTO LIVELLO PER LA REALIZZAZIONE DI UN SINTETIZZATORE AUTOMATICO DA INTEGRARE NEL PROGETTO PANDA Relatore: Prof. Fabrizio FERRANDI Correlatore: Ing. Marco Domenico SANTAMBROGIO Francesco Redaelli MATRICOLA Davide Sacchi MATRICOLA Francesco Redaelli - Davide Sacchi

2 Francesco Redaelli - Davide Sacchi
Sommario Obiettivi PANDA Introduzione alla sintesi di alto livello Tecnologie di sintesi: Diagrammi ASM Sintetizzatore SPARK Grafi SDG Caso di studio: Algoritmo Kernighan-Lin Risultati e Confronto Conclusioni e sviluppi futuri Francesco Redaelli - Davide Sacchi

3 Obiettivi Analisi di due metodi di sintesi di alto livello esistenti: tramite ASM e tramite SPARK Introduzione di un nuovo metodo basato sugli SDG come rappresentazione formale Confronto dei metodi di sintesi di alto livello Francesco Redaelli - Davide Sacchi

4 Francesco Redaelli - Davide Sacchi
PANDA HLS HW/SW Codesign DRESD CERBERO Francesco Redaelli - Davide Sacchi

5 Sintesi di alto livello
“High-level synthesis is the process of mapping a behavioral description at the algorithmic level to a structural description in terms of functional units, memory elements and interconnections” Sabih H. Gerez, “Algorithms for VLSI Design Automation” while (TRUE) { switch (state) { case S0: x = a + b; state = S1; next; case S1: ... } sync: process begin wait until CLOCK’event and CLOCK=‘1’; state <= state_next; end process sync; ciclo: process begin case state is when S0 => out1 <= a + c; state_next <= S1; ... end process ciclo; Descrizione Strutturale Allocazione risorse Assegnamento risorse Schedulazione Sorgente Francesco Redaelli - Davide Sacchi

6 DESCRIZIONE IN LINGUAGGIO C
Diagrammi ASM (1) DESCRIZIONE IN LINGUAGGIO C State Box Posizioni possibili per il nome S1 Uscite asserite Zx REALIZZAZIONE DEL DIAGRAMMA ASM Condition Box CONDIZIONE FALSE TRUE Condizione di test Output Box Uscite asserite Zx Francesco Redaelli - Davide Sacchi

7 Francesco Redaelli - Davide Sacchi
Diagrammi ASM (2) INDIVIDUAZIONE DEGLI STATI TRADUZIONE DEL DIAGRAMMA A BLOCCHI IN VHDL CASE stato_presente IS WHEN "10" => if( j<ndiv2 ) then Operazioni stato 10 if (B[j*2 + 1] = 0) then stato_presente <= "11"; else stato_presente <= "13"; end if; stato_presente <= "14"; WHEN "11" => Operazioni stato 11 if( max < maxp ) then stato_presente <= "12"; WHEN "12" => Operazioni stato 12 WHEN "13" => j <= j+1; stato_presente <= "14“; end case; Francesco Redaelli - Davide Sacchi

8 Francesco Redaelli - Davide Sacchi
Sintetizzatore Spark Francesco Redaelli - Davide Sacchi

9 Francesco Redaelli - Davide Sacchi
Grafi SDG (1) Scheduling CASE stato IS WHEN A => Operazioni stato A WHEN B => Operazioni stato B WHEN C => Operazioni stato C end case; Francesco Redaelli - Davide Sacchi

10 Francesco Redaelli - Davide Sacchi
Grafi SDG (2) if (clk'event AND clk = '1') then CASE stato_presente IS WHEN x"00" => i <= 0; k <= 0; stato_presente <= x"01"; WHEN x"01" => ind18 <= Dv(i) + Dv(k + ndiv2); iA <= i; iB <= k; Mk <= M(A(i * 2)*n + B(k * 2)) * 2; if(A((i * 2) + 1) > 0) then i <= i+1; end if; if (B((k * 2) + 1) > 0) then k <= k+1; if ((A((i * 2) + 1) > 0) and (B((k * 2) + 1)>0)) then else stato_presente <= x“02"; WHEN x“02" => max <= ind18 - Mk; stato_presente <= x"11"; end CASE; Entry S1 W1 S6 S5 S2 S2 W2 W2 S7 S1 W1 S6 S5 S7 T T S3 S4 S3 S4 Francesco Redaelli - Davide Sacchi

11 Algoritmo Kernighan-Lin
B a 2 d 2 b 5 e 3 c f Francesco Redaelli - Davide Sacchi

12 Risultati e Confronto (1)
Metodo f(MHz) Cp(ns) LUT SLC Stati Transizioni I O Occupazione Spazio (%) ASM O 62.160 16.087 429 237 10 15 5 9 ASM 61.949 16.142 734 407 8 SDG O 4.762 445 240 16 21 SDG 99.856 10.014 757 419 11 20 SPARK 4.989 525 341 14 18 4 Risultati ottenuti attraverso ISE Francesco Redaelli - Davide Sacchi

13 Risultati e Confronto (2)
Metodo f(MHz) Cp(ns) LUT ASM O 9.859 395 ASM 9.874 474 SDG O 3.750 250 SDG 4.246 554 SPARK 3.562 514 Risultati ottenuti attraverso Synplify Pro Francesco Redaelli - Davide Sacchi

14 Risultati e Confronto (3)
Metodo Cicli Tempo ISE(ms) Tempo Synplify(ms) ASM O 445 7.16 4.39 ASM 7.18 SDG O 865 4.12 3.24 SDG 545 5.46 2.31 SPARK 876 4.37 3.12 Confronto tempistiche di simulazione Francesco Redaelli - Davide Sacchi

15 Conclusioni e sviluppi futuri
Modulo di sintesi di alto livello basato su SDG HLS DRESD HW/SW Codesign CERBERO Francesco Redaelli - Davide Sacchi

16 Francesco Redaelli - Davide Sacchi
Fine Presentazione Domande Francesco Redaelli - Davide Sacchi


Scaricare ppt "Francesco Redaelli - Davide Sacchi"

Presentazioni simili


Annunci Google