Implemantacja algorytmów w FPGA

Apr 28, 2008 8 Replies

Witam Mam pyatnie odnośnie implementacji różnego rodzaju algorytmów w układach FPGA. Chciałbym zbudować robota w oparciu o układ Spartan3. W jaki sposób zaimplementować tam układ generujący różne rodzaje chodu? W C opisuje się zadanie odwrotne konematyki (czy jakoś tak) a w FPGA? Czy to trzeba wykonać w oparciu o przerzuyniki, liczniki itp? W literaturze opisywane są poszczególne bloki funkcjonalen jak właśnie róznego rodzaju liczniki, przerzutniki, dekodery ale brak jest jakiś przykładów pokazujących jak połaczyć wszytsko w całość. Jak w układzie zaimplementować RS, USB, magistralę I2C. Jak poszczególne bloki ze soba połaczyć sygnałami sterującymi. Szukałaem trochę na gogle ale na razie nić nie znalazłem. Niektórzy projektanci robotów (tzn na uniwersytetach) budujący różnego rodzaju roboty pełzające, kroczęce itd wykorzystują możliowść rekonfiguracji układu w trakcie działania (np. dostosowywanie do aktualnie istniejącej liczby segmentów w robotach pełzających lub określonej ich kolejnośc). jak coś takiego zrobić? czy programowanie FPGA opiera sięprzedewszystkim na cyfrówce? czy żeby zaimplementować jakiś algorytm trzeba go najpierw "opisać" w postaci bloków logicznych. moze ktoś mi coś więcej na ten temap napisać, lub podać jakieś linki. czy są jakieś ksiązki gdzie poza opisem w VHDLu samych bloków są pokazane sposoby łaczenia ich w bardziej zaawansowane układy (mam książkę FPGA w przykładach z BTC i układy programowalne też z BTC) pozdrawiam RoBert


Zadanie jest raczej z gatunku programowych - tzn trzeba duza funkcjonalnosc, wiele linii programu .. i to sie przeklada na skomplikowany uklad elektroniczny.

Sugeruje jednak dolozyc do ukladu mikroprocesor, pamiec, a w FPGA wpakowac prostsze funkcje wymagajace wiekszej predkosci dzialania.

Niby mozna jeszcze FPGA skonfigurowac jako procesor [NIOS], ale na moj gust to bardziej sztuka dla sztuki.

Obliczenia kinematyki to raczej sumatory, uklady mnozace, rejestry na wszystkie zmienne - i ewentualnie do tego liczniki sterujace.

A to akurat w sumie proste przerzutniki i liczniki :-)

Z tym troche gorzej - choc w sumie tez przerzutniki i liczniki. Na poczatek

formatting link
Niby mikroprocesor, ale mozna przeczytac o co chodzi.

Najpierw zacznij od podstaw.

Pomijajac specyficzny przypadek zamiany FPGA w procesor, to jak najbardziej tak. FPGA to taki zestaw bramek i przerzutnikow, ktore mozna dosc dowolnie laczyc.

A nie ma tam pod koniec bardziej skomplikowanych przykladow ?

J.

J.F. napisał(a): [ciap]

ale zdaje się mowa o Spartanie. za free jest picoBlaze i do RS/I2C wystarczy a i zajmuje niewiele.

Andrzej kamieniecki

Mam pyatnie odnośnie implementacji różnego rodzaju algorytmów w układach FPGA. Chciałbym zbudować robota w oparciu o układ Spartan3. W jaki sposób zaimplementować tam układ generujący różne rodzaje chodu? W C opisuje się zadanie odwrotne konematyki (czy jakoś tak) a w FPGA?

IMHO troche bez sensu w przypadku robotow nie potrzebujesz rownoleglego przetwarzania sygnalow z olbrzymimi szybkosciami, on-line duzo lepiej do tego bedzie nadawal sie DSP czy inny szybki procesor, np ARM. Szczegolnie pod wzgledem prostoty i nakladu czasu przy implementacji algorytmow. Mozna wesprzec sei FPGA do realizacji pewnych czesci sprzetowych, np obslugi enkoderowm ale rzezbienie na tym pelnego algorytmu nie ma szczegolnego uzasadnienia, poza sztuka dla sztuki lub przyczynami edukacyjnymi.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required