This function generates a Timeseries file which can be used for Moore FSM coverage analysis.
The file is generated in the working directory and can be opened into the Workspace for use by MATLAB, or read directly into Simulink using the 'Import Data From File' source block.
The generated Timeseries is based on a modified Truth Table, which is essentially two mirrored and concatenated Truth Tables. This double length table increases the coverage result compared to using a single Truth Table.
The intended application is for Moore FSM coverage analysis where the Moore Machine has boolean-only inputs (such as if the design is logic only, or the input comparators are located external to the machine).
Example: generatetestdata(i) generates a Timeseries 'Test_Data.mat' in the working directory with dimension [M;N] where;
M = 2*2^i and,
N = i.
Recommended settings for Simulink:
Solver: Fixed Step Discrete (no continuous states)
Start Time: 0 seconds
End Time: 2*2^i seconds
Step Size: 1 second
Recommended settings for 'Input Data From File' source block:
Before First Value: Hold First Value
Interpolation: Zero Order Hold
After Last Value: Hold Last Value
If you have used this methods to perform a coverage analysis of your Moore FSM, PLEASE leave a comment as I am attempting to collate the usefulness of this fairly simple method for my PhD thesis. It would be most appreciated if you could report your result as follows:
Number of Modes:
Number of Inputs:
Number of Transitions: