V
valtih1978
I read in
http://rti.etf.bg.ac.rs/rti/ri5rvl/tutorial/TUTORIAL/IEEE/HTML/1076_12.HTM
that signal is active during simulation cycle
- If one of its sources is active or
- the signal is named in the formal part of an association element in a
port association list and the the corresponding actual is active.
=1= This immediately raises the question: how is the activity status
propagated? We see that the source or active port's actual causes formal
to be active. I do not understand why activity propagates down the
hierarchy: when you have active parent module signal then, connected as
input to the children, submodules will see it's activity as formal part
activity. Why activity should not propagate in the opposite direction,
through the output ports, from formal part to the actual?
I see a similar double standard in the driving value definition. It says
that if signal source is a port then formal part driver is used. You
cannot drive the input port this way but this is not necessary -
effective values are rather propagated downwards. We first propagate
info upwards through output ports by driving values and then signals
propagate downwards as effective values. Right? I see no such
bi-directional mechanism for the signal activity propagation.
=2= Moreover, I do not see how the signal activity flag is connected to
anything else. For instance, I see how driver's value originates from
the transaction, how this determines the driving values of signals and,
furthermore, the effective values. However, I see that all what
determines the signal activity flag is the activity flag of another
signal! I want to know how is the first active signal can ever appear in
such system?
=3= Ports are also sources. Why sources and ports are treated
separately? BTW, why not to instantiate the drivers for the ports also?
To avoid delta-cycle delays in ports?
=4= BTW, is slice a signal?
I have such a mess in my head. Will Ashenden fix it?
http://rti.etf.bg.ac.rs/rti/ri5rvl/tutorial/TUTORIAL/IEEE/HTML/1076_12.HTM
that signal is active during simulation cycle
- If one of its sources is active or
- the signal is named in the formal part of an association element in a
port association list and the the corresponding actual is active.
=1= This immediately raises the question: how is the activity status
propagated? We see that the source or active port's actual causes formal
to be active. I do not understand why activity propagates down the
hierarchy: when you have active parent module signal then, connected as
input to the children, submodules will see it's activity as formal part
activity. Why activity should not propagate in the opposite direction,
through the output ports, from formal part to the actual?
I see a similar double standard in the driving value definition. It says
that if signal source is a port then formal part driver is used. You
cannot drive the input port this way but this is not necessary -
effective values are rather propagated downwards. We first propagate
info upwards through output ports by driving values and then signals
propagate downwards as effective values. Right? I see no such
bi-directional mechanism for the signal activity propagation.
=2= Moreover, I do not see how the signal activity flag is connected to
anything else. For instance, I see how driver's value originates from
the transaction, how this determines the driving values of signals and,
furthermore, the effective values. However, I see that all what
determines the signal activity flag is the activity flag of another
signal! I want to know how is the first active signal can ever appear in
such system?
=3= Ports are also sources. Why sources and ports are treated
separately? BTW, why not to instantiate the drivers for the ports also?
To avoid delta-cycle delays in ports?
=4= BTW, is slice a signal?
I have such a mess in my head. Will Ashenden fix it?