Search code examples
vhdl

VHDL: DELAY_LENGTH vs. $NATURAL_TIME


While searching for some references in the VHDL STANDARD package, I saw these lines:

subtype $NATURAL_TIME is TIME range 0 sec to TIME'HIGH;
subtype DELAY_LENGTH  is TIME range 0 fs  to TIME'HIGH;

My question:
Why is
- $NATURAL_TIME ranging from 0 sec and
- DELAY_LENGTH ranging from 0 fs
to the upper bound of time?

Source: http://www.csee.umbc.edu/portal/help/VHDL/standard.vhdl


Solution

  • The file has this header:

    -- The sven STANDARD package.
    -- This design unit contains some special tokens, which are only
    -- recognized by the analyzer when it is in special "bootstrap" mode.
    

    Clearly the tool using this file has made some alterations to suit their particular implementation. Presumably it had issues with DELAY_LENGTH when the minimum time step is larger than 1 fs so a special subtype type was created.