Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Apr 7, 2011
  1. @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 14, 2011
  1. @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.
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 Jan 13, 2011
  1. @caryr @steveicarus

    Remove some more cppcheck warnings.

    caryr authored steveicarus committed
    This patch removes some more simple cppcheck warnings and updates two of
    the cppcheck suppression files.
Commits on Dec 6, 2010
  1. @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 2, 2010
  1. @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 2, 2010
  1. @steveicarus
Commits on Jul 31, 2010
  1. @caryr @steveicarus

    Remove some cppcheck warnings.

    caryr authored steveicarus committed
    This patch modifies the code to remove some more cppcheck warnings.
Commits on Mar 16, 2010
  1. @caryr @steveicarus

    Add support for passing the delay selection to vvp.

    caryr authored steveicarus committed
    This patch adds support for passing the delay selection to vvp.
    It adds a new header :ivl_delay_selection "<value>"; that has
    the values TYPICAL, MINIMUM or MAXIMUM depending on the -T
    flag to iverilog. This information is needed by $sdf_annotate
    to select that appropriate value for a triplet when
    "TOOL_CONTROL" is specified (default).
Commits on Dec 8, 2009
  1. @steveicarus

    Dramatically improve NetScope child lookup.

    steveicarus authored
    In physical models, there are often very many child scopes in any
    given scope. The lookup for child scope needs to be optimized.
Commits on Apr 3, 2009
  1. @caryr @steveicarus

    Report an error when trying to take the concatenation of a real value.

    caryr authored steveicarus committed
    This patch adds checks in various places to prevent the user from
    taking a concatenation of a real value.
Commits on Dec 20, 2008
  1. @steveicarus

    Handle errors in parameter handling.

    steveicarus authored
    Don't crash if the user typed in an invalid parameter.
Commits on Dec 19, 2008
  1. @steveicarus

    Fix the signed-ness calculations of +- in parameter expressions.

    steveicarus authored
    This fixes up the elaboration of binary expressions found in
    parameter expressions. Parameter expressions are special because
    they elaborate early, before all the other parameters are necessarily
Commits on Nov 10, 2008
  1. @steveicarus

    Branch references all the way down to the stub generator.

    steveicarus authored
    This includes enough API to get the branch nexus bits and signals
    and show them in the dump. This also includes creating the reference
    ground for branch access functions that use the implicit ground.
  2. @steveicarus
Commits on Oct 22, 2008
  1. @steveicarus

    Infrastructure for elaborating analog statements.

    steveicarus authored
    Put together the infrastructure for elaborating analog statements,
    including create the NetAnalogTop objects that hold analog statements
    and are in turn held by the design.
    While doing this, clean up the various unique initial/always enumerations
    to use the ivl_process_type_t type.
Commits on Oct 14, 2008
  1. @ldoolitt @steveicarus

    Shadow reduction part 2

    ldoolitt authored steveicarus committed
    Continue cleaning up shadowed variables, flagged by turning on -Wshadow.
    No intended change in functionality.  Patch looks right, and is tested
    to compile and run on my machine.  No regressions in test suite.
Commits on Aug 10, 2008
  1. @caryr @steveicarus

    Pass a NULL expression when parameter expression elaboration fails

    caryr authored steveicarus committed
    When elaborating a parameter expression fails we need to set the
    expression to 0 since it has already been partially allocated.
    Doing this allows us to not evaluate the dummy expression later.
Commits on Jun 30, 2008
  1. @steveicarus

    Handle multiple passes of scope and defparam elaboration.

    steveicarus authored
    When generate schems and instance arrays are nested, it takes
    multiple iterations of elaborate scope, defparams and evaluate
    parameters before everything is worked out. Rework the work item
    processing so that the loop elaborates scopes and runs defparams
    in phases. The phases are needed so that we can tell when the
    remaining defparams are orphaned.
Commits on Jun 28, 2008
  1. @steveicarus

    Handle indexed defparams.

    steveicarus authored
    The l-value of a defparam assignment is a hierarchical name that may
    include array selects to select scopes from module arrays. Therefore
    it makes no sense to store parsed defparams in a map. Instead, they
    should go into an ordered list. This also maked more sense because later
    defparams *may* have the same name as a previous defparam, and will
    override the previous defparam. So replace the map of parsed defparams
    with a list of parsed defparams.
    Also, as soon as the defparam expression is elaborated, the list entry
    is no longer needed, so delete it. Save memory.
Commits on Jun 26, 2008
  1. @steveicarus

    Multiple passes for run_defparams.

    steveicarus authored
    It is possible for defparams to not find their target the first time
    around, because the elaboration of the target scope is not yet done.
    So retry the defparams once for each scope by putting it on a work
    item in the elaborator_work_items list.
Commits on Jun 12, 2008
  1. @caryr @steveicarus

    Add parameter time/realtime types and other fixes.

    caryr authored steveicarus committed
    This patch adds the time and realtime types to parameters
    and local parameters. It also makes the width (range) of
    an integer parameter match the variable "integer_width"
    (normally 32 bits). It also converts a real value to
    an integer when a range is implicitly or explicitly
    given. This all matches what the standard specifies.
    Fixed an error in converting -1 to a unsized verinum.
Commits on Jun 10, 2008
  1. @steveicarus

    Fix access to deleted memory.

    steveicarus authored
    When parameters are replaced, the expression that is replaced is deleted
    so make sure the pointer in the map is properly updated. Also, make sure
    the defparam expression itself is not deleted because it is used to
    print messages, such as design dumps.
Commits on Jun 5, 2008
  1. @steveicarus

    Fix default parameter type if localparams are present.

    steveicarus authored
    localparam declarations were messing up the state of parser variables
    so that the default types of following parameters got messed up.
Commits on Jun 4, 2008
  1. @steveicarus

    More cost effective and reliable island joining algorithm.

    steveicarus authored
    Rather then join islands while branches are initially created, save the
    island creating for the end. This way, the process is actually recursive
    and greedy, reliably collecting branches into islands without conflict.
Commits on May 21, 2008
  1. @steveicarus

    Clear up some poor pointer management.

    steveicarus authored
    The expression for a paramter value was not well managed, given that
    the eval_expr() function replaces pointers. Clear things up a bit.
Commits on May 20, 2008
  1. @ldoolitt @steveicarus

    Compatibility with gcc-4.3

    ldoolitt authored steveicarus committed
    Add include statements (<cstdlib> for abort()) and a cast.
    Necessary and sufficient for successful compilation with
    gcc-4.3 (Debian 4.3.0-4) 4.3.1 20080501 (prerelease)
Commits on May 17, 2008
  1. @steveicarus

    Skip value range processing for parameters with no value ranges.

    steveicarus authored
    Classing parameter declarations do not need value range processing,
    and in fact it can get in the way.
  2. @steveicarus

    Add support for explicit parameter types, including real.

    steveicarus authored
    Before this, the types of parameters were always logic, only the
    width and signed-ness could be controlled. A parameter may take
    on implicit real values if the expression were real.
    With this patch, the type for the parameter can be explicitly set
    to logic or real. This also means that the parameter real valued
    expressions need to be more crefully treated, possibly with casting
    integral expressions to real values, or real expressions to integral
Commits on May 14, 2008
  1. @steveicarus

    Basic test of the range for logic/bool parameters.

    steveicarus authored
    If there is a value range for a logic/bool parameter, then test the
    configured value with the range and report an error if the range is
    out of bounds.
Commits on Mar 26, 2008
  1. @steveicarus

    Parameters get their types (signedness) from expressions.

    steveicarus authored
    Parameters get their signedness from the expression that is assigned
    to them unless the type is explicitly expressed where the parameter
    is declared.
Commits on Dec 20, 2007
  1. @steveicarus

    LineInfo uses perm_string for path.

    steveicarus authored
    Rework the handling of file names to use a perm_string heap to hold
    the file names, instead of the custom file name heap in the lexor.
    Also rename the get_line to get_fileline to reflect its real duties.
    This latter chage touched a lot of files.
Commits on Dec 8, 2007
  1. @caryr @steveicarus

    Fix function/task scope searching.

    caryr authored steveicarus committed
    When looking for a function or task (scope) do not compare the final path
    component with the current module name since it cannot be an up reference.
Commits on Jun 5, 2007
Something went wrong with that request. Please try again.