Delta delay problem between multiple ports

Discussion in 'VHDL' started by Trygve Odegaard, May 28, 2008.

  1. 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
     
    Trygve Odegaard, May 28, 2008
    #1
    1. Advertising

  2. On 28 Mai, 16:21, Trygve Odegaard <> wrote:
    > 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
     
    Thomas Stanka, May 30, 2008
    #2
    1. Advertising

  3. On 30 Mai, 06:53, Thomas Stanka <>
    wrote:
    > On 28 Mai, 16:21, Trygve Odegaard <> wrote:
    >
    > > 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



    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
     
    Trygve Odegaard, May 30, 2008
    #3
  4. Trygve Odegaard

    Tricky Guest

    On 28 May, 15:21, Trygve Odegaard <> wrote:
    > 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.
     
    Tricky, May 30, 2008
    #4
  5. Trygve Odegaard wrote:

    > 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
     
    Mike Treseler, May 30, 2008
    #5
  6. Trygve Odegaard

    Dal Guest

    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
     
    Dal, May 31, 2008
    #6
  7. On 30 Mai, 19:08, Mike Treseler <> wrote:
    > 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
     
    Thomas Stanka, Jun 2, 2008
    #7
    1. Advertising

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

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Ramakrishnan

    delta delay..

    Ramakrishnan, Sep 23, 2003, in forum: VHDL
    Replies:
    4
    Views:
    5,225
    Mike Treseler
    Sep 23, 2003
  2. Harry Athanassiadis

    Re: Delta delay in vhdl

    Harry Athanassiadis, Dec 4, 2005, in forum: VHDL
    Replies:
    2
    Views:
    4,619
    srikanth.padava
    Feb 28, 2008
  3. srikanth.padava

    delta cycle?? (delta delay)

    srikanth.padava, Feb 28, 2008, in forum: VHDL
    Replies:
    0
    Views:
    1,153
    srikanth.padava
    Feb 28, 2008
  4. uj101
    Replies:
    9
    Views:
    678
    Mike Treseler
    Jul 30, 2008
  5. Roya
    Replies:
    4
    Views:
    1,549
Loading...

Share This Page