OpenCores
URL https://opencores.org/ocsvn/phr/phr/trunk

Subversion Repositories phr

[/] [phr/] [trunk/] [doc/] [informe-tesis/] [reports/] [schedule_2013-03-20/] [schedule.tex] - Diff between revs 160 and 161

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 160 Rev 161
Line 217... Line 217...
...
...
\end{lstlisting}
\end{lstlisting}
 
 
Es decir, se agrega los TAPs recorriendo la cadena JTAG desde el pin TDO al pin TDI desde el interface, aquí sería desde la placa OOCDLink.
Es decir, se agrega los TAPs recorriendo la cadena JTAG desde el pin TDO al pin TDI desde el interface, aquí sería desde la placa OOCDLink.
 
 
\subsection{Programación \ac{CPLD}}
\subsection{Programación del \ac{CPLD}}
Para los \ac{CPLD}, primero se debe tener el archivo \ac{SVF}, que es generado por la herramienta con la que se diseña y sintetiza el código VHDL o Verilog. En éste caso se utiliza el \textsl{software} ISE Xilinx. Una vez que se tiene el archivo \ac{SVF}, desde \ac{openocd}, se corre el siguiente comando;
Para los \ac{CPLD}, primero se debe tener el archivo \ac{SVF}, que es generado por la herramienta con la que se diseña y sintetiza el código VHDL o Verilog. En éste caso se utiliza el \textsl{software} ISE Xilinx. Una vez que se tiene el archivo \ac{SVF}, desde \ac{openocd}, se corre el siguiente comando;
\begin{lstlisting}
\begin{lstlisting}
svf -tap tap_name file.svf quiet
svf -tap tap_name file.svf quiet
\end{lstlisting}
\end{lstlisting}
Lo que generaría una salida como la que sigue,
Lo que generaría una salida como la que sigue,
Line 310... Line 310...
Al igual que el \textsl{software} \ac{openocd}, xc3sprog recibe varios argumentos en función de como se quiera interactuar con  los dispositivos a programar. Para listar las opciones que se tienen, se debe correo el programa desde el directorio donde se construyó el proyecto, llamado \texttt{build},
Al igual que el \textsl{software} \ac{openocd}, xc3sprog recibe varios argumentos en función de como se quiera interactuar con  los dispositivos a programar. Para listar las opciones que se tienen, se debe correo el programa desde el directorio donde se construyó el proyecto, llamado \texttt{build},
 
 
\begin{lstlisting}
\begin{lstlisting}
luis@luis-laptop:~$ cd ~/sourceforge/xc3sprog/build
luis@luis-laptop:~$ cd ~/sourceforge/xc3sprog/build
luis@luis-laptop:~$ ./xc3sprog
luis@luis-laptop:~$ ./xc3sprog
XC3SPROG (c) 2004-2011 xc3sprog project $Rev: 160 $ OS: Linux
XC3SPROG (c) 2004-2011 xc3sprog project $Rev: 161 $ OS: Linux
Free software: If you contribute nothing, expect nothing!
Free software: If you contribute nothing, expect nothing!
Feedback on success/failure/enhancement requests:
Feedback on success/failure/enhancement requests:
        http://sourceforge.net/mail/?group_id=170565
        http://sourceforge.net/mail/?group_id=170565
Check Sourceforge for updates:
Check Sourceforge for updates:
        http://sourceforge.net/projects/xc3sprog/develop
        http://sourceforge.net/projects/xc3sprog/develop
Line 460... Line 460...
\begin{lstlisting}
\begin{lstlisting}
  xc3sprog -c cable [options] <file0spec> <file1spec> ...
  xc3sprog -c cable [options] <file0spec> <file1spec> ...
\end{lstlisting}
\end{lstlisting}
En este comando, lo principal es definir que \emph{cable} se utilizará de la lista que tenemos en el archivo \texttt{cablelist.txt}. Para esto, se debe indicar luego del \texttt{-c} el nombre de la lista de \textsl{interfaces}. Una vez definido el cable, se concatenan demás tareas que debe procesar el xc3sprog, pero ya teniendo referencia a que tipo de \textsl{interface} está conectado. Los tareas son,
En este comando, lo principal es definir que \emph{cable} se utilizará de la lista que tenemos en el archivo \texttt{cablelist.txt}. Para esto, se debe indicar luego del \texttt{-c} el nombre de la lista de \textsl{interfaces}. Una vez definido el cable, se concatenan demás tareas que debe procesar el xc3sprog, pero ya teniendo referencia a que tipo de \textsl{interface} está conectado. Los tareas son,
\begin{description}
\begin{description}
\item[\textbf{\texttt{-j}}] Detecta la cadena JTAG e imprime una lista de dispositivos encontrados. La numeración de la posición del dispositivo en la cadena se cuenta desde el dispositivo conectado al pin TDO del \textsl{interface}.
\item[\texttt{-j}] Detecta la cadena JTAG e imprime una lista de dispositivos encontrados. La numeración de la posición del dispositivo en la cadena se cuenta desde el dispositivo conectado al pin TDO del \textsl{interface}.
\item[\textbf{\texttt{-p val}}] Define a que dispositivo de la cadena JTAG se está por acceder, donde \texttt{val} es el número que ocupa en la cadena y es visualizado por el comando \texttt{-j}. El valor por defecto de \texttt{val} es 0.
\item[\texttt{-p val}] Define a que dispositivo de la cadena JTAG se está por acceder, donde \texttt{val} es el número que ocupa en la cadena y es visualizado por el comando \texttt{-j}. El valor por defecto de \texttt{val} es 0.
\item[\textbf{\texttt{-T n}}] Testea la cadena JTAG \texttt{n} veces. Cuando se corre en modo ISF, se testea la conexión SPI.
\item[\texttt{-T n}] Testea la cadena JTAG \texttt{n} veces. Cuando se corre en modo ISF, se testea la conexión SPI.
  \begin{itemize}
  \begin{itemize}
  \item Si \texttt{n} no se específica, el valor por defecto es de 10,000 veces.
  \item Si \texttt{n} no se específica, el valor por defecto es de 10,000 veces.
  \item Si \texttt{n = 0} se mantendrá en un testeo para siempre.
  \item Si \texttt{n = 0} se mantendrá en un testeo para siempre.
  \end{itemize}
  \end{itemize}
\item[\textbf{\texttt{-J freq}}] Ejecuta a una frecuencia específica el clock del JTAG (\texttt{freq} se encuentra en Hz). Si no se proporciona este dato, o \texttt{freq = 0}, el \textsl{interface} trabajará a la máxima frecuencia que soporte y se encuentre definido en el archivo \texttt{cablelist.txt} (véase \ref{sec:xc3sprog-cablelist}).
\item[\texttt{-J freq}] Ejecuta a una frecuencia específica el clock del JTAG (\texttt{freq} se encuentra en Hz). Si no se proporciona este dato, o \texttt{freq = 0}, el \textsl{interface} trabajará a la máxima frecuencia que soporte y se encuentre definido en el archivo \texttt{cablelist.txt} (véase \ref{sec:xc3sprog-cablelist}).
\item[\textbf{\texttt{-e}}] Borra el dispositivo seleccionado por el parámetro \texttt{-p}.
\item[\texttt{-e}] Borra el dispositivo seleccionado por el parámetro \texttt{-p}.
\item[\textbf{\texttt{-I file}}] Define si se trabaja en modo ISF para programar una memoria serial \textsl{flash} interna. La memoria \textsl{flash} está junta al dispositivo JTAG primario, pero no es accesible directamente mediante la cadena JTAG. El \textsl{interface} JTAG primario es usado como un \emph{proxy} para enviar datos sobre SPI a la memoria \textsl{flash}. Si se especifica el argumento \texttt{file}, se comenzará por programar el bitfile especificado en el \textsl{interface} JTAG primario (típicamente una FPGA).
\item[\texttt{-I file}] Define si se trabaja en modo ISF para programar una memoria serial \textsl{flash} interna. La memoria \textsl{flash} está junta al dispositivo JTAG primario, pero no es accesible directamente mediante la cadena JTAG. El \textsl{interface} JTAG primario es usado como un \emph{proxy} para enviar datos sobre SPI a la memoria \textsl{flash}. Si se especifica el argumento \texttt{file}, se comenzará por programar el bitfile especificado en el \textsl{interface} JTAG primario (típicamente una FPGA).
\item[\textbf{\texttt{-R}}] Envía un comando de reconfiguración al dispositivo de memoria del \textsl{hardware} utilizado (por ejemplo: XVC, XCF, XCFP para las FPGA o directamente a los dispositivos XC3S, XC6S, XC2V).
\item[\texttt{-R}] Envía un comando de reconfiguración al dispositivo de memoria del \textsl{hardware} utilizado (por ejemplo: XVC, XCF, XCFP para las FPGA o directamente a los dispositivos XC3S, XC6S, XC2V).
\item[\textbf{\texttt{-m mapdir}}] Búsqueda de archivos de mapeo (XC2C) en el directorio especificado por \texttt{mapdir}. Los archivos de mapeo (\textsl{map files}) son requeridos para manejar archivos JEDEC durante la programación de los CPLDs. Si se especifica el directorio, por defecto el valor que se toma es \texttt{\$XC\_MAPDIR}.
\item[\texttt{-m mapdir}] Búsqueda de archivos de mapeo (XC2C) en el directorio especificado por \texttt{mapdir}. Los archivos de mapeo (\textsl{map files}) son requeridos para manejar archivos JEDEC durante la programación de los CPLDs. Si se especifica el directorio, por defecto el valor que se toma es \texttt{\$XC\_MAPDIR}.
\item[\textbf{\texttt{-d /dev/parportN}}] Especifica el puerto paralelo a utilizar. Si no es especificado, por defecto se utiliza el valor \texttt{\$XCPORT} o \texttt{/dev/parport0}.
\item[\texttt{-d /dev/parportN}] Especifica el puerto paralelo a utilizar. Si no es especificado, por defecto se utiliza el valor \texttt{\$XCPORT} o \texttt{/dev/parport0}.
\item[\textbf{\texttt{-s serialnum}}] Utiliza el puerto USB con \textsl{string} de número de serie específico.
\item[\texttt{-s serialnum}] Utiliza el puerto USB con \textsl{string} de número de serie específico.
\item[\textbf{\texttt{-L}}] Usa el controlador \emph{libFTD2XX} en luag de \emph{libftdi} para acceder a un \textsl{interface} basados en los dispositivos FTDI.
\item[\texttt{-L}] Usa el controlador \emph{libFTD2XX} en luag de \emph{libftdi} para acceder a un \textsl{interface} basados en los dispositivos FTDI.
\item[\textbf{\texttt{-D}}] Genera los archivos \texttt{cablelist.txt} y \texttt{devlist.txt} en el directorio actual. Si ya existiesen, xc3sprog intentará generar los mismos archivos pero agregando al nombre de los archivos un número que incrementará.
\item[\texttt{-D}] Genera los archivos \texttt{cablelist.txt} y \texttt{devlist.txt} en el directorio actual. Si ya existiesen, xc3sprog intentará generar los mismos archivos pero agregando al nombre de los archivos un número que incrementará.
\item[\textbf{\texttt{-v}}] Habilita la salida formal detallada (\textsl{verbose}).
\item[\texttt{-v}] Habilita la salida formal detallada (\textsl{verbose}).
\item[\textbf{\texttt{-h}}] Imprime un texto de ayuda para el programa.
\item[\texttt{-h}] Imprime un texto de ayuda para el programa.
\end{description}
\end{description}
 
 
 
Luego de reconocer los diferentes comandos que permiten ejecutarse con xc3sprog, se presenta a continuación algunas acciones posibles que se pueden correr. Cada una de estas acciones está compuesta de un archivo \texttt{filename} seguido opcionalmente por atributos de la forma:
 
\begin{lstlisting}
 
<filename:action:offset:style:length>.
 
\end{lstlisting}
 
\begin{description}
 
\item[\texttt{filename}] Corresponde al archivo que será escrito por el dispositivo seleccionado, o también puede ser el archivo que almacena el dato para luego ser leído por el dispositivo que se encuentra en la cadena JTAG.
 
\item[\texttt{action}] Es una letra que indica si se escribe, lee, o verifica el dispositivo. Si es especificado, la acción de escritura es indicado por defecto.
 
  \begin{description}
 
  \item[\texttt{w}] Borra, luego escribe los datos desde el archivo al dispositivo y por último verifica.
 
  \item[\texttt{W}] Escribe con un tipo de borrado \textsl{auto-sector}, luego verifica. Este modo permite borrar solo el espacio necesario.\\
 
  \item[\texttt{v}] Verifica el dato del dispositivo comparando el un archivo especificado.
 
  \item[\texttt{r}] Lee los datos desde el dispositivo y los escribe al archivo (sin sobre-escritura).
 
  \item[\texttt{R}] Lee los datos desde el dispositivo y los escribe al archivo, si ya existe el archivo lo sobreescribe.
 
  \end{description}
 
\item[\texttt{offset}] El desplazamiento interno en \textsl{byte} del dispositivo donde la escritura/lectura deberá comenzar. Solo soportado para dispositivos SPI, XCFxxS y XMEGA.
 
\item[\texttt{style}] Define el formato del archivo especificado.
 
  \begin{description}
 
  \item[\texttt{BIT}] Formato de archivo de Xilinx \texttt{.BIT}. Por defecto para los dispositivos FPGA, XCF y memorias SPI.
 
  \item[\texttt{BIN}] Archivo binario.
 
  \item[\texttt{MCS}] Formato de archivo de Xilinx \texttt{.MCS}.
 
  \item[\texttt{IHEX}] Formato de Intel \texttt{HEX}. También usado por los formatos PROMGEN de Xilinx cuando escribe archivos MCS. Por defecto para los archivos XMEGA.
 
  \item[\texttt{HEXRAW}] Secuencia en bruto de dígitos hexadecimales.
 
  \item[\texttt{JEDEC}] Por defecto para los dispositivos CPLDs.
 
  \end{description}
 
\item[\texttt{length}] El número de \textsl{bytes} a programar/leer. Solo soportado para SPI, XCFxxS y XMEGA.
 
\end{description}
 
 
\subsection{Programación \ac{CPLD}}
\subsection{Programación de la \ac{FPGA}}
 
 
 
 
\subsection{\textsl{Debugging}}
\subsection{Programación del \ac{CPLD}}
 
 
\section{Documentación}
\section{Documentación}
La documentación resulta fundamental en ésta etapa del desarrollo. Si bien se quiere lograr el correcto funcionamiento de las placas, la documentación sirve para realizar correciones a las versiones futuras de cada placa. Otro objetivo es documentar el funcionamiento de cada dispositivo que sirvan al reporte final como así también a los usuarios de la \emph{Plataforma de Hardware Reconfigurable}.
La documentación resulta fundamental en ésta etapa del desarrollo. Si bien se quiere lograr el correcto funcionamiento de las placas, la documentación sirve para realizar correciones a las versiones futuras de cada placa. Otro objetivo es documentar el funcionamiento de cada dispositivo que sirvan al reporte final como así también a los usuarios de la \emph{Plataforma de Hardware Reconfigurable}.
 
 
\begin{thebibliography}{}
\begin{thebibliography}{}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.