Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Commits on Aug 29, 2012
  1. @arunpersaud

    updated FSF-address

    arunpersaud committed with
Commits on May 29, 2011
  1. @martinwhitaker

    Fix width calculation for expressions containing a specparam.

    martinwhitaker committed with
    This patch adds code to properly calculate the type and width of a
    specparam when it is used in an expression.
    This patch also fixes a compiler crash when an unknown identifier is
    used in a delay expression.
Commits on Mar 2, 2011
  1. @martinwhitaker

    Expression width rework.

    martinwhitaker committed with
    This patch is a major rework of expression elaboration and
    evaluation in the compiler, aimed at better compliance with
    the IEEE standard.
Commits on Oct 26, 2010
  1. Remove some uses of the svector template.

    I'm adding more uses of the make_range_from_width function, so
    it seems like time to get rid of its use of the svector template.
    This thread led to a lot of other uses of svector that had to
    also be removed.
Commits on Jul 14, 2010
  1. @caryr

    Add support for only two variable delays and add delay checks.

    caryr committed with
    This patch adds checks that the delay count is correct for the
    various gates and adds support for a missing variable decay
    time. For this case the decay time is the minimum of the rise
    and fall times. This is denoted by setting the decay variable
    to 0 in the vvp file. vvp notes this and sets an ignore decay
    time property in the base delay. This turns off the ability
    to set the decay time and the minimum delay calculation will
    also update the decay time.
Commits on Jun 18, 2010
  1. @caryr

    Fix the compiler and modpath scaling of real delays.

    caryr committed with
    A real delay must be scaled and rounded using the local precision
    before it is finally scaled to the simulation time units. This
    patch fixes the compiler to do this correctly or generate the
    correct code for run time calculated delays. Delays in a CA
    already worked correctly. The run time was also fixed to scale
    modpath (SDF back annotation) delays correctly.
Commits on Jun 7, 2009
  1. @caryr

    Some delay expressions need to probe their width (ternary)

    caryr committed with
    The ternary operator requires that the expression width be defined.
    This requires that the delay expression has test_width() run on it.
Commits on Apr 18, 2009
  1. @caryr

    Warn the user if they use both a default and `timescale based delay.

    caryr committed with
    This patch add code to print a warning message if it finds both a
    default and `timescale based delays. The -Wall or more specifically
    the -Wtimescale flag can be used to find the module with the missing
    `timescale directive.
Commits on Apr 4, 2009
  1. @caryr

    Fix constant CA delays to support two/three values.

    caryr committed with
    This patch fixes the code generator to correctly create three value
    constant delays. It also fixes a bug in the compiler related to the
    precalculation of the high-Z delay when only two delays are given.
    Previously if was using a pointer not a value comparison to find
    the minimum value.
    Variable delays should work when one or three values are given.
    For the two value case we need to do a comparison at run time and
    that will require changing the compiler/run time interface so that
    can only go into the V0.10 branch. This patch can be applied to
    both development and V0.9. I have added a sorry message and an
    assert for this case. I will add the variable two delay case at a
    later time. We also do not support mixing constant and variable
    delays on a single statement. That is a much bigger change and
    can wait until someone asks for it.
Commits on Feb 26, 2009
  1. Delays expressions are 64bit integers.

    Fix the PDelay processing to account for the fact that delay expressions
    are 64bits. Use int64_t instead of unsigned long.
Commits on Dec 30, 2008
  1. Fix for pr2123173.

    Martin Whitaker committed with
    Functions that appear in continuous assignment expressions and that
    have hidden dependencies or side effects need to be re-evaluated
    whenever any input to the expression changes. This patch adds support
    in the compiler and vvp runtime to enable this. This is currently
    activated for any system function call that has no arguments. The
    user may also force it to be used for any user function by passing
    the option -gstrict-ca-eval to the compiler driver.
    This patch also removes the -dautomatic option which was used for
    gaining confidence in the code that supports automatic tasks and
    functions. It is believed that the testsuite provides reasonable
    fault coverage, and further tests can be added if bugs are found.
Commits on Aug 11, 2008
  1. Shuffle the argument list for the synthesize method.

    In preparation for using the synthesize method to replace the
    elaborate_net method of PExpr, rework the interface to the
    synthesize() method. This changes no fnctionality, but does set
    up the infrastructure for the next step.
Commits on Mar 9, 2008
  1. @caryr

    Major rework of the ternary operator elaboration code.

    caryr committed with
    This patch reworks much of the ternary code to short circuit when
    possible and supports real values better. It adds a blend operator
    for real values that returns 0.0 when the values differ and the value
    when they match. This deviates slightly from the standard which
    specifies that the value for reals is always 0.0 when the conditional
    is 'bx. There are also a couple bug fixes.
    These fixes have not been ported to continuous assignments yet.
    Ternary operators used at compile time and in procedural assignments
    should be complete (short circuit and support real values).
Commits on Dec 20, 2007
  1. LineInfo uses perm_string for path.

    Rework the handling of file names to use a perm_string heap to hold
    the file names, instead of the custom file name heap in the lexor.
    Also rename the get_line to get_fileline to reflect its real duties.
    This latter chage touched a lot of files.
Commits on Jul 8, 2006
Commits on Jun 2, 2006
  1. Make elaborate_expr methods aware of the width that the context

    steve committed
     requires of it. In the process, fix sizing of the width of unary
     minus is context determined sizes.
Commits on Jan 3, 2006
  1. Handle complex net node delays.

    steve committed
Commits on Jan 2, 2006
Commits on Jun 21, 2003
  1. Harmless fixup of warnings.

    steve committed
Commits on Feb 8, 2003
  1. Calculate delay statement delays using elaborated

    steve committed
     expressions instead of pre-elaborated expression
     Remove the eval_pexpr methods from PExpr.
Commits on Aug 12, 2002
  1. conditional ident string using autoconfig.

    steve committed
Commits on Dec 29, 2001
Commits on Nov 22, 2001
Commits on Nov 7, 2001
Commits on Jul 25, 2001
  1. Create a file to hold all the config

    steve committed
     junk, and support gcc 3.0. (Stephan Boettcher)
Commits on Jan 20, 2001
Commits on Jan 14, 2001
  1. Generalize the evaluation of floating point delays, and

    steve committed
     get it working with delay assignment statements.
     Allow parameters to be referenced by hierarchical name.
Commits on Feb 23, 2000
  1. Macintosh compilers do not support ident.

    steve committed
Commits on Sep 4, 1999
Something went wrong with that request. Please try again.