Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Nov 27, 2011
Commits on Nov 26, 2011
  1. Revert "Assume module output primitive arguments as variables by defa…

    authored
    …ult"
    
    This reverts commit 537b8cb.
    Whatever problem that report was trying to address was addressed
    wrongly by the reverted patch.
Commits on Nov 25, 2011
  1. @caryr

    Make wreal an extra keyword in Icarus.

    caryr authored
    Most people doing real modeling don't want to bring in the whole
    Verilog-AMS infrastructure to use wreal nets. This patch adds the
    wreal keyword to the xtypes generation so that wreal is available
    by default.
Commits on Nov 24, 2011
  1. @caryr

    Add preliminary support for wreal in Verilog-AMS mode.

    caryr authored
    This patch adds wreal support when in Verilog-AMS mode. It doesn't add
    everything that is shown in the Verilog-A standard.
    
    It adds the following:
    
      Declaring a wreal net.
      Declaring a wreal net with an initialization.
      Declaring a wreal input/output using ANSI syntax.
      Declaring a wreal input/output using the old style.
    
    Declaring wreal inout ports are also allowed and parsed, but the
    compiler does not know how to handle this. There are other deviations
    from what is shown in the Verilog-A standard, but this should get most
    of the syntax people actually use.
  2. @caryr

    Treat an empty @* as something that will never trigger.

    caryr authored
    An @* with no sensitivities should be treated as something that will
    never trigger vs something that will run continuously. This patch makes
    this change and adds a warning when an @* has no sensitivities since
    this is almost certainly a coding bug.
Commits on Nov 23, 2011
  1. @caryr

    Add support for a named block to only have variable definitions.

    caryr authored
    It is legal for a named block to contain variable definitions and
    no statements. This patch fixes this for both style of blocks. It
    also organizes the block parsing code to be a bit more clear, adds
    an error case for fork/join and changes on check for size() > 0 for
    the more efficient ! empty().
  2. @caryr

    Fix two bugs and use the more efficient !empty() vs size() > 0

    caryr authored
    These two bugs were found with a recent cppcheck addition. It also
    changes one occurrence of size() > 0 for the more efficient ! empty().
  3. @caryr

    Update PSpecPath to take the polarity and full_flag when constructed

    caryr authored
    To avoid a variables not initialized in the construct this patch modifies
    the PSpecPath class to take the polarity and full_flag as arguments to
    the constructor.
  4. @caryr

    Update the cppcheck suppression file in the vpp directory.

    caryr authored
    Recent code changes moved the line that was being suppressed to a
    different line. This patch updates the suppression file to match the
    current code.
Commits on Nov 20, 2011
  1. Add the -mvpi_debug VPI module.

    authored
    This is a place to store interesting debug tools for VPI.
    For starters, there is $vpi_tree function.
Commits on Nov 19, 2011
  1. Improve version tag from git.

    authored
    The --always flag to git describe is harmless in the normal case,
    and helpful in some special cases. Also add the --dirty flag to
    get extra interesting details.
  2. @caryr

    For wire and/or nets we need all the net resolution to be and/or.

    caryr authored committed
    If a wired and/or net has more than four connections all the other
    resolution branches must also be wired and/or. All other nets can
    just be tri since tri0/tri1 only needs the final resolution to be
    an active pull up/down.
Commits on Nov 17, 2011
  1. @caryr

    Assert that sync/async set/clear are not supported for a DFF primitive.

    caryr authored committed
    Since synthesis is not currently supported we do not support/generate
    sync/async set or clear control inputs. This is further complicated by
    the fact that the VVP DFF primitive is not fully implemented.
  2. @caryr

    Fix Cygwin compile problem (replace abs() call with ?:

    caryr authored committed
    This patch fixes a compile problem in Cygwin where there are two
    definitions for abs() that do not match so the C++ code doesn't know
    which one to call. To avoid the whole mess replace the call to abs()
    with the appropriate ?: construct.
Commits on Nov 11, 2011
  1. @caryr

    Report that a vectored full connection only supports a single src/dst

    caryr authored committed
    In a specify block a full connection is defined to only support a single
    source and destination path. This patch adds an error message when this
    is found, except we skip the error if all the paths are a single bit
    wide. This exemption was added to match the functionality found in
    NC-Verilog and presumably Verilog-XL.
    
    A message was also added in place of an assert if the source signals was
    not found in the current scope.
  2. @caryr

    Remove wide input valgrind warnings.

    caryr authored committed
    Both UDPs and system functions use the wide input functor. This patch
    modified the code generator to create a local net declaration for the
    output net if we have either a delay or modpath connecting the output
    to the true output. This is needed so that the wide input can be
    cleaned up correctly.
    
    Local real nets were also added to the local net pool when testing with
    valgrind. This allows them to be cleaned up at the end.
  3. @caryr

    Cleanup unneeded vectors in a delay after initialization.

    caryr authored committed
    For a delay we do not know exactly what type we will be propagating
    until the initialization event has happened. Because of this we
    allocate both a vec4 and a vec8 value. Once the initialization event
    has happened we can free the unneeded element(s).
  4. @caryr

    Add check that a parallel connection uses the same width input/output.

    caryr authored committed
    This patch uses the full_flag to verify that the input and output have the
    same width for a parallel connection. Icarus always uses a full connection
    so this is just a portability issue with other simulators.
    
    The pform dump code was also modified to correctly display the polarity
    and full/parallel connection type.
Commits on Nov 6, 2011
  1. System Verilog tasks can have multiple statements.

    authored
    The begin/end block that wraps the statements can be implicit.
  2. Handle arrays of vectors in VHDL types.

    authored
    This incidentally adds binding of generic to generic instantation.
Commits on Nov 5, 2011
Commits on Nov 4, 2011
  1. @caryr

    Fix space issues.

    caryr authored committed
    This patch removes space before EOL, etc.
  2. Compiler fixes for MinGW.

    Martin Whitaker authored committed
    In MinGW, when parameters are passed to vhdlpp by ivlpp, single quotes
    are treated as ordinary characters. Use double quotes instead, as is
    done in the driver.
    
    Also, MinGW does not have a standard mkdir() function, so we need to
    convert calls to mkdir() into calls to _mkdir().
  3. Add missing hyphen to --ldlibs option in iverilog-vpi man page

    Ole Henrik Jahren authored committed
  4. @caryr
Commits on Nov 1, 2011
  1. @caryr

    Use UINT_MAX instead of -1 to set unsigned to maximum value.

    caryr authored committed
    The Sun C compiler warns when -1 is used to initialize an unsigned.
Commits on Oct 31, 2011
  1. @caryr

    Reduce the error when scaling a real time value.

    caryr authored committed
    When scaling a time value we would often use the power operator to
    create constants 10**-N that were then multiplied with the original
    value. The problem with this is that there is some errors in the
    representation of the fractional number. It is better to create a
    integer value 10**N and then divide the original value by this
    exact constant. You still have the calculation error, but the scale
    value is now an exactly real value.
  2. @caryr

    Remove old comment.

    caryr authored committed
  3. @caryr

    Major rework of the $sscanf()/$fscanf() code.

    caryr authored committed
    Add support for %m, suppression '*' and a maximum field width along with
    a number of other fixes/enhancements. There is still no support for
    %u, %v or %z.
  4. @caryr

    Make some messages consistent in sys_icarus.c.

    caryr authored committed
    This patch makes some of the VPI messages consistent with the rest.
  5. Restore ability to supply LDFLAGS to MinGW configure.

    Martin Whitaker authored committed
    The fix to get a C99 compliant strtod() in MinGW mistakenly set the
    LDFLAGS value rather than appending to it. This meant that a LDFLAGS
    supplied by the user on the configure command line would be ignored.
Something went wrong with that request. Please try again.