DMI – Corso di laurea magistrale in Informatica
Copyleft
2016-2017 Giuseppe Scollo
in questa esercitazione si trattano:
ipotesi per la realizzazione hardware:
tre regole per la realizzazione:
due definizioni:
frequenza di clock massima per il circuito: reciproco della latenza del cammino critico
algoritmo: a ogni passo rimpiazza (a, b) con (|a-b|, min(a,b))
Schaumont, Figure 3.10 - Euclid’s greatest common divisor as an SDF graph
analisi PASS:
rango(G) = 1
applichiamo le tre regole indicate per la realizzazione hardware del modello SDF:
la realizzazione degli attori è semplice, con pochi moduli di uso comune (multiplatori, comparatori e un sottrattore)
Schaumont, Figure 3.11 - Hardware implementation of Euclid’s algorithm
esempio di miglioramento del throughput mediante pipelining:
Schaumont, Figure 3.12 - SDF graph of a simple moving-average application
Schaumont, Figure 3.13 - Pipelining the moving-average filter by inserting additional tokens (1)
Schaumont, Figure 3.14 - Pipelining the moving-average filter by inserting additional tokens (2)
Schaumont, Figure 3.15 - Hardware implementation of the moving-average filter
da notare:
il pipelining, con l'aggiunta di token, può alterare il comportamento di un grafo SDF
Schaumont, Figure 3.16 - Loops in SDF graphs cannot be pipelined
per applicare il pipelining senza alterare il comportamento funzionale del grafo, quando questo contiene cicli, i token aggiuntivi vanno posti al di fuori di qualsiasi ciclo nel grafo
il circuito mostrato in figura 3.11 realizza il nucleo computazionale dell'algoritmo di Euclide per il calcolo del GCD, tuttavia non presenta elementi di controllo atti a segnalare l'inizio e la fine del calcolo né a distinguere ingressi e uscita; gli obiettivi di questa esperienza sono: estendere il circuito a tal fine, descriverlo in Gezel, tradurlo in VHDL e simularne il funzionamento