Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Apr 7, 2011
  1. @martinwhitaker @steveicarus

    Fix for compiler crash when function arguments are unknown.

    martinwhitaker authored steveicarus committed
    When a user or system function is called on the RHS of a continuous
    assignment, and one of the function arguments is an undeclared
    identifier, the compiler reports the error correctly but then
    crashes. This patch fixes the crash.
  2. @martinwhitaker @steveicarus

    Rework of constant expression error reporting.

    martinwhitaker authored steveicarus committed
    This patch changes the method used to signal that a constant expression
    is being elaborated from flags stored in global variables to flags
    passed down the call chain. It also generates more informative error
    messages when variable references are found in a constant expression.
Commits on Mar 28, 2011
  1. @martinwhitaker @steveicarus

    Fix for over-enthusiastic pruning of expressions.

    martinwhitaker authored steveicarus committed
    The minimum width for expressions containing a literal number was
    being incorrectly calculated, leading to loss of information in
    some circumstances.
  2. @jaredcasper @steveicarus

    SystemVerilog 'N bit vectors.

    jaredcasper authored steveicarus committed
    Adds a is_single_ flag to the verinum class to indicate it came from a
    'N bit vector and needs to be handled accordingly.
Commits on Mar 14, 2011
  1. @martinwhitaker @steveicarus

    Miscellaneous improvements and fixes to shift elaboration.

    martinwhitaker authored steveicarus committed
    This patch ensures that the result of a shift is an undefined value
    if the right operand is an undefined value. It also improves the
    code generated for right shifts where the right operand is constant
    and optimises away shifts where the right operand is a constant 0.
    It also fixes a few places where the expression type (signed/unsigned)
    was not being set correctly.
  2. @ldoolitt @steveicarus

    Spelling fixes

    ldoolitt authored steveicarus committed
    Mostly then/than confusion.  All comments or README files,
    except for one user-visible change in a tgt-vlog95 error message.
Commits on Mar 3, 2011
  1. @caryr @steveicarus

    Fix spacing problems.

    caryr authored steveicarus committed
    This patch fixes spacing problems in the source code, space/tab at
    the end of line and space before tab.
  2. @martinwhitaker @steveicarus

    Fix for pr3197861.

    martinwhitaker authored steveicarus committed
    This patch adds a check on the expression type before adjusting an
    unsized expression width up to integer_width. This adjustment should
    only be performed for vectorable expressions.
    
    The patch also fixes a few compiler warnings that only show up on
    32-bit builds.
Commits on Mar 2, 2011
  1. @martinwhitaker @steveicarus

    Expression width rework.

    martinwhitaker authored steveicarus committed
    This patch is a major rework of expression elaboration and
    evaluation in the compiler, aimed at better compliance with
    the IEEE standard.
Commits on Mar 1, 2011
  1. @caryr @steveicarus

    Add support for passing variable indexed part select type information

    caryr authored steveicarus committed
    This patch modifies the compiler and the ivl interface to pass the
    type of indexed part select that is being represented (up/down) in
    a procedural L-value or R-value. This is needed by any back end that
    wants to correctly denormalize the (zero based) base expression.
Commits on Feb 11, 2011
  1. @caryr @steveicarus

    The select not the original parameter get the file/line info.

    caryr authored steveicarus committed
    When taking a variable part select of a parameter we need to
    give file and line information to the select not the parameter.
Commits on Dec 6, 2010
  1. @martinwhitaker @steveicarus

    Report error for user functions in parameter expressions.

    martinwhitaker authored steveicarus committed
    Constant user functions aren't currently supported. A suitable
    error message should be output when a user function call is
    encountered in a parameter expression. This got lost in the
    parameter expression rework.
  2. @martinwhitaker @steveicarus

    Cleanup after parameter expression rework.

    martinwhitaker authored steveicarus committed
    This patch removes some code made redundant by the rework of
    parameter expression evaluation. It also documents the new
    -g option.
  3. @martinwhitaker @steveicarus

    Rework of parameter expression elaboration.

    martinwhitaker authored steveicarus committed
    The compiler currently performs parameter expression elaboration before
    performing parameter overrides. This means that the information needed
    to correctly determine the expression type and width may not be available
    at the time elaboration is performed. This patch reworks the code to
    delay elaboration until after all overrides have been performed. It
    also provides a new -g option that controls how the width of parameter
    expressions is calculated when the parameter itself is unsized.
Commits on Nov 28, 2010
  1. @steveicarus

    Merge branch 'master' into work2

    steveicarus authored
    Conflicts:
    	elab_scope.cc
    	net_nex_input.cc
    	t-dll-api.cc
    	vvp/parse.y
Commits on Nov 20, 2010
  1. @steveicarus

    Describe enum type to code generators

    steveicarus authored
    This gets the enumeration type through to the ivl_target API so
    that code generators can do something with it. Generate stub
    output with tgt-stub, and generate the proper vvp run time to
    make simple enumerations work from end to end.
Commits on Nov 7, 2010
  1. @steveicarus

    Handle system functions that return enumerations.

    steveicarus authored
    There are a few internal system functions that return enumeration
    values, and the type checker needs to properly account for that.
  2. @steveicarus
Commits on Nov 6, 2010
  1. @steveicarus
Commits on Nov 3, 2010
  1. @steveicarus

    Test type correctness during elaboration.

    steveicarus authored
    Create a netenum_t class to carry the enumeration type in the
    netlist.h structures, and use that type to check enumerations
    with assignments.
Commits on Nov 2, 2010
  1. @caryr @steveicarus

    Fix some -Wextra warnings and some other bug fixes/enhancements.

    caryr authored steveicarus committed
    This patch covers more than it should. It removes many of the -Wextra
    warnings in the main ivl directory. It also makes some minor code
    improvements, adds support for constant logicals in eval_tree (&&/||),
    adds support for correctly sign extending === and !==, it starts to
    standardize the eval_tree debug messages and fixes a strength bug
    in the target interface (found with -Wextra). The rest of the warnings
    and eval_tree() rework will need to come as a second patch.
  2. @caryr @steveicarus

    Change iterators to use prefix ++ since it is more efficient.

    caryr authored steveicarus committed
    This patch changes all the iterator code to use a prefix ++ instead
    of postfix since it is more efficient (no need for a temporary). It
    is likely that the compiler could optimize this away, but lets make
    it efficient from the start.
Commits on Oct 31, 2010
  1. @steveicarus

    Detect the net.name() method and generate a system function.

    steveicarus authored
    SystemVerilog .name() methods can be converted to equivilent
    system functions.
Commits on Oct 26, 2010
  1. @steveicarus

    Remove some uses of the svector template.

    steveicarus authored
    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 Oct 2, 2010
  1. @steveicarus
  2. @caryr @steveicarus

    Add another missing probe_expr_width() call.

    caryr authored steveicarus committed
    The indexed select width argument was missing a call to
    probe_expr_width() and was crashing the compiler.
Commits on Oct 1, 2010
  1. @steveicarus

    Merge branch 'vhdl'

    steveicarus authored
Commits on Sep 30, 2010
  1. @caryr @steveicarus

    Resize an unsized signed constant if it is less than integer_width.

    caryr authored steveicarus committed
    An unsized signed constant that is smaller than integer_width needs
    to be resized up to either the integer_width or the expression width
    whichever is smaller.
Commits on Sep 22, 2010
  1. @ldoolitt @steveicarus

    Spelling fixes

    ldoolitt authored steveicarus committed
    All fixes are in comments, except for one error message (was "iternal error")
Commits on Sep 19, 2010
  1. @caryr @steveicarus

    Pad and sign convert array index expressions as needed.

    caryr authored steveicarus committed
    This patch mimics what was done for vectors, but is simpler since
    arrays don't use the endian information. It also needs to address
    the fact that .array/port assumes the expression is unsigned so
    any signed expression must be padded to make it larger than the
    maximum array word when it is converted to unsigned.
  2. @caryr @steveicarus

    Normalize variable bit/indexed part selects using a fixed routine.

    caryr authored steveicarus committed
    This patch modifies all the variable bit and indexed part selects
    to use a common routine. This routine determines the minimum
    width needed to calculate the result correctly, pads the expression
    if needed and then converts the expression to signed if required to
    make the calculation correct.
Commits on Sep 4, 2010
  1. @caryr @steveicarus

    Add another missing probe_expr_width() call.

    caryr authored steveicarus committed
    The indexed select width argument was missing a call to
    probe_expr_width() and was crashing the compiler.
Commits on Aug 7, 2010
  1. @wpd @steveicarus

    Keep expression width when evaluating expressions ahead of time.

    wpd authored steveicarus committed
    Added 'expr_wid' parameter to calls to 'eval_expr()' within
    PEBinary::elaborate_eval_expr_base_()'.  This makes a specific problem
    go away and may even be the correct thing to do.
Commits on Jul 7, 2010
  1. @caryr @steveicarus

    Only set the multiply width if it is greater than zero and vectorable

    caryr authored steveicarus committed
    We only need to set the width of a multiple if the width is greater
    than zero and if the expression is vectorable. This matches what is
    done for addition.
Commits on May 14, 2010
  1. @caryr @steveicarus

    Fix new shadow issues and add -Wshadow to gcc compile.

    caryr authored steveicarus committed
    Some new shadow issues have crept in. This patch fixes these new
    issues and adds -Wshadow to the normal warning flags to keep any
    new occurrences from happening.
Something went wrong with that request. Please try again.