FPGA Central - World's 1st FPGA / CPLD Portal

FPGA Central

World's 1st FPGA Portal

 

Go Back   FPGA Groups > NewsGroup > FPGA

FPGA comp.arch.fpga newsgroup (usenet)

Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 10-01-2007, 11:39 AM
Evan Lavelle
Guest
 
Posts: n/a
Default Xilinx ISE 'feature': forcing a DUT signal

Has anyone managed to get a Verilog testbench to force an internal DUT
signal using ISE (9.2i)? This seems to be impossible.

A DUT force has to be, pretty much by definition, hierarchical. If you
try something like

force top.mod.x = y; // or...
assign top.mod.x = y;

you get a message about an unsupported hierachical expression.
Tweaking the assignments eventually gives you the catch-all
unsupported constructs message, with details in #24068 and an
accompanying pdf doc. The suggested work-around - to add new ports to
the DUT - isn't helpful.

The ISE docs claim to support 'procedural continuous assignments', but
this seems to be a rather wide definition of 'supported'.

Thanks -

Evan
Reply With Quote
  #2 (permalink)  
Old 10-01-2007, 08:14 PM
Mike Treseler
Guest
 
Posts: n/a
Default Re: Xilinx ISE 'feature': forcing a DUT signal

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?

-- Mike Treseler
Reply With Quote
  #3 (permalink)  
Old 10-01-2007, 09:10 PM
Evan Lavelle
Guest
 
Posts: n/a
Default Re: Xilinx ISE 'feature': forcing a DUT signal

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
Reply With Quote
  #4 (permalink)  
Old 10-10-2007, 08:55 PM
Mike Treseler
Guest
 
Posts: n/a
Default Re: Xilinx ISE 'feature': forcing a DUT signal

Evan Lavelle wrote:

> 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.


I get it. Thanks.

> 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.


See slide 4 here
http://www.csee.umbc.edu/~plusquel/4...ehav_const.pdf
claims a related Xilinx synthesis limitation.

"A procedural continuous assignment (PCA)
creates a dynamic binding to a register
variable when the statement executes.
It uses "=" as in procedural assignment
with the keyword assign.
WARNING: The Xilinx synthesis engine does not accept this Verilog construct"


-- Mike Treseler
Reply With Quote
Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Xilinx ISE 'feature': forcing a DUT signal Evan Lavelle Verilog 3 10-10-2007 08:55 PM
Problems with forcing a net [email protected] Verilog 2 10-16-2006 11:34 PM
Xilinx DCM Spread Spectrum feature Kevin Neilson FPGA 3 08-31-2004 04:05 PM
parameter feature of AHDL in Xilinx Charles Zheng FPGA 1 06-07-2004 10:20 AM


All times are GMT +1. The time now is 11:37 AM.


Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Copyright 2008 @ FPGA Central. All rights reserved