This repository has been archived by the owner on Nov 4, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 51
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #44 from edwin7026/master
Support for cross combination coverpoint test generation
- Loading branch information
Showing
10 changed files
with
617 additions
and
8 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
************************************************ | ||
Test Generation using Cross Coverage Coverpoints | ||
************************************************ | ||
|
||
Coverpoints constituting multiple instructions can help identify interesting instruction | ||
sequences which have architectural significance such as structural hazards and data hazards. | ||
The coverpoint node associated with the test generation is ``cross_comb`` defined `here <https://riscv-isac.readthedocs.io/en/stable/cgf.html>`_. | ||
|
||
The test generator employs a constraint solver to generate relevant instruction sequence for a | ||
``cross_comb`` coverpoint. | ||
|
||
Example | ||
------- | ||
|
||
**Coverpoint Definition** | ||
|
||
An example cross combination coverpoint is given below: :: | ||
|
||
add: | ||
cross_comb: | ||
"[add : ? : rv32i_arith : ? : sub] :: [a=rd : ? : ? : ? : ?] :: [? : rs1==a or rs2==a : rs1==a or rs2==a : rs1==a or rs2==a : rd==a]" | ||
|
||
**Possible assembly sequence** | ||
|
||
A possible sequence of instructions CTG would generate is: :: | ||
add x3, x3, x4 | ||
addi x5, x3, 1 | ||
sub x6, x4, x3 | ||
addi x4, x3, -3 | ||
sub x3, x5, x6 | ||
|
||
The test generator also embeds appropriate macros for initialization of registers and signature region pointing registers. | ||
|
||
Note: The cross-combination test generator as of now, does not support load, store and branch instructions |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -4,5 +4,5 @@ | |
|
||
__author__ = """InCore Semiconductors Pvt Ltd""" | ||
__email__ = '[email protected]' | ||
__version__ = '0.8.0' | ||
__version__ = '0.9.0' | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.