Code Coverage(Statement, Branch, Expression, Condition, Path, FSM), Toggle Coverage, and Functional Coverage (OSVVM) + New UCIS-compatible Aldec Coverage DatabaseCategory : Assertions and Coverage ToolsCode Coverage (Statement/Branch, Expression/Condition, Path) and Code Coverage Viewer: Code Coverage is a debugging tool that aids the verification process. Both Riviera-PRO and Active-HDL allow verifying source code with the following Code Coverage tools: Statement/Branch Coverage: Statement Coverage shows execution branches for each HDL statement (this information provides feedback on which parts of the design were verified and which are untested, and also helps to locate dead code). Branch Coverage collects execution branches for if and case constructs as well as VHDL selected and conditional signal assignment statements. Expression/Condition Coverage: Expression Coverage is a debugging tool that factorizes logical expressions and monitors them during simulation (an expression is fully covered when all of the expression cases are exercised). Condition Coverage data is a subset of statistics produced by Expression Coverage (includes only expressions used in VHDL conditional statements such as if, while, or the conditional signal assignment statement). Path Coverage: Path Coverage is a debugging tool that collects information about the execution of program paths and analyzes whether all possible sequences of program execution were verified by a testbench (currently available for VHDL only). FSM Coverage: The FSM Coverage allows the user to identify not visited states and not evaluated transitions. Riviera-PRO does not automatically recognize the finite state machines from code. The user should embed the dedicated pragmas within code in order to obtain the coverage statistics. Assertion Coverage: Assertion Coverage is a measure that defines how much of the specified properties have been covered. This type of Functional Coverage is used to verify design behavior over time (requires specification of scenarios and coding them into an executable specification in any of the supported languages). UCIS-compatible Aldec Coverage Database: The ACDB (Aldec Coverage DataBase) is unified storage format for coverage data of different types. ACDB is Aldec's implementation of Accellera UCIS requirements for unified coverage database which is shipped with Riviera-PRO. ACDB stores data of the following coverage types: Code Coverage (Statement/Branch Coverage), Assertion Coverage, Toggle Coverage, FSM Coverage, and SystemVerilog Covergroup Coverage. Multiple ACDB files may be merged together into a single database to examine statistics gathered during different simulation sessions. C language API is provided for user-defined analysis of coverage data (it can be used for building ad hoc coverage analysis procedures, fully custom GUI and reporting, for transferring coverage data from external tools and 3rd-party formats).