Michał Szulc

Michał Szulc Active Safety Senior
Algorithm
Development Engineer

Temat: Biblioteki Open Source VHDL Verification Methodology i...

Witam!

Mało osób słyszało o pojawieniu się tej biblioteki: Open Source VHDL Verification Methodology. Myślę, że ta informacja może się przydać zwłaszcza tym osobom, które nie mają dostępu do zaawansowanych narzędzi umożliwiających np. symulację typu mixed-language. W przeciwieństwie do powszechnej opinii o wymieralności VHDLa sądzę, że nie jest tak źle, ale faktycznie liczba dostępnych bibliotek wspomagających weryfikację dla VHDLa jakaś specjalnie powalająca nie jest. Tym bardziej godna pochwały jest ta inicjatywa. Ja używam tej biblioteki w projekcie - na razie z niezłym skutkiem.

U wielu kolegów zdziwienie budzi także istnienie tej biblioteki [UVM (Standard Universal Verification Methodology)]. Co prawda liczba zaimplementowanych "assertion checkers" dla języka VHDL imponująca nie jest, ale lepsze to niż nic. Ponownie - bibliotekę tę w pewnym ograniczonym zakresie wykorzystuję w projektach.

Wiem, że za chwilę pojawią się pewnie posty nt. SystemVerilog'a i jego roli w weryfikacji. Generalnie - zgadzam się z nimi, ale istnieją zastosowania, w których jezyk VHDL z różnych powodów (np. wymogi formalne) ciągle jest *jedynym* wyborem. Wtedy takie biblioteki jak te przedstawione wyżej mogą się przydać.

konto usunięte

Temat: Biblioteki Open Source VHDL Verification Methodology i...

Michał Szulc:
Witam!

Cześć,

tytułem sprostowania....
U wielu kolegów zdziwienie budzi także istnienie tej biblioteki [UVM (Standard Universal Verification Methodology)]. Co prawda liczba zaimplementowanych "assertion checkers" dla języka VHDL imponująca nie jest, ale lepsze to niż nic. Ponownie - bibliotekę tę w pewnym ograniczonym zakresie wykorzystuję w projektach.

Chyba mylisz OVL z UVM. Link który podałeś prowadzi do biblioteki OVL (Open Verification Language), natomiast UVM (Universal Verification Methodology - bez Standard na początku) można znaleźć tutaj: UVM
Różnica w ostatnich słowach a więc i literach akronimów (Library vs Methodology) nie jest przypadkowa. OVL to biblioteka checkerów zaimplementowanych na cztery różne sposoby, natomiast UVM to cała metodologia tworzenia środowisk weryfikacyjnych, wsparta biblioteką dostępną tylko w wersji SystemVerilog.

Wersje OVL:
- PSL05 - asercje w PSL 2005 (Property Specification Language - IEEE 1850)
- SVA - asercje w SVA 2005 (SystemVerilog Assertions IEEE 1800)
- VHDL93 - checkery w VHDL 1993 (IEEE 1076)
- Verilog95 - checkery w Verilog 1995 (IEEE 1364).
Zgadza się, że nie wszystkie są w każdej wersji, a w wersji VHDL jest mało spośród wszystkich. Możliwe że to się zmieni jeśli biblioteka będzie rozwijana, bo o ile się orientuję LRM VHDL-a 2008 definiuje PSL jako część VHDL.
Niezależnie od użytej wersji, checkery OVL to moduły (lub jednostki entity w terminologii VHDL) instancjonowane w kodzie testbencha, których funkcjonalności są realizowane przez asercje (PSL,SVA) lub zwykłą logikę (Verilog, VHDL).

Natomiast UVM jest najnowszą wersją metodologii której początki sięgają, o ile dobrze kojarzę, AVM (Advanced VM) Mentora. Potem dołączył się Cadence i powstał OVM (Open VM), który stał się dość popularny, tym bardziej że był wspierany mocno przez 2 z 4 liczących się graczy EDA. Synopsys miał swoją metodologię VMM, ale w końcu dołączył do Mentora i Cadence'a i doszło do połączenia OVM i VMM w UVM. IMO ta metodologia ma szansę zdominować rynek, bo będzie wspierana (właściwie już jest) przez największych dostawców softu do weryfikacji. Oczywiście biblioteka jako taka (w wersji dostępnej publicznie) jest wspierana przez każde środowisko wspierające SystemVerilog, jednak wspomniane firmy dostarczają ze swoimi narzędziami wersje zaadoptowane umożliwiające dostęp do jej elementów w sposób specyficzny dla danego narzędzia (podobnie jak to ma miejsce z SystemC).

Pozdrawiam
Michał Szulc

Michał Szulc Active Safety Senior
Algorithm
Development Engineer

Temat: Biblioteki Open Source VHDL Verification Methodology i...

Witam,

Przyznaję, że nie wiem skąd w moim wpisie wzięła się wzmianka o UVM (fragment w nawiasach kwadratowych) - jest to oczywista (przynajmniej dla mnie :) pomyłka. Być może jest ona skutkiem dość nietypowej pory umieszczenia wpisu - w końcu to była godzina 02:20 :)

Oczywiście nie chodziło mi o porównanie (jak również o pomylenie:) UVM z OVL, ale przyznaję, że w/w pomyłka mogła nasunąć takie skojarzenia.

UVM - jako metodologia - w swych generalnych założeniach myślę, że dobrze jest charakteryzowana następującym zdaniem:

"UVM test benches are complete verification environments composed of reusable verification components, and used as part of an overarching ***methodology of constrained random, coverage-driven, verification.*** "

(http://doulos.om),

I do tego fragmentu między gwiazdkami chciałem się w moim wpisie odnieść wspominając o bibliotekach osvvm i ovl. Otóż najważniejsza jest metodologia, natomiast wybór konkretnego języka to tylko wybór drogi implementacji metodologii. Chcąc zastosować "methodology of constrained random, coverage-driven, verification" niekoniecznie jesteśmy "zmuszeni" do wykorzystania SystemVerilog'a. Możemy to samo osiągnąć stosując VHDL'a, a wymienione biblioteki - zwłaszcza osvvm - dostarczają nam po prostu pewnych mechanizmów, które znacząco ułatwiają to zadanie.

Z uwagi na fakt, iż znajomość tychże bibliotek nie jest zbyt duża (przynajmniej tak wynika z mojego doświadczenia) popełniłem wspomniany wpis wspominając o nich i mając nadzieję, że może się to komuś przydać w sytuacji, gdy stanie przed zadaniem implementacji środowiska weryfikacji funkcjonalnej dużego projektu *wyłącznie* w języku VHDL. Abstrahuję tutaj kompletnie od powodów ograniczenia wyłącznie do języka VHDL.

Pozdrawiam

P.S.
Na przyszłość będę bardziej uważać pisząc coś po godz. 00:00 :)

konto usunięte

Temat: Biblioteki Open Source VHDL Verification Methodology i...

Gdyby ktoś był zainteresowany tym tematem:

http://www.doulos.com/content/events/adv_vhdl_verifica...
Jim Lewis

Jim Lewis Synthworks Design
Inc.

Temat: Biblioteki Open Source VHDL Verification Methodology i...

Zobacz także: http://osvvm.org i
http://www.synthworks.com/blog/osvvm/

SynthWorks, deweloper OSVVM, zapewnia również szkolenie na OSVVM.Ten post został edytowany przez Autora dnia 17.01.14 o godzinie 23:44



Wyślij zaproszenie do