Hypothèses:
Architecture informatique: décrit comment les différents modules d'un processeur interagissent entre eux.
Une architecture informatique est définie à l'aide de
vhdl
fichiersOrganisation de l'ordinateur: décrit la disposition physique des modules de processeur sur silicium.
Une organisation informatique est définie à l'aide d'un ensemble de masques photo (et d'un processus de fabrication, par exemple chimique, qui va à chaque étape)
L'organisation informatique requiert donc que le processus fab soit pris en compte.
ARM n'est pas dans le secteur de la fabrication, donc il ne vend pas de masques photo.
Mes questions):
- Que vend exactement ARM à un fournisseur (ex: freescale)?
- Pour un SoC (System On Chip), (par exemple: iMx6 ), quelle partie est ARM et quelle est Freescale? Qui a fait l'intégration?
Réponses:
Vous utilisez mal ces termes. «Organisation informatique» est un terme rarement utilisé pour désigner la microarchitecture, et «architecture informatique» en est un sur-ensemble.
Les blocs IP de circuits intégrés se présentent sous deux formes de base:
Une macro logicielle est la RTL (VHDL ou Verilog) qui décrit l'implémentation fonctionnelle de l'IP. Ceci est compilé dans une netlist au niveau de la porte, qui est ensuite transformée en une disposition physique pour produire l'ensemble de masques pour la fabrication. Voici un exemple de Cadence - un MAC Ethernet. Lorsque vous l'achetez, vous obtenez des fichiers Verilog, de la documentation et un banc d'essai Verilog pour vérification.
Une macro matérielle est une disposition physique de l'adresse IP adaptée à un processus donné. Il est ajouté à la plus grande disposition des puces en un seul bloc, ce qui permet d'économiser certaines étapes du processus de conception. Voici un autre exemple de Cadence - un Ethernet PHY. Il est proposé en processus 180 nm et 130 nm chez TSMC, UMC et SMIC, et est livré au client sous forme de fichiers de mise en page GDSII.
ARM vend les deux. Les MCU sur lesquels j'ai travaillé utilisent généralement des macros douces de processeurs ARM Cortex. Nous avions un produit plus ancien avec des macros dures ARM7, mais je ne sais pas si elles ont été durcies par ARM ou par nous. Aujourd'hui, ARM propose des versions macro de la série Cortex-A répertoriées sur leur site Web . La plupart de leurs produits sont cependant synthétisables (macros douces). Il semble que vous puissiez télécharger gratuitement le (doux) Cortex-M0 pour une utilisation non commerciale sur le site ARM DesignStart .
Dans un SoC, la partie ARM n'est que le CPU. (Le concepteur peut également acheter des IP périphériques auprès d'ARM, mais ce n'est pas obligatoire.) Les SoC sur lesquels j'ai travaillé ont un mélange d'IP tierces et IP internes.
la source
Une licence pour vendre des puces qui incluent la propriété intellectuelle ARM.
La définition du ou des cœurs de CPU et de leurs interfaces.
L'implémentation physique, y compris la conception de toute logique périphérique incluse sur la puce.
Freescale, bien sûr.
la source
Quand j'ai été impliqué dans un projet de conception de puces qui impliquait l'intégration d'un ARM, ce que nous avons obtenu était la netlist Verilog . Autrement dit, une liste complète des portes et des connexions qui composent la puce, mais pas sous une forme de niveau supérieur adaptée à une modification facile.
Nous avons ensuite fait notre propre placement et routage. Ceci est généralement nécessaire sur chaque projet car la forme de la zone de puce allouée à ARM sera différente.
Je crois que plusieurs niveaux de licence sont disponibles afin que vous puissiez déjà acheter un noyau placé dans une forme standard pour gagner du temps.
(Les listes de diffusion placées sont exactement comme elles sonnent: une liste de portes et leurs emplacements.)
la source
ARM vend la propriété intellectuelle (PI) à d'autres sociétés. Dans votre exemple, Freescale achète les droits d'utilisation d'ARM IP, à savoir le cœur du processeur. Qu'est-ce que le «noyau»? Le cœur est à peu près tout ce qui n'est pas un périphérique, comme un pilote SPI ou un ADC ou DAC. Dans le noyau, ARM comprenait des systèmes matériels pour servir de ponts entre le processeur réel et le périphérique du client.
En ce qui concerne les livrables, ARM ne fournit pas de HDL complet au client. Ils fournissent des abstractions de haut niveau avec lesquelles le HDL de l'utilisateur final peut se lier (wrappers HDL), et ils fournissent également probablement la disposition physique du noyau.
ARM vend plus que des cœurs de processeur, ils ont également tout un segment d'IP complexes qui ne sont pas des processeurs. Lorsque ARM vend un cœur de processeur, ils obtiennent de l'argent à l'avance et / ou ils perçoivent des redevances sur tous les appareils vendus avec leurs conceptions. C'est une très bonne affaire pour eux, étant donné qu'il y a environ 10 milliards de processeurs ARM dans la nature.
Pour résumer:
la source