Cary R. - 2010-11-19

This is not a trivial item to fix. It requires enhancing the VPI interface and rewriting a fair number of the system tasks, etc.. The fundamental issue is that the VPI interface currently assumes that all arrays word are from vector based arrays and all array words even real ones are treated as array words. In reality array words are only for registers and the real variable type has the ability to act as an array.

You can work around this problem by using an escaped identifier for each array word you want to dump. Unfortunately you can't use the looping method to create them.

wire real \aaa_[0] = aaa[0];

and then $dumpvars(0, \aaa_[0] );

Don't forget the space after the escaped identifier. I add an underscore after the array name to make it unique.

FYI instead of writing reg real you should just write real since that is portable.