Inertial Delay in Aldec 4.2? 
Author Message
 Inertial Delay in Aldec 4.2?

Hi All,
As far as I understand, Inertial delay is supposed to reject all pulses that
are shorter the than rejection time, and should pass all signals that are
EQUAL or longer than the rejection time!
 After simulating in AHDL 4.2 and modelSim I found out that it will reject
pulses which are equal to the rejection time?
am I misunderstanding the concept of inertial delay or what?

 X<='1','0' after 10 ns ,'1'after 12 ns, '0'after 18 ns,'1'after 29
ns,'0'after 32 ns,
 '1'after 40 ns,'0'after 50 ns;

  Z3 <= reject 3 ns inertial X after 5 ns;



Tue, 04 May 2004 10:53:45 GMT  
 Inertial Delay in Aldec 4.2?
Hi,

Quote:

> Hi All,
> As far as I understand, Inertial delay is supposed to reject all pulses that
> are shorter the than rejection time, and should pass all signals that are
> EQUAL or longer than the rejection time!
>  After simulating in AHDL 4.2 and modelSim I found out that it will reject
> pulses which are equal to the rejection time?
> am I misunderstanding the concept of inertial delay or what?

According to my interpretation of VHDL LRM 8.4.1 pulses that have a
length equal to the rejection time are also removed.

--
Edwin



Tue, 04 May 2004 19:12:23 GMT  
 Inertial Delay in Aldec 4.2?
Edwin, what part are you referring to?
From VHDL LRM 8.4:
"Inertial delay is characteristic of switching circuits:a pulse whose
duration is shorter than the switching time of the circuit will not be
transmitted, or in the case that a pulse rejection limit is specified, a
pulse whose duration is shorter than that limit will not be transmitted. "

it says shorter, i.e. pulses which are equal or longer should NOT be
removed.


Quote:
> Hi,


> > Hi All,
> > As far as I understand, Inertial delay is supposed to reject all pulses
that
> > are shorter the than rejection time, and should pass all signals that
are
> > EQUAL or longer than the rejection time!
> >  After simulating in AHDL 4.2 and modelSim I found out that it will
reject
> > pulses which are equal to the rejection time?
> > am I misunderstanding the concept of inertial delay or what?

> According to my interpretation of VHDL LRM 8.4.1 pulses that have a
> length equal to the rejection time are also removed.

> --
> Edwin



Wed, 05 May 2004 05:03:00 GMT  
 Inertial Delay in Aldec 4.2?
Hi,

Quote:

> Edwin, what part are you referring to?
> From VHDL LRM 8.4:
> "Inertial delay is characteristic of switching circuits:a pulse whose
> duration is shorter than the switching time of the circuit will not be
> transmitted, or in the case that a pulse rejection limit is specified, a
> pulse whose duration is shorter than that limit will not be transmitted. "

> it says shorter, i.e. pulses which are equal or longer should NOT be
> removed.

I derived it form the algorithm described in section 8.4.1:

"...Updating a projected output waveform consists of the deletion of zero or
more previously computed transactions (called old transactions) from the
projected output waveform and the addition of the new transactions, as follows:

    a)   All old transactions that are projected to occur at or after the time
        at which the earliest new transaction is projected to occur are
        deleted from the projected output waveform.

    b)   The new transactions are then appended to the projected output waveform
        in the order of their projected occurrence.

If the initial delay is inertial delay according to the definitions of 8.4, the
projected output waveform is further
modified as follows:

    c)   All of the new transactions are marked.

    d)   An old transaction is marked if the time at which it is projected to
        occur is less than the time at which the first new transaction is
        projected to occur minus the pulse rejection limit.

    e)   For each remaining unmarked, old transaction, the old transaction is
        marked if it immediately precedes a marked transaction and its value
        component is the same as that of the marked transaction.

    f)   The transaction that determines the current value of the driver is
        marked.

    g)   All unmarked transactions (all of which are old transactions) are
        deleted from the projected output waveform."

The important step is "d": it says that all transactions that have a time
less stamp than "current_simulation_time - puls_rejection_limit" are marked
(marked transactions are NOT removed from the list). As a result a transaction
which has a time stamp equal to "current_simuation_time - puls_rejection_limit"
is NOT marked and may hence be removed in step "g".

--
Edwin



Fri, 07 May 2004 19:23:40 GMT  
 
 [ 4 post ] 

 Relevant Pages 

1. Avoiding inertial delay in delay lines

2. Transport Delay and Inertial Delay

3. Transport Delay Vs Inertial Delay

4. Conversion ALDEC Foundation to Webpack ISE 4.2 and later

5. Inertial and transport delay in Verilog

6. This week's Coding tip: modeling combinational logic with inertial delays

7. The inertial delay model

8. Inertial and transport delay in Verilog

9. This week's Coding tip: modeling combinational logic with inertial delays

10. Transport vs. Inertial....ooops (DELAY item)

11. Transport/Inertial DElay's

12. inertial vs. transport delay

 

 
Powered by phpBB® Forum Software