Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Commits on Sep 16, 2009
  1. Improve some assert messages

    Replace some assert functions with ivl_assert.
  2. @caryr

    Don't check the scope for array words.

    caryr authored committed
    We do not want to check an array word scope to see if the scope
    was already included since a scope does not include array words.
    They must be explicitly specified.
    (cherry picked from commit 0b6bd34)
  3. @caryr

    Warn that events can not be user task or function arguments.

    caryr authored committed
    This patch makes events passed as arguments to user tasks or functions
    a compile time error with an appropriate error message.
    (cherry picked from commit 4d57ede)
  4. @caryr

    Fix 64 bit problem in vvp/vpi_signal.c

    caryr authored committed
    This is based on a suggested fix from Martin. It fixes the crash
    for two tests in the test suite. As a bonus it is more efficient.
    (cherry picked from commit 43f4157)
  5. @caryr

    Squash some gcc 4.3.3 warnings.

    caryr authored committed
    This patch clears all the gcc 4.3.3 warning that can be fixed.
    The remaining warning is dictated by older versions of the
    1364 standard.
    (cherry picked from commit 6d5d06c)
  6. @caryr

    Revert one change from previous patch.

    caryr authored committed
    I was mistaken in changing the cast in the comparison.
    (cherry picked from commit 5a11a8a)
  7. @caryr

    Fix another 64 bit problem in a part select.

    caryr authored committed
    This patch fixes a problem in the .part/v select when the index is
    undefined. The default value needs to be INT_MIN, so when the long
    is cast to an int the value is in range.
    (cherry picked from commit 1b300cb)
  8. @caryr

    Fix .part/v to only use a 32 bit value.

    caryr authored committed
    To get better functionality in V0.9 and development until we
    add a select that is sign aware to .part/v this patch uses
    a 32 bit integer (int) for the select value. This allows a
    normal Verilog integer to produce the correct results. A
    warning for smaller signed index vectors is planned, but it
    needs more input.
    (cherry picked from commit 27f0327)
Commits on Sep 13, 2009
  1. @caryr

    Add support for 'bx from a signal to &PV<>

    caryr authored committed
    &PV<> was just using vpi_get_value() when a signal was driving
    the select. This incorrectly returned 0 for 'bx or 'bz. This
    patch adds a check for an undefined value and returns INT_MIN
    for this case.
    (cherry picked from commit 1b0dd8c)
  2. @caryr

    Add file/line information to named events and better expr. error.

    caryr authored committed
    This patch adds file and line number information to named events.
    It also modifies the draw_eval_expr_wid() routine to fail with
    an appropriate message for named events. This checking needs to
    be pushed into the elaboration stage, but this will give a better
    message than we had before.
    (cherry picked from commit dff6a1e)
  3. @martinwhitaker

    Add user control over implicit sensitivity list warnings.

    martinwhitaker authored committed
    This patch adds two new warning classes that can be enabled or
    disabled via the -W command line option. The first controls
    whether a warning is generated if a part select within an
    always @* statement causes the entire vector to be added to
    the implicit sensitivity list. The second controls whether a
    warning is generated if a word select within an always @*
    statement causes the entire array to be added to the implicit
    sensitivity list. The first class is not automatically enabled
    by -Wall, the second class is.
    (cherry picked from commit fc49420)
Commits on Sep 4, 2009
  1. @nickg

    Allow labelled begin blocks to contain processes in VHDL target

    nickg authored committed
    This is a simple fix for a crash that occured when a process
    was inside a labelled begin inside a generate statement.
    (cherry picked from commit face1a1)
  2. @nickg

    Handle generate scopes with signals in VHDL target

    nickg authored committed
    This uniques the name of each copy of a signal and adds
    it to the containing VHDL entity.
    (cherry picked from commit 388c9c6)
  3. @nickg

    Translate simple generate loops to VHDL

    nickg authored committed
    This handles generate loops and genvars with no local variables
    (cherry picked from commit bc7ec04)
  4. @caryr

    Remove old configure files in vvp directory.

    caryr authored committed
    (cherry picked from commit 5f08f40)
  5. @caryr

    Support negative index for %assign/av opcodes.

    caryr authored committed
    If the array index is negative these opcodes need to just return.
    (cherry picked from commit 9d76582)
  6. @caryr

    Major rewrite of indexed part selects.

    caryr authored committed
    This patch is a major rewrite of the indexed part selects (+: and -:).
    It made the following enhancements:
    1. Make indexed part selects work correctly with both big and little
       endian vectors.
    2. Add a warning flag that warns about constant out of bounds/or 'bx
       indexed selects.
    3. Moved the -: parameter code to its own routine.
    4. Added support for straddling before part selects in a CA.
    5. Added more assert(! number_is_unknown) statements.
    6. Add warning for &PV<> select with a signed index signal that is
      less than the width of an int. This will be fixed later.
    7. Add support for loading a 'bx/'bz constant into a numeric register.
    8. Add a number of signed value fixes to the compiler/code generator.
    9. Major fix of draw_select_expr() in the code generator.
    (cherry picked from commit 2b17366)
  7. @caryr

    Propagate sign in synthesize for math operators.

    caryr authored committed
    The sign of the expression needs to be propagated for the
    math operators when they are synthesized.
    (cherry picked from commit a49463e)
  8. @caryr

    Pass file/line information for part selects.

    caryr authored committed
    Propagate the file and line information for a part select
    expression and LPM (continuous assign).
    (cherry picked from commit 06997c6)
  9. @caryr

    Enhance %shiftr/i0 and $shiftl/i0 to work with negative shifts.

    caryr authored committed
    The %shiftr/i0 and %shiftl/i0 opcodes are used for some part
    selects and if we have a negative shift we want the value to be
    padded with 'bx. This patch enhances the two %shift/i0 opcodes
    to work with negative shifts and for negative shifts pad with
    'bx instead of 'b0.
    It also fixes %ix/get/s to use a uint64_t instead of a unsigned
    long to avoid problems with sign extension on 32 bit machines.
    (cherry picked from commit ecb0001)
  10. @caryr

    Assert number is not unknown for many cases in tgt-vvp.

    caryr authored committed
    This patch adds a number of asserts that a number is not unknown
    in places where this should never happen.
    (cherry picked from commit d108221)
  11. @caryr

    Add vvp support for out of bound variable part selects.

    caryr authored committed
    This patch adds support for variable part selects with out of bound
    and 'bx index values.
    (cherry picked from commit 1306a6d)
  12. @caryr

    Add a -Wselect-range warning class.

    caryr authored committed
    This patch adds support for a -Wselect-range warning class to the
    driver and ivl programs. This is part of -Wall. The actual checks
    will be added in a later patch.
    Cherry-picked from e576e1e
  13. @caryr

    Convert IVL_LPM_CONCAT to use ivl_lpm_size() instead of ivl_lpm_selec…

    caryr authored committed
    It was documented that a IVL_LPM_CONCAT would use _size() instead
    of _selects(). This patch adds the functionality to _size() and
    converts all the Icarus provided code generators to use _size().
    _select() will be kept for compatibility in V0.9.
    (cherry picked from commit 4cd790a)
  14. @caryr

    Fix subtle bug in scope checking.

    caryr authored committed
    This check looks to be defined to check the child scope not the
    top level scope.
    (cherry picked from commit 872962e)
  15. @caryr

    Update config.guess and config.sub to latest version.

    caryr authored committed
    This patch updates the config.guess and config.sub files to the
    latest ones from automake 1.11.
    (cherry picked from commit 9669ccd)
  16. @caryr

    Update MinGW requirements, etc.

    caryr authored committed
    The old readline library was causing problem. I updated the mingw.txt
    file to use the gnuwin32 version of readline (5.0-1) which works. I
    also mentioned that I plan to rewrite the directions using a newer
    version of MinGW.
    (cherry picked from commit a51f2dc)
  17. @caryr

    Add support for an undefined index for the %load/a* opcodes.

    caryr authored committed
    These opcodes need to return 'bx or 0.0 for the real opcode when
    the array index is undefined.
    The patch also documents the auto incrementing of the bit
    index register done by the %load/avx.p opcode.
    (cherry picked from commit 8623f80)
  18. @caryr

    Add missing limits.h include in

    caryr authored committed
    (cherry picked from commit 83c7a24)
  19. @caryr

    For a part select driving another part select the extra bits must be …

    caryr authored committed
    When a part select is driving another part select any bits outside the
    original select must be 'bz instead of 'bx. If we initialize the temporary
    buffer to 'bz this should work as required. It there are multiple drivers
    then a resolver comes into play and this should not matter.
    (cherry picked from commit e31b6bd)
  20. @caryr

    Ignore a zero MCD for $fflush, $fdisplay*, $fwrite* and $fstrobe*.

    caryr authored committed
    (cherry picked from commit ed4e2eb)
  21. @martinwhitaker

    Fix for pr2842185 and for genvar scopes.

    martinwhitaker authored committed
    When checking for name collisions, the compiler looks for genvar
    declarations in the enclosing module rather than in the current
    scope, which leads to false positives. The compiler also places
    all genvar declarations in the enclosing module scope, even when
    the declarations are inside a generate block which has its own
    scope. This patch fixes both these faults. It also fixes some
    typos and outdated information in comments.
    (cherry picked from commit da010db)
Commits on Aug 19, 2009
  1. @martinwhitaker

    Fix for pr2837451.

    martinwhitaker authored committed
    pr2827132 changed the val_ field in vvp_fun_part_sa to only store
    the bit values for the selected part, not the entire source vector,
    but omitted to modify the recv_vec4_pv method to handle this change.
    This patch rectifies that omission.
    (cherry picked from commit 7c61763)
Commits on Aug 18, 2009
  1. @caryr

    Fix a few more minor memory leaks.

    caryr authored committed
    This patch fixes a few more memory leaks that can happen under
    error conditions.
    (cherry picked from commit 35f3d7f)
  2. @caryr

    Do not schedule a new event if the previous event has the same value.

    caryr authored committed
    If the previous event has exactly the same value as this event then
    we do not add this event to the event queue.
    (cherry picked from commit 2e820ca)
Something went wrong with that request. Please try again.