Permalink
Commits on Sep 23, 2009
  1. Prepare for snapshot

    committed Sep 23, 2009
  2. Fix the calculation of top pad in overlapped part select

    If the part select is too wide in both the top and bottom ends,
    this patch fixes the calculation of the top pad. The compiler
    was generating too much pad if the select also extended below
    the expression.
    (cherry picked from commit 2c0b105)
    committed Sep 23, 2009
  3. Add support for .part/v.s

    This patch adds support for .part/v.s. A variable part select with
    a signed select expression in a continuous assign.
    caryr committed with Sep 19, 2009
  4. Warn that a signed part select may not work for signals < 32 bits.

    If a signed signal is driving a part select in a CA and the width
    is less than 32 bits. the value will be zero extended and will
    not work for negative values. This patch adds a warning that this
    could happen. This will be fixed in development.
    caryr committed with Sep 18, 2009
  5. Optimize a full L-value indexed part select, etc.

    This patch adds an optimization when a constant indexed part
    select covers the entire L-value. It also fixes a few issues
    in the code generator related to part selects.
    caryr committed with Sep 18, 2009
  6. Add support for signed thread base index for &A<>

    This patch adds support for getting a signed index for &A<> from
    thread space. This mimics what was done for &PV<>.
    caryr committed with Sep 17, 2009
  7. Only process the first 32 bits of the part select base.

    When reading from thread space only read the first 32 bits
    (sizeof int) for the part select base. This matches the other
    parts of the PV_get_base() code.
    caryr committed with Sep 17, 2009
  8. Warn that &A<> may have problems with a signed select from thread space.

    Like the &PV<> code we should warn the user that a signed select
    from thread space may not work correctly for &A<>. This will be fixed
    in development.
    caryr committed with Sep 17, 2009
  9. Add support to &PV<> for signed base values from thread space.

    When calculating a value from thread space we need to tell &PV<>
    if the base value is signed or not. This patch adds support for
    that functionality.
    caryr committed with Sep 17, 2009
Commits on Sep 16, 2009
  1. 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.
    caryr committed with Sep 16, 2009
Commits on Sep 13, 2009
  1. 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.
    caryr committed with Sep 12, 2009
  2. 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.
    caryr committed with Sep 10, 2009
  3. 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.
    caryr committed with Sep 10, 2009
  4. Revert one change from previous patch.

    I was mistaken in changing the cast in the comparison.
    caryr committed with Sep 11, 2009
  5. 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.
    caryr committed with Sep 11, 2009
  6. 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.
    caryr committed with Sep 9, 2009
Commits on Sep 8, 2009
  1. Fix &A<> to support an undefined word index.

    This patch adds support to &A<> for an undefined word index.
    It mostly matches what was done for &PV<>.
    caryr committed with Sep 8, 2009
  2. 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.
    caryr committed with Sep 7, 2009
  3. 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.
    caryr committed with Sep 7, 2009
  4. 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.
    martinwhitaker committed with Sep 5, 2009
Commits on Sep 4, 2009
  1. 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.
    nickg committed with Aug 26, 2009
  2. 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.
    nickg committed with Aug 26, 2009
  3. Translate simple generate loops to VHDL

    This handles generate loops and genvars with no local variables
    nickg committed with Aug 26, 2009
  4. Add support for non-blocking assignment to real arrays.

    This patch adds support for the various types of non-blocking
    assignments to real arrays.
    caryr committed with Sep 3, 2009
  5. Support negative index for %assign/av opcodes.

    If the array index is negative these opcodes need to just return.
    caryr committed with Sep 3, 2009
  6. ivl_lpm_selects() is obsolete for IVL_LPM_CONCAT

    IVL_LPM_CONCAT should use ivl_lpm_size() instead of ivl_lpm_selects.
    This is a requirement in development so add a warning and make using
    ivl_lpmp_selects() with a IVL_LPM_CONCAT fatal.
    caryr committed with Sep 2, 2009
  7. 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.
    caryr committed with Sep 2, 2009
Commits on Sep 3, 2009
  1. Fix subtle bug in scope checking.

    This check looks to be defined to check the child scope not the
    top level scope.
    caryr committed with Aug 31, 2009
  2. 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.
    caryr committed with Aug 31, 2009
Commits on Aug 31, 2009
  1. 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.
    caryr committed with Aug 29, 2009
  2. 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.
    caryr committed with Aug 28, 2009
  3. 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.
    caryr committed with Aug 28, 2009
Commits on Aug 28, 2009