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

Subversion Repositories phr

[/] [phr/] [trunk/] [doc/] [informe-tesis/] [phd-thesis-template-master/] [ProyectoPHR/] [ProyectoPHR.tex] - Rev 281

Go to most recent revision | Compare with Previous | Blame | View Log

 
\chapter{El proyecto PHR}
\label{chap:proy-phr}
 
\ifpdf
    \graphicspath{{ProyectoPHR/Figs/Raster/}{ProyectoPHR/Figs/PDF/}{ProyectoPHR/Figs/}}
\else
    \graphicspath{{ProyectoPHR/Figs/Vector/}{ProyectoPHR/Figs/}}
\fi
 
En la actualidad todos los desarrollos en recursos físicos basados en dispositivos lógicos programables son de origen extranjero. Se puede encontrar desarrollos nacionales pero estos no son comercializados por ningún emprendimiento local. Esta situación no es necesariamente por falta de recursos humanos calificados, sino por la demanda de la industria nacional. De todas formas el proyecto \emph{Plataforma de Hardware Reconfigurable} pretende abrir camino hacia el desarrollo de plataformas educativas que permitan la difusión del diseño digital utilizando estos dispositivos PLDs.
 
Los desarrolladores de este proyecto, la mayoría de ellos miembros investigadores del CUDAR\footnote{Centro Universitario de Desarrollo en Automoción y Robótica -- Universidad Tecnológica Nacional - Facultad Regional Córdoba.}, cuentan con experiencia en el manejo de plataformas evaluadoras basadas en CPLDs/FPGAs. Además, como se describió en el Capítulo \ref{chap:antecedentes}, el Centro tiene antecedentes en el desarrollo de plataformas educativas y la transferencia de recursos físicos a Laboratorios e Instituciones Académicas.
 
\section{Desarrollos comerciales}
\label{sec:desa-referencia}
 
En el mercado internacional existen varias empresas desarrolladoras de plataformas evaluadoras con dispositivos PLDs. Las principales empresas fabricantes de sistemas embebidos basados en dispositivos PLDs son Xilinx, Altera y Digilent. Estos fabricantes desarrollan plataformas para determinados perfiles de usuarios. En la Sección \ref{sec:infl-program} se realiza un análisis sobre la importancia de la flexibilidad que presentan los dispositivos programables como las FPGAs, y esta posibilidad de reconfigurar su arquitectura permite implementar esta tecnología en diferentes aplicaciones. Las líneas de desarrollo más destacadas son,
 
\begin{itemize}
\item Sistemas de comunicaciones digitales 
\item Procesamiento de Señales Digitales (DSP)
\item Automoción
\end{itemize}
 
A continuación se describe algunas de los desarrollos fabricados por las empresas anteriormente nombradas. De esta manera se pretende dilucidar los perfiles de plataformas y lo que se ofrece en el mercado.
 
\subsection{Xilinx Spartan-6 FPGA LX9 MicroBoard}
\label{sec:placa-xilinx-avnet}
 
La plataforma \emph{Spartan-6 FPGA LX9 MicroBoard} ofrece un completo entorno de \textsl{hardware} para que los diseñadores aceleren su tiempo de desarrollo y comercialización. Este kit presenta una estable plataforma para desarrollar y testear diseños de bajo costo/consumo de potencia sobre la familia de FPGA Xilinx Spartan-6. Esta placa contiene las siguientes características\footnote{La características se las describe tal cual las hojas de datos publicadas por los fabricantes, con su idioma original.}.
 
\begin{itemize}
\item FPGA 
  \begin{itemize}
  \item Xilinx Spartan-6 XC6SLX9-2CSG324C FPGA
  \end{itemize}
\item Clocks
  \begin{itemize}
  \item Triple output, user programmable, Texas Instruments CDCE913 clock
  \item  Optional user installable Maxim DS1088LU-66+, low-cost, fixed-frequency oscillator
  \end{itemize}
\item Memory
  \begin{itemize}
  \item  32 Mb x 16 (512 Mb) Micron LPDDR Mobile SDRAM component.
  \item  128 Mb Micron Multi-I/O SPI Flash
  \end{itemize}
\item Communication
  \begin{itemize}
  \item  One USB 2.0, Full Speed USB-to- JTAG bridge via Atmel AT90USB162, Digilent JTAG firmware, and Tyco USB-A connector
  \item  One USB 2.0, Full Speed USB-to-UART bridge via Silicon Labs CP2102 and Tyco Micro-B connector.
  \item  One 10/100 Ethernet port via National Semiconductor DP83848J PHY and Tyco RJ45 connector with Integrated Magnetics.
  \end{itemize}
\item User I/O and Expansion Connectors
  \begin{itemize}
  \item Two Digilent 12-pin, 0.245mm pitch, Peripheral Module (PMOD) headers support 3rd party expansion modules.
  \end{itemize}
\item User Interfaces
  \begin{itemize}
  \item  Four user LEDs
  \item  Four configurable FPGA user DIP switches
  \item  Two system push-button switches: one tied to user I/O and used for logical reset in the factory test image, one hardwired for FPGA program initialization.
  \end{itemize}
\item Power
  \begin{itemize}
  \item  Texas Instruments TPS65708 PMU multi-channel regulator, with 5V input supplied by either USB connection.  
  \end{itemize}
\item Configuration
  \begin{itemize}
  \item  128Mb SPI Configuration Flash
  \item  On-board USB Programming/Configuration based on the Digilent USB Full Speed JTAG design utilizing the Atmel AT90USB162
  \item  Xilinx Compatible JTAG Cable
  \end{itemize}
\end{itemize}
 
\begin{figure}
  \centering
  \includegraphics[width=0.5\textwidth]{AES-S6MB-LX9}
  \caption{Placa Xilinx Spartan-6 FPGA LX9 MicroBoard.}
  \label{fig:xilinx-avnet-lx9}
\end{figure}
 
\subsection{Altera DE0-Nano}
\label{sec:altera-de0-nano}
 
La placa \emph{DE0-Nano} presenta una plataforma de desarrollo FPGA en un tamaño compacto adecuado para un gran rango de diseños portables, tales como robótica y móviles. EL DE0-Nano es ideal para usar con \textsl{soft processors} embebidos. Esto se debe a las potentes características que presenta con la FPGA Altera Cyclone IV (con 22,230 celdas lógicas), 32MB de SDRAM, 2 Kb de EEPROM, y un dispositivo de memoria de configuración serial de 64Mb. En fin, es un desarrollo completo con todos los recursos físicos necesarios para la evaluación y prueba de sistemas embebidos. A continuación se listan lo que ofrece esta plataforma.
 
\begin{itemize}
\item Featured device 
  \begin{itemize}
  \item Altera Cyclone® IV EP4CE22F17C6N FPGA
  \item 153 maximum FPGA I/O pins
\end{itemize}
\item Configuration status and set-up elements
  \begin{itemize}
  \item On-board USB-Blaster circuit for programming
  \item Spansion EPCS64
  \end{itemize}
\item Expansion header
  \begin{itemize}
  \item Two 40-pin Headers (GPIOs) provide 72 I/O pins, 5V power pins, two 3.3V power pins and four ground pins
  \end{itemize}
\item Memory devices
  \begin{itemize}
  \item 32MB SDRAM
  \item 2Kb I2C EEPROM
  \end{itemize}
\item General user input/output
  \begin{itemize}
  \item 8 green LEDs
  \item 2 debounced pushbuttons
  \item 4-position DIP switch
  \end{itemize}
\item G-Sensor
  \begin{itemize}
  \item ADI ADXL345, 3-axis accelerometer with high resolution (13-bit)
  \end{itemize}
\item A/D Converter
  \begin{itemize}
  \item NS ADC128S022, 8-Channel, 12-bit A/D Converter
  \item 50 Ksps to 200 Ksps
  \end{itemize}
\item Clock system
  \begin{itemize}
  \item On-board 50MHz clock oscillator
  \end{itemize}
\item Power Supply
  \begin{itemize}
  \item USB Type mini-AB port (5V)
  \item DC 5V pin for each GPIO header (2 DC 5V pins)
  \item 2-pin external power header (3.6-5.7V)
  \end{itemize}
\end{itemize}
 
\begin{figure}
  \centering
  \includegraphics[width=0.5\textwidth]{de0-nano}
  \caption{Placa DE0-Nano.}
  \label{fig:altera-de0-nano}
\end{figure}
 
 
\subsection{Digilent Spartan-3 Board}
\label{sec:digilent-spartan3-board}
 
La placa \emph{Spartan-3 Starter Board} proporciona una potente y autónoma plataforma de desarrollo para diseños basados en la FPGA Spartan-3 de Xilinx. Ésta cuenta con 200K compuertas, dispositivos de entrada y salidas, y una memoria SRAM rápida de 1MB; haciendo esta una perfecta plataforma para experimentar con diferentes diseños desde simples circuitos lógicos a implementación de procesadores embebidos. La placa también contiene un dispositivo PROM programable por JTAG, por lo que los diseños puede fácilmente ser no volátiles. Las características de esta plataforma se describen a continuación.
 
\begin{itemize}
 
\item 200,000-gate Xilinx Spartan-3 XC3S200 FPGA in a 256-ball thin Ball Grid Array package (XC3S200FT256)
  \begin{itemize}
    \item 4,320 logic cell equivalents 
    \item Twelve 18K-bit block RAMs (216K bits) 
    \item Twelve 18x18 hardware multipliers 
    \item Four Digital Clock Managers (DCMs) 
    \item Up to 173 user-defined I/O signals
  \end{itemize}
 
\item 2Mbit Xilinx XCF02S Platform Flash, in-system programmable configuration PROM
\item   1Mbit non-volatile data or application code storage available after FPGA configuration
 
\item 1M-byte of Fast Asynchronous SRAM
  \begin{itemize}
  \item   Two 256Kx16 ISSI IS61LV25616AL-10T 10 ns SRAMs
  \item   Configurable memory architecture
    \begin{itemize}
    \item Single 256Kx32 SRAM array, ideal for MicroBlaze code images
    \item Two independent 256Kx16 SRAM arrays
    \end{itemize}
  \item   Individual chip select per device
  \item   Individual byte enables
  \end{itemize}
 
\item 3-bit, 8-color VGA display port
 
\item 9-pin RS-232 Serial Port
  \begin{itemize}
  \item   DB9 9-pin female connector (DCE connector)
  \item   RS-232 transceiver/level translator
  \item   Uses straight-through serial cable to connect to computer or workstation serial port
  \item   Second RS-232 transmit and receive channel available on board test points
  \end{itemize}
 
\item PS/2-style mouse/keyboard port
\item Four-character, seven-segment LED display
\item Eight slide switches
\item Eight individual LED outputs
\item Four momentary-contact push button switches
\item 50 MHz crystal oscillator clock source
\item Socket for an auxiliary crystal oscillator clock source 
\item FPGA configuration mode selected via jumper settings
\item Push button switch to force FPGA reconfiguration (FPGA configuration happens automatically at power-on)
\item LED indicates when FPGA is successfully configured
 
\item Three 40-pin expansion connection ports to extend and enhance the Spartan-3 Starter Kit Board
  \begin{itemize}
  \item   See www.xilinx.com/s3boards for compatible expansion cards
  \item   Compatible with Digilent, Inc. peripheral boards
  \item   FPGA serial configuration interface signals available on the A2 and B1 connectors
    \begin{itemize}
    \item   PROG\_B, DONE, INIT\_B, CCLK, DONE
    \end{itemize}
  \end{itemize}
 
\item JTAG port      for low-cost download cable
\item Digilent JTAG download/debugging cable connects to PC parallel port
\item JTAG download/debug port compatible with the Xilinx Parallel Cable IV and MultiPRO Desktop Tool
\item AC power adapter input for included international unregulated +5V power supply
\item Power-on indicator LED
\item On-board 3.3V, 2.5V, and 1.2V regulators
\end{itemize}
 
\begin{figure}
  \centering
  \includegraphics[width=0.5\textwidth]{S3BOARD-top}
  \caption{Placa S3BOARD.}
  \label{fig:digilent-s3board}
\end{figure}
 
Todos los desarrollos anteriormente vistos, como se mencionó al comienzo de este Capítulo, son manufacturados en el exterior del país. Los requerimientos tecnológicos para poder lograr estos productos son complejos pero no necesariamente alejado a la realidad de nuestra región. En el país se tiene algunas experiencias de plataformas basadas en FPGA.
 
\section{Desarrollos nacionales}
\label{sec:desarrollos-nacionales}
 
En nuestra región las tecnologías PLD se encuentran integradas en varias líneas de investigación y desarrollos hace algunos años. Instituciones gubernamentales de defensa como es el \emph{Instituto de Investigación Científica y Técnicas para la Defensa} que en una de sus líneas de desarrollo implementa algunos sistemas electrónicos de adquisición de datos controlados con FPGA. Así también otros organismos vinculados al área aeroespaciales y comunicaciones como la \emph{Comisión Nacional de Actividades Espaciales} están implementando dispositivos como FPGAs y CPLDs en sus sistemas electrónicos. Además existe una constante actualización por parte de las instituciones académicas en los programas analíticos de las carreras relacionadas a los sistemas embebidos. El Instituto Nacional de Tecnología Industrial impulsa un proyecto denominado \emph{FPGALibre}. Este proyecto busca desarrollar y brindar herramientas de \textsl{software} libre y diseños de \textsl{hardware} abiertos para trabajar con tecnologías FPGA. 
 
\subsection{S2PROTO}
\label{sec:s2proto}
 
Desarrollado por el \emph{Instituto Nacional de Tecnología Industrial} (INTI), el S2PROTO es el resultado de un laboratorio de \emph{Software Libre} de dicha organización estatal. La \emph{Unidad Técnica en Informática y Control} (UTIC) sostiene un proyecto libre llamado FPGALibre que alberga a desarrolladores que tengan intensiones de compartir sus proyectos basados en PLDs.
 
\begin{figure}
  \centering
  \includegraphics[width=0.5\textwidth]{S2PROTO}
  \caption{Placa S2PROTO.}
  \label{fig:inti-s2proto}
\end{figure}
 
Algunas de las principales características del circuito son,
\begin{itemize}
\item Diseño brindado bajo licencia GPL para permitir su libre utilización, implementación, modificación y comercialización.
\item Diseño ensamblado y probado.
\item Desarrollado y probado con herramientas de software libre: Kicad y GNU jtag.
\item Impreso doble faz de 12x10 cm de fácil fabricación en el país y posibilidad de montaje manual de los componentes.
\item Soporte para dispositivos Xilinx Spartan II PQ208 (hasta XC2S150 equivalente a 150.000 compuertas).
\item Puerto de niveles RS-232 para implementar transmisión y recepción serie.
\item Puerto JTAG compatible con el cable Parallel III de Xilinx, también conocido como DLC5. Circuito realizado en Kicad, y también disponible en el proyecto FPGA Libre.
\item 152 pines de I/O disponibles para el usuario, distribuidos en cinco conectores. Estos permiten conectar plaquetas adicionales con pulsadores, leds, displays, etc.
\item Conector USB tipo B y driver para soportar niveles estándares USB.
\item Alimentación simple de 5 V CC.
\end{itemize}
 
\subsection{S3PROTO-MINI}
\label{sec:s3proto-mini}
 
Continuando con las ideas abordadas en la S2PROTO se encaró un proyecto con Spartan-3 y encapsulado BGA. El primer resultado es la S3PROTO-MINI.
 
La tarjeta S3PROTO-MINI es una plataforma básica y simple de hardware libre para desarrollo con FPGA. Posee un dispositivo Xilinx Spartan 3E (XC3S1600E) con encapsulado BGA de 320 pads. Utiliza el módulo de alimentación triple S3Proto, también disponible como hardware libre.
 
\begin{figure}
  \centering
  \includegraphics[width=0.5\textwidth]{S3PROTO-MINI}
  \caption{Placa S3PROTO-MINI.}
  \label{fig:inti-s2proto-mini}
\end{figure}
 
Las principales características de esta plataforma son,
\begin{itemize}
\item Dispositivo FPGA Xilinx Spartan 3E (XC3S1600E) de 33.192 celdas lógicas.
\item 2 Memorias de configuración XCF04S (4+4 Mbit).
\item USB Transceiver TUSB1106 de 12 Mb/s (Full Speed) con conector tipo B.
\item 2 Puertos seriales RS232 de hasta 300Kbps (ST3232). Uno con conector DB-9.
\item 4 Pulsadores.
\item 5 Dip switch.
\item 4 LEDs.
\item 1 Puerto JTAG.
\item 26 Pines de I/O.
\item Oscilador con zócalo.
\item Alimentación simple de 5V.
\item Dimensiones de 7x7 cm.
\end{itemize}
 
Estas primeras experiencias locales resulta alentadoras para realizar nuestros propios recursos académicos para la enseñanza de tecnologías programables como son los PLDs. Si bien los proyectos realizados por el INTI aún no se encuentran comercializados, se encuentran antecedentes de la transferencia de estos desarrollos a instituciones académicas. 
 
Tantos los desarrollos comerciales como los académicos presentan perfiles de \textsl{hardware} similares y no es casualidad pues son los recursos que se necesitan para la enseñanza y ejercitación en un ámbito académicos y de protipado. Por lo tanto son estos diseños que nos sirven como referencias para plantear y definir que recursos físicos se debe disponer para la \emph{Plataforma de Hardware Reconfigurable}.
 
\section{Estructura general del proyecto}
\label{sec:estruct-gral}
 
Al comienzo de la década de los 90s surgieron varios trabajos donde se planteaba la necesidad de una plataforma educativa orientada a la implementación de diseños lógicos digitales basados en PLDs. Los principales demandantes eran diseñadores de arquitecturas de microprocesadores, desarrollos que años anteriores resultaban dificultosos por el costo de la implementación en \textsl{hardware}. El avance en el proceso de integración de los circuitos integrados ha llevado a que se desarrollen plataformas más complejas que ofrecen una gran cantidad de recursos de hardware. Al día de hoy se han generado varios proyectos desarrollados por instituciones académicas, otras con especificaciones abiertas y también con fines comerciales. Todos estos trabajos tienen algunas características en común\footnote{La caracterización anterior no es un intento de generalizar a todas las plataformas educativas basadas en PLDs, pero sí resulta útil para definir el perfil de la plataforma que se describe en este trabajo.}:
 
\begin{itemize}
\item El dispositivo lógico programable central es una FPGA
\item Poseen Memoria de configuración de la FPGA
\item El acceso al dispositivo es a través de JTAG
\item Disponen de algún software para interactuar con la plataforma desde una computadora
\item Tienen dos perfiles de diseño:
  \begin{itemize}
  \item Para la implementación de sistemas lógicos generales
  \item Orientado a un área específica
  \end{itemize}
\end{itemize}
 
En función del perfil del usuario de la plataforma se definen los dispositivos que se utilizarán. La Tabla \ref{tab:rec-plataforma} ilustra una clasificación de los recursos que ofrecen diferentes plataformas basada en dispositivos PLDs. A niveles iniciales en el estudio de la lógica digital se requieren periféricos básicos como ser llaves conmutadoras de estados lógicos, pulsadores, dispositivos indicadores como diodos LED, etc. A un nivel medio se manejan controladores para display gráficos LCD/LED, comunicaciones entre varios dispositivos mediante SPI, I2C, etc. Y por último, en la formación de especialistas de sistemas embebidos, se requieren recursos como interfaces físicos para ethernet, controladores HDMI, USB, y otros más.
 
\begin{table}[!t]
\renewcommand{\arraystretch}{1.3}
\caption{Recursos de hardware en función de los niveles de aprendizaje}
\label{tab:rec-plataforma}
\centering
\begin{tabular}{|l|c|c|c|}
\hline
\multirow{2}{*}{Nivel} & Llaves/pulsadores & ADC\&DAC/SPI & USB/ETH \\
                       & Diodos LED & Display LCD/VGA & HDMI \\
\hline
Inicial & $\checkmark$ & & \\
\hline
Medio & $\checkmark$ & $\checkmark$ & \\
\hline
Avanzado & $\checkmark$ & $\checkmark$ & $\checkmark$ \\
\hline
\end{tabular}
\end{table}
 
La estructura del proyecto \emph{Plataforma de Hardware Reconfigurable} debe ser un proyecto a medida de las necesidades en la  enseñanza de los sistemas digitales lógicos en las cátedras iniciales. Se debe ofrecen recursos básicos para que los estudiantes interactúen con la tecnología de los dispositivos PLDs, pero también dispone de puertos para conectar otros recursos físicos permitiendo que estudiantes avanzados puedan hacer uso de ellas sin limitaciones. Al ser publicado bajo licencia libre/abierta permitirá que el diseño, o parte de él, sirva como referencia a otras instituciones académicas que se encuentren en búsqueda de una plataforma para implementar en sus diferentes cátedras. 
 
\section{Definición de estructura de las placas}
\label{sec:def-estr-placas}
 
Las dimensiones y disposiciones de las diferentes placas que forman este proyecto también ha requerido un previo análisis por parte de los desarrolladores. Si bien parece un tema trivial, las consecuencias de las definiciones a tomar implican alteraciones tanto funcionales como económicas. 
 
Como se describió en la Sección \ref{sec:estruct-gral}, en esta parte del desarrollo se conoce que dispositivos electrónicos se van a incluir en nuestro proyecto como así también las dimensiones y distribuciones que se puede tomar. Los principales dispositivos que requieren mayor importancia y que definirán la estructura física del diseño son:
 
\begin{itemize}
\item Dispositivo Lógico Programable (FPGA)
\item Memoria de programación
\item Interfaz USB-JTAG
\item Sistema de alimentación
\item Periféricos
\end{itemize}
 
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}
\label{sec:sel-disp-prin}
 
 
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: 
		\_Configurable Logic Block (CLBs) contienen flexibles Look-Up Tables (LUTs) que implentan elementos lógicos usados como flip-flop o latch. 
		\_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. 
		\_Block RAM provee almacenamiento de datos en la forma de bloques dual-port de 18Kbit. 
		\_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. 
		\_Digital Clock Manager (DCM) Block proporciona auto-calibración, retardos, multiplicadores, divisores, y señales de clock de cambio de fase (phase-shifting). 
Configuración 
	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. 
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.*/ 
 
Utilizando los recursos Globales de Clock. 
	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). 
=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. 
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. 
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}
\label{sec:desc-placas}
 
\subsection{PHR}
\label{sec:phr-placa}
 
\subsection{S3Power}
\label{sec:s3power-placa}
 
\subsection{OOCDLink}
\label{sec:oocdlink-placa}
 
 

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

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