Delta delay problem between multiple ports

T

Trygve Odegaard

I have Module1 with an output port ClkA.
Module1 is instantiated in Module2 that has the two output ports ClkA
and ClkB.


mapping Module1.ClkA to either module2.ClkA or Module2.ClkB without
delta delay is easy.

But, is there any VHDL constructs, such that: Module1.ClkA can be
mapped to both Module2.ClkA and Module2.ClkB without any

delta delay difference between these 3 ?

Thanks in advance
Trygve
 
T

Thomas Stanka

I have Module1 with an output port ClkA.
Module1 is instantiated in Module2 that has the two output ports ClkA
and ClkB.
But, is there any VHDL constructs, such that: Module1.ClkA can be
mapped to both Module2.ClkA and Module2.ClkB without any

delta delay difference between these 3 ?

Question: Why do you bother about delta delays?
Use "Y <= X after 1 ns" for clocked signals and you have no problem
with delta delays.

There is no construct for signal assignment, that is free of delta
delay, only variables are updated in the same tick, but I would'nt use
variables for clocks, as i find it no good idea to have a rising edge
of clock within one delta delay (would'nt suprise me, if the tools
wouldn't support this propperly).

bye Thomas
 
T

Trygve Odegaard

Question: Why do you bother about delta delays?
Use "Y <= X after 1 ns" for clocked signals and you have no problem
with delta delays.

There is no construct for signal assignment, that is free of delta
delay, only variables are updated in the same tick, but I would'nt use
variables for clocks, as i find it no good idea to have a rising edge
of clock within one delta delay (would'nt suprise me, if the tools
wouldn't support this propperly).

bye Thomas


My Module1 output data ( delta synchronously with clkA) in addition to
clkA. At he output of module2,
I still want both to be delta-synchronous, which is no problem. I
have already experienced how hard it is to debug HW-failures when the
simulation-OK is due to a architechually deeply buried delta offset.
The simple case with clock & data only, gives me no problem. The
problem arise when I want to take a clock, and split into two copies
at the next-higher level, still with all three copies at the same
delta.
Regards Trygve
 
T

Tricky

I have Module1 with an output port ClkA.
Module1 is instantiated in Module2 that has the two output ports ClkA
and ClkB.

mapping Module1.ClkA to either module2.ClkA or Module2.ClkB without
delta delay is easy.

But, is there any VHDL constructs, such that: Module1.ClkA can be
mapped to both Module2.ClkA and Module2.ClkB without any

delta delay difference between these 3 ?

Thanks in advance
Trygve

There is no way to avoid adding delta delays with signal assignments.
SingalB <= SignalA will always add a 1 delta delay. Its unavoidable.

I still dont understand why you are so worried. Delta delays are
infinitely small, so have no meaning in reality. If you are having
problems with variables updating, then I suggest that you are
triggering a process in the wrong way.

To align deltas in processes, you can add 1 delta wait states:
wait for 0 ns; will hold a process for 1 delta.
 
M

Mike Treseler

Trygve said:
The simple case with clock & data only, gives me no problem. The
problem arise when I want to take a clock, and split into two copies
at the next-higher level, still with all three copies at the same
delta.

The system clock should never appear
on the right side of an assignment,
or on a port output.

-- Mike Treseler
 
D

Dal

You can put a delta on the data to match those suffered by splitting
the clocks. Use local signals in the module2 architecture;

module2_ClkA <= module1_ClkA;
module2_ClkB <= module1_ClkA;
module2_data <= module1_data;

where module1_* are signals connected to the module1 instantiation
port map and module2_* are the module2 port names.

Obviously this only works if module2_data is an 'out' and not 'inout'.

Darrin
 
T

Thomas Stanka

The system clock should never appear
on the right side of an assignment,
or on a port output.

Unless you intend to do so with reason (and knowing what to do).
I had several designs where it is necessary to have the clock on right
hand side of assignments or provide internal clocksignals at an
output.

bye Thomas
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Staff online

Members online

Forum statistics

Threads
473,731
Messages
2,569,432
Members
44,832
Latest member
GlennSmall

Latest Threads

Top