Wpis z mikrobloga

#elektronika #vhdl #fpga #ise

Klepię sobie sumator, zrobiłem na dobry początek 1 bitowy (yay!) i teraz chciałbym zrobić na więcej bitów. I jedna rzecz mnie zastanawia.

Mogę klepać kod VHDL dla każdego stopnia sumatora i gdybym chciał 64 bit to musiałbym 64 razy przepisać (w praktyce kopiuj wklej, ale pomijamy).

A nie da się tego w jakiś sposób "usprytnić"? Stopnie sumatora są ze sobą połączone w ściśle określony sposób. Nie da się zrobić jednego stopnia, "zamknąć" go w obudowie i po prostu w jakiejś pętli kopiować te moduły i łączyć ze sobą uzyskując sumator n-bitowy?
  • 15
  • Odpowiedz
@rzet: Na FPGA możesz zrobić sobie cokolwiek w uproszczonej wersji. Natomiast to jest fajna metoda na poznanie jak działa sprzęt od środka (aczkolwiek kod VHDL a to jak to jest fizycznie zrobione to jest niebo a ziemia w poziomie komplikacji). Więc jak tylko się jakoś ogarnę z podstawami, to będę próbował jakiś łopatologiczny procesor w tym zrobić z paroma komendami Asemblera.
  • Odpowiedz
@Khaine: nie robiłem nigdy fpga, ale nadzorowałem projekty z dużym wykorzystaniem FPGA i jeśli była jakaś skomplikowana obróbka danych to raczej był też procesor DSP.

Z mojego doświadczenia FPGA było używane do rzeczy "prostych", przewidywalnych i powtarzanych przez długie okresy czasu -Finite State Machine.

Używaliśmy FPGA, bo procesory są "zbyt skomplikowane" tj. coś może się tam popsuć, a nie potrzeba było dużej mocy. I te motto "działa raz, działa zawsze" (
  • Odpowiedz
@rzet: Ogółem orientujesz się jak jest z pracą w tym? Bo programowanie wysokiego poziomu to mnie tak zawsze raczej średnio jarało. Obiektowość jakoś mi nie leży. Pewnie dałbym sobie z tym radę, ale to nie jest to raczej, bo nie mam bladego pojęcia co ta maszyna robi i jak jest to wszystko skonstruowane w praktyce.

Wolę mikrokontrolery w C albo Asemblerze, FPGA, ewentualnie jakieś PLC (aczkolwiek nie miałem do czynienia). Ogółem
  • Odpowiedz
Ogółem orientujesz się jak jest z pracą w tym?


@Khaine: Niemcy i UK zawsze szukają, przy czym UK raczej płaci mało.

Przetwarzanie obrazu było zawsze wielką sztuką, dlatego filmiki z rakiet SpaceX mają tak słaby obraz ;)

Może naucz się prostej obróbki danych z jednej magistrali w drugą, w sumie ja z fpga pracowałem tylko przy samolotach, rakietach, czołgach i okrętach podwodnych a to raczej bardzo niszowe ;)
  • Odpowiedz
@rzet: @Khaine: w VHDLu są zagadnienia typu generic, które są w idei podobne do template'ów w C++. Nie ma problemu w stworzeniu bloczka generycznego, który się wygeneruje do dowolnej długości sumatora.

http://www.alvie.com/zpuino/vhdl4.html

A template można porównać do "kodowania" na poziomie wykonywania zaprogramowanego "kopiuj wklej" z podmienianiem odpowiednich wartości jeszcze przed kompilacją/syntezą.

https://pl.wikipedia.org/wiki/Metaprogramowanie

Mając odpowiednią bazę takich generycznych bloczków ludzie tworzą nawet całe procesory (własne lub np. zgodne z ARM), koparki
  • Odpowiedz
@rzet: tak IP to nazwa dla takiego bloczka, który możne też składać się z bloczków :> Jedne mogą być udostępnione jako zamknięte, inne jako otwarto-źródłowe. Co by nie było to i tak są one napisane w jakimś języku opisu sprzętowego i nie ma tam magii.
  • Odpowiedz