326 lines
11 KiB
Plaintext
326 lines
11 KiB
Plaintext
# This test list contains tests that use Icarus specific language extensions
|
|
# and tests for known Icarus limitations and deviations.
|
|
|
|
# NOTE: This isn't a complete list - some tests adapt themselves if the
|
|
# __ICARUS__ macro is defined.
|
|
|
|
#
|
|
# Copyright (c) 1999-2021 Guy Hutchison (ghutchis@pacbell.net)
|
|
#
|
|
# This source code is free software; you can redistribute it
|
|
# and/or modify it in source code form under the terms of the GNU
|
|
# General Public License as published by the Free Software
|
|
# Foundation; either version 2 of the License, or (at your option)
|
|
# any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program; if not, write to the Free Software
|
|
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
|
#
|
|
# Format of the file
|
|
#
|
|
# testname testtype directory
|
|
#
|
|
# The <testname> is the verilog file name minus an extension.
|
|
#
|
|
# The <testtype> can be one of the following:
|
|
#
|
|
# normal: Normal results expected, i.e it should compile and execute
|
|
# producing at least a single line with PASSED.
|
|
#
|
|
# CO: Compile Only - Compile the file to the default output type.
|
|
#
|
|
# CN: Compile Null - Compile with the null target. Similar to CO.
|
|
#
|
|
# CE: Compile with Errors - We EXPECT errors - we're checking
|
|
# illegal syntax
|
|
#
|
|
# RE: Runtime with Errors - We EXPECT errors - we're checking
|
|
# illegal syntax
|
|
#
|
|
# EF: Expected Fail - We EXPECT this test to fail - only use
|
|
# with older versions of Icarus.
|
|
#
|
|
# TE: Translation Error - We EXPECT the translated code to fail -
|
|
# only supported in the vlog95 checker.
|
|
#
|
|
# NI: Not implemented. Only use for version specific tests.
|
|
#
|
|
# <directory> is where the <testname>.v file is located.
|
|
#
|
|
# An optional fourth and fifth argument can be supplied.
|
|
#
|
|
# The fourth argument may be one of the following.
|
|
#
|
|
# modulename - Defines the top level module
|
|
# gold=filename - Compare a gold file against the
|
|
# generated log file.
|
|
# unordered=filename - Compare a gold file against the
|
|
# generated log file, allowing for lines
|
|
# to appear in any order
|
|
# diff=filename1:filename2:skip_ln - Compare the two files for equality.
|
|
# Skip the first <skip_ln> lines or none.
|
|
#
|
|
# If a <modulename> is given you can supply a fifth argument for the
|
|
# gold or diff commands.
|
|
#
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Icarus pre-processor extensions
|
|
#------------------------------------------------------------------------------
|
|
|
|
# Escaped defines ``
|
|
macro_with_args normal ivltests gold=macro_with_args.gold
|
|
mcl1 normal ivltests gold=mcl1.gold
|
|
pr622 normal ivltests gold=pr622.gold
|
|
pr639 normal ivltests gold=pr639.gold
|
|
pr1741212 normal ivltests gold=pr1741212.gold
|
|
pr1912112 normal ivltests gold=pr1912112.gold
|
|
pr1925360 normal ivltests
|
|
repeat1 normal ivltests
|
|
|
|
# This just checks whether the pre-processor runs successfully
|
|
pr2002443 CO,-E ivltests
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Icarus language extensions
|
|
#------------------------------------------------------------------------------
|
|
|
|
# $abs, $min and $max to match VAMS abs, min and max
|
|
constfunc6_ams normal ivltests
|
|
non-polymorphic-abs normal ivltests
|
|
pr3270320_ams CE ivltests
|
|
test_va_math normal,-mva_math ivltests gold=test_va_math.gold
|
|
va_math normal ivltests
|
|
|
|
# $abstime from VAMS
|
|
abstime normal ivltests
|
|
pr2590274a normal ivltests gold=pr2590274.gold
|
|
pr2590274b normal ivltests gold=pr2590274.gold
|
|
pr2590274c normal,-gspecify ivltests gold=pr2590274.gold
|
|
|
|
# $bits
|
|
bitsel normal ivltests gold=bitsel.gold
|
|
bitsel10 normal ivltests
|
|
bitsel2 normal ivltests
|
|
bitsel3 normal ivltests
|
|
bitsel4 normal ivltests
|
|
bitsel5 normal ivltests
|
|
bitsel6 normal ivltests
|
|
bitsel7 normal ivltests
|
|
bitsel8 normal ivltests # pr615
|
|
bitsel9 normal ivltests # pr617
|
|
bitwidth3 normal ivltests
|
|
clog2 normal ivltests
|
|
clog2-signal normal ivltests
|
|
param_vec normal ivltests
|
|
param_vec2 normal ivltests
|
|
pr498a normal ivltests
|
|
pr721 normal ivltests
|
|
pr809 normal ivltests
|
|
pr809b normal ivltests
|
|
pr979 normal ivltests gold=pr979.gold
|
|
pr1000 normal ivltests
|
|
pr1609611 normal ivltests
|
|
pr1750870 normal ivltests
|
|
pr1765789 normal ivltests
|
|
pr1771903 normal ivltests gold=pr1771903.gold
|
|
pr1793749 normal ivltests gold=pr1793749.gold
|
|
pr1793749b normal ivltests gold=pr1793749b.gold
|
|
pr1861212b normal ivltests gold=pr1861212.gold
|
|
pr1864110c normal ivltests gold=pr1864110c.gold
|
|
pr1864115 normal ivltests gold=pr1864115.gold
|
|
pr2806449 normal ivltests
|
|
pr2877555 normal ivltests
|
|
real4 normal ivltests
|
|
realtobits normal ivltests
|
|
specparam1 normal ivltests
|
|
specparam2 normal ivltests
|
|
tern3 normal ivltests gold=tern3.gold
|
|
v2005_math normal ivltests
|
|
|
|
# $deposit
|
|
deposit normal ivltests
|
|
deposit_wire normal ivltests
|
|
sysargs normal ivltests
|
|
|
|
# $fatal
|
|
fatal_et_al normal ivltests gold=fatal_et_al.gold
|
|
fatal_et_al2 RE ivltests gold=fatal_et_al2.gold
|
|
|
|
# $finish_and_return
|
|
plus_arg_string normal,-g2009,\
|
|
+img=test_image.file ivltests
|
|
|
|
# $fopena, $fopenr and $fopenw
|
|
fileio normal ivltests gold=fileio.gold
|
|
|
|
# $is_signed
|
|
pr1494799 normal ivltests gold=pr1494799.gold
|
|
pr2428890c normal ivltests
|
|
|
|
# $ivl_darray_method$to_vec & $ivl_darray_method$from_vec
|
|
sv_cast_darray normal,-g2005-sv ivltests
|
|
|
|
# $ivl_to_unsigned
|
|
br978 normal ivltests
|
|
br_ml20150424 normal ivltests
|
|
|
|
# $readmempath
|
|
pr2509349a normal ivltests gold=pr2509349a.gold
|
|
pr2509349b normal ivltests gold=pr2509349b.gold
|
|
|
|
# $simparam
|
|
simparam normal ivltests
|
|
|
|
# $simtime
|
|
blocking_repeat_ec normal ivltests
|
|
ca_time_smtm normal ivltests gold=ca_time_smtm.gold
|
|
nb_array_pv normal ivltests
|
|
nb_ec_array normal ivltests
|
|
nb_ec_array_pv normal ivltests
|
|
nb_ec_array_pv2 normal ivltests
|
|
nb_ec_pv normal ivltests
|
|
nb_ec_pv2 normal ivltests
|
|
nb_ec_real normal ivltests
|
|
nb_ec_vector normal ivltests
|
|
pr2486350 normal ivltests gold=pr2486350.gold
|
|
pr534 normal ivltests gold=pr534.gold
|
|
stime normal ivltests gold=stime.gold
|
|
swrite normal ivltests gold=swrite.gold
|
|
time6 normal ivltests
|
|
time6b normal ivltests # Rewrote time6 to pass with XL
|
|
time6c normal ivltests gold=time6c.gold
|
|
|
|
# $sizeof
|
|
concat1 normal ivltests # PR#327,372
|
|
concat2 normal ivltests # PR#282
|
|
constconcat1 normal ivltests
|
|
constconcat2 normal ivltests
|
|
rptconcat2 normal ivltests # Repeat concatenation operation.
|
|
sdw_lvalconcat2 normal ivltests
|
|
|
|
# bool type
|
|
bool1 normal ivltests
|
|
compare_bool_reg normal ivltests
|
|
constfunc8 normal ivltests
|
|
|
|
# Binary ~& and ~| operators
|
|
binary_nand normal ivltests
|
|
binary_nor normal ivltests
|
|
|
|
# real modulus
|
|
pr1528093 normal ivltests
|
|
|
|
# wire real
|
|
br_gh456 normal,-g2012 ivltests
|
|
ca_64delay normal ivltests gold=ca_64delay.gold
|
|
ca_time_real normal ivltests gold=ca_time_real.gold
|
|
ca_var_delay normal ivltests
|
|
cast_real_signed normal ivltests
|
|
cast_real_unsigned normal ivltests
|
|
delayed_sfunc normal,-gspecify ivltests gold=delayed_sfunc.gold
|
|
module_port_shortreal normal,-g2005-sv ivltests # shortreal
|
|
pr1861212c normal ivltests gold=pr1861212.gold
|
|
pr1864110a normal ivltests gold=pr1864110a.gold
|
|
pr1864110b normal ivltests gold=pr1864110b.gold
|
|
pr1873372 normal ivltests gold=pr1873372.gold
|
|
pr1880003 normal ivltests
|
|
pr1898293 normal ivltests
|
|
pr2123158 normal ivltests
|
|
pr2453002b normal ivltests
|
|
pr2456943 normal ivltests
|
|
pr2715748 normal ivltests gold=pr2715748.gold
|
|
pr2806474 normal ivltests
|
|
pr2976242 normal ivltests
|
|
pr2976242b normal ivltests
|
|
pr2976242c CE ivltests gold=pr2976242c.gold
|
|
real8 normal ivltests
|
|
real_array normal ivltests
|
|
real_array_nb normal ivltests
|
|
real_concat_invalid1 CE ivltests
|
|
real_mod_in_ca normal ivltests
|
|
real_op_fail CE ivltests
|
|
real_pulse_clean normal ivltests
|
|
real_pwr_in_ca normal ivltests
|
|
real_select_invalid CE ivltests
|
|
real_wire_array normal ivltests
|
|
real_wire_force_rel normal ivltests
|
|
tern8 normal ivltests
|
|
|
|
# Two-state wires
|
|
br_gh99e normal,-g2009 ivltests
|
|
pull371 normal,-g2012 ivltests
|
|
sv-2val-nets normal,-g2009 ivltests
|
|
|
|
# Left aligned formats
|
|
pr2476430 normal ivltests
|
|
|
|
# A % at the end of the format string is displayed a a %
|
|
eofmt_percent normal ivltests gold=eofmt_percent.gold
|
|
|
|
# Command line parameters
|
|
br_gh377 normal,-Ptest.name= ivltests gold=br_gh377.gold
|
|
cmdline_parm1 normal,-Pmain.foo=2 ivltests
|
|
|
|
# Dumping array words
|
|
array_dump normal ivltests diff=work/array_dump.vcd:gold/array_dump.vcd.gold:2
|
|
pr2859628 normal ivltests diff=work/pr2859628.vcd:gold/pr2859628.vcd.gold:2
|
|
|
|
# Icarus supports integer values larger than 32-bits
|
|
big_int normal ivltests # PR#405
|
|
ca_pow_signed normal ivltests
|
|
urand normal ivltests gold=urand.gold
|
|
|
|
# Avoiding time-0 races
|
|
race normal ivltests
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Icarus limitations
|
|
#------------------------------------------------------------------------------
|
|
|
|
# Limited support for event expressions in automatic scopes
|
|
automatic_error4 CE ivltests
|
|
|
|
# These are not currently supported in Icarus
|
|
# Also update the regress-fsv.list since it has these marked as normal
|
|
array_lval_select3a CE ivltests
|
|
br605a EF ivltests
|
|
br605b EF ivltests
|
|
br971 EF ivltests
|
|
br1005 CE,-g2009 ivltests
|
|
br1015b CE,-g2009 ivltests
|
|
br_ml20150315b CE,-g2009 ivltests
|
|
sv_deferred_assert1 CE,-g2009 ivltests gold=sv_deferred_assert1.gold
|
|
sv_deferred_assert2 CE,-g2009 ivltests gold=sv_deferred_assert2.gold
|
|
sv_deferred_assume1 CE,-g2009 ivltests gold=sv_deferred_assume1.gold
|
|
sv_deferred_assume2 CE,-g2009 ivltests gold=sv_deferred_assume2.gold
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Icarus deviations
|
|
#------------------------------------------------------------------------------
|
|
|
|
# Icarus still allows (implicit) declaration after use in some circumstances.
|
|
pr1909940 normal ivltests
|
|
pr1909940b normal ivltests
|
|
|
|
# Icarus allows hierarchical references to unnamed generate blocks.
|
|
# We should add a warning about this, as it's not strictly allowed.
|
|
unnamed_generate_block normal ivltests gold=unnamed_generate_block.gold
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Implementation defined behaviour
|
|
#------------------------------------------------------------------------------
|
|
|
|
# From IEEE 1364-2005 section 5.2.1:
|
|
# NOTE 2 -- Bit-select or part-select indices that are outside of the declared
|
|
# range may be flagged as a compile time error.
|
|
br_gh497b CE ivltests gold=br_gh497b.gold
|
|
br_gh497d CE ivltests gold=br_gh497d.gold
|
|
br_gh497f CE ivltests gold=br_gh497f.gold
|