Comment concevoir mes propres processeurs ARM?

Jai plusieurs questions sur la manière de concevoir mon propre processeur ARM?

  • Comment commencer par un Licence ARM et se retrouver avec un package prêt à être soudé sur une carte?
  • Quest-ce que jobtiens dARM (je suis sûr quils ont plusieurs options de licence à offrir – Licence darchitecture (style Qualcomm Snapdragon) et Licence principale (style TI OMAP))?
  • De quels outils ai-je besoin pour continuer une fois que jai « ce quelque chose » dARM?
  • Que dois-je envoyer à la fab?
  • Je crois que seuls certains fondateurs sont autorisés à graver un noyau ARM sur une tranche de silicium. Ai-je raison?
  • En tant quétudiant, puis-je me permettre de faire cela sur un FPGA? Comment puis-je acquérir de lexpérience pratique pour quelque chose comme ça?

Commentaires

  • La réponse évidente est de parler à ARM.
  • Jetez un œil à opencores.com – il y a beaucoup de cœurs de processeur différents dans divers états dexhaustivité et de fonctionnalité. En ce qui concerne lobtention de la source réelle du noyau ARM … comme le dit @OlinLathrop … parlez à ARM.
  • Je ne ‘ ne comprends pas les votes négatifs, cest peut être une question naïve, mais certainement légitime de lOMI.
  • Le problème est que votre question est spécifique à un flux de travail que vous ne pourrez pas suivre. Les flux de travail que vous pouvez suivre – en utilisant une conception originale ou disponible gratuitement dans un HDL pour cibler un FPGA – sont aussi différents de cela que la spéculation est un fait.
  • Le Cortex-M1 core semble être destiné à fonctionner dans nimporte quel FPGA convenablement capable. Les principaux fournisseurs de FPGA ont la licence IP et la livrent au concepteur comme ils le feraient pour tout autre noyau logiciel. Je suppose que ce nest pas gratuit, mais il existe probablement des programmes disponibles spécifiquement pour un usage scolaire.

Réponse

Voici comment les entreprises le font:

  1. Collectez environ 10 millions de dollars américains.
  2. Négociez avec ARM pour obtenir une licence. Cela coûtera probablement au moins 1 million de dollars américains.
  3. Obtenez les fichiers de conception dARM. Ce sera probablement sous une forme quelconque de VHDL, Verilog ou une netlist « cryptée ».
  4. Concevez votre propre puce en utilisant un mélange de votre propre logique (pour les périphériques) et de ce que ARM vous a donné. Cette étape nécessitera probablement un logiciel de CAO coûteux et une petite équipe dexperts. Attendez-vous à dépenser au moins 5 millions de dollars et plusieurs années.
  5. Faites fabriquer les masques pour la puce elle-même. Si vous utilisez un processus semi-conducteur moderne, cela coûtera environ 1 million de dollars.
  6. Faites fabriquer la puce elle-même. Le prix varie, mais devrait être inférieur à 0,5 million de dollars américains.
  7. Déboguez la puce que vous avez créée, corrigez les bogues, puis revenez à létape 5 jusquà ce que vous ayez quelque chose à vendre.

Voici comment VOUS faites-le:

  1. Passez un diplôme détudes supérieures cours darchitecture informatique dans votre université locale.
  2. Suivez dautres cours de logique numérique et autres.
  3. Concevez un processeur à partir de zéro en VHDL ou Verilog.
  4. Design un autre processeur à partir de zéro.
  5. Regardez le jeu dinstructions ARM et concevez un processeur compatible.
  6. Faites fonctionner votre processeur compatible ARM dans un FPGA.
  7. Don « Ne distribuez pas votre code source VHDL / Verilog à moins que vous ne souhaitiez être poursuivi en justice.
  8. Utilisez votre expérience ARM pour rédiger une bonne thèse pour votre doctorat.
  9. Utilisez votre doctorat pour trouver un emploi à ARM, TI, ou nimporte qui dautre. Ensuite, répétez le processus en utilisant les 7 étapes précédentes pour savoir comment une entreprise le fait.

Daccord, cette liste est un peu ironique, maiscest fondamentalement correct. Le fait est, ne vous donnez même pas la peine de traiter directement avec ARM, car il y a de fortes chances que vous nayez pas largent. Et ne faites rien qui puisse vous amener à être poursuivi par ARM non plus.

Commentaires

  • +1. Excellente réponse. Ce que jallais dire , mais mieux.
  • Tout bon cours inclurait la structure de base des différents types de processeurs ‘ et comment ils fonctionnent tous. Les sujets devraient couvrir le microcode, le décodage dinstructions , ALU ‘ s, accès à la mémoire, cache, registres, pipelining, hazzards de données, préchargement dinstructions, etc.
  • Y a-t-il une raison pour laquelle ARM ‘, en lui-même et à lui seul, ne serait pas plus brevetable que nimporte lequel des autres processeurs dont les clones abondent? Il y a certainement des caractéristiques architecturales brevetées, mais si Lobjectif de ‘ est de concevoir un CPU qui fonctionnera avec les compilateurs existants, le jeu dinstructions lui-même poserait-il un problème?
  • @supercat Normalement, les instructions elles-mêmes ne sont pas très brevetable à moins quils nincorporent certains archi les choses culturelles. MIPS a fait cela avec leur CPU ‘ s, où ils ont breveté des instructions qui chargeraient / stockaient des mots qui ne sont pas alignés sur les mots ainsi que des trucs pour basculer dynamiquement entre big et little endian .Cela a été contesté devant le tribunal lorsque MIPS a poursuivi un fabricant de clones MIPS, et MIPS a gagné (vers 2000). Mais la plupart des brevets concernent des problèmes darchitecture. Vous pouvez ‘ créer un processeur compatible avec les compilateurs existants sans copier à la fois larchitecture et le jeu dinstructions, malheureusement.
  • @LordLoh vous trouverez peut-être ces questions utiles : electronics.stackexchange.com/questions/28686/… electronics.stackexchange.com/a/7051/638

Réponse

ARM a un Programme University DesignStart . En tant quétudiant, vous ne pouvez accéder quau matériel de base Cortex-M0. Mais si vous êtes vraiment intéressé, impliquez votre faculté et vous pourrez alors avoir accès à beaucoup plus de matériel de conception (code FPGA Verilog, IP dévaluation, simulations, etc.)

Commentaires

  • Merci 🙂 Je ‘ vais essayer de demander à mon conseiller den demander quelques-uns.
  • WFIW, cette réponse est maintenant obsolète, Cortex-M0 et Cortex-M3 sont disponibles, et certaines parties du produit sont ouvertes aux non-étudiants / institutions.

Réponse

Jetez un œil à ce noyau ARM sur OpenCores.

Commentaires

Réponse

LARM Cortex-M1 (probablement le plus simple des les processeurs ARM) est le premier processeur ARM spécifiquement conçu pour être implémenté en tant que processeur logiciel dans les FPGA. Il est optimisé pour les types de FPGA suivants :

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

ARM lui-même fait un Kit de développement Cortex-M1 pour Altera Cyclone III bien quil soit un peu cher à 625 $ de DigiKey . Vous obtenez cependant toute lIP ARM Cortex-M1 et une licence pour faire du développement (plus une concession de redevance gratuite pour 1000 cartes pour celles qui entrent en production, plutôt cool).

Il peut y avoir des options pour obtenir lIP par lui-même (peut-être quils ont un programme universitaire, quelquun dautre a mentionné un programme universitaire, mais cétait pour le M0). Ensuite, vous pouvez acheter une carte de développement séparément.

Voici quelques informations supplémentaires sur ARM Cortex-M1 sur Altera .

Voici quelques informations sur la mise en place dun ARM Cortex-M1 sur un FPGA Actel.

En attendant, il y a un certain intérêt pour dautres versions de ARM Cortex sur FPGA; voici un article de quelquun qui a implémenté un ARM Cortex-M0 sur un FPGA Xilinx.

Commentaires

  • Si vous souhaitez modifier la conception, essayez de créer un  » correct  » Machine 32 bits. Actuellement, lARM lit les instructions 32 bits 8 bits à la fois, ce qui signifie que le PC sincrémente de 4 pour chaque extraction dinstruction.

Réponse

Vous pouvez maintenant accéder au processeur Cortex-M3 (et à un sous-système AHB / APB extensible) via le programme DesignStart dARM.

Loption Eval fournit une cible FPGA (la simulation est prise en charge, avec RTL obscurci du noyau, tout le reste dans Verilog). Cela cible actuellement le FPGA ARM MPS2 +, avec le support mbed.

La version Pro (uniquement disponible pour les entreprises / universités qui peuvent signer une licence) permet la fabrication et inclut le cœur du processeur dans Verilog (cela couvre à la fois Cortex -M0 et Cortex-M3).

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *