Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Jun 7, 2012
  1. @caryr
Commits on Feb 22, 2012
  1. @caryr

    Fix compile on cygwin and fix a few compile warnings.

    caryr authored
    This patch fixes a few compile warnings and adds the new packed routines
    to the ivl.def file so that this links correctly on cygwin.
Commits on Nov 28, 2011
Commits on Sep 11, 2011
  1. @caryr

    Fix some enum bugs.

    caryr authored committed
    This patch fixes a few more bugs in the enumeration code.
    It add support for saving the file and line information to make
    diagnostic messages better.
    It updates some of the compiler warning messages to use the file
    and line information.
    It passes if the enumeration type is signed all the way to the
    code generators.
    It fixes the parser to correctly have the range after the signed
    designation for the vector types.
    It adds a warning that vvp does not currently support a negative
    two state enumeration value.
Commits on Aug 7, 2011
  1. Fix for pr3368642.v.

    Martin Whitaker authored committed
    The vvp target code generator may not elide a BUFZ if the output of
    the BUFZ is connected to a net that is the subject of a procedural
    force statement.
Commits on Apr 21, 2011
  1. @caryr

    Update ivl.def to include ivl_const_nex

    caryr authored committed
Commits on Mar 23, 2011
  1. @caryr

    Add a routine to say if a logical came from a CA and some other fixes.

    caryr authored committed
    This patch adds code that allows the targets to determine if a logical
    gate came from a continuous assignment. This helps some of the targets
    generate code that more closely matches the input.
    It also reworks/simplifies the synthesis of && and || since the
    compiler has already converted the two operands to single bit form
    and fixes a mismatched delete from a previous patch.
Commits on Mar 9, 2011
  1. @caryr

    Pass some module port information and fix a few bugs.

    caryr authored committed
    This patch adds some preliminary module port information to the ivl
    interface. This may change as I investigate exactly what is needed.
    It also fixes a few minor bugs (a missed local variable and spacing)
Commits on Mar 1, 2011
  1. @caryr

    Add support for passing variable indexed part select type information

    caryr authored committed
    This patch modifies the compiler and the ivl interface to pass the
    type of indexed part select that is being represented (up/down) in
    a procedural L-value or R-value. This is needed by any back end that
    wants to correctly denormalize the (zero based) base expression.
  2. @caryr

    Add support for getting the original port names of a UDP definition.

    caryr authored committed
    This patch adds support to the compiler/ivl interface for getting the
    original UDP definition port names. ivl_udp_port() was added to get
    this information.
Commits on Feb 11, 2011
  1. @caryr

    Fix a number of file/line issues in the compiler.

    caryr authored committed
    This patch fixes a bunch of objects to have the correct file/line
    information. It also adds support for getting file/line information
    for events (named events have a definition line).
  2. @caryr

    Add more file/line and scope information to the ivl interface, etc.

    caryr authored committed
    This patch adds/fixes the following:
      Adds file/line information to a UDP definition.
      Prints an error message if a UDP is passed signals wider than 1 bit.
      A UDP should supports a range, but the compiler currently does not.
      Add scope information for constants.
      Fix the Icarus extension UDP table entry element 'h' to use h.
      The ivl_udp_init() value is a char not unsigned.
      Add FILE_NAME() for a bunch more of the ivl interface objects.
Commits on Jan 31, 2011
  1. @caryr

    Add support for ivl_const_{file,lineno}

    caryr authored committed
    This patch adds support for ivl_const_file() and ivl_const_lineno()
    to the target interface.
Commits on Jan 19, 2011
  1. @caryr

    Add support for ivl_logic_{file,lineno}

    caryr authored committed
    The logic devices were missing the file/line number interface. This patch
    adds the routines and propagates the information as needed.
Commits on Dec 1, 2010
  1. @caryr

    Fix enum compile warnings and update ivl.def (windows compile).

    caryr authored committed
    This patch fixes a few compilation warnings introduced by the
    enumeration code. It also updates the ivl.def file so that the
    proper routines get exported under windows.
Commits on Aug 14, 2010
  1. @caryr

    Add support for calling system functions as a task (SystemVerilog)

    caryr authored committed
    This patch adds the ability to call a system function as a task for
    the SystemVerilog generation (-g2009). The return value is really
    calculated, but it is ignored.
Commits on Jul 13, 2010
  1. @caryr

    Push tranif delays to the code generator.

    caryr authored committed
    This patch pushes delays for tranif gates to the code generator.
    We still need to add checks for the number of delays, etc. For
    now an error message is printed when a tranif gate is given a
    non-zero delay.
Commits on Mar 16, 2010
  1. @caryr

    Add support for passing the delay selection to vvp.

    caryr authored 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).
  2. Account for output drive of LPM mux devices.

    LPM devices, and LPM MUX devices in particular, need to
    have their drive strength accounted for.
Commits on Mar 8, 2010
  1. @caryr

    Fix Cygwin/MinGW compilation

    caryr authored committed
    This patch adds the missing ivl_expr_sized call to ivl.def which is
    needed to compile under either Cuygwin or MinGW.
Commits on Sep 24, 2009
  1. @caryr
Commits on May 23, 2009
  1. @caryr

    Add support for `celldefine, vpiCellInstance

    caryr authored committed
    This patch adds real functionality for `celldefine and pushes this
    property to the run time which can access this with vpiCellInstance.
    This is technically only available for a module, but all scopes
    have the property and only modules should return true when the
    'endmodule' is between a `celldefine and `endcelldefine directive.
Commits on Feb 24, 2009
  1. @caryr

    Keep the left and right array range value order information.

    caryr authored committed
    Previously Icarus normalized the results so array [7:0] would
    be the same as array [0:7]. This works just fine for
    simulation, but the VPI calls can select the left or right
    value and this was incorrect for the [7:0] case since it was
    being normalized to [0:7]. This patch swaps the two values in
    the a.out file and from this creates the previous first/last
    values and a new flag that can be used to get the correct
    left and right values for the VPI interface.
Commits on Feb 17, 2009
  1. @caryr

    Add support for 64 bit delays in procedural non-blocking assignments.

    caryr authored committed
    This patch adds support for 64 bit non-blocking delays in procedural
    code. We fixed the procedural delay operator (blocking delays) earlier.
    This patch mostly mimics what was done there. The continuous assignment
    delay operator still needs to be fixed.
Commits on Dec 30, 2008
  1. @caryr

    Add ivl_lpm_trigger to ivl.def

    caryr authored committed
    This is needed to allow Cygwin and MinGW to compile.
Commits on Dec 2, 2008
  1. @caryr

    Add two missing function definitions.

    caryr authored committed
    This patch adds the function definitions for ivl_expr_branch and
    ivl_expr_nature to the ivl.def file. This is needed to get Cygwin
    and MinGW to compile correctly.
Commits on Nov 25, 2008
  1. Branches are parts of islands.

    Expose the island information for branches to the ivl_target API.
Commits on Nov 24, 2008
  1. ivl_target.h access branch terminals

    Fill in the functions to add branch terminals, and add code in the
    stub to check that the terminals are present and reasonable.
  2. Add functions for targets to scan disciplines.

    The disciplines are, from the perspective of the ivl target, collected
    into the design. Add functions for the target to scan the disciplines
    in the design.
    In the process, also clean up the handlng of design constants.
Commits on Nov 10, 2008
  1. Branch references all the way down to the stub generator.

    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.
Commits on Nov 7, 2008
  1. Bring analog contribution statements to the ivl_target API.

    Add support for analog processes with analog contributation statements
    all the way down to the ivl_target code generator API.
Commits on Nov 4, 2008
  1. Bring discipline natures all the way to the ivl_target API.

    The natures of disciplines were already available, this just brings
    the information forward to the ivl_target.h API and exposes them via
    access functions.
Commits on Nov 2, 2008
  1. Bring signal discipline all the way to the ivl_target API.

    Signals may have VMA disciplines attached. Make the attached discipline
    visible through the ivl_target.h API. Also, re-arrange the internal
    handling of the discipline structure so that we can expose disciplines
    through the ivl_target C API without creating new structures. The
    t-dll-api implementations of the discipline access functions can look
    at the elaborated discipline structure directly. This is possible since
    the discipline parse and elaboration are very simple.
Commits on Aug 20, 2008
  1. @caryr

    Push the automatic property for tasks and functions to the code gen.

    caryr authored committed
    This patch pushes the automatic property for both tasks and
    functions to the code generators. The vvp back end does not
    currently support this so it will error out during code
    generation. The VHDL back end should be able to use this
    property and tgt-stub prints the property. Having this will
    also make it easier when we do adding this to the runtime.
Commits on Aug 2, 2008
  1. @caryr

    Add file and line information to processes.

    caryr authored committed
    This patch adds file and line information to processes
    (initial and always).
Something went wrong with that request. Please try again.