¿Cuántas LUT se necesitan para implementar una CPU? [cerrado]

-1

Estoy buscando comenzar mi primer proyecto basado en FPGA, pero como soy un principiante completo, tengo muy poca idea de qué tamaño de FPGA necesito para implementar mi idea.

Mi proyecto será algo similar a una CPU, por lo que para tener una idea de qué tamaño de FPGA necesitaré aquí está mi pregunta:

¿Cuántas LUT se requieren normalmente para implementar una CPU simple? ¿Son cientos, miles, decenas de miles? He visto algunos núcleos abiertos de CPU en línea (por ejemplo, El J1 y Opencores ), pero ninguno de ellos parece mencionar cuántas LUT podrían necesitar.

Todo lo que necesito es una idea muy aproximada de cuántas LUT puede necesitar una CPU, o uno o dos ejemplos que me ayuden a decidir si vale la pena investigar más.

El FPGA que tengo en mente es el Lattice Crosslink que contiene 5936 LUTs. ¿Sería posible implementar cualquier tipo de CPU en eso?

    
pregunta Rocketmagnet

2 respuestas

3

Un ejemplo enlace :

  

El procesador OpenRISC, sin embargo, es complejo y pesado en aproximadamente 4,500 LUTs. Tiene una gran cantidad de características de las CPU modernas que ... bueno, digamos que no es el chiquillo del bloque. La CPU Zip está diseñada para ser más liviana, con un costo de solo 2,300 LUT sin periféricos y 3,200 LUT con algunos periféricos muy básicos.

Alguien ha creado un pequeño emulador para el 6502 de 8 bits enlace :

  

Este núcleo administra un rendimiento equivalente a un 6502 de 10 MHz que usa menos de 700 LUT en un Xilinx xc3s500e Spartan-3E FPGA.

Ese número parece muy razonable dado que el 6502 solo usó unos 3,000 transistores .

Por lo tanto, el Lattice Crosslink debería ser adecuado para usted con mucho espacio para periféricos, incluso para una CPU de 32 bits, y es mucho más grande de lo necesario para una CPU simple de 8 bits.

    
respondido por el pjc50
1

¿Cuánto dura un trozo de cuerda? Depende.

  

¿Cuántas LUT se requieren normalmente para implementar una CPU simple?

¿Qué tan grande es tu CPU? ¿Cuántas características tiene? ¿multiplicador? ¿divisor? ramificación predictiva? ¿Con qué frecuencia se ejecuta? ¿Qué marca de FPGA? ¿Qué familia dentro de una marca de FPGA? Incluso qué versión del conjunto de herramientas para ese FPGA.

Todos estos factores afectan la cantidad de lógica que requerirá la CPU y la cantidad de memoria y recursos lógicos que requerirá.

  

¿Son 5963 LUTs mucho?

Tal vez, tal vez no. De nuevo depende de tu diseño. Para un sistema completo masivo es pequeño. Para una pequeña CPU y unos pocos periféricos podría ser más que suficiente.

Ahora que está fuera del camino, una mejor pregunta sería ¿cómo hago para verificar?

  1. Para comenzar, elija un proveedor: Altera / Intel? Xilinx? ¿Enrejado? Depende de usted.

    • Elija uno que le guste el conjunto de herramientas (entorno de desarrollo)
    • Uno para el que su proveedor de electrónica deseado tiene un buen stock.
    • Compare también los precios: es probable que desee ir con una serie de nivel de entrada a menos que tenga necesidad de funciones como DSP y transceptores Gbps.
    • Elija uno que tenga o puede obtener las herramientas para programar.

    Para ser honesto, no importa cuál elijas, pero debes elegir uno.

  2. Descargue e instale el conjunto de herramientas para ese proveedor. Estos son $% £ y amp; paquetes enormes , por lo que realmente solo quieres instalar uno, por lo tanto, debes elegir una familia FPGA primero.

  3. Una vez que tenga el conjunto de herramientas instalado, cree un proyecto. Muchos le permiten crear proyectos dirigidos a una serie específica de FPGA en lugar de a un dispositivo específico. De lo contrario, simplemente seleccione el dispositivo más grande de la familia que haya elegido, no importa si no va a usar ese dispositivo en este momento.

  4. Diseñe su CPU en su HDL elegido (* Verilog, VHDL, etc.). Puede descargar los núcleos de IP para Internet (aunque tenga cuidado, muchos no están verificados y en muchos casos son más complicados de lo que valen), o pruebe la IP específica del proveedor que viene con el conjunto de herramientas (algunos pueden requerir licencias caras). / p>

  5. Compilación de prueba : este es el punto clave. Este es el punto en el que se responde a su pregunta. El conjunto de herramientas FPGA le indicará cuántos recursos son necesarios para su diseño. En este punto, puede cambiar su FPGA objetivo a una parte más pequeña y barata en la familia seleccionada y recompilarlo para verificar que aún se ajusta.

En este punto, está listo para comenzar a adaptar su diseño al FPGA elegido. Puede comenzar a buscar las salidas de contactos y los recursos de hardware (DSP, RAM, etc.). Realice asignaciones de pines y compile un diseño real: aquí puede ser donde las herramientas retroceden, es muy fácil seleccionar un pin que no se puede usar físicamente de la forma que desee (por ejemplo, introducir el reloj en un pin no dedicado, usando el pin de programación para IO). , todos lo hemos hecho).

Solo una vez que tiene un diseño de prueba sintetizable, incluso piensa en el diseño de hardware o en el pedido de piezas.

    
respondido por el Tom Carpenter

Lea otras preguntas en las etiquetas