Cosa vende esattamente ARM ai venditori?


28

ipotesi:

  1. Architettura del computer: descrive come i diversi moduli di un processore interagiscono tra loro.

  2. Un'architettura del computer viene definita utilizzando i vhdlfile

  3. Organizzazione del computer: descrive il layout fisico dei moduli del processore su silicio.

  4. Un'organizzazione di computer viene definita utilizzando una serie di maschere fotografiche (e processo di produzione, ad esempio chimico, che va ad ogni passo)

  5. L'organizzazione del computer, pertanto, richiede che il processo fab sia preso in considerazione.

  6. ARM non opera nel settore della fabbricazione, pertanto non vende maschere fotografiche.


Le mie domande):

  1. Che cosa sta esattamente vendendo ARM a un fornitore (ad es. Freescale)?
  2. Per un SoC (System On Chip), (ad es. IMx6 ), quale parte è ARM e quale è Freescale? Chi ha fatto l'integrazione?

1
Può essere ancora più complesso con 3 aziende coinvolte: ARM progetta l'IP per CPU, Qualcomm progetta un prodotto (SOC) con quello e poi fa quel chip fatto a TSMC. È anche possibile che TSMC esegua anche la generazione del layout fisico, quindi non Qualcomm.
Bimpelrekkie,

ARM vende i loro core del processore, ti danno il codice sorgente (sicuramente in verilog, forse vhdl non lo so), con molte regole e commissioni. I processori si fermano sul bus AMDA / AXI, è richiesto qualcun altro o qualche altro codice per connettere quel processore ad altre cose nel chip. ARM fa / ha venduto altre cose che aiutano con un SoC ma la cosa principale sono i processori.
old_timer

Risposte:


29

Stai usando quei termini sbagliati. "Organizzazione del computer" è un termine usato raramente per la microarchitettura e "architettura del computer" ne è un superset.

I blocchi IP del circuito integrato sono disponibili in due forme base:

  • Una macro soft è RTL (VHDL o Verilog) che descrive l'implementazione funzionale dell'IP. Questo viene compilato in un netlist a livello di gate, che viene quindi trasformato in un layout fisico per produrre il set di maschere per la produzione. Ecco un esempio di Cadence : un MAC Ethernet. Quando lo acquisti, ottieni file Verilog, documentazione e un banco di prova Verilog per la verifica.

  • Una macro rigida è un layout fisico dell'IP adatto per un determinato processo. È stato aggiunto al layout del chip più grande come un singolo blocco, il che consente di risparmiare alcuni passaggi nel processo di progettazione. Ecco un altro esempio di cadenza : un Ethernet PHY. Viene offerto in processi a 180nm e 130nm presso TSMC, UMC e SMIC e viene consegnato al cliente sotto forma di file di layout GDSII.

ARM vende entrambi. Le MCU su cui ho lavorato di solito usano macro soft di CPU ARM Cortex. Avevamo alcuni prodotti più vecchi con macro rigide ARM7, ma non so se fossero stati induriti da ARM o da noi. Oggi, ARM ha versioni macro rigide della serie Cortex-A elencate sul loro sito web . Tuttavia, la maggior parte dei loro prodotti è sintetizzabile (macro soft). Sembra che sia possibile scaricare gratuitamente (soft) Cortex-M0 per uso non commerciale dal sito ARM DesignStart .

In un SoC, la parte ARM è solo la CPU. (Il progettista può anche acquistare l'IP periferico da ARM, ma non è necessario.) I SoC su cui ho lavorato hanno un mix di IP interno e di terze parti.


4
ARM inoltre concede in licenza l'architettura per progetti personalizzati (ad es. Kyro di Qualcomm nello Snapdragon 820). Le macro rigide possono anche essere molto più ottimizzate (per un determinato target) rispetto agli strumenti comuni ( Processor Optimization Pack ). In teoria, una macro rigida può utilizzare la progettazione completamente personalizzata, ma l'ottimizzazione di relativamente pochi componenti (in particolare i componenti di memoria) offre molti vantaggi a costi inferiori.
Paul A. Clayton,

13
  1. Che cosa sta esattamente vendendo ARM a un fornitore (ad es. Freescale)?

Una licenza per vendere chip che includono proprietà intellettuale ARM.

  1. Per un SoC (System On Chip), (ad es. IMx6), la cui parte è ARM

La definizione dei core della CPU e delle loro interfacce.

... e qual è Freescale?

L'implementazione fisica, incluso il design di qualsiasi logica periferica inclusa nel chip.

Chi ha fatto l'integrazione?

Freescale, ovviamente.


1
"La definizione dei core della CPU e delle loro interfacce" .. puoi per favore approfondire cosa si intende per "definizione", che include il VHD del core, o questo è lasciato alla scala libera per capire?
aiao,

1
Sì, la definizione include indubbiamente una descrizione HDL (non necessariamente VHDL) del core, perché questo è il modo meno ambiguo per trasmettere quel tipo di informazioni.
Dave Tweed

11

Quando sono stato coinvolto in un progetto di progettazione di chip che prevedeva l'integrazione di un ARM, quello che abbiamo ottenuto era la netlist Verilog . Cioè, un elenco completo delle porte e delle connessioni che compongono il chip, ma non in una forma di livello superiore adatta per una facile modifica.

Abbiamo quindi effettuato il nostro posizionamento e il nostro percorso. Questo di solito è necessario su ciascun progetto poiché la forma dell'area del chip assegnata a ARM sarà diversa.

Credo che siano disponibili più livelli di licenza in modo da poter acquistare un nucleo collocato in una forma standard già per risparmiare tempo.

(Le netlist posizionate sono esattamente come suonano: un elenco di porte e le loro posizioni.)


3
"elenco completo delle porte e delle connessioni che compongono il chip" - deve essere un inferno di un elenco.
Rev1.0

3
Non è poi così male - Cortex M0 è solo porte 12K. Sono i grandi progetti della GPU che sono la lotta ..
pjc50,

Ho pensato che un "nucleo" sia milioni o miliardi di porte? Secondo quanto riferito, l'Intel 4004 è stato chiamato perché ha molte porte.
JDługosz,

@JDługosz: L'Intel 4004 ha 2.300 transistor, secondo una lista di conteggio dei transistor .
davidcary,

2
@JDlugosz La pipeline di elaborazione per arm è breve e la cache e il supporto su periferiche die (grande contributore al conteggio dei transistor) sono separati dall'IP core (li colleghi al bus). L'intero SOC / ASIC avrà un numero di gate molto maggiore. Un dispositivo come un x86 ha un ulteriore livello di microcodice e una pipeline molto più lunga (10x) che richiede, ad esempio, una previsione dei rami più complessa, nonché su die cache e recentemente su die MMU
crasic

5

ARM vende proprietà intellettuale (IP) ad altre società. Nel tuo esempio, Freescale acquisisce i diritti per utilizzare ARM IP, ovvero il core del processore. Qual è il "core"? Il core è praticamente tutto ciò che non è una periferica, come un driver SPI o un ADC o DAC. Come parte del core, ARM includeva sistemi hardware che fungevano da ponti tra il processore reale e la periferica del cliente.

Per quanto riguarda i risultati, ARM non fornisce un HDL completo al cliente. Forniscono astrazioni di alto livello a cui l'HDL dell'utente finale può collegarsi (involucri HDL) e probabilmente forniscono anche il layout fisico del core.

ARM vende più di un semplice core di processore, ma ha anche un intero segmento di IP complessi che non sono processori. Quando ARM vende un core del processore, ottengono soldi in anticipo e / o ottengono royalties su tutti i dispositivi venduti con i loro progetti in essi. È un buon affare per loro, considerando che ci sono circa 10 miliardi di processori ARM in circolazione.

Per riassumere:

  • ARM vende IP (fondamentalmente progetti) ai clienti per integrarli nel loro prodotto finale
  • I produttori di SoC come Freescale progettano le proprie periferiche per il core ARM.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.