Anda di halaman 1dari 7

Procesadores Soft-Core: Aplicaciones con FPGAs

Pedro Pascual Aberga Farro


LIMA, Universidad Tecnolgica del Per Esquina Av. 28 de Julio y Av. Petit Thouars, Lima - Per
pedro16mc@gmail.com

Resumen En este documento se explican las razones y objetivos del uso que se viene dando a los procesadores Soft-Core que son implementados mediante lenguaje de descripcin de hardware (HDL) en dispositivos programables tales como los FPGAs. Tambin se mostrarn las herramientas CAD y EDA usadas para el desarrollo tanto del hardware (diseo del procesador) y software implementado (en lenguaje de alto nivel para los procesadores embebidos) en los FPGAs. Uno de los objetivos de este documento es mostrar al lector con que variedad de dispositivos y herramientas CAD y EDA cuenta para el desarrollo de sistemas embebidos con dispositivos de lgica programable como los FPGAs. Palabras Claves FPGA; Soft-Core; Herramientas CAD y EDA; Sistema Embebido; Lenguaje de Descripcin de Hardware (HDL); Lenguaje de Alto Nivel.

LX9 MicroBoard de Xilinx [1], el cual puede ser usado para trabajar con el procesador Microblaze para una amplia variedad de aplicaciones. Los FPGAs logran responder adecuadamente a un sinfn de aplicaciones y es por ello que logran ser superiores en algunos casos a dispositivos con mdulos (PWM, UART, Ethernet,) con hardware dedicado como algunos micro-controladores (uCo) y DSPs; ya que uno puede implementar la arquitectura necesaria en ellos. Los Sistemas embebidos estn compuestos por hardware y software que trabajan juntos para realizar una funcin especfica. Usualmente ellos contienen procesadores embebidos que frecuentemente estn en la forma de procesadores Soft-Core que ejecutan cdigo de software. Para ver de una manera ms general a los procesadores, enumeramos lo siguiente: 1. Los ncleos de procesadores se pueden implementar en hardware o software. 2. Procesadores en hardware (Hard-Core): Usan un ncleo de procesador embebido en silicio dedicado y ofrecen ventajas hbridas entre FPGA y ASIC. 3. Procesadores en software (Soft-Core): Usan elementos lgicos programables existentes en el FPGA para implementar la lgica del procesador. Ejemplos de chips FPGAs con los CPU Hard-Core embebidos: - Xilinx Virtex-4 FX y Virtex-5 FXT con PowerPC cores. - Atmel FPSLIC con AVR core. Altera contaba con la familia Excalibur con Hard-Cores ARMv4, pero ahora est discontinuada en favor de los procesadores Soft-Core Nios II y Cortex-M1 basado en ARMv6. [2] II. DEFINICIONES A. FPGA Los FPGAs (Field Programmable Gate Arrays) son dispositivos semiconductores programables que estn basados por una matriz de bloques lgicos configurables (CLBs) conectados va interconexiones programables. A diferencia de los Circuitos Integrados de Aplicacin Especfica (ASICs)

I. INTRODUCCION Hoy en da la evolucin del diseo electrnico sigue avanzando a pasos agigantados, pues actualmente para hacer prototipos de diseos se cuentan con diferentes dispositivos que pueden realizar diferentes tareas deseadas. Sin embargo el diseador debe tener en cuenta las limitaciones con las que puede contar al elegir cierto dispositivo. En la actualidad el ingeniero cuenta con diferentes opciones de Diseo electrnico digital (FPGAs, CPLDs, DSPs, uCo,); cada uno de los cuales deber elegir segn las circunstancias y rigurosidades del problema que se presente. Hoy en da se tiene: La realidad del diseo lgico actual exige el uso de herramientas de diseo electrnico del tipo EDA. En cada herramienta EDA se tiene asociada una metodologa de diseo. Herramientas EDA con soporte de dispositivos del fabricante o independiente del fabricante. Posibilidad de disear sistemas completos en chip programable (SoPC = System on Programmable Chip) Otros factores no menos importantes son el costo que involucre su diseo y que tan reconfigurable pueda ser su sistema para no quedar obsoleto en poco tiempo. Actualmente existen mdulos para desarrollo para FPGAs de bajo costo, tales como por ejemplo el Avnet Spartan-6

donde el dispositivo es configurado para el diseo en particular, los FPGAs pueden ser programados para una aplicacin deseada o segn los requerimientos de funcionalidad. [3]

A continuacin mostraremos un diagrama de bloques de este procesador que es desarrollado por Xilinx.

Figura 01 [4]: FPGA Cyclone II EP2C20F484C7N de Altera

Los FPGAs son particularmente adecuados para la implementacin de algoritmos paralelos. Sin embargo, los algoritmos secuenciales, especialmente aquellos que no exigen gran capacidad de procesamiento, son ms fciles de implementar como un programa para un microprocesador, mediante el uso de procesos en lenguaje de descripcin de hardware.

Figura 03 [6]: Diagrama de bloques de un procesador Microblaze

Procesador Nios II: Nios II es un procesador de propsito general de 32 bits, de arquitectura RISC, desarrollado por Altera para uso en sus FPGAs. Es el sucesor de los antiguos procesadores Nios embebidos de 16 bits. Nios II Soft-Core puede ser customizado como sigue: 1. Nios II/f Optimizado para el mximo rendimiento, estos emplean pipeline de 6 estados, ejecutan 1 instruccin por cada ciclo de instruccin e incluye por separado cache de instrucciones y cache de datos, MMU (Memory Management Unit) y MPU (Memory Protection Unit), hardware multiplicador, divisor y operaciones de desplazamiento. 2. Nios II/s Diseado como un trade-off (de negociacin), emplea pipeline de 5 estados, ejecuta una instruccin por ciclo de instruccin e incluye una cache de instrucciones (no incluye cache de datos) y hardware multiplicador, divisor y operaciones de desplazamiento (MMU y MPU estn ausentes). 3. Nios II/e Diseado para ocupar una pequea rea (LEs), no usan pipeline, ejecutan una instruccin cada 6 ciclos y no cuenta con bloques aritmtico como en los 2 anteriores casos.

Figura 02 [5]: Tarjeta de desarrollo DE1 de Terasic-Altera, la cual cuenta con el FPGA de la Figura 01.

B. SOFT-CORE Un procesador Soft-Core es un modelo de lenguaje de descripcin de hardware (HDL) de un procesador especfico (CPU) que puede ser personalizado (usualmente tambin se le dice customizado) para una aplicacin dada y sintetizado para un ASIC o FPGA objetivo. En muchas aplicaciones, procesadores Soft-Core proveen varas ventajas sobre procesadores diseados a medida, tales como costo reducido, flexibilidad, independientes de plataformas y gran inmunidad a quedar obsoletos. Procesador Microblaze: El procesador Soft-Core MicroBlaze de 32 bits est basado en una arquitectura (o motor) RISC, con instrucciones especficas para datos y acceso a la memoria. Es compatible tanto con el chip BlockRAM y / o memoria externa. Todos los perifricos se aplican sobre la estructura del FPGA.

Figura 04 [7]: Interconexiones con Procesador Nios II de Altera

Procesador Cortex-M1: Cortex-M1 es una implementacin de la arquitectura ARMv6 propietaria de 32 bits diseado para FPGAs. Utilizar Cortex-M1 requiere licencia de ARM Limited. Hay chips FPGAs Actel basados en memoria flash que cuentan con Cortex-M1 de licencia includa (no se requiere licencia). Cortex-M1 tambin puede ser utilizado con FPGAs Xilinx y Altera. ARM (Advanced RISC Machine) es una popular arquitectura RISC especialmente adecuada para aplicaciones que requieren bajo consumo de energa. Muchos sistemas operativos han sido portados a ARM, incluyendo Linux y Windows CE. Tabla 01 [2]: CPUs Soft-Core embebidos para FPGA
CPU core S1 Core LEON3 LEON2 Architecture SPARC-v9 Bits 64 32 32 32 32 32 32 32 32 32 32 32 16 8 8 8 Pipeline Cycles per Area depth instruction1 (LEs2) 37000 6 1 60000 7 1 3500 5 1 5000 5 3, 5 3 3 6 5 no 6 3 no no no no 1 1 1 1 1 1 6 1 1 4 2 2 2 6000 1324 2536 1928 1800 1170 390 1984 2600 510 192 204 200

C. Herramientas CAD y EDA El concepto de CAD (diseo asistido por ordenador, Computer Aided Design) significa proceso de diseo que emplea sofisticadas tcnicas grficas por ordenador, apoyadas por paquetes de software para la resolucin de problemas de clculo, de desarrollo, costes, etc. asociados con el trabajo de diseo. El impacto de las herramientas de CAD sobre el proceso de diseo de circuitos electrnicos y sistemas procesadores es fundamental. No slo por la adicin de interfaces grficas para facilitar la descripcin de esquemas, sino por la inclusin de herramientas como simuladores, que facilitan el proceso de diseo y la verificacin de las unidades de diseo. EDA (Electronic Design Automation) es el nombre que se le da a todas las herramientas (tanto software como hardware) que sirven para el diseo de sistemas electrnicos. El diseo hardware tiene un problema que no existe en la produccin software. Este problema es el alto coste de prototipacin-testeado-vuelta a empezar (costes NRSE, New and Renewable Sources of Energy), ya que el coste del prototipo suele ser bastante elevado. El enfoque de las herramientas de diseo ha ido encauzado a la inclusin de la etapa de prototipado solamente al final de las etapas de diseo, evitando la fabricacin de varios prototipos a lo largo del proceso de diseo. Para ello se introduce la fase de simulacin y comprobacin de circuitos utilizando herramientas CAD, de forma que no sea necesaria la realizacin fsica del prototipo para la comprobacin del funcionamiento del circuito. D. IP CORES En diseo electrnico una IP Core o bloque de IP es una unidad reutilizable de lgica. Las IP Cores se puede utilizar como bloques de construccin dentro de los diseos de chips ASIC o FPGAs. Como elementos esenciales de la reutilizacin de diseos, las IP Cores son parte de la creciente automatizacin de diseo electrnico (EDA) tendencia de la industria hacia el uso repetido de los componentes previamente diseados. Idealmente, un ncleo IP debe ser totalmente porttil, es decir, capaz de ser fcilmente insertado en cualquier tecnologa o proveedor de la metodologa de diseo. En el caso de el fabricante Altera se cuenta con Altera University Program IP Cores, es decir se cuenta con un paquete de un programa universitario, el cual al ser usado con el software que se obtiene libremente desde la pgina de este fabricante nos permitir grabar nuestra tarjeta de desarrollo pero con la nica limitacin de ser una ejecucin de tiempo limitado. Para el caso del fabricante Xilinx en la versin 10.1 se cuenta con la disponibilidad de algunas de las IP, siendo estas tomadas de la IP Catalog que la herramienta EDK (Kit de desarrollo embebido) de Xilinx nos brinda.

SPARC-v8 SPARC-v8 OpenRISC OpenRISC 1200 1000 MicroBlaze MicroBlaze aeMB MicroBlaze OpenFire MicroBlaze Nios II/f Nios II Nios II/s Nios II Nios II/e Nios II LatticeMico32 LatticeMico32 Cortex-M1 ARMv6 DSPuva16 DSPuva16 PicoBlaze PicoBlaze PacoBlaze PicoBlaze LatticeMico8 LatticeMico8

1 El valor especificado puede ser vlido para la mayora de las instrucciones, pero no para todas. Por ejemplo, la multiplicacin a menudo necesita ms que un ciclo normal de instrucciones de la ALU. 2 El rea se mide en los Elementos Lgicos (LEs), que consisten de un LUT de 4 entradas y un flip-flop. Las estimaciones de superficie son nicamente para fines de referencia.

Tabla 02 [8]: Caractersticas de Procesadores Soft-Core comerciales para FPGAs.


Feature Datapath Pipeline Stages Frequency Gate Count Register File Instruction Word Instruction Cache Hardware Multiply & Divide Hardware Floating Point Nios II 5.0 32 bits 1- 6 Up to 200 MHz 26,000 72,000 32general purpose & 6 special purpose 32 bits Optional Optional Third Party Microblaze 4.0 32 bits 3 Up to 200 MHz 30,000 60, 000 32general purpose & 6 special purpose 32 bits Optional Optional Optional

E. SISTEMAS EMBEBIDOS Se conoce como sistema embebido a electrnico computarizado que est diseado una labor especfica en un producto. Se embebido porque este sistema esta incrustado ms grande que cumple una tarea especfica. F. Mdulos de desarrollo para FPGAs Los materiales usados en el desarrollo del un sistema basado en FPGAs se pueden dividir en 2 grupos: Herramientas de hardware. Herramientas de software. un para dice a un circuito cumplir sistema sistema

El desarrollo del software del procesador Microblaze es desarrollado en el SDK (Software Development Kit) aunque tambin es posible trabajar el software del procesador en XPS, tal vez en el futuro sea quitada esta posibilidad ya que as es mencionada en cierta documentacin de Xilinx, con el fin de enfocar a SDK para ese objetivo. Adicionalmente tambin podemos mencionar que Xilinx cuenta con DSP Tools en donde tenemos a la herramienta Xilinx Systems Generator, esta herramienta trabaja conjuntamente con Simulink de Matlab, lo cual permite trabajar bloques en Simulink que generarn cdigo en HDL.

Figura 07: Organizacin de herramientas CAD y EDA de Xilinx. Segn la organizacin que se muestra tenemos que XPS y SDK conforman el EDK (Embedded Development Kit). Los cuales son los ms importantes a la hora de trabajar con el procesador Microblaze.

A continuacin enumeraremos las herramientas usadas para el desarrollo de aplicaciones con FPGAs usando FPGAs de Altera y Xilinx. El trabajo con FPGAs de otras marcas es similar, ya que muchas de las herramientas software usadas estn hechas por los mismos desarrolladores de software. F.01 Sistema con FPGA de Xilinx. Herramientas Software: - Para el desarrollo de HDL, Esquemticos u otro archivo de entrada de diseo de hardware ser usado la herramienta ISE (Integrated Software Environment) de Xilinx.

Figura 08: Flujo de diseo en Xilinx Platform Studio mostrado en pgina de inicio por defecto de XPS.

Herramientas Hardware: La principal herramienta hardware es la tarjeta de desarrollo para FPGA, ya que en ella se realizar la grabacin de nuestro diseo creado. Otros hardwares adicionales son mdulos que pueden conectarse a nuestra tarjeta de desarrollo, tales como por ejemplo un hardware de un puente H para realizar una interfaz de potencia. [11] A continuacin mostramos 2 tarjetas de desarrollo de Xilinx:

Figura 05 [9]: Pasos en el desarrollo de aplicaciones con FPGAs.

- Para el diseo del hardware del procesador Soft-Core Microblaze usaremos la herramienta XPS (Xilinx Platform Studio).

Figura 06: Lanzando la herramienta Xilinx Platform Studio. Figura 9 [1]: Avnet Spartan-6 LX9 MicroBoard de Xilinx.

proyectos en direcciones que cuenten con espacios y tildes ya que es muy seguro que se tendrn problemas debido a ello. Para el desarrollo del software del procesador Nios II se utiliza el Nios IDE (Integrated Development Environment).

Herramientas Hardware: Algunas de las tarjetas de desarrollo son: DE0, DE1, DE2-35, DE2-70 (estas ltimas tienen la relacin de 1 a 2 de LEs). [12] III. IMPLEMENTACIN Y DESARROLLO La siguiente aplicacin muestra un sistema bastante sencillo y slo nos enfocaremos en mostrar el proceso de diseo que ir embebido en el FPGA y no en el interfaz de potencia para el motor. El sistema deber contar con 2 mdulos PWMs ya que estos mediante la interfaz de potencia podrn controlar la velocidad y sentido de giro del motor DC.

Figura 10 [10]: Tarjeta de desarrollo Spartan 3E Starter Board.

La tarjeta de desarrollo Spartan-3E Starter Kit de Xilinx utiliza FPGA Spartan-3E-XC3S500E 4FG320. La placa incluye dos puertos serie RS232, 4 interruptores DIP, 4 botones, 8 LEDs, un puerto VGA, pantalla LCD de caracteres, A. Esquema de la aplicacin. puerto PS/2, SPI convertidor analgico a digital, SPI digital a analgico, 10/100 del puerto Ethernet, 2 MB SPI flash, 16 MB de flash NOR paralela y 32 MB de SDRAM DDR. F.02 Sistema con FPGA de Altera. Herramientas Software: - Para el desarrollo de HDL, Esquemticos u otro archivo de entrada de diseo de hardware ser usado la herramienta Quartus II de Altera.

Interfaz de Potencia

Figura 11: Organizacin de herramientas CAD y EDA de Altera.

Para el diseo del hardware del procesador Soft-Core Nios II usaremos la herramienta SOPC Builder la cual es una herramienta de Quartus II.

Figura 13: Esquema del sistema basado en FPGA.


clk_pll
OUTPUT

DRAM_CLK

inclk0

inclk0 f requency : 50.000 MHz Operation Mode: Normal Clk Ratio Ph (dg) DC (%) c0 1/1 -54.00 50.00

c0

pwm clk pwm_in[7..0] pwm_out


OUTPUT

pwm_out

VCC

inst3 inst1 Cy clone II


sumar entrada1[7..0] entrada2[7..0] sumalog[7..0]
OUTPUT

LEDS[7..0]

uprocesador
clk_50MHz
INPUT VCC

clk_50MHz reset_n in_port_to_the_entradas[7..0]

inst7 pwm clk pwm_out


OUTPUT

SWITCHS[7..0]

INPUT VCC

pwm1_out

out_port_from_the_salidas[7..0] out_port_from_the_salidas1[7..0] zs_addr_from_the_sdram[11..0] zs_ba_from_the_sdram[1..0] zs_cas_n_from_the_sdram zs_cke_from_the_sdram zs_cs_n_from_the_sdram zs_dq_to_and_from_the_sdram[15..0] zs_dqm_from_the_sdram[1..0] zs_ras_n_from_the_sdram zs_w e_n_from_the_sdram SRAM_ADDR_from_the_sram[17..0] SRAM_CE_N_from_the_sram SRAM_DQ_to_and_from_the_sram[15..0] SRAM_LB_N_from_the_sram SRAM_OE_N_from_the_sram SRAM_UB_N_from_the_sram SRAM_WE_N_from_the_sram
inst

pwm_in[7..0]

inst4
OUTPUT OUTPUT OUTPUT OUTPUT
OUTPUT BIDIR VCC OUTPUT OUTPUT OUTPUT

DRAM_ADDR[11..0] DRAM_BA[1..0] DRAM_CAS_N DRAM_CKE DRAM_CS_N DRAM_DQ[15..0] DRAM_DQM[1..0]


DRAM_RAS_N DRAM_WE_N

Figura 12: Lanzando SOPC Builder desde Quartus II.

OUTPUT OUTPUT BIDIR VCC OUTPUT OUTPUT OUTPUT OUTPUT

SRAM_ADDR[17..0] SRAM_CE_N SRAM_DQ[15..0] SRAM_LB_N SRAM_OE_N SRAM_UB_N SRAM_WE_N

Para poder trabajar con SOPC Builder primeramente debemos haber creado un proyecto en Quartus II, hay que tener siempre presente que no es recomendable almacenar

Figura 14: Esquema de conexiones entre procesador Nios II y dems bloques que conforman el sistema.

B. Diseo del Sistema Hardware B.1. Bloques hardware: Bloque CLK_PLL


clk_pll

Bloque UPROCESADOR
uprocesador
clk_50MHz reset_n in_port_to_the_entradas[7..0] out_port_from_the_salidas[7..0] out_port_from_the_salidas1[7..0]

inclk0

inclk0 f requency : 50.000 MHz Operation Mode: Normal Clk Ratio Ph (dg) DC (%) c0 1/1 -54.00 50.00

c0

inst1

Cy clone II

zs_addr_from_the_sdram[11..0] zs_ba_from_the_sdram[1..0] zs_cas_n_from_the_sdram zs_cke_from_the_sdram zs_cs_n_from_the_sdram zs_dq_to_and_from_the_sdram[15..0] zs_dqm_from_the_sdram[1..0] zs_ras_n_from_the_sdram zs_w e_n_from_the_sdram SRAM_ADDR_from_the_sram[17..0] SRAM_CE_N_from_the_sram SRAM_DQ_to_and_from_the_sram[15..0] SRAM_LB_N_from_the_sram SRAM_OE_N_from_the_sram SRAM_UB_N_from_the_sram SRAM_WE_N_from_the_sram
inst

Figura 15: Bloque clk_pll el cual es diseado con MegaWizard.

Este bloque tiene por fin desfasar la seal de entrada a la memoria SRAM que almacenar el programa del procesador Nios II, este desfasaje lo hacemos porque es requerido para el correcto funcionamiento segn el manual Rapid Prototyping Of Digital Systems Sopc Edition[8].
Nota: La herramienta MegaWizard es una herramienta que viene incorporada al Quartus II de la misma manera que el SOPC Builder y es por ello que para su uso primero tendr que crearse el proyecto en Quartus II.

Figura 19 [1]: Bloque uprocesador, este es el Nios II Soft-Core.

Bloque PWM
pwm clk pwm_in[7..0] pwm_out

Este bloque fue diseado mediante la herramienta SOPC Builder y fue diseado en el modo de customizacin de menos consumo de LEs, ya que no es necesario que sea un bloque muy complejo, es necesario en el sistema para poder facilitar la comunicacin USB, poder enviar y recibir caracteres entre PC y FPGA, y controlar los mdulos PWMs. Mediante esto se pueden establecer los valores del DUTY CYCLE de los mdulos PWMs ya que en la consola del Nios II IDE se ingresan y reciben los datos.

inst

Figura 16: Bloque PWM que es diseado mediante VHDL.

C. Software del procesador Nios II. Nuestro procesador no sera nada sin contar con un programa, es por ello que este programa se realiza con la herramienta Nios II IDE. #include <stdio.h> #include "system.h" #include "altera_avalon_pio_regs.h" int main() { int switchleidos = 0x00; //unsigned char contador = 0x00; int v = 0x00; printf("*******************************************************\n"); printf("********* APLICACIN con Procesador Soft-Core ***********\n"); printf("*********** Aplicacin con uProcesador NIOS II **************\n"); printf("*******************************************************\n"); printf(" NOTA: El valor de v representar el duty cycle \n"); printf(" \n"); /* LEYENDO LA ENTRADA DE SWITCHS */ //switchleidos = IORD_ALTERA_AVALON_PIO_DATA(ENTRADAS_BASE);

Figura 17: Simulacin del bloque PWM en Quartus II.

Bloque SUMAR
sumar entrada1[7..0] entrada2[7..0] sumalog[7..0]

inst

Figura 18: Bloque SUMAR, el cual suma las entradas 1 y 2.

/* ESCRIBIENDO EN LA SALIDA DE LEDS */ //IOWR_ALTERA_AVALON_PIO_DATA(SALIDAS_BASE,switchleidos); while(1){ printf("Ingrese valor de v:\t"); scanf("%i",&v); if ((v < -255) || (v > 255)){ /* El mdulo PWM es de 8 bits de resolucin por ello la entrada mxima es 255 */ printf("ERROR!!!... Ha ingresado un valor no vlido\n"); printf("Debe ingresar valores en el rango[-255,255]\n"); } else{ if (v == 0){ printf("Se ha detenido el giro\n"); printf("************************\n"); IOWR_ALTERA_AVALON_PIO_DATA(SALIDAS_BASE,0x00); IOWR_ALTERA_AVALON_PIO_DATA(SALIDAS1_BASE,0x00); } else{ if (v > 0) { printf("Giro en sentido horario\n"); printf("*************************\n"); switchleidos = v; IOWR_ALTERA_AVALON_PIO_DATA(SALIDAS_BASE,switchleidos); IOWR_ALTERA_AVALON_PIO_DATA(SALIDAS1_BASE,0x00); } else { printf("Giro en sentido antihorario\n"); printf("*****************************\n"); switchleidos = -v; IOWR_ALTERA_AVALON_PIO_DATA(SALIDAS1_BASE,switchleidos); IOWR_ALTERA_AVALON_PIO_DATA(SALIDAS_BASE,0x00); } } } } return 0; } IV. CONCLUSIONES Trabajar con un procesador embebido nos permite tener un nivel de abstraccin ms alto y es por ello que para cualquier diseo que se enfrente tiene que determinarse que parte del sistema ser netamente desarrollado en hardware, mediante HDL(lenguaje de descripcin de hardware) y que parte ir desarrollada en software, es decir como programa para el procesador embebido involucrado. La customizacin de un procesador embebido ir de la mano a la relacin de perifricos que deseemos interconectar con l. Esto es debido a que nuestro procesador del tipo SoftCore consumir LEs (Elementos Lgicos del FPGA).

Debido a que con el FPGA el hardware es definido por el usuario, entonces podemos tener la cantidad que deseemos de mdulos de cierto tipo (por ejemplo PWMs diseados en HDL), con la nica limitante la cantidad de LEs disponibles en el FPGA. REFERENCES
[1] Avnet Spartan-6 LX9 MicroBoard de Xilinx [Online].Available: http://www.xilinx.com/products/boards-and-kits/AES-S6MB-LX9.htm Soft CPU Cores para FPGAs [Online].Available: http://www.1-core.com/library/digital/soft-cpu-cores/ Definicin de FPGA dada por Xilinx [Online].Available: http://www.xilinx.com/products/silicon-devices/fpga/index.htm Definicin de FPGAs [Online].Available: http://en.wikipedia.org/wiki/Field-programmable_gate_array Cyclone II FPGA Starter Development Kit Gua de usuario [Online].Available: http://www.altera.com/literature/ug/ug_cii_starter_board.pdf Microblaze de Xilinx [Online].Available: http://www.xilinx.com/support/documentation/sw_manuals/xilinx13_1 /mb_ref_guide.pdf Procesador Nios II [Online].Available: http://www.altera.com/devices/processor/nios2/ni2-index.html Rapid Prototyping Of Digital Systems Sopc Edition -James O. Hamblen -Tyson S. Hall -Michael D. Furman Introduccin al Software ISE [Online]. Available: http://webs.uvigo.es/mdgomez/SED/Guia_Inicio_ISE.pdf Spartan-3E Starter Kit Gua de usuario [Online]. Available: http://www.digilentinc.com/Data/Products/S3EBOARD/S3EStarter_ug 230.pdf Digilent PmodH B3 2A H Bridge - Manual de referencia [Online]. Available: http://digilentinc.com/Data/Products/PMODHB3/PmodHB3_rm_RevD.pdf Terasic, Fabricante de tarjetas de desarrollo para FPGAs. [Online]. Available: http://www.terasic.com.tw/cgibin/page/archive.pl?Language=English&CategoryNo=13&List=Simple Xilinx, Fabricante. [Online]. Available: http://www.xilinx.com/ Altera, Fabricante. [Online]. Available: http://www.altera.com/

[2]

[3]

[4]

[5]

[6]

[7]

[8]

[9]

[10]

[11]

[12]

[13]

[14]

Anda mungkin juga menyukai