Jak zaprojektować własne procesory oparte na architekturze ARM?

Mam kilka pytań na temat projektowania własnego procesora z procesorem ARM?

  • Jak zacząć od Licencja ARM i otrzymujesz pakiet gotowy do przylutowania na płycie?
  • Co otrzymam od ARM (jestem pewien, że mają wiele opcji licencji do wydania – licencję na architekturę (w stylu Qualcomm Snapdragon) i na rdzeń (w stylu TI OMAP))?
  • Jakich narzędzi potrzebuję, aby kontynuować, gdy otrzymam „to coś” z ARM?
  • Co mam wysłać do fabryki?
  • Uważam, że tylko niektórzy fundatorzy mają licencje na wytrawianie rdzenia ARM na krzemowej płytce. Mam rację?
  • Czy jako student mogę sobie na to pozwolić na FPGA? Jak zdobyć doświadczenie w czymś takim?

Komentarze

  • Oczywistą odpowiedzią jest rozmowa z ARM.
  • Spójrz na opencores.com – jest tam wiele różnych rdzeni procesorów w różnych stanach kompletności i funkcjonalności. Jeśli chodzi o uzyskanie rzeczywistego źródła rdzenia ARM … jak mówi @OlinLathrop … porozmawiaj z ARM.
  • Nie ' nie rozumiem głosów przeciw, to jest może być naiwne pytanie, ale zdecydowanie uzasadnione IMO.
  • Problem polega na tym, że Twoje pytanie dotyczy przepływu pracy, którego nie będziesz w stanie wykonać. Przepływy pracy, które możesz śledzić – używając oryginalnego lub swobodnie dostępnego projektu w HDL do kierowania FPGA – są tak różne, jak spekulacje od faktów.
  • rdzeń Cortex-M1 wydaje się być przeznaczony do pracy w dowolnym układzie FPGA o odpowiednich możliwościach. Główni dostawcy FPGA mają licencję IP i dostarczają ją projektantowi tak, jak każdy inny miękki rdzeń. Zakładam, że nie za darmo, ale prawdopodobnie istnieją programy przeznaczone specjalnie do użytku akademickiego.

Odpowiedź

Oto jak to robią firmy:

  1. Zbierz około 10 milionów dolarów.
  2. Negocjuj z ARM, aby uzyskać licencję. Prawdopodobnie będzie to kosztować co najmniej 1 milion USD.
  3. Pobierz pliki projektu z ARM. Prawdopodobnie będzie to VHDL, Verilog lub „zaszyfrowana” lista sieci.
  4. Zaprojektuj swój własny chip, używając kombinacji własnej logiki (dla urządzeń peryferyjnych) i tego, co dał ci ARM. Ten krok prawdopodobnie będzie wymagał drogiego oprogramowania CAD i niewielkiego zespołu ekspertów. Spodziewaj się wydania co najmniej 5 milionów dolarów i kilku lat.
  5. Zdobądź maski wykonane dla samego chipa. Jeśli użyjesz dowolnego nowoczesnego procesu półprzewodnikowego, będzie to kosztować około 1 miliona USD.
  6. Zrób sam chip. Cena jest różna, ale powinna być niższa niż 0,5 miliona USD.
  7. Debuguj utworzony układ, napraw błędy, a następnie wróć do kroku 5, aż będziesz mieć coś, co możesz sprzedać.

Oto jak TY zrób to:

  1. Przejdź na poziom magisterski kurs architektury komputera na lokalnym uniwersytecie.
  2. Weź więcej kursów z logiki cyfrowej i czegokolwiek innego.
  3. Zaprojektuj procesor od podstaw w VHDL lub Verilog.
  4. Projektowanie inny procesor od zera.
  5. Spójrz na zestaw instrukcji ARM i zaprojektuj kompatybilny procesor.
  6. Spraw, aby Twój procesor zgodny z ARM działał w układzie FPGA.
  7. Nie „Nie rozpowszechniaj swojego kodu źródłowego VHDL / Verilog, chyba że chcesz zostać pozwany.
  8. Wykorzystaj swoje doświadczenie ARM, aby napisać dobrą rozprawę doktorską.
  9. Użyj doktoratu, aby dostać pracę w ARM, TI lub kimkolwiek innym. Następnie powtórz ten proces, korzystając z poprzednich 7 kroków dotyczących sposobu, w jaki firma to robi.

OK, więc ta lista jest trochę żartobliwa, alejest w zasadzie poprawna. Chodzi o to, że nawet nie zawracaj sobie głowy bezpośrednią obsługą ARM, ponieważ są szanse, że nie masz pieniędzy. I nie rób niczego, co doprowadziłoby cię do pozwu ARM.

Komentarze

  • +1. Doskonała odpowiedź. Co miałem powiedzieć , ale lepiej.
  • Każdy dobry kurs zawierałby podstawową strukturę różnych typów procesorów ' i ich działania. Tematy powinny obejmować mikrokod, dekodowanie instrukcji , ALU ' s, dostęp do pamięci, pamięć podręczna, rejestry, potokowanie, zagrożenia danych, wstępne pobieranie instrukcji itp.
  • Czy jest jakiś powód, dla którego ARM ' zestaw instrukcji sam w sobie byłby bardziej podatny na opatentowanie niż jakikolwiek inny procesor, którego klony są bogate? Z pewnością istnieją pewne cechy architektoniczne, które są opatentowane, ale jeśli Celem ' jest zaprojektowanie procesora, który będzie działał z istniejącymi kompilatorami. Czy sama ustawiana instrukcja stanowi problem?
  • @supercat Zwykle same instrukcje nie są zbyt mogą być opatentowane, chyba że zawierają jakieś archi rzeczy tekturowe. MIPS zrobił to ze swoim procesorem ' s, gdzie opatentował pewne instrukcje, które ładowały / przechowywały słowa, które nie są wyrównane do słów, a także niektóre rzeczy do dynamicznego przełączania między dużym i małym endianem .Zostało to zakwestionowane w sądzie, kiedy MIPS pozwał twórcę klonów MIPS i MIPS wygrał (około 2000 roku). Jednak większość patentów dotyczy kwestii architektonicznych. Możesz ' t stworzyć procesor zgodny z istniejącymi kompilatorami bez kopiowania architektury i zestawu instrukcji, niestety.
  • @LordLoh Te pytania mogą okazać się przydatne : electronics.stackexchange.com/questions/28686/… electronics.stackexchange.com/a/7051/638

Odpowiedź

ARM ma University DesignStart Program . Jako student masz dostęp tylko do podstawowych materiałów Cortex-M0. Ale jeśli jesteś naprawdę zainteresowany, zaangażuj swój wykładowca, a wtedy będziesz mieć dostęp do znacznie większej ilości materiałów projektowych (kod Verilog FPGA, IP do oceny, symulacje itp.)

Komentarze

  • Dzięki 🙂 Ja ' spróbuję poprosić mojego doradcę, aby poprosił o niektóre z nich.
  • WFIW, ta odpowiedź jest teraz nieaktualne, dostępne są zarówno Cortex-M0, jak i Cortex-M3, a niektóre części produktu są dostępne dla osób niebędących studentami / instytucjami.

Odpowiedź

Spójrz na ten rdzeń ARM w OpenCores.

Komentarze

Odpowiedź

Rdzeń ARM-M1 (prawdopodobnie najprostszy z procesory ARM) to pierwszy procesor ARM zaprojektowany specjalnie do implementacji jako procesor programowy w układach FPGA. Jest zoptymalizowany dla następujących typów FPGA :

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

ARM sam tworzy Zestaw rozwojowy Cortex-M1 dla Altera Cyclone III , chociaż kosztuje trochę za 625 USD od DigiKey . Dostajesz jednak cały adres IP ARM Cortex-M1 i licencję na rozwój (plus darmowy grant na 1000 płyt dla tych, którzy wchodzą do produkcji, całkiem fajnie).

Może być kilka opcji za samo zdobycie IP (być może mają program akademicki, ktoś inny wspomniał o programie uniwersyteckim, ale to było dla M0). Wtedy można by kupić oddzielnie płytkę programistyczną.

Tutaj jest więcej informacji o ARM Cortex-M1 na Altera .

Oto kilka informacji na temat umieszczania ARM Cortex-M1 na FPGA Actel.

W międzyczasie istnieje zainteresowanie innymi wersje ARM Cortex na FPGA; tutaj jest artykuł od kogoś, kto zaimplementował ARM Cortex-M0 na FPGA Xilinx.

Komentarze

  • Jeśli chcesz zmienić projekt, spróbuj ” poprawnie ” Maszyna 32-bitowa. Obecnie ARM odczytuje 32-bitowe instrukcje po 8 bitach naraz, co oznacza, że komputer PC zwiększa o 4 przy każdym pobraniu instrukcji.

Odpowiedź

Możesz teraz uzyskać dostęp do procesora Cortex-M3 (i rozszerzalnego podsystemu AHB / APB) poprzez program ARM DesignStart.

Opcja Eval zapewnia cel FPGA (symulacja jest obsługiwana, z zaciemnionym RTL rdzenia, wszystko inne w Verilog). Obecnie jest przeznaczony dla ARM MPS2 + FPGA, z obsługą mbed.

Wersja Pro (dostępna tylko dla firm / uniwersytetów, które mogą podpisać licencję) umożliwia produkcję i zawiera rdzeń procesora w Verilog (dotyczy to zarówno Cortex -M0 i Cortex-M3).

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *