43 votos

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

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

  • ¿Cómo se empieza con una licencia ARM y se acaba con un paquete listo para soldar en 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 de núcleo (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 sólo algunos fundidores tienen licencia para grabar un núcleo ARM en una oblea de silicio. ¿Estoy en lo cierto?
  • Como estudiante, ¿puedo permitirme hacer esto en una FPGA? ¿Cómo puedo obtener experiencia práctica para algo como esto?

72voto

Así es como lo hacen las empresas:

  1. Recaudar unos 10 millones de dólares.
  2. Negociar con ARM para obtener una licencia. Esto probablemente costará al menos un millón de dólares.
  3. Obtenga los archivos de diseño de ARM. Es probable que estén en alguna forma de VHDL, Verilog, o una lista de red "encriptada".
  4. Diseña tu propio chip usando una mezcla de tu propia lógica (para los periféricos) y lo que te dio ARM. Este paso requerirá probablemente un costoso software CAD y un pequeño equipo de expertos. Prevea un gasto de al menos 5 millones de dólares y varios años.
  5. Hazte con las máscaras para el propio chip. Si se utiliza cualquier proceso de semiconducción moderno, el coste será de alrededor de un millón de dólares.
  6. Que se haga el propio chip. El precio varía, pero debería ser inferior a 0,5 millones de dólares.
  7. Depura el chip que has creado, corrige los fallos y vuelve al paso 5 hasta que tengas algo que puedas vender.

Así es como hazlo:

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

Vale, esta lista es un poco irónica, pero es básicamente correcta. El punto es, ni siquiera se molestan en tratar con ARM directamente porque lo más probable es que usted no tiene el dinero. Y no haga nada que le haga ser demandado por ARM tampoco.

32voto

Morris Maynard Puntos 49

ARM tiene un Programa Universitario DesignStart . Como estudiante, sólo puedes acceder al material básico de Cortex-M0. Pero si estás realmente interesado, involucra a tu facultad y entonces podrás tener acceso a mucho más material de diseño (código Verilog FPGA, IP de evaluación, simulaciones, etc.)

5voto

user11300 Puntos 116

Echa un vistazo a esto Núcleo ARM en OpenCores.

4voto

Matt McMinn Puntos 6067

El ARM Cortex-M1 (probablemente el más sencillo de los procesadores ARM) es el primer procesador ARM diseñado específicamente para ser implementado como procesador blando en FPGAs. Está optimizado para el siguientes tipos de FPGA :

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

La propia ARM está haciendo un Kit de desarrollo Cortex-M1 para Altera Cyclone III aunque es un poco caro en 625 dólares de DigiKey . Sin embargo, obtienes toda la IP de ARM Cortex-M1 y una licencia para hacer el desarrollo (además de una subvención gratuita de regalías para 1000 placas para los que van a la producción, bastante bueno).

Puede que haya algunas opciones para conseguir la IP por sí misma (quizás tengan un programa académico, alguien más mencionó un programa universitario, pero eso era para el M0). Entonces podrías comprar una placa de desarrollo por separado.

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

Aquí hay algo de información sobre poner un ARM Cortex-M1 en una FPGA de Actel.

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

1voto

TheBonsai Puntos 3112

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

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

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

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X