• Non ci sono risultati.

Descrizione GUI del software

Nel documento Politecnico di Torino (pagine 88-91)

Capitolo 7. SCI-Compiler

7.1 Descrizione GUI del software

L'interfaccia principale è organizzata come segue ed è mostrata in Fig. 7.1:

Toolbars: ci sono due barre degli strumenti. La barra degli strumenti ‘Home’ contiene i controlli necessari per gestire le operazioni del diagramma, dell'editor e della compilazione mentre la barra degli strumenti ‘Tools Box’ contiene i pulsanti per inserire nello schema tutti i blocchi che possono essere implementati nella scheda FPGA.

Resources and Settings: questa sezione ha due schede. La prima è la scheda ‘Project File’, la quale, a sua volta, è divisa in due sezioni. La sezione in alto permette di gestire i file del progetto che vengono organizzati con una visualizzazione ad albero come si vede in Fig. 7.2. Il simbolo affianco alla parola ‘top’ in Fig.7.2 rappresenta il file principale del progetto. Al di sotto si vedono due file detti ‘subdesign’ del file principale del progetto. La sezione in basso della scheda ‘Project File’, invece, permette di vedere le informazioni di un blocco del diagramma attraverso l’"Help" online.

La seconda scheda si chiama ‘Hardware Settings’ e consente di selezionare i connettori della scheda e le impostazioni dei registri da configurare.

Development GUI: questa sezione permette di progettare graficamente il firmware FPGA sfruttando e interconnettendo i blocchi disponibili (scheda ‘Diagram’), di configurare i connettori della scheda e le impostazioni dei registri (scheda ‘Editor’) e di leggere i messaggi di output del processo di compilazione (scheda ‘Compiler Output’).

Status: questa parte mostra, a sinistra, le informazioni sulla licenza e lo stato del programma.

Questo può essere nello stato “Compiling” se vi è una compilazione in esecuzione, “Programming”

se vi è un processo di programmazione dell’FPGA in corso e “Idle” se non ci sono processi che coinvolgono l’esecuzione di Vivado / Quartus. A destra, si colloca una barra per indicare l'avanzamento del processo in corso, che può essere lo stato di avanzamento di compilazione del firmware o lo stato di avanzamento del processo di programmazione dell’FPGA.

Fig. 7.1. Interfaccia grafica principale di SCI-Compiler [14].

79 Fig. 7.2. Sezione superiore della scheda 'Project File' [14].

7.1.1) Toolbar “Home”

Il toolbar "Home" (Fig. 7.3) contiene alcuni controlli organizzati in sottogruppi dedicati a diversi tipi di azioni.

Il sottogruppo “File” contiene i comandi base per la creazione di un nuovo progetto, l’apertura di un progetto esistente e per il salvataggio. Il sottogruppo “Tools” è anch’esso molto base, con comandi molto comuni come Copia, Incolla, Taglia, Annulla e Ripeti.

Il sottogruppo "Compiler" contiene i controlli relativi alla procedura di compilazione. Il pulsante

"Compile" avvia la compilazione sul computer dell'utente: viene generato un file .vhdl a partire dal firmware progettato graficamente dall'utente. Viene creato un file .tcl e il programma Vivado o Quartus, a seconda della scheda di destinazione scelta per il progetto, verrà eseguito dalla shell. Il pulsante “Compile SDK” permette di compilare l'SDK (Software Development Kit) C / Python compatibile con il progetto firmware corrente. Le relative librerie vengono salvate nella cartella del progetto. Il pulsante "Program FPGA" permette di programmare l'FPGA della scheda utilizzando il file bitstream generato durante il processo di compilazione del firmware, collegando la scheda al computer con l’apposito cavo programmatore micro-USB (Vivado o Quartus vengono richiamati automaticamente dalla shell). Il pulsante "Settings" permette di impostare la configurazione dei compilatori Vivado o Quartus e di definire il percorso per il salvataggio della cartella con all’interno il progetto e le varie cartelle generate dal processo di compilazione . Il pulsante

"Resource Explorer" apre una finestra di interfaccia che permette di connettersi con l'hardware e testare il firmware.

Fig. 7.3. Toolbar ”Home” di SCI-Compiler [14].

80 Il sottogruppo "Flash Tool" contiene i comandi necessari per generare il file flash del firmware e avviare il tool di aggiornamento del firmware FPGA per le schede supportate da SCI-Compiler.

L’“Help” permette di accedere ad una guida completa del software con le descrizioni di tutti i blocchi funzionali disponibili.

7.1.2) Toolbar “Tools Box”

Il toolbar "Tools Box" (Fig. 7.4) contiene tutti i blocchi implementati precompilati per la scheda di destinazione, divisi in sottogruppi a seconda della loro categoria.

Il sottogruppo “Wire” contiene i seguenti sottomenù:

• il "Board Pin" consente di utilizzare i pin della scheda I / O e implementare le modalità di lettura per gli ASIC WeeROC;

• il "Misc" contiene valori costanti, variabili booleane, clock e conversioni tra valori binari e decimali; contiene anche la funzione “User HDL” che permette all'utente di creare un blocco grafico basato su un proprio codice HDL personalizzato;

• il "Bitwise Operations" consente di implementare le principali operazioni binarie bit per bit;

• il "Sub-design" permette di selezionare un subdesign e di inserirlo nel diagramma principale.

Nel sottogruppo “Logic” vi sono i seguenti sottomenù:

• il "Boolean Logic" permette di implementare tutte le operazioni base della logica booleana;

• il "Sequential Logic" dispone di rilevatori di fronti, latch e flip-flop;

• il "Timer Counter" contiene cronometri, timer, contatori e frequenzimetri;

• il "Comparator" dispone di blocchi che possono essere utilizzati per confrontare i segnali;

• il "Mux" permette di implementare multiplexer e demultiplexer;

• il "Delay Memory" contiene blocchi per implementare ritardi, serializzazioni e deserializzazioni, RAM, ROM e vari tipi di buffer.

Il sottogruppo “Signal Processing” contiene:

• il menu "State Machine" per implementare una macchina a stati finiti;

• il menu "ALU" contenente le operazioni di base delle unità logico-aritmetiche;

• il menù "Timing" contiene blocchi che implementano funzioni come il Time to Digital Converter e il Single Channel Analyzer;

• il menu "DAQ" consente di implementare blocchi come l'oscilloscopio, il digitalizzatore, il restauratore della linea di base, l'integratore della carica, il filtraggio trapezoidale, la logica di trigger, l'analizzatore logico e l'acquisizione spettrale.

Fig. 7.4. Toolbar "Tools Box" di SCI- Compiler [14].

81 Il sottogruppo “Communication” è suddiviso nei seguenti sottomenù:

• il "Register" permette di leggere e scrivere direttamente sul registro della scheda;

• L’ "Interfaces" offre la possibilità di scegliere tra i protocolli di comunicazione I2C, SPI o UART.

Il sottogruppo "Testing" contiene il menù "Signal Generator", per aggiungere segnali di test in ingresso al diagramma.

Nel documento Politecnico di Torino (pagine 88-91)