Il tool di sviluppo “Project Manager 2.1″ Xilinx

sch_projMan

Il software utilizzato per la programmazione della scheda XS40 è il Project Manager 2.1 che fa parte della XILINX FOUNDATION SERIES. E’ un software creato verso la fine degli anni ’90 e dal quale poi è stato successivamente sviluppato l’attuale tool di sviluppo della XILINX: l’ ISE FOUNDATION. In questo paragrafo saranno trattate le operazioni principali che il software è in grado di realizzare, senza scendere troppo nei dettagli di come esse vengono effettivamente eseguite.

La programmazione di un FPGA passa attraverso le seguenti principali operazioni :
-Realizzazione della netlist.
-Simulazione Funzionale.
-Implementazione.
-Download del bit stream.
    
Per netlist si intende un particolare tipo di file che indichi le connessioni effettuate tra i
dispositivi logici utilizzati nel circuito. Il Project Manager prevede la categoria “Design
Entry” che permette di generare la netlist, attraverso uno dei seguenti approcci :
 
1. Descrizione del progetto attraverso il linguaggio VHDL (HDL Editor).
2. Realizzazione di una macchina a stati finiti (FSM Editor).
3. Descrizione schematica del progetto (Schematic Editor).
4. LogicBLOX Module generator.
5. Xilinx CORE Generator System.
 
 
Il primo dei cinque approcci sopra elencati si basa sul linguaggio VHSIC Hardware Description Language (VHDL) ed è un derivato del programma Very High Speed Integrated Circuit (VHSIC), ideato dal Dipartimento della Difesa Statunitense tra la fine degli anni ‘70 e l’inizio degli anni ‘80. La generazione della netlist tramite linguaggio VHDL avviene attraverso un particolare tool di sintesi integrato nel Project Manager: l’HDL Editor. La sintesi produce la netlist a partire da un opportuno codice e da una libreria in cui sono contenuti gli elementi standard da utilizzare. Ogni famiglia di FPGA ha una propria libreria di elementi standard come porte logiche, buffer, contatori, mux , ecc. La descrizione VHDL può essere eseguita anche nello Schematic Editor, in quanto un codice completo può essere importato come un vero e proprio blocco logico.
Nella figura precedente è possibile vedere un esempio realizzato tramite il secondo approccio: realizzare una “Finite State Machine “ ossia una macchina a stati finiti. Questa strada può essere utile da seguire per descrivere gli stati di una macchina elementare (contatori , riconoscitori di sequenza, ecc.. ), la quale potrà poi essere utilizzata nello Schematic Editor per comporre il nostro progetto finale. In generale, non è consigliabile seguire l’approccio a stati finiti per realizzare l’intero progetto, dato che in questo caso è impossibile visualizzare i collegamenti fisici tra i vari dispositivi e quindi verificarne l’esattezza in fase di simulazione.
Il terzo approccio riguarda il vero e proprio disegno dello schematico attraverso lo Schematic Editor. Come già detto in precedenza, è possibile importare sia le FSM che codici VHDL all’interno dello Schematic Editor, per poi collegarli
opportunamente tra di loro. Inoltre, in questo editor è possibile sfruttare le librerie di ogni diversa famiglia di FPGA, in cui sono contenuti tutti gli elementi logici standard che possono essere importati nello schematico. Infine ,dopo aver disegnato l’intero
progetto, utilizzando l’opportuno comando di “Create Netlist “ l’editor attiva il tool di sintesi che produce il file con estensione “ .ALB ” che rappresenta la netlist del progetto.
 
 
Il quarto approccio riguarda l’utilizzo del LogiBLOX module selezionabile dalla schermata principale del Project Manager mostrata di seguito:
Questo modulo permette l’implementazione automatica di macchine di uso comune nei circuiti logici come: adder, comparatori, memorie, decoder, ecc. L’utilizzo di questo modulo può essere utile per ridurre i tempi di elaborazione del progetto, purché
ci si assicuri che il componente generato svolga effettivamente le funzioni richieste. 
Infatti, non è possibile entrare nel cuore della descrizione comportamentale del blocco una volta che esso è stato creato. E’ però possibile selezionare diverse opzioni inerenti alle funzionalità del blocco logico, attraverso la schermata principale del LogiBLOX.
Di seguito riportiamo un esempio di shift register a 4 bit implementato utilizzando quest’ultima feature del Project Mangaer 2.1:
 
Il quinto ed ultimo approccio prevede l’uso dello Xilinx CORE Generator System, che contiene un insieme di funzioni, che vanno dalle semplici operazioni matematiche alle più complesse operazioni di elaborazione digitale. Tutte queste funzioni sono già implementate e quindi utilizzabili all’interno dello Schematic Editor. Ovviamente l’insieme di funzioni implementabili dipende dal particolare FPGA su cui si opera. Di fatto, uno dei parametri da impostare inizialmente nello Xilinx CORE Generator System è proprio la famiglia di FPGA su cui poi si vuole sviluppare.

Una volta terminata la fase di realizzazione della Netlist, è possibile passare alla fase successiva di simulazione funzionale del progetto. Questa fase prevede l’applicazione di opportuni “stimoli “(segnali di ingresso), e l’analisi successiva dell’andamento temporale di tutti i segnali desiderati al fine di testare l’effettivo funzionamento delle varie parti del progetto. E’ importante sottolineare però che questa simulazione non tiene in conto dei tempi di ritardo prodotti dall’implementazione hardware della logica.

Leggi anche:

http://it.emcelettronica.com/vhdl-i

http://it.emcelettronica.com/vhdl-come-tenere-i-programmi-sotto-controllo

http://it.emcelettronica.com/forum/fpgavhdle-tool-di-sviluppo-vi-piacerebbe-parlarne

STAMPA

9 Comments

  1. divivoma 20 ottobre 2011
  2. divivoma 20 ottobre 2011
  3. divivoma 20 ottobre 2011
  4. Mino_73 14 ottobre 2011
  5. Mino_73 16 ottobre 2011
  6. Fabrizio87 15 ottobre 2011
  7. Fabrizio87 15 ottobre 2011
  8. Fabrizio87 16 ottobre 2011
  9. Mino_73 17 ottobre 2011

Leave a Reply