1+ <!DOCTYPE html>
2+ < html class ="writer-html5 " lang ="en " >
3+ < head >
4+ < meta charset ="utf-8 " /> < meta name ="viewport " content ="width=device-width, initial-scale=1 " />
5+
6+ < meta name ="viewport " content ="width=device-width, initial-scale=1.0 " />
7+ < title > About OSVVM — OSVVM Documentation 2022.03 documentation</ title >
8+ < link rel ="stylesheet " href ="../_static/pygments.css " type ="text/css " />
9+ < link rel ="stylesheet " href ="../_static/css/theme.css " type ="text/css " />
10+ < link rel ="stylesheet " href ="../_static/theme_overrides.css " type ="text/css " />
11+ <!--[if lt IE 9]>
12+ <script src="../_static/js/html5shiv.min.js"></script>
13+ <![endif]-->
14+
15+ < script src ="../_static/documentation_options.js?v=ec4c5e3f "> </ script >
16+ < script src ="../_static/doctools.js?v=888ff710 "> </ script >
17+ < script src ="../_static/sphinx_highlight.js?v=dc90522c "> </ script >
18+ < script src ="../_static/js/theme.js "> </ script >
19+ < link rel ="index " title ="Index " href ="../genindex.html " />
20+ < link rel ="search " title ="Search " href ="../search.html " />
21+ < link rel ="next " title ="Getting Started with OSVVM " href ="Osvvm2GettingStarted.html " />
22+ < link rel ="prev " title ="OSVVM Table Of Contents " href ="../index.html " />
23+ </ head >
24+
25+ < body class ="wy-body-for-nav ">
26+ < div class ="wy-grid-for-nav ">
27+ < nav data-toggle ="wy-nav-shift " class ="wy-nav-side ">
28+ < div class ="wy-side-scroll ">
29+ < div class ="wy-side-nav-search " >
30+ < a href ="../index.html " class ="icon icon-home "> OSVVM Documentation
31+ </ a >
32+ < div class ="version ">
33+ 2022.03
34+ </ div >
35+ < div role ="search ">
36+ < form id ="rtd-search-form " class ="wy-form " action ="../search.html " method ="get ">
37+ < input type ="text " name ="q " placeholder ="Search docs " />
38+ < input type ="hidden " name ="check_keywords " value ="yes " />
39+ < input type ="hidden " name ="area " value ="default " />
40+ </ form >
41+ </ div >
42+ </ div > < div class ="wy-menu wy-menu-vertical " data-spy ="affix " role ="navigation " aria-label ="Navigation menu ">
43+ < p class ="caption " role ="heading "> < span class ="caption-text "> OSVVM Overview</ span > </ p >
44+ < ul class ="current ">
45+ < li class ="toctree-l1 current "> < a class ="current reference internal " href ="# "> About OSVVM</ a > </ li >
46+ < li class ="toctree-l1 "> < a class ="reference internal " href ="Osvvm2GettingStarted.html "> Getting Started with OSVVM</ a > </ li >
47+ < li class ="toctree-l1 "> < a class ="reference internal " href ="Osvvm3Reports.html "> OSVVM Reports</ a > </ li >
48+ < li class ="toctree-l1 "> < a class ="reference internal " href ="Osvvm4VerificationFramework.html "> Structured Testbench Framework</ a > </ li >
49+ < li class ="toctree-l1 "> < a class ="reference internal " href ="Osvvm5UtilityLibrary.html "> VHDL Utility Library</ a > </ li >
50+ < li class ="toctree-l1 "> < a class ="reference internal " href ="Osvvm6ScriptLibrary.html "> Scripting Library</ a > </ li >
51+ < li class ="toctree-l1 "> < a class ="reference internal " href ="Osvvm7VerificationComponentLibrary.html "> OSVVM Verification Component Library</ a > </ li >
52+ </ ul >
53+ < p class ="caption " role ="heading "> < span class ="caption-text "> Appendix</ span > </ p >
54+ < ul >
55+ < li class ="toctree-l1 "> < a class ="reference internal " href ="../genindex.html "> Index</ a > </ li >
56+ </ ul >
57+
58+ </ div >
59+ </ div >
60+ </ nav >
61+
62+ < section data-toggle ="wy-nav-shift " class ="wy-nav-content-wrap "> < nav class ="wy-nav-top " aria-label ="Mobile navigation menu " >
63+ < i data-toggle ="wy-nav-top " class ="fa fa-bars "> </ i >
64+ < a href ="../index.html "> OSVVM Documentation</ a >
65+ </ nav >
66+
67+ < div class ="wy-nav-content ">
68+ < div class ="rst-content ">
69+
70+
71+ < div role ="navigation " aria-label ="Page navigation ">
72+ < ul class ="wy-breadcrumbs ">
73+ < li > < a href ="../index.html " class ="icon icon-home "> </ a > »</ li >
74+ < li > About OSVVM</ li >
75+ < li class ="wy-breadcrumbs-aside ">
76+ < a href ="https://github.com/OSVVM/osvvm.github.io/blob/main//Overview/Osvvm1About.rst " class ="fa fa-github "> Edit on GitHub</ a >
77+ </ li >
78+ </ ul >
79+ < hr />
80+ </ div >
81+
82+ < div role ="main " class ="document " itemscope ="itemscope " itemtype ="http://schema.org/Article ">
83+ < div itemprop ="articleBody ">
84+
85+ < section id ="about-osvvm ">
86+ < h1 > About OSVVM< a class ="headerlink " href ="#about-osvvm " title ="Link to this heading "> ¶</ a > </ h1 >
87+ < a class ="reference external image-reference " href ="https://github.com/OSVVM "> < img alt ="../_images/logo_full_size.png " class ="align-center " src ="../_images/logo_full_size.png " style ="width: 500px; " /> </ a >
88+ < section id ="id1 ">
89+ < h2 > About OSVVM< a class ="headerlink " href ="#id1 " title ="Link to this heading "> ¶</ a > </ h2 >
90+ < p > OSVVM is an advanced verification methodology that
91+ defines a VHDL verification framework, verification utility library,
92+ verification component library, scripting API, and co-simulation capability
93+ that simplifies your FPGA or ASIC verification project from start to finish.
94+ Using these libraries you can create a simple, readable,
95+ and powerful testbench that will boost productivity for either
96+ low level block tests (unit tests) or complex FPGA and ASIC tests.</ p >
97+ < p > OSVVM is developed by the same VHDL experts who
98+ have helped develop VHDL standards.
99+ We have used our expert VHDL skills to create
100+ advanced verification capabilities that provide:</ p >
101+ < p > < strong > A structured transaction-based framework</ strong > </ p >
102+ < ul class ="simple ">
103+ < li > < p > Suitable for all verification tasks – from Unit/RTL to full
104+ chip/system level tests.</ p > </ li >
105+ < li > < p > Similar block diagram to SystemVerilog + UVM, except It plugs
106+ together just like RTL</ p > </ li >
107+ < li > < p > Facilitates re-use of VC and test cases through all levels of testing
108+ (RTL to Full Chip)</ p > </ li >
109+ </ ul >
110+ < p > < strong > Model Independent Transaction (MIT) Library</ strong > </ p >
111+ < ul class ="simple ">
112+ < li > < p > Defines Transaction API - procedures called by test case to build up
113+ sequences of interface operations - such as send, get, write, read</ p > </ li >
114+ < li > < p > Defines Transaction Interface - connects Verification Component to
115+ Test Sequencer.</ p > </ li >
116+ < li > < p > Used by all OSVVM defined VC</ p > </ li >
117+ </ ul >
118+ < p > < strong > Simplified Verification component (VC) development</ strong > </ p >
119+ < ul class ="simple ">
120+ < li > < p > Uses MIT library = building block level re-use.</ p > </ li >
121+ < li > < p > Makes development of a VC as simple as writing a procedure.</ p > </ li >
122+ < li > < p > No OO or fork and join - uses natural concurrency of a VHDL
123+ entity/architecture</ p > </ li >
124+ < li > < p > Any VHDL engineer can do this</ p > </ li >
125+ </ ul >
126+ < p > < strong > Readable Test cases</ strong > </ p >
127+ < ul class ="simple ">
128+ < li > < p > Simplified since all VC of a similar type implement a subset of the
129+ MIT transaction calls (send, get, …)</ p > </ li >
130+ < li > < p > Directed tests or complex, randomized tests can be written by any
131+ VHDL engineer</ p > </ li >
132+ < li > < p > Readable and reviewable by the whole team including software and
133+ system engineers.</ p > </ li >
134+ </ ul >
135+ < p > < strong > Unmatched Test Reports</ strong > </ p >
136+ < ul class ="simple ">
137+ < li > < p > Build Summary - HTML (for humans) + JUnit XML (for CI tools)</ p > </ li >
138+ < li > < p > Test Cases - HTML</ p > </ li >
139+ < li > < p > Logs - HTML + plain text</ p > </ li >
140+ < li > < p > Requirements Tracking - HTML + CSV</ p > </ li >
141+ < li > < p > Helps Find and Debug issues faster</ p > </ li >
142+ </ ul >
143+ < p > < strong > Powerful verification utilities that make VHDL a full verification
144+ language, including</ strong > </ p >
145+ < ul class ="simple ">
146+ < li > < p > Constrained Random, Functional Coverage, Scoreboards, FIFOs, Memory
147+ Models, error logging and reporting (alerts), and message filtering
148+ (logs).</ p > </ li >
149+ < li > < p > Capabilities are simple to use, concise, and work like built-in
150+ language features.</ p > </ li >
151+ </ ul >
152+ < p > < strong > Requirements Tracking</ strong > </ p >
153+ < ul class ="simple ">
154+ < li > < p > Tracked using both OSVVM’s affirmations and functional coverage</ p > </ li >
155+ < li > < p > Tracks a count of each requirement and not just a boolean type check.</ p > </ li >
156+ </ ul >
157+ < p > < strong > A Common Scripting API</ strong > </ p >
158+ < ul class ="simple ">
159+ < li > < p > Same script runs all simulators – including GHDL, NVC, Aldec
160+ Riviera-PRO and ActiveHDL, Siemens Questa and ModelSim, Synopsys VCS,
161+ Cadence Xcelium, and Xilinx XSIM.</ p > </ li >
162+ < li > < p > Is an API on top of Tcl</ p > </ li >
163+ < li > < p > Most scripts are just slightly more than a list of files</ p > </ li >
164+ < li > < p > Can run Tcl when you need it - usually no Tcl is required</ p > </ li >
165+ </ ul >
166+ < p > < strong > Free, Open Source Verification Components include</ strong > </ p >
167+ < ul class ="simple ">
168+ < li > < p > AXI Full and Lite, AxiStream, Wishbone, UART, xMII, SPI, DpRam,
169+ VideoBus.</ p > </ li >
170+ </ ul >
171+ < p > < strong > Co-simulation</ strong > </ p >
172+ < ul class ="simple ">
173+ < li > < p > Supports running software (C++) in a hardware simulation environment.</ p > </ li >
174+ < li > < p > Write test cases in C++</ p > </ li >
175+ < li > < p > Run C++ models such as instruct set simulators</ p > </ li >
176+ </ ul >
177+ < p > < strong > Architected by a long-time IEEE VHDL working group contributor</ strong > </ p >
178+ < ul class ="simple ">
179+ < li > < p > So expect better VHDL implementations.</ p > </ li >
180+ </ ul >
181+ < p > < strong > It is Free, Open Source under APACHE 2.0</ strong > </ p >
182+ < ul class ="simple ">
183+ < li > < p > Upgrades an ordinary VHDL license to a full featured verification
184+ capabilities</ p > </ li >
185+ < li > < p > < a class ="reference external " href ="https://github.com/osvvm/OsvvmLibraries "> On GitHub</ a > and IEEE Open
186+ Source.</ p > </ li >
187+ < li > < p > We accept issues and pull requests on GitHub.</ p > </ li >
188+ < li > < p > Join us.</ p > </ li >
189+ </ ul >
190+ < p > < strong > Get similar verification capabilities to SystemVerilog + UVM without needing OO.</ strong > </ p >
191+ < p > Looking to improve your VHDL verification methodology?
192+ OSVVM provides a complete solution for VHDL ASIC or FPGA verification.
193+ There is no new language to learn.
194+ It is simple, powerful, and concise.
195+ Each piece can be used separately.
196+ Hence, you can learn and adopt pieces as you need them.</ p >
197+ < p > SynthWorks has been using OSVVM for 25+ years in our
198+ training classes and consulting work.
199+ During that time, we have innovated new capabilities
200+ and evolved our existing ones to increase
201+ re-use and reduce effort and time spent.</ p >
202+ </ section >
203+ </ section >
204+
205+
206+ </ div >
207+ </ div >
208+ < footer > < div class ="rst-footer-buttons " role ="navigation " aria-label ="Footer ">
209+ < a href ="../index.html " class ="btn btn-neutral float-left " title ="OSVVM Table Of Contents " accesskey ="p " rel ="prev "> < span class ="fa fa-arrow-circle-left " aria-hidden ="true "> </ span > Previous</ a >
210+ < a href ="Osvvm2GettingStarted.html " class ="btn btn-neutral float-right " title ="Getting Started with OSVVM " accesskey ="n " rel ="next "> Next < span class ="fa fa-arrow-circle-right " aria-hidden ="true "> </ span > </ a >
211+ </ div >
212+
213+ < hr />
214+
215+ < div role ="contentinfo ">
216+ < p > © Copyright 2022, Jim Lewis Licensed under CC BY-NC-ND 4.0.</ p >
217+ </ div > Built with < a href ="http://sphinx-doc.org/ "> Sphinx</ a > using a
218+ < a href ="https://github.com/buildthedocs/sphinx.theme "> theme</ a >
219+ provided by < a href ="https://buildthedocs.github.io "> Build the Docs</ a > .
220+
221+
222+ </ footer >
223+ </ div >
224+ </ div >
225+ </ section >
226+ </ div >
227+ < script >
228+ jQuery ( function ( ) {
229+ SphinxRtdTheme . Navigation . enable ( true ) ;
230+ } ) ;
231+ </ script >
232+
233+ </ body >
234+ </ html >
0 commit comments