On Mon, 01 Oct 2007 12:14:50 -0700, Mike Treseler
<
[email protected]> wrote:
>Evan Lavelle wrote:
>
>> assign top.mod.x = y;
>>
>> you get a message about an unsupported hierarchical expression.
>
>Hmm.
>Is x also declared as a testbench wire?
>is
> assign top.mod.x = y;
>outside of blocks?
The syntax is valid; (this) assign is a procedural statement which can
only be used on variables (and the test code works on two other sims).
The procedural assign isn't particularly useful; I only mentioned it
because it shows the same problem as the 'force' statement, which *is*
very useful.
X's error message and docs claim that it's the hierarchical reference
on the LHS ('top.mod.x') which is unsupported, but ISE actually has no
problem with hierarchical lvalues. It only appears to be procedural
force/assign which is affected.
It can be pretty hard to write comprehensive testbenches without a
force statement, so I was hoping to find someone who may have a
workaround, short of wiring up extra ports in the DUT.
Evan