Temat: preferowany język
No coz, ja osobiscie wole Verilog'a, choc nie mam nic przeciwko VHDL'owi.
- VHDL ma jedna wade - jest za bardzo opisowy. Co prawda jest bardziej abstrakcyjne od Verilog'a, ale jak dla mnie troche za duzo sie pisze. Na poczatku powstal na potrzeby wojska, wiec troche mnie dziwi, ze jest taki opisowy i abstrakcyjny.
- Verilog - zostal zaprojektowany na potrzeby przemyslu, stad jego prostota. Co prawda ma duzo nalecialosci z C, ale to sprawia, ze latwiej sie go nauczyc. W przeciwinstwie do Verilog'a, SystemVerilog znowu robi sie bardzo abstrakcyjny (klasy, interfejsy, modporty, itp.), co troche zaczyna mi nie odpowiadac, ale dawno juz nie pisalem.
Co do innych jezykow:
- OVA vs. PSL - pomimo, ze OpenVera Assertions (OVA) nie jest uznanym standardem wsrod jezykow weryfikacyjnych, osobiscie podoba mi sie bardziej od PSL'a. Byc moze to tez dlatego, ze nauczylem sie go przed PSL'em.
- EDIF, SDF - no coz, pomimo, ze nie sa to trudne jezyki do zapisu i zrozumienia, nie polecam pisac ukladow "z palca" :) Te jezyki uzywane sa przez programy generujace kod do syntezy.
Co do weryfikacji ukladow za pomoca jezykow programowania:
- SystemC - zbior klas template'owych do C++, ktore umozliwiaja szybka implementacje ukladow za pomoca tego jezyka. Wraz z SPV (SimPlus Verification ) - innym nie-ustandaryzowanym zestawem bibliotek, sa jak dla mnie troche na wyrost rozbudowane. Wydaje mi sie, ze mozna bylo nieco lepiej/prosciej zaprojektowac te biblioteki.
- PLI - interfejs jezyka C do Verilog'a - latwy, prosty i przyjemny. Wystarczy wypelnic odpowiednia tablice i juz mozemy sie podpiac do ukladu.
- VPI - druga wersja interfejsu jezyka C do Verilog'a - nieco bardziej rozbudowany i posiadajacy nieco wiecej funkcji niz PLI.
- VHPI - interfejs jezyka C do VHDL'a - coz mozna powiedziec - masakra. Kiedys probowalem sie wglebic w ten interfejs, ale "wypytywanie" symulatora co chwile, z jakim sygnalem, jakiego typy, w jakim procesie, w jakiej architekturze mam do czynienia, skutecznie mnie zniechecilo.
- Handel-C - jest cos takiego, bodajze stwozone przez Denali, w tej chwili jest standardem IEEE. Jest to dosc mocno zmodyfikowany standard jezyka C, jak dla mnie za mocno zmodyfikowany.
Hm... w sumie to dosc duzo ponarzekalem.
Jesli mialbym wybrac jezyk projektowania, to wybralbym: Verilog, SystemVerilog, VHDL - w tej kolejnosci. W Verilog'u podoba mi sie prostota, VHDL'a lubie dlatego, ze nauczylem sie go jako pierwszego (sentyment). Poza tym wszystkie trzy jezyki maja wsparcie symulatorow i syntezerow.
A jesli chodzi o konstrukcje begin/end w Verilog'u: stosuje tu zasade znana z C/C++, tzn. jezeli mam do zapisania pojedyncza instrukcje w bloku np. always, wpisuje ja bez begin/end.