Skip to content
This repository
tag: pei20090916

Sep 16, 2009

  1. Stephen Williams

    Improve some assert messages

    Replace some assert functions with ivl_assert.
    authored
  2. Cary R.

    Don't check the scope for array words.

    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)
    caryr authored committed
  3. Cary R.

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

    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)
    caryr authored committed
  4. Cary R.

    Fix 64 bit problem in vvp/vpi_signal.c

    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)
    caryr authored committed
  5. Cary R.

    Squash some gcc 4.3.3 warnings.

    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)
    caryr authored committed
  6. Cary R.

    Revert one change from previous patch.

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

    Fix another 64 bit problem in a part select.

    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)
    caryr authored committed
  8. Cary R.

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

    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)
    caryr authored committed

Sep 13, 2009

  1. Cary R.

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

    &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)
    caryr authored committed
  2. Cary R.

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

    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)
    caryr authored committed
  3. martinwhitaker

    Add user control over implicit sensitivity list warnings.

    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)
    martinwhitaker authored committed

Sep 04, 2009

  1. Nick Gasson

    Allow labelled begin blocks to contain processes in VHDL target

    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)
    nickg authored committed
  2. Nick Gasson

    Handle generate scopes with signals in VHDL target

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

    Translate simple generate loops to VHDL

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

    Remove old configure files in vvp directory.

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

    Support negative index for %assign/av opcodes.

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

    Major rewrite of indexed part selects.

    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)
    caryr authored committed
  7. Cary R.

    Propagate sign in synthesize for math operators.

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

    Pass file/line information for part selects.

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

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

    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)
    caryr authored committed
  10. Cary R.

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

    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)
    caryr authored committed
  11. Cary R.

    Add vvp support for out of bound variable part selects.

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

    Add a -Wselect-range warning class.

    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
    caryr authored committed
  13. Cary R.

    Convert IVL_LPM_CONCAT to use ivl_lpm_size() instead of ivl_lpm_selec…

    …ts()
    
    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)
    caryr authored committed
  14. Cary R.

    Fix subtle bug in scope checking.

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

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

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

    Update MinGW requirements, etc.

    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)
    caryr authored committed
  17. Cary R.

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

    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)
    caryr authored committed
  18. Cary R.

    Add missing limits.h include in vpi_signal.cc

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

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

    …'bz.
    
    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)
    caryr authored committed
  20. Cary R.

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

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

    Fix for pr2842185 and for genvar scopes.

    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)
    martinwhitaker authored committed

Aug 19, 2009

  1. martinwhitaker

    Fix for pr2837451.

    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)
    martinwhitaker authored committed

Aug 18, 2009

  1. Cary R.

    Fix a few more minor memory leaks.

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

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

    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)
    caryr authored committed
Something went wrong with that request. Please try again.