Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > VHDL > Aside from delta cycles and/or resolution functions, how can the effective value of a signal differ from a driving signal of its?

Reply
Thread Tools

Aside from delta cycles and/or resolution functions, how can the effective value of a signal differ from a driving signal of its?

 
 
Colin Paul Gloster
Guest
Posts: n/a
 
      01-11-2007
From Chapter 12 Elaboration and execution of the VHDL93 and VHDL2006 standards:

"[..]

[..] The driving value of a given signal is the value that signal
provides as a source of other signals. The effective
value of a given signal is the value obtainable by evaluating a
reference to the signal within an expression. The driving
value and the effective value of a signal are not always the same,
especially when resolution functions and conversion
functions or type conversions are involved in the propagation of
signal values.

[..]"

I wish to understand how the effective value can differ from a driving
value of its. I already understand a number of circumstances in which
this can happen...

Though it is written that "especially" resolution functions and
conversions are relevant to an effective value not being the same as a
driving value, I consider delta cycles to be relevant most often,
e.g. ...

entity studying_effective_and_driving_values is
end studying_effective_and_driving_values;

architecture delta_example of studying_effective_and_driving_values is
signal D : integer := 100;
begin
D <= -D;
end;

I do not dismiss resolution functions as being irrelevant to this
topic, e.g. ...

library IEEE;
use IEEE.std_logic_1164.all;

architecture multiple_drivers_example of
studying_effective_and_driving_values is
signal Source1 : std_logic := '1';
signal Source2 : std_logic := '1';
signal Source3 : std_logic := '1';
signal Source4 : std_logic := '0';
signal Target : std_logic;
begin
Target <= Source1;
Target <= Source2;
Target <= Source3;
Target <= Source4;
end;

I am unsure of how else the effective value of a signal is not
identical to a driving value of that signal so I would like
clarification and examples, please. I understand that converting a
value of one type to another type can produce a different value
(e.g. due to rounding), but in such a circumstance whose result is
assigned to a signal, which of the value undergoing conversion and the
value resulting from conversion is this statement's driving value?
Would this possibly be an example of a cause of a driving value not
being the same as the effective value?

In VHDL, a so-called conversion function or type conversion can be
invoked even when only strictly one type is involved. Is it possible
that in such a circumstance, that this would cause a driving value to not
be the same as the effective value (even if the conversion function
does nothing except return its parameter)?

Aside from the possible possibilities mentioned above, how can a
conversion function or type conversion cause a driving value to not be
the same as the effective value?

I do not interpret the word "especially" in Chapter 12 as a hint that
the list is exhaustive. How else can a driving value not be the same
as the effective value?

Is support, or lack thereof, for these situations uniform across
synthesis tools? Which of these situations, if any, are not supported
by a synthesis tool?

Thank you for your attention,
Colin Paul Gloster
 
Reply With Quote
 
 
 
Reply

Thread Tools

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 Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Re: How include a large array? Edward A. Falk C Programming 1 04-04-2013 08:07 PM
signal assignment and Delta delay Roya VHDL 4 07-27-2009 08:44 PM
How to generate a signal that will remain high for 687500 clock cycles ? tarek VHDL 4 03-31-2009 02:48 PM
delta cycle?? (delta delay) srikanth.padava VHDL 0 02-28-2008 09:01 AM
Need to delay a signal a great number of clk cycles martin.wahlstedt VHDL 1 05-15-2007 09:23 PM



Advertisments