Laboratorio di Fisica V

1 FPGA: Oscillatore e Generatore di sequenze casuali

Relazione Gruppo ..........

1.1 Oscillatore

Avviare il programma mediante il comando Start:MaxPlus2.

ATTENZIONE: stare attenti a non usare il comando di disinstallazione del programma!

Definire il progetto led flash attraverso il menu File:Project:Name.

Caricare il file led flash.gdf che contiene la descrizione del circuito di Figura 1, attraverso il menu File:Open.

Figura 1: Oscillatore

Definire il tipo di chip Altera utilizzato (FLEX10K:EPF10K10TC144-4) mediante il menu Assign:Device.

Procedere alla compilazione attraverso il menu MAX:Compiler.

Dopo aver alimentato la basetta e collegato la porta seriale, procedere alla programmazione della FPGA attraverso il menu MAX:Programmer.

Poichè il pin 125 del chip Altera è collegato al clock ed il pin 96 ad uno dei led (controllare la corrispondenza con Assign:Pin/Location/Chip), dovreste vedere il led corrispondente cambiare stato: stimare il periodo di oscillazione e confrontarlo con il valore aspettato.

T =

Modificare il circuito in modo da raddoppiare la frequenza di oscillazione. Ripetere i passaggi di compilazione e programmazione.

Modificare il circuito in modo da ottenere una divisione del clock di un fattore 4, e simularne il circuito utilizzando il file led flash.sch attraverso il menu MAX:Simulator. E’ possibile modificare la scala dei tempi mediante i menu View:ZoomIn e View:ZoomOut.

Riportare graficamente l’andamento del clock e dell’uscita, e misurare il ritardo tra i due segnali ottenuto dalla simulazione:

Tabella 1:

Modificare il circuito, mediante il menu MAX:GraphicEditor, in modo da far accendere 4 led consecutivamente. Utilizzare a questo scopo lo shift register 7495 caricato da libreria.

Disegnare il nuovo schema del circuito:

1.2 Generatore di sequenze casuali

Realizzare il circuito di Figura 2.

Definire un nuovo progetto mediante il menu File:Project:Name.

Aprire la finestra grafica mediante il menu MAX:GraphicEditor.

Disegnare il circuito utilizzando lo stesso contatore del circuito precedente, mediante il menu Symbol:EnterSymbol.

Creare l’OR Esclusivo mediante la libreria File:MegaWizardPluginManager, utilizzando la funzione gates:LPM XOR, quindi caricarlo mediante il menu Symbol:EnterSymbol.

Creare lo shift register mediante la libreria File:MegaWizardPluginManager, e quindi caricarlo mediante il menu Symbol:EnterSymbol.

Figura 2: Generatore di sequenze casuali

Inserire i pin di INPUT e OUTPUT mediante il menu Symbol:EnterSymbol, caricandoli dalla libreria maxplus2:max2lib:prim.

Ricordarsi di definire il tipo di chip Altera utilizzato, mediante il menu Assign:Device.

Utilizzando il menu Assign:Pin/Location/Chip, definire i seguenti pin del chip FPGA: pin 124 = START, pin 125 = CLK, pin 97 = q7. E’ consigliabile posizionare il puntatore su ciascun pin e quindi cliccare con il tasto destro del mouse.

Compilare il file mediante il menu MAX:Compiler.

Simulare il circuito mediante il menu MAX:Waveform:Editor; a tale scopo definire un segnale di START della durata di 1 μs (impulso negativo), ed un segnale di CLK con periodo 100 ns (mediante Overwrite clock: se non riuscite a modificare il Clock period, rimuovere SnapToGrid dal menu Options).

Riportare in grafico i segnali simulati:

Tabella 2:

Caricare il chip FPGA con il nuovo programma mediante il menu MAX:Programmer, e verificare che il funzionamento corrisponde alla simulazione.