¿Cómo diseño mis propios procesadores basados en ARM?

36

¿Tengo varias preguntas sobre cómo diseñaría mi propia CPU basada en ARM?

  • ¿Cómo empezar uno con una licencia ARM y terminar con un paquete listo para ser soldado a una placa?
  • ¿Qué obtengo de ARM (estoy seguro de que tienen varias opciones de licencia para repartir: licencia de arquitectura (estilo Qualcomm Snapdragon) y licencia principal (estilo TI OMAP))?
  • ¿Qué herramientas necesito para proceder una vez que tenga "ese algo" de ARM?
  • ¿Qué envío a la fábrica?
  • Creo que solo ciertos fundadores tienen licencia para grabar un núcleo ARM en una oblea de silicio. Estoy en lo correcto?
  • Como estudiante, ¿puedo permitirme hacer esto en un FPGA? ¿Cómo puedo obtener experiencia práctica para algo como esto?
pregunta Lord Loh.

5 respuestas

67

Aquí es cómo las empresas lo hacen:

  1. Recaudar unos US $ 10 millones.
  2. Negocie con ARM para obtener una licencia. Esto probablemente costará al menos US $ 1 millón.
  3. Obtenga los archivos de diseño de ARM. Probablemente será en alguna forma de VHDL, Verilog o una lista de redes "encriptada".
  4. Diseñe su propio chip utilizando una combinación de su propia lógica (para los periféricos) y lo que ARM le dio. Es probable que este paso requiera un software de CAD costoso y un pequeño equipo de expertos. Espere gastar por lo menos US $ 5 millones y varios años.
  5. Consigue las máscaras hechas para el chip en sí. Si utiliza algún proceso moderno de semiconductores, entonces se ejecutará alrededor de US $ 1 millón.
  6. Obtenga el chip en sí. El precio varía, pero debería ser inferior a US $ 0.5 millones.
  7. Depure el chip que creó, corrija los errores y luego vuelva al Paso 5 hasta que tenga algo que pueda vender.

Aquí es cómo USTED hazlo:

  1. Realice un curso de arquitectura computacional a nivel de posgrado en su universidad local.
  2. Toma más cursos de lógica digital y cualquier otra cosa.
  3. Diseñe una CPU desde cero en VHDL o Verilog.
  4. Diseñe otra CPU desde cero.
  5. Observe el conjunto de instrucciones ARM y diseñe una CPU compatible.
  6. Haga que su CPU compatible con ARM funcione en un FPGA.
  7. No distribuya su código fuente de VHDL / Verilog a menos que quiera ser demandado.
  8. Use su experiencia ARM para escribir una buena disertación para su doctorado.
  9. Use su doctorado para obtener un trabajo en ARM, TI o quien sea. Luego repita el proceso utilizando los 7 pasos anteriores sobre cómo lo hace una empresa.

Ok, entonces esta lista es un poco irónica pero es básicamente correcta. El punto es que ni siquiera te molestes en tratar con ARM directamente porque es probable que no tengas el dinero. Y tampoco hagas nada que pueda demandarte por ARM.

    
respondido por el user3624
32

ARM tiene un University DesignStart Program . Como estudiante, solo puedes acceder al material básico de Cortex-M0. Pero si está realmente interesado, involucre a su cuerpo docente y luego tendrá acceso a mucho más material de diseño (código Verilog FPGA, IP de evaluación, simulaciones, etc.)

    
respondido por el embedded.kyle
5

Echa un vistazo a este núcleo ARM en OpenCores.

    
respondido por el plan9assembler
3

El ARM Cortex-M1 (probablemente el más simple de los procesadores ARM) es el primer procesador ARM diseñado específicamente para implementarse como un procesador de software en FPGA. Está optimizado para los siguientes tipos de FPGA :

Actel (M1 ProASIC3 and M1 Fusion)
Altera (Cyclone-II, Stratix-III)
Xilinx (Spartan-3, Virtex-5)

ARM en sí está creando un Kit de desarrollo de Cortex-M1 para Altera Cyclone III aunque es un poco caro en $ 625 de DigiKey . Sin embargo, obtienes todo el ARM Cortex-M1 IP y una licencia para realizar el desarrollo (más una subvención gratuita de regalías para 1000 tableros para los que entran en producción, bastante bien).

Puede haber algunas opciones para obtener la IP por sí misma (tal vez tengan un programa académico, alguien mencionó un programa universitario, pero eso fue para el M0). Entonces podrías comprar una placa de desarrollo por separado.

Aquí hay más información acerca de ARM Cortex-M1 en Altera .

Aquí hay alguna información sobre cómo colocar un Cortex ARM M1 en un Actel FPGA.

Mientras tanto, hay cierto interés en otras versiones de ARM Cortex en FPGA; aquí hay un documento de alguien que implementó un ARM Cortex-M0 en un Xilinx FPGA .

    
respondido por el tcrosley
1

Ahora puede obtener acceso al procesador Cortex-M3 (y un subsistema AHB / APB extensible) a través del programa DesignStart de ARM.

La opción Eval proporciona un objetivo FPGA (la simulación es compatible, con RTL ofuscado del núcleo, todo lo demás en Verilog). Esto actualmente se dirige al ARM MPS2 + FPGA, con soporte mbed.

La versión Pro (solo disponible para empresas / universidades que pueden firmar una licencia) permite la fabricación e incluye el núcleo del procesador en Verilog (esto cubre tanto a Cortex-M0 como a Cortex-M3).

    
respondido por el Sean Houlihane

Lea otras preguntas en las etiquetas