Please enable JavaScript.
Coggle requires JavaScript to display documents.
Maxeler - Coggle Diagram
Maxeler
Ecosistema
-
-
-
Manager -> Gestore del kernel, interfaccia tra CPU e DFE
-
-
-
Manager
-
-
Genera l'interfaccia SLiC con createSLiCInterface() che produce gli header che saranno poi inclusi dal programma host
Definisce gli ingressi e le uscite (setIO, addStreamToStream), e in generale collega le variabili host con i segnali hardware del DFE
-
SLiC
Fornisce al programmatore un livello di astrazione che rende possibile richiamare il DFE come se fosse una libreria software
Praticamente bisogna includere l'header maxslickinterface.h e l'header specifico del kernel che descrive in dettaglio input e output e permette di mappare le chiamate del programma host sui segnali hardware
Durante la compilazione, il progetto deve essere linkato con la libreria libslic.a che implementa la parte runtime della comunicazione
In questo modo l'host non lavora con registri o porte hardware della FPGA e lo SLiC le traduce in comandi per il DFE
Host
-
Alloca i vettori di ingresso e uscita, lunghezza dati e scalari
-
Kernel
Cos'è?
Usa tipi numerici specificati in termini di esponente e mantissa
es dfeFloat(8, 24)
-
-
Possibile accedere ad elementi vicino nello stream con stream.offset(y, -1) senza dover ricorrere a buffer o cicli espliciti
Rappresenta la logica compurazionale implementata sul DFE, scritto in MaxJ (un estensione di Java)
Come si usa?
-
Definisce gli stream di Input (da CPU o altre parti DFE), stream di output ed eventuali scalari
-
A differenza del C, non si descrive un algoritmo sequenziale ma il comportamento a livello di clock.
A ogni ciclo un nuovo dato entra nella pipeline, subisce le trasformazioni indicate e produce un valore in uscita