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

Subversion Repositories phr

[/] [phr/] [trunk/] [doc/] [informe-tesis/] [phd-thesis-template-master/] [ProyectoPHR/] [ProyectoPHR.tex] - Diff between revs 281 and 284

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

Rev 281 Rev 284
Line 342... Line 342...
Las primeras observaciones que se hicieron sobre estos puntos fue la posibilidad de dar el mayor uso y flexibilidad a todos los recursos a implementar. Por ejemplo, para el caso del interfaz USB-JTAG se podría implementar en forma aislada a la placa principal del proyecto. Eso permitiría que reutilizar esta interfaz con otros proyectos. Pero si esto se realizara se incrementaría el costo del proyecto pues se necesitaría fabricar una placa aislada que, si bien puede que ocupe el mismo área que si se integraría el diseño a la placa principal, los costos de fabricación son mayores. Además, por el perfil del proyecto, se intentó implementar diseños publicados en forma libre por la comunidad de \emph{Hardware Libre}. Un ejemplo de esto es la decisión de utilizar el sistema de alimentación desarrollado por el Instituto Nacional de Tecnología Industrial, lo que se describirá con mayor detalle en secciones futura. En definitiva, todos los análisis llevaron a la diseño e implementación de tres placas que integran todos los requerimientos planteados al iniciar el desarrollo.
Las primeras observaciones que se hicieron sobre estos puntos fue la posibilidad de dar el mayor uso y flexibilidad a todos los recursos a implementar. Por ejemplo, para el caso del interfaz USB-JTAG se podría implementar en forma aislada a la placa principal del proyecto. Eso permitiría que reutilizar esta interfaz con otros proyectos. Pero si esto se realizara se incrementaría el costo del proyecto pues se necesitaría fabricar una placa aislada que, si bien puede que ocupe el mismo área que si se integraría el diseño a la placa principal, los costos de fabricación son mayores. Además, por el perfil del proyecto, se intentó implementar diseños publicados en forma libre por la comunidad de \emph{Hardware Libre}. Un ejemplo de esto es la decisión de utilizar el sistema de alimentación desarrollado por el Instituto Nacional de Tecnología Industrial, lo que se describirá con mayor detalle en secciones futura. En definitiva, todos los análisis llevaron a la diseño e implementación de tres placas que integran todos los requerimientos planteados al iniciar el desarrollo.
 
 
\section{Selección de dispositivos principales}
\section{Selección de dispositivos principales}
\label{sec:sel-disp-prin}
\label{sec:sel-disp-prin}
 
 
 
Los dispositivos principales del proyecto, enunciados en la sección anterior, deben ser definidos al comenzar con el desarrollo. Una vez que se decida porque dispositivos utilizar, los demás componentes electrónicos serán funcionales a estos primeros.
 
 
 
\subsection{Dispositivos FPGA}
 
\label{sec:sel-disp-prin-fpga}
 
 
 
La FPGA que se utiliza pertenece a la familia Spartan-3 de Xilinx Inc. Esta familia a la vez se clasifican en
 
 
 
\begin{itemize}
 
\item Familia Spartan-3A extendida (bajo costo):
 
  \begin{itemize}
 
  \item Spartan-3A
 
    \begin{itemize}
 
    \item Ideal para uso de interfaz entre dispositivos.
 
    \end{itemize}
 
  \item Spartan-3A DSP
 
    \begin{itemize}
 
    \item Mayor densidad de recursos en comparación que la familia Spartan-3A
 
    \item Dispone de un dispositivo DSP (DSP48A)
 
    \end{itemize}
 
  \item Spartan-3AN
 
    \begin{itemize}
 
    \item Dispositivos no volátiles
 
    \item Ideal para aplicaciones con restricciones de espacio
 
    \end{itemize}
 
  \end{itemize}
 
\item Familia Spartan-3E
 
\item Familia Spartan-3
 
\end{itemize}
 
 
 
Altera, Atmel y otros fabricantes de FPGAs también presentan familias similares a las Spartan-3. Aquí se optó por Xilinx Inc. debido a la experiencia en software/hardware con que cuenta el Centro de Investigación\footnote{CUDAR -- Centro Universitario de Desarrollo en Automoción y Robótica.} donde se desarrolla el proyecto. La familia extendida Spartan-3A es la que se utiliza en el diseño de la PHR, que   se distingue en la comparativa entre costo y recursos de hardware. Las Spartan-3A, permiten una gran variedad de modos de configuración en contraste con la familia Spartan-3. Por otro lado, no es necesaria una gran capacidad de procesamiento que justifique la inclusión de un DSP, debido al perfil del usuario de la plataforma que se desarrolla. Algunas de las características más relevantes de esta familia de FPGA son,
 
\begin{itemize}
 
\item $Vin_{Máx}$: 4,6V. Compatible con fuentes de 3.3V +/- 10\%.
 
\item Señales estándar: LVCMOS, LVTTL, HSTL y SSTL.
 
\item Driver de salida hasta 24mA.
 
\item Tasa de transferencia 622Mb/s.
 
\item 18x18 multiplicadores dedicados con \textsl{pipeline} opcional.
 
\item Puerto programación/debug JTAG IEEE 1149.1/1532.
 
\item Digital Clock Manager (DCMs)
 
  \begin{itemize}
 
  \item Rango de frecuencia 5Mhz hasta 300Mhz.
 
  \end{itemize}
 
\item  Ocho global clock.
 
\item Interfaz de configuración para PROMs estándar.
 
  \begin{itemize}
 
  \item PROM flash SPI, bajo costo.
 
  \item PROM flash NOR paralelo x8 o x8/x16.
 
  \end{itemize}
 
\item reconfiguración automática Multi-boot entre dos archivos.
 
\item \textsl{Package} de bajo costo QFP y BGA.
 
\end{itemize}
 
 
Dispositivo seleccionado – Familia Spartan A/AN
 
Características
 
                -Bajo Costo
 
                        Posee muchas prestaciones dependiendo del dispositivo, éstos son:
 
                        +Spartan-3A
 
                        +Spartan-3A DSP
 
                        +Spartan-3AN
 
Dependiendo de la aplicación debemos recurrir a la documentación del fabricante donde se especifica los recursos que tiene cada tipo de Spartan-3 como ser Cantidad de bloques lógicos, pines, I/O disponibles, uP embebidos, Voltage de alimentación, modo de configuración, DSP, etc.
 
Datos interesantes en las características,
 
        \_Vin\_máx: 4,6V. Compatible con fuentes de 3.3V +/- 10%
 
        \_señales estándar: LVCMOS, LVTTL, HSTL y SSTL.
 
        \_driver de salida hasta 24mA.
 
        \_tasa de transferencia 622Mb/s.
 
        \_18x18 multiplicadores dedicados con pipeline opcional
 
        \_Puerto programación/debug JTAG IEEE 1149.1/1532.
 
        \_Digital Clock Manager (DCMs) /*BUSCAR*/
 
                Rango de frecuencia 5Mhz hasta 300Mhz.
 
        \_ Ocho global clock.
 
        \_Interface de configuración para PROMs estándar.
 
                -PROM flash SPI, bajo costo.
 
                -PROM flash NOR paralelo x8 o x8/x16.
 
        \_reconfiguración automática Multi-boot entre dos archivos.
 
        \_Package de bajo costo QFP y BGA
 
Resumen de la arquitectura
 
        La arquitectura de la Spartan-3 consiste de cinco elementos fundamentales funcionales programables:
        La arquitectura de la Spartan-3 consiste de cinco elementos fundamentales funcionales programables:
                \_Configurable Logic Block (CLBs) contienen flexibles Look-Up Tables (LUTs) que implentan elementos lógicos usados como flip-flop o latch.
\begin{description}
                \_Input/Output Blocks (IOBs) controla el flujo de datos entre los pines de I/O y la lógica interna del dispositivo. Los IOBs soportan flujo de datos bidireccionales además de operaciones 3-state.
\item[Configurable Logic Block (CLBs)] contienen flexibles \textsl{Look-Up Tables} (LUTs) que implentan elementos lógicos usados como flip-flop o \textsl{latch}.
                \_Block RAM provee almacenamiento de datos en la forma de bloques dual-port de 18Kbit.
\item[Input/Output Blocks (IOBs)] controla el flujo de datos entre los pines de I/O y la lógica interna del dispositivo. Los IOBs soportan flujo de datos bidireccionales además de operaciones 3-\textsl{state}.
                \_Multiplier Blocks toma dos números binarios de 18bit como entrada y calcula el producto. La línea Spartan-3A DSP incluye bloques especiales DSP.
\item[Block RAM] provee almacenamiento de datos en la forma de bloques \textsl{dual-port} de 18Kbit.
                \_Digital Clock Manager (DCM) Block proporciona auto-calibración, retardos, multiplicadores, divisores, y señales de clock de cambio de fase (phase-shifting).
\item[Multiplier Blocks] toma dos números binarios de 18bit como entrada y calcula el producto. La línea Spartan-3A DSP incluye bloques especiales DSP.
Configuración
\item[Digital Clock Manager (DCM)] Block proporciona auto-calibración, retardos, multiplicadores, divisores, y señales de clock de cambio de fase (\textsl{phase-shifting}).
        La generación de FPGAs Spartan-3 son programadas por la carga de datos de configuración en dispositivos sólidos, reprogramables, static CMOS configuration latches (CCLs) que en conjunto controla todo los elementos funcionales y designan las fuentes. El dato de configuración de las FPGA es almacenado en dispositivos externos como una PROM o algún dispositivo no-volátil.
\end{description}
Capacidades de I/O
 
        Aquí es interesante ver el consumo de cada familia, el mejor de todos es la Spartan-3, hasta 24mA para 3.3V y el peor de todos es la Spartan-3E con una corriente máxima de 16mA a 3.3V. /* RECORDAR QUE ÉSTO DEPENDE TAMBIÉN SI UTILIZAMOS LAS I/O A MODO COMÚN O DIFERENCIAL.*/
La generación de FPGAs Spartan-3 son programadas por la carga de datos de configuración en dispositivos sólidos, reprogramables, \textsl{static CMOS configuration latches} (CCLs) que en conjunto controla todo los elementos funcionales y designan las fuentes. El dato de configuración de las FPGA es almacenado en dispositivos externos como una PROM o algún dispositivo no-volátil.
 
 
Utilizando los recursos Globales de Clock.
Todas las señales que entran y salen de la FPGA deben pasar a través de los recursos I/O, conocidos como IOBs. Ya que las FPGAs son usadas en muchas aplicaciones complejas, estos dispositivos deben soportan un incremento variable de I/O. La revolucionaría \emph{SelectIO} (patentado por xilinx), que contiene la Spartan-3 reúne esta necesidad proporcionando una enorme \emph{configurabilidad}, alto \textsl{performance} de recursos adecuados para aplicaciones como son memorias de alta velocidad y interfaces de placas complejas programables.
        Especifican los recursos que ofrecen todas las familias de Spartan-3, especificaciones tanto de conexionado como de rendimiento.
 
En la figura 2-1 se observa cuál es el camino que sigue las señales de clock. Una aplicación interesante del DCM es introducirlo entre el GCLK pad  y el BUFGMUX para manejar la frecuencia del clock (por ej. divisor).
La generación de FPGA Spartan-3 simplifica diseños de alto-\textsl{performance} ofreciendo un seleccionable diseño I/O estándar para entrada y salida. Más de 20 diferentes estándares son soportados en cada familia, con diferentes especificaciones de corriente, voltaje, I/O baffering, y terminaciones técnicas. Como un resultado, la generación de FPGA Spartan-3 puede ser usada para transformadas integrales discreta y drive direccional en muchas placas avanzadas, buses, y memorias. Directamente proporciona el interfaz estándar necesario no solo para eliminar el costo externo de traslación, sino también mejora significativamente la velocidad de \emph{chip-to-chip} y reduce el consumo de potencia.
=Entrada de clock Spartan-3E
 
        En ésta familia, evitar usar la entrada global clock GCLK1 ya que siempre es compartido con el pin selector M2. Las entradas global clock GCLK0, 2, 3, 12, 13,14 y GCLK15 tiene funcionalidades compartidas en algunos modos de configuración, y todas las entradas RHCLK comparten funcionalidades con líneas de direccionamiento en el modo BPI. Asegurar que no exista conflicto entre el uso de lo spines durante la configuración es algo que siempre se aconseja.
\subsection{Memoria de configuración}
También en la familia Spartan-3E, algunos de los pines pad son solo pines de entrada como se indica en la sección "Pinout Descriptions"  de la hoja de datos. Esto podría ser más útil como entrada de clock ya que éstos pines no requiere usar el modo pin I/O.
\label{sec:sel-disp-prin-mem}
Utilizando recursos I/O
 
        Todas las señales que entran y salen de la FPGA deben pasar a través de los recursos I/O, conocidos como IOBs. Ya que las FPGAs son usadas en muchas aplicaciones complejas, éstos dispositivos deben soportan un incremento variable de I/O. La revolucionaría SelectIO (patentado por xilinx), que contiene la Spartan-3 reúne ésta necesidad proporcionando una enorme configurabilidad, alto performance de recursos adecuados para aplicaciones como son memorias de alta velocidad y interfaces de placas complejas programables.
 
 
 
La generación de FPGA Spartan-3 simplifica diseños de alto-performance ofreciendo un seleccionable diseño I/O estándar para entrada y salida. Más de 20 diferentes estándares son soportados en cada familia, con diferentes especificaciones de corriente, voltaje, I/O baffering, y terminaciones técnicas. Como un resultado, la generación de FPGA Spartan-3 puede ser usada para transformadas integrales discreta y drive direccional en muchas placas avanzadas, buses, y memorias. Directamente proporciona el interface estándar necesario no solo para eliminar el costo externo de traslación, sino también mejora significativamente la velocidad de chip-to-chip y reduce el consumo de potencia.
 
 
 
\section{Descripción de las placas}
\section{Descripción de las placas}
\label{sec:desc-placas}
\label{sec:desc-placas}
 
 
\subsection{PHR}
\subsection{PHR}

powered by: WebSVN 2.1.0

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