Requirements Tracking
When a test case tracks requirements - in VHDLVHSIC Hardware Description Language, a requirement IDidentifier from
OSVVMOpen Source VHDL Verification Methodology’s NewReqID used in AffirmIf -, it writes a requirements file next to its report, and a
requirements report is created for it.
When a test suite completes, the requirements of its test cases are merged into a test suite requirements report; when the build completes, all of them are merged into a build requirements report, as HTMLHyperText Markup Language and CSVcomma-separated values. No script command is needed; see Reports for the reports.
RUFF/osvvm/RequirementsCsv2Yaml converts a requirements specification from CSV into OSVVM’s YAMLYAML Ain't Markup Language format.
-- In the testbench (VHDL)
Req1 := NewReqID("Req1", 2);
AffirmIf(Req1, Data = Expected, "Read data");
Settings
Four settings decide how requirements are counted:
SetRequirementUseSumOfGoals:
truesums up the goals of the test cases of a requirement,false(default) uses the maximum goal. The maximum fits a merged specification whose goal is divided across the test cases.SetRequirementDoesNotExceedGoal:
true(default) counts a requirement at most up to its goal.SetRequirementTestCaseFailsIfLessThanGoal:
true(default) fails a test case whose requirements didn’t reach their goal.SetRequirementCsvPrintStatus:
trueadds the status column to the CSV report; the default isfalse.
SetRequirementUseSumOfGoals true
SetRequirementCsvPrintStatus