Maciej
G.
Projektant /
Programista, Famor
S.A.
Temat: Czy ktoś "portuje" biblioteki z C/C++ na VHDL/Verilog
Witam ponownie,dzisiaj szukałem możliwości podłączenia małego wyświetlacza 1,3 cala OLED do układu FPGA i spotkało mnie zdziwienie. Omówię to na przykładzie tego modelu wyświetlacza:
https://botland.com.pl/wyswietlacze-oled/4439-wyswietla...
Tu link do strony producenta:
https://www.waveshare.com/1.3inch-oled-a.htm
Wyświetlacz oparty jest na sterowniku SH1106 i bardzo łatwo go podłączyć do dowolnego popularnego mikro-kontrolera (Arduino, STM32, Nucleo , ESP8266, RPI itp.). Wyświetlacz można podłączyć poprzez 3-wire lub 4-wire SPI i I2C i do każdego popularnego mikro-kontrolera znajdziemy gotową bibliotekę do jego obsługi w języku C/C++.
Bardzo się zdziwiłem, gdy nie znalazłem żadnego gotowego rozwiązania do podłączenia tego popularnego wyświetlacza do układów FPGA. Co gorsza nie znalazłem również "gotowca" dla innych popularnych wyświetlaczy LCD.
Na opencores.org są razem 2 projekty i to jeszcze do obsługi starszych modeli wyświetlaczy LCD o interfejsie równoległym.
W związku z tym mam pytanie:
Gdybym chciał podłączyć ten konkretny wyświetlacz muszę wykonać dwie fazy:
1) Zaimplementować w układzie FPGA komunikację po SPI lub I2C z układem kontrolera wyświetlacza OLED (SH1106)
2) Przeportować bibliotekę w języku C++ (np. do Arduino) na VHDL/Verilog
Moje pytanie brzmi jak się do tego zabrać?
Domyślam się że należy stworzyć entity(może bibliotekę) z procedurami i/lub funkcjami języka VHDL odwzorowującymi metody z biblioteki C++ (zamieniając typy i kod języka C++ na typy i kod VHDL), a potem w projekcie VHDL wywoływać te funkcje lub procedury?
Może ktoś może polecić jakieś linki w sieci jak to się robi? Czy portowaliście już jakiś kod z języka C/C++ na VHDL i jak się to zakończyło?
Pozdrawiam