14
Umbral Científico ISSN: 1692-3375 [email protected] Universidad Manuela Beltrán Colombia Ballesteros Larrotta, Dora María; Piraján Aranguren, Alexis Javier DISEÑO VHDL DE SISTEMAS DIGITALES SOBRE DISPOSITIVOS LÓGICOS PROGRAMABLES FPGAS Umbral Científico, núm. 4, junio, 2004, pp. 37-49 Universidad Manuela Beltrán Bogotá, Colombia Disponible en: http://www.redalyc.org/articulo.oa?id=30400406 Cómo citar el artículo Número completo Más información del artículo Página de la revista en redalyc.org Sistema de Información Científica Red de Revistas Científicas de América Latina, el Caribe, España y Portugal Proyecto académico sin fines de lucro, desarrollado bajo la iniciativa de acceso abierto

DISEÑO VHDL DE SISTEMAS DIGITALES SOBRE DISPOSITIVOS LÓGICOS PROGRAMABLES FPGAS

Embed Size (px)

DESCRIPTION

DISEÑO VHDL DE SISTEMAS DIGITALES SOBRE DISPOSITIVOS LÓGICOS PROGRAMABLESFPGAS

Citation preview

Page 1: DISEÑO VHDL DE SISTEMAS DIGITALES SOBRE DISPOSITIVOS LÓGICOS PROGRAMABLES FPGAS

Umbral Científico

ISSN: 1692-3375

[email protected]

Universidad Manuela Beltrán

Colombia

Ballesteros Larrotta, Dora María; Piraján Aranguren, Alexis Javier

DISEÑO VHDL DE SISTEMAS DIGITALES SOBRE DISPOSITIVOS LÓGICOS PROGRAMABLES

FPGAS

Umbral Científico, núm. 4, junio, 2004, pp. 37-49

Universidad Manuela Beltrán

Bogotá, Colombia

Disponible en: http://www.redalyc.org/articulo.oa?id=30400406

Cómo citar el artículo

Número completo

Más información del artículo

Página de la revista en redalyc.org

Sistema de Información Científica

Red de Revistas Científicas de América Latina, el Caribe, España y Portugal

Proyecto académico sin fines de lucro, desarrollado bajo la iniciativa de acceso abierto

Page 2: DISEÑO VHDL DE SISTEMAS DIGITALES SOBRE DISPOSITIVOS LÓGICOS PROGRAMABLES FPGAS

DISEÑO VHDL DE SISTEMAS DIGITALES SOBRE DISPOSITIVOSLÓGICOS PROGRAMABLES FPGASDISEÑO VHDL DE SISTEMAS DIGITALES SOBRE DISPOSITIVOSLÓGICOS PROGRAMABLES FPGAS

37

RESUMEN

Las FPGAS son una gran solución en la elaboración de prototipos gracias a la flexibilidad que ofrecenen el diseño. Debido a su importancia, se presenta como ejemplo de diseño, la descripción de uncircuito combinacional en lenguaje VHDL programado en una FPGA Spartan XCS200E. Se realizóla simulación funcional utilizando el programa ModelSim 5.7 y para las etapas de diseño restantesse utilizó ISE Foundation 6.1; ambos programas de la empresa Xilinx.

ABSTRACT

FPGAs are a great solution for prototyping because they offer designers the flexibility to test, dueto it, we development as an example, a combinational circuit by programming the XCS200E Spartanwith VHDL language. To validate the design simulations were done in ModelSim 5.7 simulationtool, for the others design stages, we used ISE Foundation 6.1, both of them of the Xilinx Company.

Palabras clave: circuitos combinacionales, circuitos secuenciales, ISE Foundation, ModelSim, Unidadarimético-logica (ALU).

Keywords: combinational circuits, synchronous circuits, ISE Foundation, ModelSim, Arithmetic LogicUnit.Nomenclatura:ALU: unidad aritmético- lógicaCAE: asistencia para ingeniería utilizando un computadorCAD: diseño asistido por computador.ASIC: circuito integrado específico a una aplicaciónHDL: lenguaje de descripción de hardwareVHDL: lenguaje de descripción de hardware para dispositivos de alta velocidadPLD: dispositivo lógico programableFPGA: campo de arreglo de compuertas programables.PROM: Es un PLD en el que las uniones en la matriz de puertas AND es fija, siendo programableslas uniones en la matriz de puertas OR.PAL: dispositivo programable de las uniones de compuertas ANDPLA: dispositivo programable de las uniones AND y OR.DSP: dispositivo dedicado al procesamiento digital de señales

Msc. Dora María Ballesteros Larrotta 1Msc.(c) Alexis Javier Piraján Aranguren 2

1 Docente Investigador. Grupo de Investigación “Sistemas de Adquisición, Procesado y Análisis de Señales Bioeléctricas: SAPAB”. UMB2 Docente Universidad Piloto de Colombia, Jefe de Área Sistemas Inalámbricos.

Page 3: DISEÑO VHDL DE SISTEMAS DIGITALES SOBRE DISPOSITIVOS LÓGICOS PROGRAMABLES FPGAS

DISEÑO VHDL DE SISTEMAS DIGITALES SOBRE DISPOSITIVOSLÓGICOS PROGRAMABLES FPGASDISEÑO VHDL DE SISTEMAS DIGITALES SOBRE DISPOSITIVOSLÓGICOS PROGRAMABLES FPGAS

38

INTRODUCCIÓN

El diseño tradicional de sistemas digitales es de bajo costo y con tiempos de desarrollo cortos, peroes restringido por arquitecturas inflexibles, velocidades de operación y recursos limitados así comopoco versátiles a la hora de la puesta en marcha, como lo son: memorias, microcontroladores,procesadores digitales de señal (DSPs), entre otros.

Una solución para estos inconvenientes es el diseño ASIC o de aplicación específica, en contrapartelos tiempos de diseño y fabricación son muy extensos y por ende costosos a la hora de solucionarun problema particular. Tomando las ventajas de los dos tipos de diseño expuestos - bajo costo,tiempo de diseño reducido, flexibilidad y versatilidad- surgen los dispositivos lógicos programables,con la característica particular de poseer todos los recursos del primer tipo de diseño concentradosen una pequeña área. Estas ventajas no están completas sin una herramienta adecuada que nospermita organizar y aprovechar estos recursos; para lo cual surgen los lenguajes de descripciónde hardware HDL. El diseño de sistemas digitales se transforma en una descripción de alto nivelde los componentes que lo conforman, luego esta descripción configura apropiadamente los recursosdel dispositivo, para finalmente obtener el sistema funcional. Lenguajes De Descripción De Hardware

Los lenguajes de descripción hardware –HDL: hardware description languages-, se empezaron autilizar en los años 70. Los primeros lenguajes surgidos no tuvieron gran acogida y es hasta unadécada después que aparecen los lenguajes VHDL y Verilog, los cuales son en la actualizad los másutilizados y han desplazado a los otros lenguajes. [1]

A. Historia del VHDL

La creación de este lenguaje se inicia en el año 1981, con la creación del programa de desarrollode circuitos integrados de muy alta velocidad (VHSIC) del Departamento de defensa de EstadosUnidos. En el año de 1982 las compañías IBM, Texas Instrumets, Intermetrics, obtuvieron laconcesión para la realización del lenguaje y de un conjunto de herramientas para su aplicación.En el año de 1987 el lenguaje VHDL se convierte en la norma 1076 y en el año de 1993 se actualizacon la norma 1164 [1],[2]. El objetivo principal de utilizar lenguaje VHDL para la descripción dehardware, es especificar y documentar circuitos y sistemas digitales con un lenguaje formal quesea entendido tanto por diseñadores como por máquinas –computadoras-. Entre las principalescaracterísticas del lenguaje se tiene que es ejecutable, lo que permite que la descripción delhardware se materialice en dispositivos programables; posibilita la descripción del hardware condistintos niveles de abstracción y es independiente de la tecnología. Las diferencias entre VHDL yVerilog son: las unidades de diseño múltiple pueden ser compiladas separadamente en VHDL,mientras que en Verilog, al producirse un cambio sencillo en el orden de compilación la simulaciónpuede cambiar; el usuario puede definir el tipo de datos utilizando VHDL; los conceptos de librería,- que permite compilar proyectos de diseño múltiple -, y paquetes – los cuales pueden ser utilizadospor cualquier unidad de diseño -, solamente existen en VHDL.

Page 4: DISEÑO VHDL DE SISTEMAS DIGITALES SOBRE DISPOSITIVOS LÓGICOS PROGRAMABLES FPGAS

B. Entidades de Diseño de VHDL

El diseño y modelado de sistemas digitales en VHDL, divide el diseño en bloques funcionales quese denominan componentes. Cada componente corresponde a una entidad de diseño: design entity,que se modela por separado como parte de un sistema. La jerarquía se logra utilizando designhierarchy. Las entidades de diseño se construyen en VHDL usando cinco formas diferentes deunidades de diseño, las cuales son: entity, package, configuration, architecture: y package body.[1]-[3]

DISEÑO VHDL DE SISTEMAS DIGITALES SOBRE DISPOSITIVOSLÓGICOS PROGRAMABLES FPGASDISEÑO VHDL DE SISTEMAS DIGITALES SOBRE DISPOSITIVOSLÓGICOS PROGRAMABLES FPGAS

39

Fig. 1. Unidades de diseño deVHDL. Tomado de [1]

- Entity declaration: la declaración de una entidad describe la interfaz de una unidad de diseño lacual se comunica con otras entidades del mismo ambiente. La interfaz incluye todas las entradas,salidas y señales bidireccionales en la declaración del puerto.- Architecture body: una arquitectura describe la composición funcional de un diseño.- Configuration declaration: es una unidad de diseño primaria usada para enlazar una entidad auna arquitectura para formar los componentes de un diseño.- Package declaration: es un depósito que permite almacenar declaraciones que son comúnmenteusadas para ser accedidas por múltiples unidades de diseño.- Package body: se relaciona con una declaración tipo paquete y contiene los subprogramas delas funciones y procedimientos declarados en el paquete asociado.

Page 5: DISEÑO VHDL DE SISTEMAS DIGITALES SOBRE DISPOSITIVOS LÓGICOS PROGRAMABLES FPGAS

DISEÑO VHDL DE SISTEMAS DIGITALES SOBRE DISPOSITIVOSLÓGICOS PROGRAMABLES FPGASDISEÑO VHDL DE SISTEMAS DIGITALES SOBRE DISPOSITIVOSLÓGICOS PROGRAMABLES FPGAS

40

C. Diseño de herramientas automatizadas

Las herramientas software que se utilizan para asistir en el diseño se dividen en dos categorías[4]: la primera, CAD: computer aided design y la segunda, CAE: computer aided engineering, parael diseño de sistemas digitales las herramientas están compuestas por las dos clases de software.Entre las herramientas disponibles para la simulación de un modelo hardware, se tienen: ISEFoundation, Leonardo Spectrum, CADENCE HDL, MAXPLUS, entre otros. Cada una de estasherramientas permite la descripción, síntesis, simulación y programación de los dispositivos lógicosprogramables.

DISPOSITIVOS LOGICOS PROGRAMABLES PLD.

Un dispositivo programable es aquel que contiene una arquitectura general predefinida en la queel usuario puede configurar a partir de un conjunto de herramientas de desarrollo, dentro de estosdispositivos encontramos PLAs, PROMs, PALs, GALs, CPLDs y FPGAs según su orden de complejidady versatilidad [5]. Las FPGA son matrices de puertas eléctricamente programables que contienenmúltiples niveles de lógica. Se caracterizan por altas densidades de elementos, alto rendimiento,un gran número de entradas y salidas disponibles por el usuario y un esquema de interconexiónflexible, tal y como se presenta en la Fig. 2.

Los bloques lógicos (CLB) permiten realizar la descripción de diseño de un módulo en particular yla interconexión entre ellos es definida por el usuario. Puede contener desde 1000 hasta 100000CLBs por FPGA [7].

Fig. 2. Arquitectura internaFPGA. Tomado de [6]

Page 6: DISEÑO VHDL DE SISTEMAS DIGITALES SOBRE DISPOSITIVOS LÓGICOS PROGRAMABLES FPGAS

Fig. 3. Etapas de diseño para FPGAs.

A. Flujo de diseño en una FPGA: Los pasos presentados en la Fig 3. muestran el flujo de informaciónpara el diseño y puesta en marcha de un sistema digital sobre un dispositivo lógico programable.

- Especificación: Relaciona la aplicación con los elementos de hardware involucrados, datos deentrada y salida, velocidad de operación, etc.- Código HDL: Una vez definida la arquitectura dedicada, se procede a realizar la descripción dela misma uti l izando algún lenguaje HDL sobre una herramienta de diseño.- Depuración del código: Consiste en la verificación de sintaxis y lógica del código HDL.- Síntesis: Es la etapa en la cual el código es traducido o interpretado como compuertas y conexioneseléctricas para cumplir con el objetivo de diseño propuesto.

DISEÑO VHDL DE SISTEMAS DIGITALES SOBRE DISPOSITIVOSLÓGICOS PROGRAMABLES FPGASDISEÑO VHDL DE SISTEMAS DIGITALES SOBRE DISPOSITIVOSLÓGICOS PROGRAMABLES FPGAS

41

ISE FOUNDATION

Este programa permite la descripción en lenguajesVHDL, Verilog, ABEL, UCF [9]. La pantalla estádividida en cuatro subpantallas principales, tal ycomo se presenta en la Fig 4. En la parte superiorizquierda se encuentra la ventana Sources inProject –fuentes en la pantalla-, la cual presentade forma jerárquica los elementos incluidos en elproyecto. Bajo esta subpantalla se encuentraProcesses for Source el cual muestra los procesoshabilitados. La tercera ventana, ubicada en laparte inferior, muestra errores y advertencias,que se producen durante todas las etapas delproyecto. La última ventana se encuentra a laderecha y es una interfaz multi- documento (MDI)para la visualización de los archivos de texto asciiy el código HDL

Page 7: DISEÑO VHDL DE SISTEMAS DIGITALES SOBRE DISPOSITIVOS LÓGICOS PROGRAMABLES FPGAS

DISEÑO VHDL DE SISTEMAS DIGITALES SOBRE DISPOSITIVOSLÓGICOS PROGRAMABLES FPGASDISEÑO VHDL DE SISTEMAS DIGITALES SOBRE DISPOSITIVOSLÓGICOS PROGRAMABLES FPGAS

42

Fig. 4. Interfaz del proyecto: Interface Project Navegator Fig. 5. Ventana fuentes del proyecto: Sources in Project

Fuentes en la pantalla del Proyecto: esta ventana consiste de tres etiquetas que le suministraninformación al usuario: module view, snapshot view y library view.

Procesos en la ventana actual: esta ventana contiene las opciones de depuración del código,asignación de pines en la FPGA, chequeo de sintaxis, entre otros. Esta subventana se presentaen Fig 6.

Consola: despliega errores, advertencias e información adicional.

EJEMPLO DE DISEÑO: UNIDAD ARITMÉTICO– LÓGICA (ALU)

Una unidad aritmético lógica -ALU-, es una unidadque de acuerdo al valor lógico de los bits deselección, se realiza una función en particular.

A.Especificación del diseñoLas funciones a implementar en la ALU con elvalor de selección, se presentan en la Tabla I.

Fig. 6. Procesos en la ventana actual: processes for source

Page 8: DISEÑO VHDL DE SISTEMAS DIGITALES SOBRE DISPOSITIVOS LÓGICOS PROGRAMABLES FPGAS

TABLA I. DEFINICIÓN DE LAS OPERACIONES DE LA ALU

DISEÑO VHDL DE SISTEMAS DIGITALES SOBRE DISPOSITIVOSLÓGICOS PROGRAMABLES FPGASDISEÑO VHDL DE SISTEMAS DIGITALES SOBRE DISPOSITIVOSLÓGICOS PROGRAMABLES FPGAS

43

La operación de suma puede generar acarreo, por lo que se debe además agregar una banderala cual se establece como ‘1’ lógico cuando tiene carry y como ‘0’ cuando no tiene.

El número de bits de los vectores A y B es de 8, al igual que el vector de salida.

La FPGA que se utiliza es una Spartan IIE XC2S200E-PQ208 y el lenguaje a utilizar es VHDL.

B. Código HDLPara la descripción de la ALU se utiliza lenguaje VHDL el cual se presenta en la ventana multi-documento de ISE FOUNDATION: Fig 7.

C. Depuración del códigoSe realiza haciendo doble click sobre View VHDL Instantiation Template de la opción Design EntryUtilities de la ventana Processes for Source.

Started process «View VHDL Instantiation Template».

Fig. 7. Parte del código VHDL de la ALU, editadoen la ventana multi-documento.

Compiling vhdl file C:/Xilinx/./ALU/alu.vhd in Library work.Entity <alu> (Architecture <Behavioral>) compiled.tdtfi(vhdl) completed successfully.Completed process “View VHDL Instantiation Template”.

Fig. 8. Mensaje en la ventana de consola.

Page 9: DISEÑO VHDL DE SISTEMAS DIGITALES SOBRE DISPOSITIVOS LÓGICOS PROGRAMABLES FPGAS

DISEÑO VHDL DE SISTEMAS DIGITALES SOBRE DISPOSITIVOSLÓGICOS PROGRAMABLES FPGASDISEÑO VHDL DE SISTEMAS DIGITALES SOBRE DISPOSITIVOSLÓGICOS PROGRAMABLES FPGAS

44

Una vez verificado que el código VHDL de la ALU está correctamente escrito, se realiza la síntesisdel diseño.

D. Síntesis del DiseñoEl reporte de los recursos utilizados en el diseño de la ALU, se presenta al hacer click sobre ViewSynthesis Report de la opción Synthesize – XST de la ventana Processes for Source. Para estaaplicación, se utilizaron los recursos que se presentan en la Tabla I.

TABLA II. UTILIZACIÓN DE RECURSOS DE LA FPGA XCS200E

E. Simulación

Para la simulación de la ALU, se utiliza el programa ModelSim [10]. El primer paso consiste encompilar el archivo vhdl correspondiente, posteriormente se abren las ventanas wave y signal , lascuales van a permitir forzar los valores de los puertos de entrada A, B y la señal de selección sel(ventana signal) y ver la simulación del módulo ALU (ventana wave).

La ventana signals presenta las señales definidas en entity. Los valores de las señales de entrada–sel, a, b-, se forzan, mientras que los valores de las señales de salida –y, ban-, se dejanindeterminados: undefined; tal y como se presenta en la Figura 9.

La simulación para A=10101010, B=10101010 ylos ocho posibles valores de sel, se presenta enla Figura 10.

Page 10: DISEÑO VHDL DE SISTEMAS DIGITALES SOBRE DISPOSITIVOS LÓGICOS PROGRAMABLES FPGAS

DISEÑO VHDL DE SISTEMAS DIGITALES SOBRE DISPOSITIVOSLÓGICOS PROGRAMABLES FPGASDISEÑO VHDL DE SISTEMAS DIGITALES SOBRE DISPOSITIVOSLÓGICOS PROGRAMABLES FPGAS

45

F. Asignación de pines

Se utiliza la tarjeta DIO4 para la visualización del funcionamiento de la ALU, la cual es un periféricoque contiene 8 switches, 5 pulsadores, 8 leds y 4 displays de 7 segmentos. Esta tarjeta se conectacon la DS2B a través de alguno de los puertos de expansión.

Fig. 10 Simulación en tiempo de la ALU para A y B fijos y sel todos los valores.

Se seleccionan los pines de la DIO4 quecorresponden a BTN3, BTN4, BTN5 –los cualesse utilizan como señal de selección-, SW1, SW2,SW3, SW4, -para los bits más significativos de laseñal de entrada A-, SW5, SW6, SW7, SW8, -paralos bits más significativos de la señal de entradaB-, los leds LED5 hasta LED8 para la señal desalida de la ALU y LED4 para el acarreo de laoperación de suma.

La Tabla II, presenta la relación de los pines dela tarjeta D2SB [11] con su correspondencia conlos pines de la tarjeta DIO4, [12] para las señalesmencionadas en el párrafo anterior.

Para efectuar la asignación de los pines, se debeseleccionar la opción User Constraints AssignPackage Pin, de la ventana Processes for Source;la cual se presenta en Fig 12.

Fig. 11 Puertos de expansión y enrutamiento de las señalespara la tarjeta DS2B. Tomado de [9]

Page 11: DISEÑO VHDL DE SISTEMAS DIGITALES SOBRE DISPOSITIVOS LÓGICOS PROGRAMABLES FPGAS

TABLA II.RELACIÓN DE PINES D2SB & DIO4

DISEÑO VHDL DE SISTEMAS DIGITALES SOBRE DISPOSITIVOSLÓGICOS PROGRAMABLES FPGASDISEÑO VHDL DE SISTEMAS DIGITALES SOBRE DISPOSITIVOSLÓGICOS PROGRAMABLES FPGAS

46

En la parte izquierda aparecen los puertos definidos en entity, y en la parte derecha los pines dela FPGA.

Page 12: DISEÑO VHDL DE SISTEMAS DIGITALES SOBRE DISPOSITIVOS LÓGICOS PROGRAMABLES FPGAS

DISEÑO VHDL DE SISTEMAS DIGITALES SOBRE DISPOSITIVOSLÓGICOS PROGRAMABLES FPGASDISEÑO VHDL DE SISTEMAS DIGITALES SOBRE DISPOSITIVOSLÓGICOS PROGRAMABLES FPGAS

47

G. Programación

El software genera el archivo de programación, el cual configura los componentes internos deldispositivo. Este proceso se realiza mediante 4 pines del PLD, los cuales son: TDO, TDI, TMS yTCK, y desde el computador por el puerto paralelo. Dado que el dispositivo a usar es una FPGA,su naturaleza es RAM, es decir que cada vez que se suspenda la fuente de alimentación laconfiguración del dispositivo desaparece.Las Fig. 13 y Fig 14, muestran las ventanas de configuración, dentro de las cuales se puedeseleccionar el tipo de puerto a usar para la programación, así como la velocidad y el número dedispositivos que se quieren configurar con la misma descripción.

Fig. 13. Pantalla para la programación del dispositivo

Fig. 14 Programación en curso

Page 13: DISEÑO VHDL DE SISTEMAS DIGITALES SOBRE DISPOSITIVOS LÓGICOS PROGRAMABLES FPGAS

CONCLUSIONES

La descripción en VHDL de un sistema digital permite independencia de las referencias de loscircuitos integrados comerciales, ya que está descripción se relaciona con el funcionamiento deldispositivo que se está modelando, y de esta forma no se pierde vigencia en el diseño realizado.

El ahorro en tiempo en la elaboración de aplicaciones es bastante notorio, siempre y cuando setenga un conocimiento previo del lenguaje de descripción de hardware que se utiliza y fundamentosteóricos de sistemas digitales. Las modificaciones en el diseño no necesitan un esfuerzo adicionalnotable con respecto a los desarrollos hardware convencionales.

Las herramientas CAE-CAD, permiten no solamente programar dispositivos CPLDs y FPGAs, sinoque además permiten realizar la simulación del diseño, de esta forma se puede verificar su correctofuncionamiento.

Debido a los recursos totales disponibles en las FPGAs, se pueden realizar diseños bastantecomplejos, que contengan integrados como procesadores, DPSs, entre otros, con la ventaja dedesarrollarlo de acuerdo a las condiciones específicas de la aplicación.

DISEÑO VHDL DE SISTEMAS DIGITALES SOBRE DISPOSITIVOSLÓGICOS PROGRAMABLES FPGASDISEÑO VHDL DE SISTEMAS DIGITALES SOBRE DISPOSITIVOSLÓGICOS PROGRAMABLES FPGAS

48

Page 14: DISEÑO VHDL DE SISTEMAS DIGITALES SOBRE DISPOSITIVOS LÓGICOS PROGRAMABLES FPGAS

DISEÑO VHDL DE SISTEMAS DIGITALES SOBRE DISPOSITIVOSLÓGICOS PROGRAMABLES FPGASDISEÑO VHDL DE SISTEMAS DIGITALES SOBRE DISPOSITIVOSLÓGICOS PROGRAMABLES FPGAS

49

BIBLIOGRAFÍA

[1]. D J Smith. HDL Chip Design. A practical guide fordesigning, synthesizing and simulating ASICs and FPGAsusing VHDL or Verilog. 1998[2]. M A Freira. Introducción al lenguaje VHDL.Universidad Politécnica de Madrid.[3]. IEEE Standard VHDL Languaje Reference Manual,IEEE Standard 1076. 2000[4]. B Stephen. Fundamentals of digital logic In VHDL. Mc Graw Hill. 2000[5]. S Brawn, J Rose. Architecture of FPGAs and CPLDs: A Tutorial. Disponible en:http://www.eecg.toronto.edu/~jayar/pubs/brown/survey.pdf[6]. Xilinx. An Introduction to Xilinx Products. 1999.Disponible en:http://bwrc.eecs.berkeley.edu/Research/Pico_Radio/Test_Bed/Hardware/Documentat ion/Xi l inx/ intro.pdf[7]. XcellJournal. The authoritative Journal forprogrammable logic users. Issue 46, Summer 2003. Xilinx,Inc.[8]. ISP Standards & Specifications. IEEE Std 1149.1Background. Disponible en:http://www.xilinx.com/xlnx/xil_prodcat_product.jsp?title=isp_standards_specs#1149.1[9]. ISE 6 In Depth Tutorial. Disponible enhttp://direct.xilinx.com/direct/ise6_tutorials/ise6tut.pdf[10]. ModelSim. Xilinx Edition II. Tutorial. Version 5.7c[11]. Digilent D2-SB. System Board. Reference Manual.Sep, 2003. Disponible en:http://www.digilentinc.com/Data/Products/D2SB/D2SB-rm.pdf[12]. Digilent DI04 Peripheral Board. Reference Manual.Sep, 2003. Disponible en:http://www.digilentinc.com/Data/Products/DIO4/DIO4 -rm.pdf