Jorge Tonfat
Forum Replies Created
-
AuthorPosts
-
June 29, 2018 at 05:10 #1462
Jorge Tonfat
MemberHi Jim,
I found in the ALDEC documentation how to merge the functional coverage using the acdb edit command.
Example:
## Merge functional coverage from TSSPWIP
acdb edit -i "$dsn/src/Unit Test/unittest.acdb" -move -merge instance /unittest/TSSPWIP/TC* /unittest/TSSPWIP/TC3RecvErr
Best regards,
Jorge
June 29, 2018 at 05:02 #1460Jorge Tonfat
MemberHi Jim,
Thank you for your response. I defined the coverage model in the first testcase only.
On the second testcase I just load the model from the file.However, today I have tried to first redefine the model again in my second testcase and then load the coverage data from the file and it is working good now.
Something I have noticed is that the data loaded from the file is not forwarded to the simulator coverage database (ACDB file).
I am thinking how solve this. Do you have any suggestion?Best regards,
JorgeJune 28, 2017 at 01:41 #1391Jorge Tonfat
MemberThank you Eilert!
Yes, you are right, changing to REAL will not solve the problem. To avoid troubles in this case, I just limited my pseudo-random generation to be bounded by the positive integer range. As you mention, maybe it is possible to change the data type to an unsigned type, but I have not tried.
Best regards,
Jorge
December 19, 2016 at 02:20 #1296Jorge Tonfat
MemberDear Jim,
Thanks for the advice. It worked well. I just needed to move my record definition to a package that is visible from the UUT and my testbench.
November 16, 2016 at 03:15 #1206Jorge Tonfat
MemberThanks Jim,
I didn’t know about this problem with links.
On the other hand, this example helps to verify if all the transitions have ocurred but does not keep track of what condition trigger this transition. ( In the example, there is only one signal (TMS) that triggers the transition.)
How can I implement the functional coverage keeping track of which condition triggered my transition?
I was thinking in the following:
1. Define a condition type as an enumerate type, and put here all the possible conditions that triggers a transition in the FSM. For example:
type conditions is ( C_rst, C_enable, …. etc.
2. Create a variable of this condition type in the coverage collector process. And update this variable with the status of the UUT (as it is done with the state variable)
3. Add this condition var as a third parameter to the addCross function. Ex:
cp_FSM.AddCross(GenBin(state_type’pos(S_rst)), GenBin(state_type’pos(S_idle),GenBin(condition_type’pos(C_rst)));
One restriction of this implementation is that only one condition can be register per clock cycle.
What is your advice?
Many thanks,
Jorge
November 15, 2016 at 06:51 #1191Jorge Tonfat
MemberHello again!
I just found a blog entry from Aldec that solves my doubt
If anybody is interested, here is the link:
https://www.aldec.com/en/company/blog/71–my-first-example-with-os-vvm-coveragepkg
Maybe this type of example should be included in the OSVVM examples
Regards,
Jorge
-
AuthorPosts