Skocz do zawartości
Elvis

Rdzenie ARM dla FPGA

Pomocna odpowiedź

Jak pewnie wszyscy zainteresowani FPGA wiedzą, na układzie programowalnym można bez problemu zrealizować procesor - na forum wspominaliśmy o PicoBlaze, MicroBlaze, czy Nios II. Dostępne są również układy ze sprzętowym rdzeniem ARM, najczęściej Cortex-A9 - przykładowo Zynq od Xilinx-a.

Okazuje się jednak, że na FPGA można również przetestować własny mikrokontroler. ARM oferuje rdzenie Cortex-M1, a niedługo również Cortex-M3: https://developer.arm.com/products/designstart/

W przypadku Cortex-M1 wystarczy relatwynie tania płytka Arty A7 lub S7, natomiast na bardziej rozbudowanych układach dostępne są inne rdzenie, w tym najnowsze Cortex-M23 i M33.

  • Lubię! 2

Udostępnij ten post


Link to post
Share on other sites

Cześć Elvis,

fajna sprawa, tylko wymagania sprzętowe duże 😉. Ciekawe jak będzie z przenośnością programów napisanych dla oryginalnych Cortex'ów?

Pozdrawiam

Udostępnij ten post


Link to post
Share on other sites

Nie bardzo rozumiem co masz na myśli odnośnie przenośności - jeśli wgrasz rdzeń Cortex-M3 do FPGA to będzie działał tak samo jak np. w STM32F1, dla programu nie powinno być różnicy. Cortex-M1 raczej nie występuje w mikrokontrolerach, w końcu jest dedykowany FPGA, ale programując w C raczej różnicy się nie zauważy. Natomiast można samemu skonfigurować peryferia takiego układu - w części trzeciej jest pokazane jak to zrobić: https://developer.arm.com/products/designstart/designstart-fpga

Pewnie tak samo można podpinać własne peryferia 🙂

Udostępnij ten post


Link to post
Share on other sites
(edytowany)

Cześć Elvis,

nie czytałem jeszcze opisów technicznych z podanej strony. Czy Cortex-M0 lub Cortex-M1 da się zaimplementować na "Maximatorze" (z FPGA MAX10 intela)?

BTW: używałeś może  już Quartusa Lite 18.1?

Pozdrawiam

OK, obejrzałem 1-wsze video. Lipa, że ten IP core jest tylko dla "Arty S7" Xilinxa. Nie będę specjalnie kupował "Arty S7", aby wypróbować ten design.

Mam nadzieje, że pojawią się wersje na inne płytki Xilinx'a lub Intela. Szkoda, że na razie jest to tylko na jeden rodzaj płytki (bo jest to dystrybuowane jako binarny plik konfiguracyjny, o ile dobrze zrozumiałem).

Edytowano przez FlyingDutch

Udostępnij ten post


Link to post
Share on other sites

Wydaje mi się, że MAX10 jest trochę za mały na potrzeby nawet Cortex-M1 - a wersja z Maximatora to jedna z mniejszych. Ale nie sprawdzałem, więc na 100% nie wiem. 

O ile dobrze widziałem jest wersja na Arty-S7 i Arty-A7. Natomiast Arty-A7 ma ten sam model FPGA co np. Basys - więc powinno działać. Ale nie miałem czasu tego wypróbować. Poza tym chyba dałoby się wgrać na inne płytki, tylko wymagałoby to więcej pracy.

Udostępnij ten post


Link to post
Share on other sites
15 godzin temu, Elvis napisał:

O ile dobrze widziałem jest wersja na Arty-S7 i Arty-A7. Natomiast Arty-A7 ma ten sam model FPGA co np. Basys - więc powinno działać. Ale nie miałem czasu tego wypróbować. Poza tym chyba dałoby się wgrać na inne płytki, tylko wymagałoby to więcej pracy.

Cześć Elvis,

jak wynikało z pierwszego filmu, te IP cores są dystrybuowane jako binarne pliki pamięci flash konfiguracji, więc są w nich "zaszyte" również "user constraints files" dotyczące konfiguracji peryferiów (np. diód led). Wydaje mi się, że to nie uruchomi się poprawnie na innej płytce FPGA niż dedykowane Arty. Chyba, że czegoś nie wiem, proszę wtedy o sprostowanie.

Posiadam "Digilent Cmod A7-35T" z "duzym" Artixem 7. Ale wydaje mi się, że nie da się tych IP cores odpalić na tej płytce.

Pozdrawiam

Udostępnij ten post


Link to post
Share on other sites

W tej chwili nie mam jak tego przetestować, ale z tego co widzę w dokumentacji, rdzeń Cortex-M1 powinien działać na innych płytkach. ARM dostarcza gotowe przykłady dla A7 oraz S7, ale również kody niezbędne do symulacji oraz syntezy.

"The Cortex‐M1 DesignStart FPGA-Xilinx edition package:
• Can be used with any suitable Xilinx FPGA, but the example system design only supports two
specific development boards. If you are using your own hardware and software, you only require
version 2018.2 or later of the Xilinx Vivado tool."

Pozostałe rdzenie, czyli od M0 do M7 oraz M23/33 są dostarczane w wersji zaszyfrowanej i działają tylko z dedykowanym zestawem ewaluacyjnym. Ale M1 i niedługo M3 mają być dostępne ze źródłami.

 

  • Pomogłeś! 1

Udostępnij ten post


Link to post
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.


×
×
  • Utwórz nowe...