\documentclass[12pt,fleqn]{article}
   \usepackage{epsfig}
   \pagestyle{plain}
   \usepackage[italian]{babel}
\textwidth=15cm
\textheight=25cm
\oddsidemargin=-0.2in
\evensidemargin=-0.2in
\topmargin=-1.6cm
\bibliographystyle{unsrt}
\begin{document}
%
% Look in the 'Windows' menu for the pictures window
% It's like the Scrapbook -- cut and paste pictures
%

\title{\bf Laboratorio di Fisica V}
\author{\small }
\author{}
\date{}
 
\maketitle


\section{FPGA: Oscillatore e Generatore di sequenze casuali}


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

\subsection{Oscillatore} 

Avviare il programma mediante il comando Start:MaxPlus2.

{\bf ATTENZIONE: stare attenti a non usare il comando di
disinstallazione del programma!}

Definire il progetto {\bf led\_flash} attraverso il menu 
File:Project:Name.

Caricare il file {\bf led\_flash.gdf} che contiene la descrizione del 
circuito di Figura~\ref{fpga_fig1}, attraverso il menu File:Open.

\begin{figure}[h]
  \begin{center}\mbox{\epsfig{file=LED_FLASH.eps,width=14.0 cm,
height=5 cm}}\end{center}
\caption{Oscillatore}
\protect\label{fpga_fig1}
\end{figure}

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\`e il pin 125 del chip Altera \`e 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.

\begin{center}
$T =$
\end{center}

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 {\bf 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:

\begin{table}[h]
\caption{}\label{table:first}
{\small
\begin{center}
\begin{tabular}{|l|l|l|l|l|l|l|l|l|l|l|l|l|l|l|l|l|l|l|l|l|l|l|}
\hline
& & & & & & & & & & & & & & & & & & & & & & \\
\hline
& & & & & & & & & & & & & & & & & & & & & & \\
\hline
& & & & & & & & & & & & & & & & & & & & & & \\
\hline
& & & & & & & & & & & & & & & & & & & & & & \\
\hline
& & & & & & & & & & & & & & & & & & & & & & \\
\hline
& & & & & & & & & & & & & & & & & & & & & & \\
\hline
& & & & & & & & & & & & & & & & & & & & & & \\
\hline
& & & & & & & & & & & & & & & & & & & & & & \\
\hline
\end{tabular}
\end{center}
}
\end{table}

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:
\vspace{6cm}

\subsection{Generatore di sequenze casuali} 

\begin{figure}[h]
  \begin{center}\mbox{\epsfig{file=RANDGEN.eps,width=12.0 cm}}\end{center}
\caption{Generatore di sequenze casuali}
\protect\label{fpga_fig2}
\end{figure}

Realizzare il circuito di Figura~\ref{fpga_fig2}.

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:En\-terSymbol.

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

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 $\mu$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:

\begin{table}[h]
\caption{}\label{table:first}
{\small
\begin{center}
\begin{tabular}{|l|l|l|l|l|l|l|l|l|l|l|l|l|l|l|l|l|l|l|l|l|l|l|}
\hline
& & & & & & & & & & & & & & & & & & & & & & \\
\hline
& & & & & & & & & & & & & & & & & & & & & & \\
\hline
& & & & & & & & & & & & & & & & & & & & & & \\
\hline
& & & & & & & & & & & & & & & & & & & & & & \\
\hline
& & & & & & & & & & & & & & & & & & & & & & \\
\hline
& & & & & & & & & & & & & & & & & & & & & & \\
\hline
& & & & & & & & & & & & & & & & & & & & & & \\
\hline
& & & & & & & & & & & & & & & & & & & & & & \\
\hline
\end{tabular}
\end{center}
}
\end{table}

Caricare il chip FPGA con il nuovo programma mediante il menu 
MAX:Pro\-gram\-mer, e verificare che il funzionamento corrisponde 
alla simulazione.


\end{document}









