Cum îmi proiectez propriile procesoare bazate pe ARM?

Am mai multe întrebări despre cum aș proiecta propriul meu procesor bazat pe ARM?

  • Cum se începe cu un Licența ARM și ajungeți la un pachet gata să fie lipit pe o placă?
  • Ce primesc de la ARM (sunt sigur că au mai multe opțiuni de licență de eliminat – Licență de arhitectură (stil Qualcomm Snapdragon) și licență de bază (stil TI OMAP))?
  • Ce instrumente trebuie să procedez după ce am „acel ceva” din ARM?
  • Ce trimit la fab?
  • Cred că numai anumiți fondatori sunt autorizați să graveze un nucleu ARM pe o placă de siliciu. Am dreptate?
  • Ca student, îmi permit să fac asta pe un FPGA? Cum pot obține experiență pentru așa ceva?

Comentarii

  • Răspunsul evident este să vorbești cu ARM.
  • Aruncați o privire la opencores.com – există o mulțime de diverse nuclee de procesor în diferite stări de completitudine și funcționalitate. În ceea ce privește obținerea sursei reale de bază ARM … așa cum spune @OlinLathrop … vorbiți cu ARM.
  • Nu ‘ nu înțeleg voturile negative, acesta este poate fi o întrebare naivă, dar cu siguranță legitimă IMO.
  • Problema este că întrebarea dvs. este specifică unui flux de lucru pe care nu veți putea să-l urmați. Fluxurile de lucru pe care le puteți urmări – folosind un design original sau disponibil gratuit într-un HDL pentru a viza un FPGA – sunt la fel de diferite de cele pe care le face speculația.
  • Cortex-M1 core pare a fi destinat să ruleze în orice FPGA capabil în mod corespunzător. Principalii furnizori FPGA au licența IP și o livrează proiectantului așa cum ar face orice alt soft core. Presupun că nu este gratuit, dar există programe probabil disponibile special pentru uz academic.

Răspuns

Iată cum o fac companiile:

  1. Creșteți aproximativ 10 milioane USD.
  2. Negociați cu ARM pentru a obține o licență. Acest lucru va costa probabil cel puțin 1 milion de dolari SUA.
  3. Obțineți fișierele de proiectare din ARM. Va fi probabil într-o formă de VHDL, Verilog sau o listă de internet „criptată”.
  4. Proiectează-ți propriul cip folosind un amestec de logică (pentru periferice) și ceea ce ți-a oferit ARM. Acest pas va necesita probabil un software CAD scump și o echipă mică de experți. Așteptați-vă să cheltuiți cel puțin 5 milioane USD și câțiva ani.
  5. Obțineți măștile făcute pentru cipul în sine. Dacă utilizați orice proces modern cu semiconductori, atunci acesta va rula în jur de 1 milion de dolari SUA.
  6. Obțineți cipul în sine. Prețul variază, dar ar trebui să fie mai mic de 0,5 milioane USD.
  7. Depanați cipul pe care l-ați creat, remediați erorile, apoi reveniți la pasul 5 până când aveți ceva pe care îl puteți vinde.

Iată cum o faceți VOI :

  1. Obțineți un nivel de absolvent curs de arhitectură computerizată la universitatea dvs. locală.
  2. Faceți mai multe cursuri de logică digitală și orice altceva.
  3. Creați un procesor de la zero în VHDL sau Verilog.
  4. Proiectați un alt procesor de la zero.
  5. Uitați-vă la setul de instrucțiuni ARM și proiectați un procesor compatibil.
  6. Faceți ca procesorul dvs. compatibil ARM să funcționeze într-un FPGA.
  7. Nu „Nu distribuiți codul sursă VHDL / Verilog decât dacă doriți să fiți dat în judecată.
  8. Utilizați experiența ARM pentru a scrie o disertație bună pentru doctoratul dvs.
  9. Folosiți doctoratul pentru a obține un loc de muncă la ARM, sau TI sau oricine. Apoi repetați procesul folosind cei 7 pași anteriori cu privire la modul în care o face o companie.

Bine, deci această listă este un pic nebun, darpractic este corect. Ideea este că nici măcar nu te deranjezi să te ocupi direct de ARM, deoarece șansele sunt că nu ai banii. Și nu faceți niciun lucru care să vă aducă în judecată prin ARM.

Comentarii

  • +1. Răspuns excelent. Ce urma să spun , dar mai bine.
  • Orice curs bun ar include structura de bază a diferitelor tipuri de CPU ‘ și modul în care funcționează toate. Subiectele ar trebui să acopere microcodul, decodarea instrucțiunilor , ALU ‘ s, acces la memorie, cache, registre, canalizare, pericole de date, preluare instrucțiuni etc.
  • Există vreun motiv pentru care ARM ‘ setul de instrucțiuni, în sine, ar fi mai brevetabil decât oricare dintre celelalte procesoare din care abundă clone? Cu siguranță există anumite caracteristici arhitecturale care sunt brevetate, dar dacă una Scopul ‘ este de a proiecta un procesor care să funcționeze cu compilatoarele existente, ar pune în sine setul de instrucțiuni?
  • @supercat În mod normal instrucțiunile în sine nu sunt foarte brevetate, cu excepția cazului în care încorporează niște arhive lucruri tecturale. MIPS a făcut acest lucru cu CPU-urile lor ‘, unde au brevetat câteva instrucțiuni care ar încărca / stoca cuvinte care nu sunt aliniate la cuvinte, precum și unele lucruri pentru a comuta dinamic între endian mare și mic .Acest lucru a fost contestat în instanță când MIPS a dat în judecată un producător de clone MIPS, iar MIPS a câștigat (în jurul anului 2000). Dar cele mai multe brevete sunt legate de probleme arhitecturale. Din păcate, nu puteți ‘ face un procesor care este compatibil cu compilatoarele existente, fără a copia atât arhitectura, cât și setul de instrucțiuni.
  • @LordLoh puteți găsi utile aceste întrebări : electronics.stackexchange.com/questions/28686/… electronics.stackexchange.com/a/7051/638

Răspuns

ARM are Programul University DesignStart . Ca student, puteți accesa doar materialul de bază Cortex-M0. Dar dacă sunteți cu adevărat interesat, implicați-vă facultatea și atunci puteți avea acces la mult mai mult material de proiectare (cod Verilog FPGA, IP de evaluare, Simulări etc.)

Comentarii

  • Mulțumesc 🙂 Voi ‘ voi încerca să-l cer pe consilierul meu să solicite unele dintre acestea.
  • WFIW, acest răspuns este acum depășite, atât Cortex-M0, cât și Cortex-M3 sunt disponibile, iar unele părți ale produsului sunt deschise non-studenților / instituțiilor.

Răspuns

Aruncă o privire asupra acestui nucleu ARM pe OpenCores.

Comentarii

Răspuns

ARM Cortex-M1 (probabil cel mai simplu dintre procesoarele ARM) este primul procesor ARM special conceput pentru a fi implementat ca procesor soft în FPGA. Este optimizat pentru următoarele tipuri de FPGA :

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

ARM în sine face un Kit de dezvoltare Cortex-M1 pentru Altera Cyclone III , deși este puțin scump la 625 $ de la DigiKey . Aveți tot IP-ul ARM Cortex-M1 și o licență de dezvoltare (plus o subvenție gratuită de redevență pentru 1000 de plăci pentru cei care intră în producție, destul de cool).

S-ar putea să existe unele opțiuni pentru obținerea IP de la sine (poate că au un program academic, altcineva a menționat un program universitar, dar asta a fost pentru M0). Apoi, puteți cumpăra separat o placă de dezvoltare.

Iată câteva informații suplimentare despre ARM Cortex-M1 pe Altera .

Iată câteva informații despre plasarea unui ARM Cortex-M1 pe un Actel FPGA.

Între timp există un anumit interes în alte versiunile ARM Cortex pe FPGA; iată o lucrare de la cineva care a implementat un ARM Cortex-M0 pe un Xilinx FPGA.

Comentarii

  • Dacă doriți să schimbați designul, încercați să creați un ” adecvat ” Aparat pe 32 de biți. În prezent, ARM citește instrucțiunile pe 32 de biți pe 8 biți la un moment dat, ceea ce înseamnă că computerul crește cu 4 pentru fiecare preluare de instrucțiuni.

Răspuns

Acum puteți obține acces la procesorul Cortex-M3 (și un subsistem AHB / APB extensibil) prin intermediul programului DesignStart al ARM.

Opțiunea Eval oferă o țintă FPGA (simularea este acceptată, cu RTL ofuscat al nucleului, orice altceva în Verilog). În prezent, acesta vizează ARM MPS2 + FPGA, cu suport mbed.

Versiunea Pro (disponibilă numai companiilor / universităților care pot semna o licență) permite fabricarea și include nucleul procesorului în Verilog (aceasta acoperă atât Cortex -M0 și Cortex-M3).

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *