TWiki
>
P1076/Ballots Web
>
Vhdl2019CollectedRequirements
>
RandomStimulus
(2020-02-17,
JimLewis
)
(raw view)
E
dit
A
ttach
---+ Random Stimulus Generation %TOC% ---++ Proposal Information * Who Updates: Main.JimLewis, ... * Date Proposed: 2011-07-16 * Date Last Updated: 2012-11-29 * Priority: * Complexity: * Focus: Testbench ---++ Requirement Summary & Rationale Randomization Stimulus Generation. | *Item* | *Description* | *Tracking / Proposal* | *Reviewed On* | *Supporters Priority* | | | [[http://www.eda.org/vhdl-200x/vhdl-200x-tbv/vhdl-200x-tbv.pdf][TBV Proposals]] | | | | | TBV 14 | Random Value Generation with optional and dynamic Weighting | [[http://www.eda.org/vhdl-200x/vhdl-200x-tbv/vhdl-200x-tbv.pdf][TBV Proposals]] | | | | TBV 15 | Random Object Initialization | [[http://www.eda.org/vhdl-200x/vhdl-200x-tbv/vhdl-200x-tbv.pdf][TBV Proposals]] | | | | TBV 16 | Random 2 state value resolution in place of X generation | [[http://www.eda.org/vhdl-200x/vhdl-200x-tbv/vhdl-200x-tbv.pdf][TBV Proposals]] | | | | TBV 17 | Random choice selection with optional and dynamic weighting | [[http://www.eda.org/vhdl-200x/vhdl-200x-tbv/vhdl-200x-tbv.pdf][TBV Proposals]] | | | | SAB 3 | Random Sequences of Stimulus | [[%ATTACHURL%/Accellera_RequirementsStatus_19May2006.xls][Accellera VHDL-2008 List - excel]] | | | | SAB 4 | Random Selection of Scenario | [[%ATTACHURL%/Accellera_RequirementsStatus_19May2006.xls][Accellera VHDL-2008 List - excel]] | | | Stable randomization requires separate seeds. ---++ Arguments AGAINST * Complexity * Timeliness since SystemVerilog, 'e', ... already have solutions * Constrained random stimulus has coverage closure issues * Industry is already moving past language based constrained random solutions * ---++ Approach Overview Randomized stimulus is an important feature that requires an immediate solution. The Open Source VHDL Verification Methodology (OSVVM) project has implemented a package, RandomPkg, that provides some basic randomization capability. When combined with code, this capability can provide a reasonable quality randomization. The OSVVM package does not have a constraint solver, so there are some limitiations when multiple separate constraints need to be solved together. As a result, it is prudent to consider what should be done to improve the quality of the randomization. Options include: provide a solution with a constraint solver or pursue and supplement OSVVM's "Intelligent Coverage" [[FunctionalCoverage][See Functional Coverage]]. While creating a solution with a constraint solver will give VHDL parity with SystemVerilog and 'e', it will leave us with the same problems. Best case though, a constrained random approach will require O( N * Log N) iterations to randomly generate N test cases. This would be a costly approach alternative in terms of implementation costs. Industry leaders have suggested that Intelligent Testbenches are the future. OSVVM's "Intelligent Coverage" methodology provides an Intelligent testbench solution. We need to investigate if this is sufficient, if language changes will make it sufficient, or if we need a constraint solver to handle some cases. [[http://www.osvvm.org][The OSVVM packages are available here.]] ---++ Is Intelligent Coverage Enough? Intelligent coverage methodology handles mapping input coverage to input stimulus real well. The question is will it handle mapping internal or output coverage to input stimulus? ---++ Package based Constraint Solver? For expediency, can we leverage an existing solver and supplement the package based approach? How do we pass constraints to a solver? Are language enhancements needed to facilitate this? How do we blend this in with Intelligent Coverage? ---++ Language based randomization For some ideas, this is the [[http://www.eda.org/vasg/docs/Randomization.pdf][old randomization document]] written during the VHDL-2008 effort. It is old and out of date with respect to the current randomization packages. [[http://www.eda.org/twiki/bin/view.cgi/P1076/CoverageRandomization][Old Coverage and Randomization doc]] ---++ Use Models For now, see the documentation that accompanies the open-source packages. ---++ General Comments ---++ Supporters _Add your signature here to indicate your support for the proposal_ ---++ Document History -- Main.JimLewis - 2012-11-30: Split FC from FC+random <a target="_top" href="CoverageRandomization">Old combined FC and Randomization</a> <a name="topic-actions"></a>
E
dit
|
A
ttach
|
P
rint version
|
H
istory
: r3
<
r2
<
r1
|
B
acklinks
|
V
iew topic
|
Ra
w
edit
|
M
ore topic actions
Topic revision: r3 - 2020-02-17 - 15:34:57 -
JimLewis
P1076/Ballots
Log In
or
Register
P1076/Ballots Web
Create New Topic
Index
Search
Changes
Notifications
RSS Feed
Statistics
Preferences
Webs
Main
P1076
Ballots
LCS2016_080
P10761
P1647
P16661
P1685
P1734
P1735
P1778
P1800
P1801
Sandbox
TWiki
VIP
VerilogAMS
Copyright © 2008-2025 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback