- (#233) - Propagate docstring and modulename across
randobj
inheritance
- () - Properly apply ignore bins to single-value bins
- (#224) - Ensure fields within expressions can be referenced
- (#221) - Correct a random-stability issue due to solve-order directives
- (#219) - Add
unique_vec
constraint to support unique-vector constraints
- (#205) - Ensure that recursive references between objects don't cause recursion
- Ensure covergroup type names are properly reflected in saved coverage data.
- Test suite updates to adapt to newer Python versions
- Bump required version of PyUCIS to 0.1.3
- (#199) - Correct how the swizzler handles 'not inside'. It was incorrectly treating it the same as 'inside'
- (#191) - Fix from @alwilson to ensure proper priority of dist vs soft constraints
- (exp) - Add experimental covergroup callback
- (#189) - Correct an issue with how arrays with constraints on sum are grouped into rand sets.
- (#188) - Automatically convert floating-point numbers used in constraints to integers
- (#176) [Resolved by Alex Wilson] Correctly handle soft constraints that are under conditions such as if/else.
- (#172) Change list subscript to return a ValueInt such that the value returned by a list subscript can, itself, be subscripted
- (#135) Add an 'original_module' field to randobj classes so true declaration location can be determined
- (#166) Correct rand-size list support for composite elements
- (#164) Correct issue with handling of soft constraints declared in dynamic-constraint blocks
- (#163) Remove an accidentally-committed debug message
- (#161) Adjust swizzling algorithm to improve multi-variable distribution
- (#160) Cache a coverpoint's target value to improve efficiency when computing the target value is time consuming
- Adjust PyUCIS dependencies to ensure presence of critical bug fix
- Test updates to adjust to change in PyUCIS report functionality
- Adjust to deprecated PyUCIS functionality
- Correct an issue with the covergroup 'get_coverage' method
- Disable some internal debug output that was inadvertently left on
- (#156) Correct random distribution for signed variables constrained to negaitve value ranges
- (#146) Correct an issue with enums and the new constant-expression eval from #132
-
(#132) Evaluate constant 'if' conditions in foreach
-
(#145) Correct 'unique' constraint to handle single-element lists
- (#127) Change randomization scheme to make better use of domain info
- (#143) Correct a failure when no source information is available
- #(142) Resolve random instability due to use of 'dist' constraints
- (#133) Use built-in Random package in RandState [Michael McGrath]
- (#128) Add support for modifying the defintion of rangelists
- (#117) Add support for explicitly managing random stability
- (#119) Correct accidental import of attr.exclude
- (#111) Add support for illegal and ignore bins
- (#115) Correct an issue with Jupyter notebooks and inability to obtain source information
- (#59) Add environment-variable support for controlling enhanced diagnostic messages, and add documentation
- (#107) Added a new randomization approach that deals better with bit conflicts.
- (#110) Correct an issue with variable-bound calculation in the presence of part selects.
-
(#108) Correct an issue with specifying individual kwarg sample arguments to with_sample instead of passing a dict()
-
(#nobug) Correct an issue with an auto-binned single-bit variable that resulted in a single bin instead of two array bins
- (#nobug) Fix for random instability
-
(#nobug) Work on removing undesirable sources of randomness due to use of sets/maps.
-
(#nobug) Make source-information collection and solve-failure diagnosis on-request, due to performance overhead
- (#nobug) Correct an issue with expanding wildcard bins. Regions were incorrectly being merged.
- (#105) Correct an issue when collapsing overlapping bins in a wildcard bin array
- (#77) Add support for wildcard bins. Both single and array bins are supported.
- Adjust the debug approach to collect singles, pairs, triples of failing constraints.
- Add the very beginnings of a linting feature
- (#90) Correct issues with use of dynamic constraint defined within an array of composite types
- (#97) Correct issues with support of part select as a general expression
- (#95) Correct issues with multi-level nested foreach constraints
- Added the beginnings of a rudimentary solve profiler to collect statistics on class randomization. It's currently undocumented, but enabled with the environment variable VSC_PROFILE=1
- (#89) Correct general solution-bias issue when using dynamic constraints
- (#93) Support slices/part selects on int/bit-type fields in procedural code.
- (#83) Correct an issue with variable-bounds detetion that resulted in little randomization being applied to constrained nested fields
- (#92) Corrected an issue where soft constraints were dropped while combining solve sets
- (#91) Corrected the field-access overloading to properly handle re-assignment to VSC fields
- (#88) Correct how the width of unary expressions is propagated
- (#87) Correct handling of enum-type fields by increasing common implementation with scalar/int-type fields
- (#86) Properly handle part-select on array-element references
- (#85) Correct an issue with complex-reference resolution and dist constraints
- (#84) Correct an issue with expanding complex references inside foreach constraints
- (#81,#82) Correctly propagate context-dependent expression widths down the evaluation tree
- Correct the build process for Boolector nodes to only build needed nodes for arrays. This avoids nodes being left behind.
- Correct an issue with constraints on nested arrays of objects
- Correct an issue where disabling a constraint in one compound-array 'branch' resulted in disabling the constraint in a different branch
- Correct an issue with using literal array indexes on arrays of classes (eg self.arr[0].field < 10).
- Adjust the randomization process to produce better spread of results. Previously, a single field was selected from each randset. Now, a random ordering of up to N (4) fields is selected.
- Adjust the solve-ordering algorithm to affect randomization order and priority instead of solve-set partitioning
- Add priorities to soft constraints
- Change randomization strategy to select a single value
- Make randomization aware of dist constraints
- Give dist soft constraints a high (1M+) priority to distiguish from user soft constraints
- Add support for passing VSC class objects to the covergroup sample method
-
(#70) - Correct bugs and improve test suite for handling of signed types.
-
(#71) - Correct handling of 'at_least' option for coverpoints and crosses
- (#69) - Properly deal with two's complement conversion to Python signed number
- (#68) - Update width of array-sum result to avoid overflow
- (#60) - Correct issues handling 'iff' on coverpoints and crosses
- (#61) - Correct an issue with multiple failing soft constraints
- (#57) - Correct an issue with cross coverage on enum-type bins
- Correct an issue with array-bin specifications involving individual values.
- Added 'get_coverage' to cross
- Ensured that bin collections are properly recorded for crosses
- Correct an issue with random-sized arrays being 'pinned' to a single size
- (#45) - Correct an issue with approximate array sizing due to varaible-bound limitations
- Improve bounding of variables for randomization
- Add propagators for equality relationships (a == b)
- Add propagators for variable inequalities (a < b) to match constant inequalities
- (#44) - Correct an issue with nested if_then and foreach constructs
- (nobug) - Correct an issue with auto-conversion from scalar to bool
- (#43) - Correct an issue with enum-type fields and solve-fail diagnostics
- (#34) - Correct an issue with arrays and solve-order constraints
- (#42) Add support for randcase-like functionality, with a randselect method
- (#34) Add support for solve ordering with a solve_order statement
- (#41) Correct an issue with the slice operator used in procedural code
- Correct handling of if/else-if constraints in foreach blocks
- Ensure all variables referenced by inline constraints are considered
- Add basic solve-failure diagnostics
- Correct an issue with using inline foreach constraints
- (#36) Correct issues with random distribution
- (#19) Implement sum and product constraints on arrays
- (#36) Support using vsc.range in weights
- (#26) Correct issues with dist constraints on array elements.
- (#26) Improve distribution algorithm
- Correct issues with nested foreach constraints
- (#31) Correct issues with not_inside on a rand-size list
- (#26) Provide support for 'dist' constraints
- (#30) Correct issues with masking assignments to sized fields, and accessing enum-type fields
- Correct issues with nested foreach constraints and nested arrays
- Add global 'write_coverage_db' method
- (#31) Allow 'inside' constraint on array elements within a foreach constraint
- (#27) Correct several issues with coverpoint cross coverage and reporting.
- (#30) Add support for part-select operator on standalone fields, and on fields used in 'raw_mode'
- Correct some issues with enumerated-type introspection and coverage sampling
- (#24) Correct an issue with sampling of type-centric coverage
- Correct issues with using scalar variables standalone
- Add global randomize() and randomize_with() methods for use with standalone variables
- Correct several issues (and add tests) for coverpoints defined on enumerated types
- Add support for 'rand_mode' on scalar fields
- (#17) Correct an issue with reported size of a list after appending to it
- Adds support for rand and non-rand lists of enum
- Ensures unique constraint works on lists
- Adds support for 'inside' and 'not_inside' methods on scalar data types, to address limitations in the ability to overload Python's 'in' operator.
- Adds support for randomizable lists
- Adds foreach constraint