CAPITULO 5.

CONCLUSIONES


    1. Hardware & Software.
    2. FPGA &CPLD.

5.1- HARDWARE & SOFTWARE

Como ya se ha explicado se ha decidido realizar una implementación hardware totalmente digital. La opción tomada no es la única ni quizás la óptima, pero desde mi punto de vista es una buena opción bastante fiable y con muchas posibilidades de desarrollo.

Hoy en día están muy de moda los DSP con sus múltiples aplicaciones en procesado de señal, pero el DSP a partir de unas ciertas velocidades y una cierta complejidad resulta relativamente caro y demasiado lento, de hecho para circuitos de alta velocidad los DSP nos limitan mucho la velocidad de proceso, por eso decidí desde un principio centrar el esfuerzo en un diseño orientado a hardware directamente.

Por que FPGA o CPLD en lugar de DSP. Normalmente es más sencillo simular el funcionamiento de un sistema de forma software e incluso en las primeras pruebas puede ser mas rápido, eso si, si se dispone de una tarjeta de desarrollo con su hardware y software específico, pero en mi caso teniendo cierta experiencia con microcontroladores y también con diseño hardware para una aplicación relativamente específica y de una velocidad de computo que empieza a ser elevada, el coste resulta ser más barato y desde mi punto de vista el esfuerzo es menor realizando un diseño hardware en lugar de software. Las rutinas de control son más complejas pero a la hora de hacer funcionar al sistema y hacerle autónomo creo que resulta más rentable.

 

5.2- FPGA & CPLD

FPGA: Field programmable logic devices. Dispositivos lógicos programales.

CPLD: complex pogramable logic devices

En las siguientes figuras vemos como es la estructura interna aproximada de cada uno de los dos tipos de circuitos.

 

 

Ambos son dispositivos lógicos programables de relativamente bajo coste, pero cada uno tiene sus ventajas e inconvenientes. En general resulta más rentable utilizar CPLD frente a FPGA cuanto tenemos una lógica relativamente compleja y nos es excesivo el número de operaciones a realizar. El CPLD se aproxima más a un ASIC se pueden implementar operaciones más complejas. En ambos se utilizan celdas ya definidas de forma estándar, pero en las CPLD se trabaja directamente sobre dichas celdas, se realizan sus interconexiones físicamente. Sin embargo en las FPGA lo que hacemos es mapear estas conexiones sobre una memoria, tenemos una memoria externa de configuración que dice que conexiones se deben hacer.

Cuando realizas la descripción hardware de tu circuito en general no te preocupas demasiado del tipo de circuito sobre el que va ha ir implementado, bien sea un ASIC o bien una FPGA o CPLD, solo en casos muy concretos en los que usas justo una librería determinada o cuanto estas diseñando una parte muy critica de un circuito lo sueles tener en cuenta

La decisión del tipo de implementación hardware suele venir en la fase de compilación del circuito, se hacen pruebas para ver lo que ocupa en cada tipo de circuito y las prestaciones que nos da, con esto se trata que sea lo más barato posible y a la vez lo más simple y fiable.

En general las FPGA son más baratas y de mayor capacidad, pero necesitan más área para hacer lo mismo, y el hecho de que necesiten una memoria EPROM además del propio circuito hace que el interconexionado externo sea más complejo y de peor calidad debido a los retrasos introducidos por las líneas, soldaduras, etc., que puede ser un problema importante.

Como norma general se utilizará una CPLD para circuitos con pocas puertas, pero una vez que el circuito es mayor nos tendremos que ir a una FPGA. La decisión de construir un ASIC, suele tomarse para largas tiradas del circuito y cuando este está muy probado, no obstante si el circuito es sencillo y no tiene problemas de tiempos puede que sea más rentable dejarle en una FPGA o una CPLD.

En este proyecto se ha trabajado con los circuitos de XILINX, que disponen de CPLD y de FPGA de diversas características en cuanto a precio y prestaciones. Para hacernos una idea un CPLD pequeña como la usada en el transmisor cuesta del orden de las 650 pts, pero si hubiésemos querido implementar los datos que ahora están en una EPROM, en una CPLD hubiésemos necesitado una CPLD que cuesta entorno a las 17.000 pts para pedidos pequeños.

La decisión final es algo un criterio del diseñador que tendrá que jugar con todos los factores que afectan al citado diseño. Eso si es evidente que siempre se tratará de hacer lo más barato posible el sistema. Tal como esta diseñado el transmisor el coste en hardware total estaría en torno a las 5000 pts, incluyendo la CPLD, memorias EPROM, convertidor D/A y otros componentes utilizados, mientras que sin utilizar las EPROM y utilizando una CPLD en la que entrase lo que ahora es la CPLD y las EPROM estaríamos hablando de un coste entorno a las 20.000 pts. Eso si en este caso el circuito hubiese sido más fiable y de menor volumen. En un ASIC el precio para un circuito de estas dimensiones se nos dispara, solo podría resultar rentable una vez comprobado el prototipo y para una tirada elevada de circuitos.

En la siguiente gráfica aparece una recomendación en la que se da una idea del tipo de circuito a utilizar según la fase del diseño.

 

También podemos ayudarnos de la siguiente tabla para hacernos una idea del coste de nuestro circuito según el diseño que queremos utilizar.