Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Force/Release in VHDL

666 views
Skip to first unread message

Tig...@my-dejanews.com

unread,
Jul 2, 1998, 3:00:00 AM7/2/98
to

Hello,

Is there something similar to Verilog's Force/Release in VHDL? Thanks.

Tigers

-----== Posted via Deja News, The Leader in Internet Discussion ==-----
http://www.dejanews.com/rg_mkgrp.xp Create Your Own Free Member Forum

rka...@my-dejanews.com

unread,
Jul 3, 1998, 3:00:00 AM7/3/98
to

Hi!
I am not a verilog guy, but surely in VHDL simulator you can force,
noforce(release) the desired signal.
Was this that you wanted, if not please explain what is it that you require
specifically.

Rajkumar....

In article <6ngmh7$j0p$1...@nnrp1.dejanews.com>,

Paul J. Menchini

unread,
Jul 6, 1998, 3:00:00 AM7/6/98
to

bour...@my-dejanews.com wrote:
: In article <6ngmh7$j0p$1...@nnrp1.dejanews.com>,
: Tig...@my-dejanews.com wrote:
:> Is there something similar to Verilog's Force/Release in VHDL? Thanks.

: For those who don't know verilog, the procedural continous assignments
: (force/release and assign/deassign) are use essentially to separate the
: description of asynchronous set/reset from the synchronous behaviour.

: As far as I can tell, the force/release construct in Verilog was intended
: for debugging purpose in the context of Verilog-XL. If this is what you want
: -- i.e. interactively forcing a value on a signal and so ignoring the value
: computed by the model -- you should check the documentation of your simulator
: if it provides such kind of functionnality.

: In the context of a description, I'd use assign/deassign in Verilog instead
: of force/release. If you want to synthesize the description, I see no other
: way than rewriting your code. If you just want to simulate, you could have
: the same effect with an adequate resolution function, but I don't think that
: you'll have support from the standard packages, you'll write VHDL with a
: very verilogish style which will probably not be easily understood by VHDL
: people. Except if you have to port lot of verilog code making havy use of
: procedural continuous assignment with subtle effect (i.e. more than for
: asynchronous set or reset), I'd not take that path.

Guarded assignment to guarded signals will allow you to disconnect drivers
from signals without using a special value (e.g., 'Z'). This approach
is not often used, and many synthesis tools depreciate its use.

Paul

--
Paul Menchini | me...@mench.com | "Se tu sarai solo,
Menchini & Associates | www.mench.com | tu sarai tutto tuo."
P.O. Box 71767 | 919-479-1670[v] | -- Leonardo Da Vinci
Durham, NC 27722-1767 | 919-479-1671[f] |

bour...@my-dejanews.com

unread,
Jul 7, 1998, 3:00:00 AM7/7/98
to

In article <6nrbmg$nrj$2...@mench.mench.com>,

"Paul J. Menchini" <me...@mench.mench.com> wrote:
>
> bour...@my-dejanews.com wrote:
: In article <6ngmh7$j0p$1...@nnrp1.dejanews.com>,
> : Tig...@my-dejanews.com wrote:
> :>Is there something similar to Verilog's Force/Release in VHDL? Thanks.
>
[snipped solutions: rewriting the code or use non standard resolution
function]

>
> Guarded assignment to guarded signals will allow you to disconnect drivers
> from signals without using a special value (e.g., 'Z'). This approach
> is not often used, and many synthesis tools depreciate its use.

I had not though to guarded signals. I'm not familiar with them, but I do not
see how they could be used simply to emulate procedural continous assignments.
The continous assignement also disconnect the other drivers as well as
specifying a value (and the deassign/release restablish these drivers). As I
undertand them, the guard control only the driver of the guarded assignement.

Yours,

-- Jean-Marc

Paul J. Menchini

unread,
Jul 7, 1998, 3:00:00 AM7/7/98
to
bour...@my-dejanews.com wrote:
: In article <6nrbmg$nrj$2...@mench.mench.com>,

: "Paul J. Menchini" <me...@mench.mench.com> wrote:
:>
:> bour...@my-dejanews.com wrote:
: : In article <6ngmh7$j0p$1...@nnrp1.dejanews.com>,
:> : Tig...@my-dejanews.com wrote:
:> :>Is there something similar to Verilog's Force/Release in VHDL? Thanks.
:>
: [snipped solutions: rewriting the code or use non standard resolution
: function]
:>
:> Guarded assignment to guarded signals will allow you to disconnect drivers
:> from signals without using a special value (e.g., 'Z'). This approach
:> is not often used, and many synthesis tools depreciate its use.

: I had not though to guarded signals. I'm not familiar with them, but I do not
: see how they could be used simply to emulate procedural continous assignments.
: The continous assignement also disconnect the other drivers as well as
: specifying a value (and the deassign/release restablish these drivers). As I
: undertand them, the guard control only the driver of the guarded assignement.

What you say is true. Guards control only the driver of the guarded
assignment. There is no direct analogue. However, if one makes all the
guards mutually exclusive, then only one driver at a time will be
active, which presumably is the effect one is after.

bour...@my-dejanews.com

unread,
Jul 23, 1998, 3:00:00 AM7/23/98
to
In article <6ngmh7$j0p$1...@nnrp1.dejanews.com>,
Tig...@my-dejanews.com wrote:
>
> Hello,

>
> Is there something similar to Verilog's Force/Release in VHDL? Thanks.

For those who don't know verilog, the procedural continous assignments


(force/release and assign/deassign) are use essentially to separate the
description of asynchronous set/reset from the synchronous behaviour.

As far as I can tell, the force/release construct in Verilog was intended
for debugging purpose in the context of Verilog-XL. If this is what you want
-- i.e. interactively forcing a value on a signal and so ignoring the value
computed by the model -- you should check the documentation of your simulator
if it provides such kind of functionnality.

In the context of a description, I'd use assign/deassign in Verilog instead
of force/release. If you want to synthesize the description, I see no other
way than rewriting your code. If you just want to simulate, you could have
the same effect with an adequate resolution function, but I don't think that
you'll have support from the standard packages, you'll write VHDL with a
very verilogish style which will probably not be easily understood by VHDL
people. Except if you have to port lot of verilog code making havy use of
procedural continuous assignment with subtle effect (i.e. more than for
asynchronous set or reset), I'd not take that path.

-- Jean-Marc

0 new messages