Hvordan designer jeg mine helt egne ARM-baserede processorer?

Jeg har flere spørgsmål om, hvordan jeg ville designe min egen ARM-baserede CPU?

  • Hvordan starter man med en ARM-licens og ender med en pakke, der er klar til at loddes på et bræt?
  • Hvad får jeg fra ARM (jeg er sikker på, at de har flere licensmuligheder til at uddele – Arkitekturlicens (Qualcomm Snapdragon-stil) og Core-licens (TI OMAP-stil))?
  • Hvilke værktøjer skal jeg bruge, når jeg har “det noget” fra ARM?
  • Hvad sender jeg til fabrikken?
  • Jeg tror kun, at visse grundlæggere har licens til at ætse en ARM-kerne på en siliciumskive. Har jeg ret?
  • Har jeg som studerende råd til at gøre dette på en FPGA? Hvordan får jeg erfaring med noget som dette?

Kommentarer

  • Det oplagte svar er at tale med ARM.
  • Se på opencores.com – der er mange forskellige processorkerner der i forskellige tilstande med fuldstændighed og funktionalitet. For så vidt angår opnåelse af faktisk ARM-kernekilde … som @OlinLathrop siger … tale med ARM.
  • Jeg forstår ikke ‘ for ikke at nedstemme, dette er kan være et naivt spørgsmål, men bestemt legitim IMO.
  • Problemet er, at dit spørgsmål er specifikt for en arbejdsgang, du ikke får fulgt. De arbejdsgange, du kan følge – ved hjælp af et originalt eller frit tilgængeligt design i en HDL til at målrette mod en FPGA – er så forskellige fra det, som spekulation er fra faktum.
  • Cortex-M1-kerne synes at være beregnet til at køre i enhver passende kapabel FPGA. De store FPGA-leverandører har IP-licensen og leverer den til designeren, som de ville have gjort med enhver anden blød kerne. Jeg antager, at det ikke er gratis, men der er sandsynligvis programmer tilgængelige specifikt til akademisk brug.

Svar

Her er hvordan virksomheder gør det:

  1. Indhent omkring 10 millioner dollars.
  2. Forhandle med ARM for at få en licens. Dette vil sandsynligvis koste mindst 1 million dollars.
  3. Hent designfilerne fra ARM. Det vil sandsynligvis være i en eller anden form for VHDL, Verilog eller en “krypteret” netliste.
  4. Design din egen chip ved hjælp af en blanding af din egen logik (til periferiudstyr) og hvad ARM gav dig. Dette trin vil sandsynligvis kræve noget dyrt CAD-software og et lille team af eksperter. Forvent at bruge mindst 5 millioner dollars og flere år.
  5. Få maskerne lavet til selve chippen. Hvis du bruger en hvilken som helst moderne halvlederproces, kører denne omkring US $ 1 million.
  6. Få selve chippen lavet. Prisen varierer, men skal være mindre end 0,5 millioner dollars.
  7. Fejlfind den chip, du oprettede, rett fejlene, og gå derefter tilbage til trin 5, indtil du har noget, du kan sælge.

Sådan gør DU det:

  1. Tag et kandidatniveau computerarkitektur-kursus på dit lokale universitet.
  2. Tag flere kurser i digital logik og hvad som helst andet.
  3. Design en CPU fra bunden i VHDL eller Verilog.
  4. Design en anden CPU fra bunden.
  5. Se på ARM-instruktionssættet, og design en kompatibel CPU.
  6. Få din ARM-kompatible CPU til at fungere i en FPGA.
  7. Don “distribuer ikke din VHDL / Verilog-kildekode, medmindre du vil blive sagsøgt.
  8. Brug din ARM-erfaring til at skrive en god afhandling til din ph.d..
  9. Brug din ph.d. til at få et job ved ARM eller TI eller hvem som helst. Gentag derefter processen ved hjælp af de foregående 7 trin til, hvordan en virksomhed gør det.

Ok, så denne liste er lidt tunge i tind mendet er dybest set korrekt. Pointen er, at du ikke engang gider at beskæftige dig med ARM direkte, fordi oddsen er, at du ikke har pengene. Og gør ikke noget, der får dig sagsøgt af ARM heller.

Kommentarer

  • +1. Fremragende svar. Hvad jeg ville sige , men bedre.
  • Ethvert godt kursus vil omfatte den grundlæggende struktur for forskellige slags CPU ‘ og hvordan de alle fungerer. Emnerne skal dække mikrokode, instruktion afkode , ALU ‘ s, hukommelsesadgang, cache, registre, pipelining, datahazards, instruktionshentning osv.
  • Er der nogen grund til, at ARM ‘ s instruktionssæt, i og for sig selv, ville være mere patenterbart end nogen af de andre CPUer, hvoraf kloner findes i overflod? Bestemt er der sandsynligvis nogle arkitektoniske træk, der er patenteret, men hvis man ‘ s mål er at designe en CPU, der fungerer sammen med eksisterende compilere, ville selve instruktionssættet udgøre et problem?
  • @supercat Normalt er selve instruktionerne ikke meget patenter, medmindre de inkorporerer nogle arkiver tekturelle ting. MIPS gjorde dette med deres CPU ‘ s, hvor de patenterede nogle instruktioner, der ville indlæse / gemme ord, der ikke er ordjusteret, samt nogle ting for dynamisk at skifte mellem stor og lille endian .Dette blev udfordret i retten, da MIPS sagsøgte en MIPS-klonproducent, og MIPS vandt (tilbage omkring 2000). Men de fleste patenter handler om arkitektoniske spørgsmål. Du kan ‘ ikke oprette en CPU, der er kompatibel med eksisterende compilere uden at kopiere både arkitekturen og instruktionssættet, desværre.
  • @LordLoh, du kan finde disse spørgsmål nyttige : electronics.stackexchange.com/questions/28686/… electronics.stackexchange.com/a/7051/638

Svar

ARM har en University DesignStart Program . Som studerende har du kun adgang til grundlæggende Cortex-M0-materiale. Men hvis du virkelig er interesseret, få dit fakultet involveret, og så kan du få adgang til meget mere designmateriale (Verilog FPGA-kode, evaluering IP, simuleringer osv.)

Kommentarer

  • Tak 🙂 Jeg ‘ Jeg prøver at få min rådgiver til at anmode om nogle af disse.
  • WFIW, dette svar er nu forældet, både Cortex-M0 og Cortex-M3 er tilgængelige, og nogle dele af produktet er åbne for ikke-studerende / institutioner.

Svar

Se på denne ARM-kerne på OpenCores.

Kommentarer

Svar

ARM Cortex-M1 (sandsynligvis den enkleste af ARM-processorer) er den første ARM-processor, der er specielt designet til at blive implementeret som en blød processor i FPGAer. Det er optimeret til følgende FPGA-typer :

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

ARM selv laver en Cortex-M1-udviklingssæt til Altera Cyclone III , selvom det er lidt dyrt til $ 625 fra DigiKey . Du får dog hele ARM Cortex-M1 IP og en licens til at udvikle (plus et gratis royalty-tilskud til 1000 bestyrelser for dem, der går i produktion, ret sejt).

Der kan være nogle muligheder for at få IP af sig selv (måske har de et akademisk program, en anden nævnte et universitetsprogram, men det var for M0). Derefter kan du købe et udviklingskort separat.

Her er nogle flere oplysninger om ARM Cortex-M1 på Altera .

Her er nogle oplysninger om at placere en ARM Cortex-M1 på en Actel FPGA.

I mellemtiden er der en vis interesse for andre versioner af ARM Cortex på FPGA; her er et papir fra en person, der implementerede en ARM Cortex-M0 på en Xilinx FPGA.

Kommentarer

  • Hvis du vil ændre designet, så prøv at lave en ” korrekt ” 32-bit maskine. I øjeblikket læser ARM 32-bit instruktion 8 bit ad gangen, hvilket betyder, at pcen øges med 4 for hver instruktionshentning.

Svar

Du kan nu få adgang til Cortex-M3-processoren (og et udvideligt AHB / APB-undersystem) via ARMs DesignStart-program.

Eval-indstillingen giver et FPGA-mål (simulation understøttes med tilsløret RTL af kernen, alt andet i Verilog). Dette er i øjeblikket målrettet mod ARM MPS2 + FPGA med mbed-understøttelse.

Pro-versionen (kun tilgængelig for virksomheder / universiteter, der kan underskrive en licens) tillader fremstilling og inkluderer processorkernen i Verilog (dette dækker begge Cortex -M0 og Cortex-M3).

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *