Skip to content

Commit dd77b48

Browse files
committed
Updated overview description
1 parent a079612 commit dd77b48

File tree

2 files changed

+91
-59
lines changed

2 files changed

+91
-59
lines changed

Overview/Osvvm1About.rst

Lines changed: 90 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -22,17 +22,96 @@ have helped develop VHDL standards.
2222
We have used our expert VHDL skills to create
2323
advanced verification capabilities that provide:
2424

25-
- A structured transaction-based framework using verification components that is suitable for all verification tasks - from Unit/RTL to full chip/system level testing.
26-
- Test cases and verification components that can be written any VHDL Engineer.
27-
- Test cases that are readable and reviewable by the whole team including software and system engineers.
28-
- Unmatched reuse through the entire verification process.
29-
- Unmatched test reporting with HTML based test suite reports, test case reports, and logs that facilitate debug and test artifact collection.
30-
- Support for continuous integration (CI/CD) with JUnit XML test suite reporting.
31-
- Powerful and concise verification capabilities including Constrained Random, Functional Coverage, Scoreboards, FIFOs, Memory Models, error logging and reporting, and message filtering that are simple to use and work like built-in language features.
32-
- A common scripting API to run all simulators - including GHDL, NVC, Aldec Riviera-PRO and ActiveHDL, Siemens Questa and ModelSim, Synopsys VCS, and Cadence Xcelium.
33-
- A Co-simulation capability that supports running software (C++) in a hardware simulation environment.
34-
- A Model Independent Transaction (MIT) library that defines a transaction API (procedures such as read, write, send, get, …) and transaction interface (a record) that simplifies writing verification components and test cases.
35-
- A rival to the verification capabilities of SystemVerilog + UVM.
25+
**A structured transaction-based framework**
26+
27+
- Suitable for all verification tasks – from Unit/RTL to full
28+
chip/system level tests.
29+
- Similar block diagram to SystemVerilog + UVM, except It plugs
30+
together just like RTL
31+
- Facilitates re-use of VC and test cases through all levels of testing
32+
(RTL to Full Chip)
33+
34+
**Model Independent Transaction (MIT) Library**
35+
36+
- Defines Transaction API - procedures called by test case to build up
37+
sequences of interface operations - such as send, get, write, read
38+
- Defines Transaction Interface - connects Verification Component to
39+
Test Sequencer.
40+
- Used by all OSVVM defined VC
41+
42+
**Simplified Verification component (VC) development**
43+
44+
- Uses MIT library = building block level re-use.
45+
- Makes development of a VC as simple as writing a procedure.
46+
- No OO or fork and join - uses natural concurrency of a VHDL
47+
entity/architecture
48+
- Any VHDL engineer can do this
49+
50+
**Readable Test cases**
51+
52+
- Simplified since all VC of a similar type implement a subset of the
53+
MIT transaction calls (send, get, …)
54+
- Directed tests or complex, randomized tests can be written by any
55+
VHDL engineer
56+
- Readable and reviewable by the whole team including software and
57+
system engineers.
58+
59+
**Unmatched Test Reports**
60+
61+
- Build Summary - HTML (for humans) + JUnit XML (for CI tools)
62+
- Test Cases - HTML
63+
- Logs - HTML + plain text
64+
- Requirements Tracking - HTML + CSV
65+
- Helps Find and Debug issues faster
66+
67+
**Powerful verification utilities that make VHDL a full verification
68+
language, including**
69+
70+
- Constrained Random, Functional Coverage, Scoreboards, FIFOs, Memory
71+
Models, error logging and reporting (alerts), and message filtering
72+
(logs).
73+
- Capabilities are simple to use, concise, and work like built-in
74+
language features.
75+
76+
**Requirements Tracking**
77+
78+
- Tracked using both OSVVM's affirmations and functional coverage
79+
- Tracks a count of each requirement and not just a boolean type check.
80+
81+
**A Common Scripting API**
82+
83+
- Same script runs all simulators – including GHDL, NVC, Aldec
84+
Riviera-PRO and ActiveHDL, Siemens Questa and ModelSim, Synopsys VCS,
85+
Cadence Xcelium, and Xilinx XSIM.
86+
- Is an API on top of Tcl
87+
- Most scripts are just slightly more than a list of files
88+
- Can run Tcl when you need it - usually no Tcl is required
89+
90+
**Free, Open Source Verification Components include**
91+
92+
- AXI Full and Lite, AxiStream, Wishbone, UART, xMII, SPI, DpRam,
93+
VideoBus.
94+
95+
**Co-simulation**
96+
97+
- Supports running software (C++) in a hardware simulation environment.
98+
- Write test cases in C++
99+
- Run C++ models such as instruct set simulators
100+
101+
**Architected by a long-time IEEE VHDL working group contributor**
102+
103+
- So expect better VHDL implementations.
104+
105+
**It is Free, Open Source under APACHE 2.0**
106+
107+
- Upgrades an ordinary VHDL license to a full featured verification
108+
capabilities
109+
- `On GitHub <https://github.com/osvvm/OsvvmLibraries>`__ and IEEE Open
110+
Source.
111+
- We accept issues and pull requests on GitHub.
112+
- Join us.
113+
114+
**Get similar verification capabilities to SystemVerilog + UVM without needing OO.**
36115

37116
Looking to improve your VHDL verification methodology?
38117
OSVVM provides a complete solution for VHDL ASIC or FPGA verification.
@@ -41,53 +120,6 @@ It is simple, powerful, and concise.
41120
Each piece can be used separately.
42121
Hence, you can learn and adopt pieces as you need them.
43122

44-
Important benefits of OSVVM:
45-
46-
* Each piece is independent
47-
* Add them to your current VHDL testbench incrementally.
48-
49-
* Verification Framework (aka. Structured Testbench Framework) that
50-
* Is based on transactions and verification components - just like SystemVerilog and SystemC
51-
* Is simple enough to use on small blocks - unlike SystemVerilog
52-
* Is powerful enough to use on large, complex FPGAs and ASICs - like SystemVerilog
53-
* Is so simple that we don’t need a “Lite” or “Easy” approach - unlike SystemVerilog
54-
* Uses transaction calls to write test cases which accelerates their development and simplifies readability.
55-
* Defines a pattern and utilities for verification component (VC) development
56-
* Defines a pattern and utilities for using VHDL records as an interface to connect testbench components
57-
* Defines a common set of Model Independent Transactions (MIT) that can be used for any address bus or streaming interface.
58-
* Facilitates reuse between RTL, Core, and System tests by using the same framework and verification components
59-
* Makes test cases readable by RTL, verification, software, and system engineers
60-
61-
* Verification utility library that
62-
* Simplifies Self-checking, Error handling, and Message Filtering
63-
* Implements Constrained Random, Functional Coverage, Scoreboards, FIFOs, Memory Models
64-
* Is simple to use and works like built-in language features
65-
66-
* Unmatched Test reporting
67-
* JUnit XML for use with continuous integration (CI/CD) tools.
68-
* HTML Build Summary Report for reporting test suite level information
69-
* HTML Test Case Detailed report for each test case.
70-
* HTML based Alert, Functional Coverage, and Scoreboard Reports
71-
* HTML based test transcript/log files
72-
* Find and debug issues faster
73-
74-
* Verification component library
75-
* Free open source verification components for AXI4 Full, AXI4 Lite, AXI Stream, UART, and DPRAM
76-
* More in progress
77-
78-
* One Script to Run Simulators
79-
* Same script supports GHDL, Aldec Riviera-PRO and ActiveHDL, Siemens QuestaSim and ModelSim, Synopsys VCS, and Cadence Xcelium
80-
81-
* Co-simulation
82-
* Supports running software (C++) in a hardware simulation environment
83-
* Write test cases in C++
84-
* Run C++ models such as instruction set simulators
85-
86-
* Tests and verification components can be written by any VHDL Engineer
87-
* While on a project it is good to separate design and verification, our engineering team members should be able to do either.
88-
89-
* It is free open source
90-
* It upgrades an ordinary VHDL license with full featured verification capabilities.
91123

92124
SynthWorks has been using OSVVM for 25+ years in our
93125
training classes and consulting work.

Overview/Osvvm3Reports.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ As you examine the reports also read the text below as it highlights important a
2828
- Link
2929
* - Run of OsvvmLibraries/RunAllTestsWithCoverage.pro
3030
- `OsvvmLibraries_RunAllTestsWithCoverage.html <https://osvvm.github.io/_static/riviera/OsvvmLibraries_RunAllTestsWithCoverage.html>`__
31-
* - Run of OsvvmLibraries/RunErrorTestsWithCoverage.pro which has test case errors
31+
* - Test Case with failures. How long does it take you to find which test cases are failing? Also note you can find the failures by looking at the HTML Simulate Transcript (log).
3232
- `OsvvmLibraries_RunErrorTestsWithCoverage.html <https://osvvm.github.io/_static/questa/OsvvmLibraries_RunErrorTestsWithCoverage.html>`__
3333
* - Run of Coverage on Public and Private OSVVM Test Suites
3434
- `sim_RunAllTestsWithCoverage.html <https://synthworks.com/papers/riviera/sim_RunAllTestsWithCov.html>`__

0 commit comments

Comments
 (0)