Joss escribió:Si diseñas con lógica discreta puedes portarlo a CPLD o FPGA facilmente, si tienes conocimientos de sus entornos de desarrollo. Si el diseño tiene en cuenta como implementación física CPLD o FPGA, el intentar hacerlo con lógica discreta, puede ser imposible, creo .....
En realidad es al revés. Si diseñas en lógica discreta puede ser muy difícil convertirlo a un diseño para CPLD o FPGA. Estos dispositivos funcionan (mejor) asumiendo que el diseño es síncrono, cosa que no tiene por qué cumplirse en un diseño con lógica discreta. De hecho, el clon Harlequin del Spectrum y el Jupiter ACE son dos ejemplos de diseños en lógica discreta que no son síncronos y que por tanto no tienen una traducción (directa) a FPGA. Sin embargo, un diseño realizado desde el principio para ser implementado en FPGA o CPLD y que no use ningún elemento propio de éstas (como módulos DSP o cosas así) podrá portarse siempre a lógica discreta.
Joss escribió:Has hablado de una CPLD de Xilinx. Por que no una de Altera? Por el precio o por las prestaciones? No se puede hacer un diseño para CPLD o FPGA que sea independiente de la marca?
Te respondo en orden. Xilinx sencillamente porque son las que conozco, no por otra cosa.
Tengo chips de Altera, pero aún no he tenido ocasión (o excusa) para usar el entorno de Altera (Quartus) para trabajar con ellas. Dicen los que entienden de estas cosas que Quartus es mucho mejor que ISE (en entorno de trabajo de Xilinx). Para mi, el ISE Webpack (así se llama la versión gratuita) funciona bastante bien, así que, no sé, Quartus puede que sea la leche. De lo poquito que he bicheado hasta ahora, hay una cosa que no me ha gustado y es que la versión gratuita de Quartus, te "capa" el uso de un doble o cuádruple nucleo para sintetizar. Es decir, que la operación de sintetizar o del place-n-route, que es de las operaciones más costosas en tiempo, tarda artificialmente más en Quartus porque su versión gratuita no usa toda la potencia del PC que tengas.
Por otra parte, creo que no hay CPLD más barata que la XC9536XL de Xilinx, por lo que recuerdo de haber mirado en distribuidores, pero no me hagas mucho caso porque igual no he mirado todo lo que debería

Respecto a un diseño independiente de marca, sí. De hecho, cuando hago un diseño (sobre todo para CPLD) no tengo en cuenta si es Xilinx o no. Lo bueno de las descripciones (en VHDL o Verilog) es que son precisamente independientes del chip físico donde se implementarán. Otra cosa es cuando ya lo haces "de verdad" tienes que elegir un chip con su patillaje, etc. Si existe una CPLD de Altera parecida a la de Xilinx (en recursos), puedes hacer el diseño una vez, sintetizarlo e implementarlo por separado para cada chip, y tendrías al final dos chips, incompatibles en patillaje entre sí (seguramente) pero que podrían estar cualquiera de los dos en la misma placa, haciendo la misma función. Podrías incluso tener en la placa la huella de ambos chips y que a la hora de montar la placa el usuario decidiera qué chip usar. Un poco, para que se me entienda, como la opción que hay en el ZX81 para montar un par de chips de 1Kx4 cada uno, o montar un único chip, más gordito, de 2Kx8 para la RAM de usuario.