Witam.
Zastanawiam się nad pewnym rozwiązaniem. Ogólnie mam uC który musi obrabiać pewne sygnaly cyfrowe na granicy możliwości sprzetowych (predkość podejmowania decyzji). Jako ze większośc z tych decyzji opiera się o prostą logikę kombinatoryczną, sporadycznie wzbogaconą o "przerzutnik" w algorytmie tak sobie myślę nad małym FPGA[1] konfigurowanym/programowanym przez uC. Kluczowe tutaj jest konfigurowanie run-time (zależy od wybranego algorytmu przez operatora). Przełaczanie pomiedzy różnymi "programami" w FPGA może być powolne, istota jest tutaj możliwośc reprogramowania przez sam procesor a nie szybkiego programowania.
Niestety musze znac odpowiedzi na pare prostych pytań zanim zaczne w ogóle nad tym mysleć.
a) czy proceosory (ogólnie) z wbudowanym FPGA pozwalają na reprogramowanie tego FPGA z poziomu programu ? Jesli tak, to czy reprogramowanie odbywa się we flash (martwie sie o ilość cykli).
b) czy operacja zamiany logiki na zawartośc flash/ram FPGA wymaga stosowania skomplikowanych algorytmów czy moze istnieje sensowny sposób przekształcenia układu kombinatorycznego zapisanego za pomoca + * / na wsad do FPGA ?
c) gdzie moge poczytać o samym procesie syntezy ukladu opisanego kombinatorycznie + ewentualne przerzutniki do wsadu FPGA? Wystarczy bez szczegółów, nie na tym poziomie o tym myślę. Iteresuje mnie złożoność tego projektu - nawet tylko dla jednego typu układu. Szczególnie czy taka uproszczona synteza jest możliwa w małej ilości RAM cpu.
d) Czy FPGA może przeprogramowac swój fragment? Zastanawiam się nad możlwością wsadzenia do FPGA całości (uC + kawałek logiki) i zmianą konfiguracji w run-time - czy to możliwe?
[1] "FPGA" to słowo które opisuje dowolna technologie ukladów programowalnych, niekoniecznie FPGA wlasnie. Sam nie wiem co to być powinno, na razie rozglądam sie ogólnie.