Popularny post FlyingDutch Napisano Październik 7, 2023 Popularny post Udostępnij Napisano Październik 7, 2023 Cześć, trafiłem na kolejny wart polecenia kompletny kurs języka Verilog (w języku angielskim). Tutaj link do całej serii na Youtube: https://www.youtube.com/watch?v=33PAoJGm2Fo&list=PL_3xKnVkfI2itQhCyfnamNYSCHd2KHi4k&index=1 Pozdrawiam 4
kroszkanorber Październik 7, 2023 Udostępnij Październik 7, 2023 7 godzin temu, FlyingDutch napisał: Cześć, trafiłem na kolejny wart polecenia kompletny kurs języka Verilog (w języku angielskim). Tutaj link do całej serii na Youtube: https://www.youtube.com/watch?v=33PAoJGm2Fo&list=PL_3xKnVkfI2itQhCyfnamNYSCHd2KHi4k&index=1 Pozdrawiam Dużo materiałów na necie opisuje układy właśnie tym językiem. Język vhdl jest moim zdaniem pod względem informacji dostępnych mniej popularny. Takie mam zdanie. W związku z tym mam pytanie czy język vhdl jest gorszy pod nieznanymi mi względami od języka verilog? Czy są to tylko moje subiektywne odczucia? Kursy są wielką pomocą w zrozumieniu tematów i doceniam pracę ludzi którzy dzielą się bezinteresownie swoją wiedzą. Pozdrawiam NK 1
Popularny post FlyingDutch Październik 8, 2023 Autor tematu Popularny post Udostępnij Październik 8, 2023 (edytowany) Cześć, moim zdaniem VHDL jest pod wieloma względami lepszy niż Verilog. Wymienię kilka powodów: 1) VHDL jest "strongly typed" a Verilog jest "loosly typed". Ten fakt powoduje, że niektóre konwersje typów są w verilogu przeprowadzane automatycznie - niestety nie zawsze programujący otrzymuje w ich wyniku wartości , których się spodziewał. W VHDL konwersję typów zawsze trzeba wywołać jawnie za pomocą odpowiednich funkcji. 2) Język VHDL oferuje większą abstrakcję niż Verilog (dotyczy to także dostępnych w tym języku typów danych). 3) Najważniejsza cecha: język VHDl jest bardziej deterministyczny niż Verilog (syntetyzer częściej generuje układ, którego się spodzewa programujący). Pociąga to za sobą fakt, że VHDL jest bardziej opisowy i "programy" w VHDl są dłuższe. 4) Składnia Verilogu jest oparta na języku C a VHDL'a na Adzie (Pascalu). 5) Dla "programów" w VHDL jest łatwiej przeprowadzić formalny dowód poprawności (w sensie logiki matematycznej) 6) Verilog zawiera poziom abstrakcji dotyczący kluczy (tranzystrów CMOS) np. prymitywy "nmos" i "pmos" - VHDL nie ma tej warstwy abstrakcji. Także pod względem poziomu abstrakcji "level gates" Verilog jest bardziej rozbudowany niż VHDL. Czyli to na plus Verilog'u. 7) Wiecej nardzędzi EDA (syntetyzery, symulatory) obsługuje Verilog niż VHDL (szczególnie narzędzia "open source": Yosys, NextPNR, "Icarus Verilog", Verilator itp.) Z podanych powodów VHDL jest częściej uzywany w przemysłach: 1) kosmicznym 2) lotniczym 3) obronnym Verilog jest częściej używany w narzędziach EDA do produkcji i symulacji układów scalonych ASIC. Jeżeli mam rozpocząć nowy projekt i mam wybór to zawsze wybieram VHDL, niestety w sieci (Github) jest dużo więcej kodu dostepnego w Verilogu. Tak wiec moim zdaniem należy znać oba języki. Pozdrawiam Edytowano Październik 8, 2023 przez FlyingDutch update 3 1
kroszkanorber Październik 8, 2023 Udostępnij Październik 8, 2023 56 minut temu, FlyingDutch napisał: Jeżeli mam rozpocząć nowy projekt i mam wybór to zawsze wybieram VHDL, niestety w sieci (Github) jest dużo więcej kodu dostepnego w Verilogu. Tak wiec moim zdaniem należy znać oba języki. Dziękuję za wyjaśnienia. Opisuję układy w vhdl ponieważ nauczyłem się podstawowych składni z książki i samouczków. Stąd moje pytania. Pozdrawiam 1
Elvis Październik 8, 2023 Udostępnij Październik 8, 2023 O ile wiem Verilog nie jest już rozwijany i został niejako zastąpiony przez SystemVerilog - który nie jest aż tak popularny, ale posiada wiele cech, których w oryginale brakowało. Natomiast jak chodzi o popularność VHDL vs. Verilog w dziedzinach wymienionych przez kolegę @FlyingDutch, to na pewno Verilog jest używany w przemyśle kosmicznym i obronnym. 2
kroszkanorber Październik 8, 2023 Udostępnij Październik 8, 2023 21 minut temu, Elvis napisał: Natomiast jak chodzi o popularność VHDL vs. Verilog w dziedzinach wymienionych przez kolegę @FlyingDutch, to na pewno Verilog jest używany w przemyśle kosmicznym i obronnym. Kolega napisał, że vhdl jest częściej używany w przemyśle. Z odpowiedzi wnioskuję, że kod vhdl opisuje w bardziej złożony sposób syntezę układu. Co za tym idzie, wynik syntezy musi być dokładniejszy lub inaczej mówiąc bardziej zbliżony do zamysłu projektanta. Nie jestem programistą więc nie będę się wymadrząć. Próbuję logicznym tokiem rozumowania ogarnąć temat. Pozdrawiam 1
Elvis Październik 8, 2023 Udostępnij Październik 8, 2023 @kroszkanorber W obu językach można uzyskać efekt założony przez projektanta. Różnica jest taka, że vhdl oferuje nieco wyższy poziom abstrakcji, ale podobne mechanizmy są dostępne w SystemVerilogu. Z tego co wiem wszystko co można zrobić w Verilogu da się napisać w VHDL-u i odwrotnie. Wiele narzędzi, jak chociażby Vivado Xilinx-a pozwala na mieszanie w projekcie obu języków. Nie wiem który język jest częściej używany w przemyśle, ale jak napisałem wcześniej - znam co najmniej jedną firmę zajmującą się przemysłem kosmicznym i obronnym, gdzie używany jest Verilog zmiast VHDL 2
FlyingDutch Październik 8, 2023 Autor tematu Udostępnij Październik 8, 2023 (edytowany) 2 godziny temu, Elvis napisał: @kroszkanorber Nie wiem który język jest częściej używany w przemyśle, ale jak napisałem wcześniej - znam co najmniej jedną firmę zajmującą się przemysłem kosmicznym i obronnym, gdzie używany jest Verilog zmiast VHDL Cześć @Elvis, mógłbyś podać nazwę tej firmy. Pytam z czystej ciekawości (oczywiście jeśli nie jest to tajemnica). Z tego co wiem NASA uzywa VHDL nie Verilog. Patrz ten dokument: https://standards.nasa.gov/sites/default/files/standards/NASA/Baseline/0/2022-06-06-NASA-HDBK-4011-Approved.pdf VHDL jest jednym z zatwierdzonych standardów dla NASA. Także ESA (Europejska Agencja Kosmiczna) uzywa VHDL'a jako standardu. http://microelectronics.esa.int/vhdl/doc/UseOfVHDL.pdf http://microelectronics.esa.int/vhdl/doc/BoardSim.pdf Także Indyjski łazik marsjański jest programowany w VHDL (i dodatkowo w ADA). https://www.quora.com/What-programming-language-was-used-for-the-Indian-Mars-Orbiter-Mission-MOM-satellite Natomiast z pewnością Verilog (i Sytem Verilog) jest uzywany dużo częściej w narzędziach EDA do projektowania i weryfikacji układów scaloncyh cyfrowych. Pozdrawiam Edytowano Październik 8, 2023 przez FlyingDutch 2
kroszkanorber Październik 8, 2023 Udostępnij Październik 8, 2023 Analizując odpowiedzi domyślam się że verilog i vhdl są różniącymi się językami opisu sprzętu. Różnice polegają na tym że w procesie kontrukcji prototypu kolejnego rdzenia verilog jest właściwszy dla zastosowań syntezy "niskopoziomowej". Dla użytkownika vhdl może okazać się bardziej przyjazny w połączeniu bardziej złożonych struktur wewnątrz układu. Ogólnie bardzo ciekawy temat do nauki... Pozdrawiam 1
FlyingDutch Październik 8, 2023 Autor tematu Udostępnij Październik 8, 2023 56 minut temu, kroszkanorber napisał: Analizując odpowiedzi domyślam się że verilog i vhdl są różniącymi się językami opisu sprzętu. Różnice polegają na tym że w procesie kontrukcji prototypu kolejnego rdzenia verilog jest właściwszy dla zastosowań syntezy "niskopoziomowej". Dla użytkownika vhdl może okazać się bardziej przyjazny w połączeniu bardziej złożonych struktur wewnątrz układu. Ogólnie bardzo ciekawy temat do nauki... Pozdrawiam to co powiedział @Elvis jest prawdą: oba języki są szeroko stosowane i wzajemnie wymienne (to co można zrobić w jednym z nich jest osiagalne w drugim). Niemniej róznią się i często wybór języka jest sprawą indywidualnych preferencji projektanta. Pozdrawiam 1
Elvis Październik 8, 2023 Udostępnij Październik 8, 2023 (edytowany) @FlyingDutch Firma mała i raczej mało znana, więc chyba nie ma sensu pisać nazwy. I może coś w tym być że używają Verilog-a bo mają własne układy ASIC, a nie tylko FPGA. Z ciekawostek mogę natomiast dodać, że obecnie stosuje również programowanie w językach wysokiego poziomu. Przykładowo kod w C++ może być "skompilowany" do Veriloga, a następnie zsyntetyzowany. Nieco podobne podejście jest w przypadku Scali i tutaj również unika się pisania kodu w VHDL/Verilogu. Nie pamiętam nazwy firmy, ale jakiś czas temu widziałem ogłoszenie o pracę firmy, chyba z segmentu "defense" i właśnie w wymaganiach była znajomość bibliotek opartych na Scali. Więc takie podejście też jest pewnie używane w przemyśle. Edytowano Październik 8, 2023 przez Elvis 1
FlyingDutch Październik 8, 2023 Autor tematu Udostępnij Październik 8, 2023 14 minut temu, Elvis napisał: @FlyingDutch Z ciekawostek mogę natomiast dodać, że obecnie stosuje również programowanie w językach wysokiego poziomu. Przykładowo kod w C++ może być "skompilowany" do Veriloga, a następnie zsyntetyzowany. Nieco podobne podejście jest w przypadku Scali i tutaj również unika się pisania kodu w VHDL/Verilogu. @Elvis, język oparty na Scali to Chisel: https://en.wikipedia.org/wiki/Chisel_(programming_language) Miałem raz do czynienia z projektem w tym języku, ale nie poradziłem sobie z nim bo za mało znam Scalę. Dlateo jesli mogę to wolę wybrać projekt w Verilogu, lub VHDL'u. Bardziej przypadło mi do gustu "Vivado HLS" (High Level Synthesiis) i programy w C++ - jest to jak najbardziej używalne. Pozdrawiam
Gieneq Październik 10, 2023 Udostępnij Październik 10, 2023 Przeglądam właśnie Elektronikę Praktyczną i jest zamieszczony kurs FPGA Lattice. Widzę, że odcinki kursu pojawiają się regularnie od listopada 2022 roku. Są też w wersji online za darmo dla poprzednich miesięcy. Pewnie nie jest to jakiś bardzo zaawansowany content, ale zawsze coś: https://ep.com.pl/kursy/15423-kurs-fpga-lattice-1-wstep 2
kroszkanorber Październik 11, 2023 Udostępnij Październik 11, 2023 Dnia 8.10.2023 o 18:00, FlyingDutch napisał: to co powiedział @Elvis jest prawdą: oba języki są szeroko stosowane i wzajemnie wymienne (to co można zrobić w jednym z nich jest osiagalne w drugim). Niemniej róznią się i często wybór języka jest sprawą indywidualnych preferencji projektanta. Pozdrawiam A jednak moje subiektywne odczucia nie są błędne. Poszperałem w necie i znalazłem podobne odpowiedzi do mojej. Języki vhdl i verilog się różnią i zastosowanie jednego z nich jest uzasadnione strukturą którą opisujemy wewnątrz układu a nie swoim widzi mi się... Dlatego warto znać oba języki... Niemniej można używać verilog i vhdl ponieważ kod wynikowy jest ten sam, ale czy na pewno? To jest jeszcze do sprawdzenia dla bardziej ambitnych. Pozdrawiam 1
Pomocna odpowiedź
Bądź aktywny - zaloguj się lub utwórz konto!
Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony
Utwórz konto w ~20 sekund!
Zarejestruj nowe konto, to proste!
Zarejestruj się »Zaloguj się
Posiadasz własne konto? Użyj go!
Zaloguj się »