Tesi Robotica Algoritmi ed architetture per la risoluzione di... | Page 57
3.2. CONVERSIONE C TO HARDWARE: HIGH LEVEL SYNTESIS
57
base alla luminosità(come abbiamo spiegato nel capitolo 2) si sceglie se andare
nell’albero omogeneo oppure strutturato. Rispetto a FAST la soluzione proposta
di AGAST non solo è veloce ma anche ottimale.
3.2
Conversione C to Hardware: High level syntesis
Il nostro obiettivo è quello di far girare il codice C di agast5_8 su un FPGA
Altera in modo da poter gestire un flussio video piuttosto che un’immagine.
Per fare questo, dobbiamo innanzitutto convertire il nostro condice Ansi C in
Verilog.
Quindi:
Come si può vedere dalla figura, per passare da Ansi C a Verilog abbiamo
utilizzato un Framework che si chiama LegUp che ci permette di convertire
frammenti di codice Ansi C in Verilog.
Di seguito vedremo il codice Verilog di AGAST. Questo codice è stato realizzato
partendo dal codice C sopra indicato e trasformandolo in codice verilog tramite
Legup che nei prossimi capitoli spiegheremo.
(Il codice sottostante è solo un’estrapolazione di quello originale)
//Prendiamo in esame solo le porzioni di codice che ci interessano per la
spiegazione
//Per il codice completo si rimanda all’appendice
/--------------------------------------------------------------------//