Add a generation for 1800-2005, etc.
It was a poor choice to only add -g2009 for 1800-2009 and ignore the previous version of System Verilog 1800-2005. This patch adds a generation for 1800-2005 and also adds `begin_keywords support for 1800-2005. The previous SystemVerilog keywords have been put under the 1800-2005 generation and the new one from 1800-2009 have also been added.
This commit is contained in:
parent
20f3d7c26c
commit
d4a97b4a9c
14
compiler.h
14
compiler.h
|
|
@ -1,7 +1,7 @@
|
||||||
#ifndef __compiler_H
|
#ifndef __compiler_H
|
||||||
#define __compiler_H
|
#define __compiler_H
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1999-2010 Stephen Williams (steve@icarus.com)
|
* Copyright (c) 1999-2011 Stephen Williams (steve@icarus.com)
|
||||||
*
|
*
|
||||||
* This source code is free software; you can redistribute it
|
* This source code is free software; you can redistribute it
|
||||||
* and/or modify it in source code form under the terms of the GNU
|
* and/or modify it in source code form under the terms of the GNU
|
||||||
|
|
@ -122,7 +122,8 @@ enum generation_t {
|
||||||
GN_VER2001_NOCONFIG = 2,
|
GN_VER2001_NOCONFIG = 2,
|
||||||
GN_VER2001 = 3,
|
GN_VER2001 = 3,
|
||||||
GN_VER2005 = 4,
|
GN_VER2005 = 4,
|
||||||
GN_VER2009 = 5,
|
GN_VER2005_SV = 5,
|
||||||
|
GN_VER2009 = 6,
|
||||||
GN_DEFAULT = 4
|
GN_DEFAULT = 4
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -159,14 +160,16 @@ extern bool gn_strict_expr_width_flag;
|
||||||
for SystemVerilog */
|
for SystemVerilog */
|
||||||
static inline bool gn_var_can_be_uwire(void)
|
static inline bool gn_var_can_be_uwire(void)
|
||||||
{
|
{
|
||||||
if (generation_flag == GN_VER2009)
|
if (generation_flag == GN_VER2005_SV ||
|
||||||
|
generation_flag == GN_VER2009)
|
||||||
return true;
|
return true;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline bool gn_system_verilog(void)
|
static inline bool gn_system_verilog(void)
|
||||||
{
|
{
|
||||||
if (generation_flag == GN_VER2009)
|
if (generation_flag == GN_VER2005_SV ||
|
||||||
|
generation_flag == GN_VER2009)
|
||||||
return true;
|
return true;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
@ -180,7 +183,8 @@ enum { GN_KEYWORDS_1364_1995 = 0x0001,
|
||||||
GN_KEYWORDS_1364_2001_CONFIG = 0x0004,
|
GN_KEYWORDS_1364_2001_CONFIG = 0x0004,
|
||||||
GN_KEYWORDS_1364_2005 = 0x0008,
|
GN_KEYWORDS_1364_2005 = 0x0008,
|
||||||
GN_KEYWORDS_VAMS_2_3 = 0x0010,
|
GN_KEYWORDS_VAMS_2_3 = 0x0010,
|
||||||
GN_KEYWORDS_1800_2009 = 0x0020,
|
GN_KEYWORDS_1800_2005 = 0x0020,
|
||||||
|
GN_KEYWORDS_1800_2009 = 0x0040,
|
||||||
GN_KEYWORDS_ICARUS = 0x8000
|
GN_KEYWORDS_ICARUS = 0x8000
|
||||||
};
|
};
|
||||||
extern int lexor_keyword_mask;
|
extern int lexor_keyword_mask;
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
.TH iverilog 1 "December 29th, 2009" "" "Version %M.%m.%n %E"
|
.TH iverilog 1 "January 8th, 2011" "" "Version %M.%m.%n %E"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
iverilog - Icarus Verilog compiler
|
iverilog - Icarus Verilog compiler
|
||||||
|
|
||||||
|
|
@ -6,7 +6,7 @@ iverilog - Icarus Verilog compiler
|
||||||
.B iverilog
|
.B iverilog
|
||||||
[\-ESVv] [\-Bpath] [\-ccmdfile|\-fcmdfile] [\-Dmacro[=defn]]
|
[\-ESVv] [\-Bpath] [\-ccmdfile|\-fcmdfile] [\-Dmacro[=defn]]
|
||||||
[\-Pparameter=value] [\-pflag=value]
|
[\-Pparameter=value] [\-pflag=value]
|
||||||
[\-dname] [\-g1995|\-g2001|\-g2005|-g2009|\-g<feature>]
|
[\-dname] [\-g1995|\-g2001|\-g2005|\-g2005-sv|\-g2009|\-g<feature>]
|
||||||
[\-Iincludedir] [\-mmodule] [\-M[mode=]file] [\-Nfile] [\-ooutputfilename]
|
[\-Iincludedir] [\-mmodule] [\-M[mode=]file] [\-Nfile] [\-ooutputfilename]
|
||||||
[\-stopmodule] [\-ttype] [\-Tmin/typ/max] [\-Wclass] [\-ypath] sourcefile
|
[\-stopmodule] [\-ttype] [\-Tmin/typ/max] [\-Wclass] [\-ypath] sourcefile
|
||||||
|
|
||||||
|
|
@ -61,14 +61,18 @@ is the Verilog input, but with file inclusions and macro references
|
||||||
expanded and removed. This is useful, for example, to preprocess
|
expanded and removed. This is useful, for example, to preprocess
|
||||||
Verilog source for use by other compilers.
|
Verilog source for use by other compilers.
|
||||||
.TP 8
|
.TP 8
|
||||||
.B -g1995\fI|\fP-g2001\fI|\fP-g2001-noconfig\fI|\fP-g2005\fI|\fP-g2009
|
.B -g1995\fI|\fP-g2001\fI|\fP-g2001-noconfig\fI|\fP-g2005\fI|\fP-g2005-sv\fI|\fP-g2009
|
||||||
Select the Verilog language \fIgeneration\fP to support in the
|
Select the Verilog language \fIgeneration\fP to support in the compiler.
|
||||||
compiler. This selects between \fIIEEE1364\-1995\fP,
|
This selects between \fIIEEE1364\-1995\fP, \fIIEEE1364\-2001\fP,
|
||||||
\fIIEEE1364\-2001\fP, \fIIEEE1364\-2005\fP, or \fIIEEE1800-2009\fP.
|
\fIIEEE1364\-2005\fP, \fIIEEE1800\-2005\fP, or \fIIEEE1800\-2009\fP.
|
||||||
Normally, Icarus Verilog defaults to the latest known generation of the
|
Icarus Verilog currently defaults to the \fIIEEE1364\-2005\fP generation
|
||||||
language. This flag is most useful to restrict the language to a set
|
of the language. This flag is used to restrict the language to a set of
|
||||||
supported by tools of specific generations, for compatibility with
|
keywords/features, this allows simulation of older Verilog code that may
|
||||||
other tools.
|
use newer keywords and for compatibility with other tools. Much of the
|
||||||
|
\fIIEEE1800\fP generations functionality is not currently supported.
|
||||||
|
The \fIIEEE1800\fP generations do parse all the keywords, so they can
|
||||||
|
be used to verify that \fIIEEE1364\fP compliant Verilog code does not
|
||||||
|
use any of the new \fIIEEE1800\fP keywords.
|
||||||
.TP 8
|
.TP 8
|
||||||
.B -gverilog-ams\fI|\fP-gno-verilog-ams
|
.B -gverilog-ams\fI|\fP-gno-verilog-ams
|
||||||
Enable or disable (default) support for Verilog\-AMS.
|
Enable or disable (default) support for Verilog\-AMS.
|
||||||
|
|
@ -506,7 +510,7 @@ Tips on using, debugging, and developing the compiler can be found at
|
||||||
|
|
||||||
.SH COPYRIGHT
|
.SH COPYRIGHT
|
||||||
.nf
|
.nf
|
||||||
Copyright \(co 2002\-2009 Stephen Williams
|
Copyright \(co 2002\-2011 Stephen Williams
|
||||||
|
|
||||||
This document can be freely redistributed according to the terms of the
|
This document can be freely redistributed according to the terms of the
|
||||||
GNU General Public License version 2.0
|
GNU General Public License version 2.0
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,7 @@ const char NOTICE[] =
|
||||||
|
|
||||||
const char HELP[] =
|
const char HELP[] =
|
||||||
"Usage: iverilog [-ESvV] [-B base] [-c cmdfile|-f cmdfile]\n"
|
"Usage: iverilog [-ESvV] [-B base] [-c cmdfile|-f cmdfile]\n"
|
||||||
" [-g1995|-g2001|-g2005|-g2009] [-g<feature>]\n"
|
" [-g1995|-g2001|-g2005|-g2005-sv|-g2009] [-g<feature>]\n"
|
||||||
" [-D macro[=defn]] [-I includedir]\n"
|
" [-D macro[=defn]] [-I includedir]\n"
|
||||||
" [-M [mode=]depfile] [-m module]\n"
|
" [-M [mode=]depfile] [-m module]\n"
|
||||||
" [-N file] [-o filename] [-p flag=value]\n"
|
" [-N file] [-o filename] [-p flag=value]\n"
|
||||||
|
|
@ -621,6 +621,9 @@ int process_generation(const char*name)
|
||||||
else if (strcmp(name,"2005") == 0)
|
else if (strcmp(name,"2005") == 0)
|
||||||
generation = "2005";
|
generation = "2005";
|
||||||
|
|
||||||
|
else if (strcmp(name,"2005-sv") == 0)
|
||||||
|
generation = "2005-sv";
|
||||||
|
|
||||||
else if (strcmp(name,"2009") == 0)
|
else if (strcmp(name,"2009") == 0)
|
||||||
generation = "2009";
|
generation = "2009";
|
||||||
|
|
||||||
|
|
@ -997,7 +1000,7 @@ int main(int argc, char **argv)
|
||||||
|
|
||||||
if (version_flag || verbose_flag) {
|
if (version_flag || verbose_flag) {
|
||||||
printf("Icarus Verilog version " VERSION " (" VERSION_TAG ")\n\n");
|
printf("Icarus Verilog version " VERSION " (" VERSION_TAG ")\n\n");
|
||||||
printf("Copyright 1998-2010 Stephen Williams\n\n");
|
printf("Copyright 1998-2011 Stephen Williams\n\n");
|
||||||
puts(NOTICE);
|
puts(NOTICE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1040,7 +1043,8 @@ int main(int argc, char **argv)
|
||||||
}
|
}
|
||||||
/* If verilog-2009 (SystemVerilog) is enabled, then include the
|
/* If verilog-2009 (SystemVerilog) is enabled, then include the
|
||||||
v2009 module. */
|
v2009 module. */
|
||||||
if (strcmp(generation, "2009") == 0) {
|
if (strcmp(generation, "2005-sv") == 0 ||
|
||||||
|
strcmp(generation, "2009") == 0) {
|
||||||
fprintf(iconfig_file, "sys_func:%s%cv2009.sft\n", base, sep);
|
fprintf(iconfig_file, "sys_func:%s%cv2009.sft\n", base, sep);
|
||||||
fprintf(iconfig_file, "module:v2009\n");
|
fprintf(iconfig_file, "module:v2009\n");
|
||||||
}
|
}
|
||||||
|
|
|
||||||
11
lexor.lex
11
lexor.lex
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
%{
|
%{
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1998-2010 Stephen Williams (steve@icarus.com)
|
* Copyright (c) 1998-2011 Stephen Williams (steve@icarus.com)
|
||||||
*
|
*
|
||||||
* This source code is free software; you can redistribute it
|
* This source code is free software; you can redistribute it
|
||||||
* and/or modify it in source code form under the terms of the GNU
|
* and/or modify it in source code form under the terms of the GNU
|
||||||
|
|
@ -336,7 +336,7 @@ TU [munpf]
|
||||||
|
|
||||||
/* This rule handles scaled time values for SystemVerilog. */
|
/* This rule handles scaled time values for SystemVerilog. */
|
||||||
[0-9][0-9_]*(\.[0-9][0-9_]*)?{TU}?s {
|
[0-9][0-9_]*(\.[0-9][0-9_]*)?{TU}?s {
|
||||||
if(generation_flag & GN_VER2009) {
|
if(generation_flag & (GN_VER2005_SV | GN_VER2009)) {
|
||||||
yylval.text = strdupnew(yytext);
|
yylval.text = strdupnew(yytext);
|
||||||
return TIME_LITERAL;
|
return TIME_LITERAL;
|
||||||
} else REJECT; }
|
} else REJECT; }
|
||||||
|
|
@ -496,11 +496,18 @@ TU [munpf]
|
||||||
|GN_KEYWORDS_1364_2001
|
|GN_KEYWORDS_1364_2001
|
||||||
|GN_KEYWORDS_1364_2001_CONFIG
|
|GN_KEYWORDS_1364_2001_CONFIG
|
||||||
|GN_KEYWORDS_1364_2005;
|
|GN_KEYWORDS_1364_2005;
|
||||||
|
} else if (strcmp(word,"1800-2005") == 0) {
|
||||||
|
lexor_keyword_mask = GN_KEYWORDS_1364_1995
|
||||||
|
|GN_KEYWORDS_1364_2001
|
||||||
|
|GN_KEYWORDS_1364_2001_CONFIG
|
||||||
|
|GN_KEYWORDS_1364_2005
|
||||||
|
|GN_KEYWORDS_1800_2005;
|
||||||
} else if (strcmp(word,"1800-2009") == 0) {
|
} else if (strcmp(word,"1800-2009") == 0) {
|
||||||
lexor_keyword_mask = GN_KEYWORDS_1364_1995
|
lexor_keyword_mask = GN_KEYWORDS_1364_1995
|
||||||
|GN_KEYWORDS_1364_2001
|
|GN_KEYWORDS_1364_2001
|
||||||
|GN_KEYWORDS_1364_2001_CONFIG
|
|GN_KEYWORDS_1364_2001_CONFIG
|
||||||
|GN_KEYWORDS_1364_2005
|
|GN_KEYWORDS_1364_2005
|
||||||
|
|GN_KEYWORDS_1800_2005
|
||||||
|GN_KEYWORDS_1800_2009;
|
|GN_KEYWORDS_1800_2009;
|
||||||
} else if (strcmp(word,"VAMS-2.3") == 0) {
|
} else if (strcmp(word,"VAMS-2.3") == 0) {
|
||||||
lexor_keyword_mask = GN_KEYWORDS_1364_1995
|
lexor_keyword_mask = GN_KEYWORDS_1364_1995
|
||||||
|
|
|
||||||
|
|
@ -21,66 +21,68 @@ above, GN_KEYWORDS_VAMS_2_3, K_above
|
||||||
abs, GN_KEYWORDS_VAMS_2_3, K_abs
|
abs, GN_KEYWORDS_VAMS_2_3, K_abs
|
||||||
absdelay, GN_KEYWORDS_VAMS_2_3, K_absdelay
|
absdelay, GN_KEYWORDS_VAMS_2_3, K_absdelay
|
||||||
abstol, GN_KEYWORDS_VAMS_2_3, K_abstol
|
abstol, GN_KEYWORDS_VAMS_2_3, K_abstol
|
||||||
|
accept_on, GN_KEYWORDS_1800_2009, K_accept_on
|
||||||
access, GN_KEYWORDS_VAMS_2_3, K_access
|
access, GN_KEYWORDS_VAMS_2_3, K_access
|
||||||
acos, GN_KEYWORDS_VAMS_2_3, K_acos
|
acos, GN_KEYWORDS_VAMS_2_3, K_acos
|
||||||
acosh, GN_KEYWORDS_VAMS_2_3, K_acosh
|
acosh, GN_KEYWORDS_VAMS_2_3, K_acosh
|
||||||
ac_stim, GN_KEYWORDS_VAMS_2_3, K_ac_stim
|
ac_stim, GN_KEYWORDS_VAMS_2_3, K_ac_stim
|
||||||
alias, GN_KEYWORDS_1800_2009, K_alias
|
alias, GN_KEYWORDS_1800_2005, K_alias
|
||||||
aliasparam, GN_KEYWORDS_VAMS_2_3, K_aliasparam
|
aliasparam, GN_KEYWORDS_VAMS_2_3, K_aliasparam
|
||||||
always, GN_KEYWORDS_1364_1995, K_always
|
always, GN_KEYWORDS_1364_1995, K_always
|
||||||
always_comb, GN_KEYWORDS_1800_2009, K_always_comb
|
always_comb, GN_KEYWORDS_1800_2005, K_always_comb
|
||||||
always_ff, GN_KEYWORDS_1800_2009, K_always_ff
|
always_ff, GN_KEYWORDS_1800_2005, K_always_ff
|
||||||
always_latch, GN_KEYWORDS_1800_2009, K_always_latch
|
always_latch, GN_KEYWORDS_1800_2005, K_always_latch
|
||||||
analog, GN_KEYWORDS_VAMS_2_3, K_analog
|
analog, GN_KEYWORDS_VAMS_2_3, K_analog
|
||||||
analysis, GN_KEYWORDS_VAMS_2_3, K_analysis
|
analysis, GN_KEYWORDS_VAMS_2_3, K_analysis
|
||||||
and, GN_KEYWORDS_1364_1995, K_and
|
and, GN_KEYWORDS_1364_1995, K_and
|
||||||
asin, GN_KEYWORDS_VAMS_2_3, K_asin
|
asin, GN_KEYWORDS_VAMS_2_3, K_asin
|
||||||
asinh, GN_KEYWORDS_VAMS_2_3, K_asinh
|
asinh, GN_KEYWORDS_VAMS_2_3, K_asinh
|
||||||
# This is defined by both SystemVerilog 1800-2009 and Verilog-AMS 2.3
|
# This is defined by both SystemVerilog 1800-2005 and Verilog-AMS 2.3
|
||||||
assert, GN_KEYWORDS_1800_2009|GN_KEYWORDS_VAMS_2_3, K_assert
|
assert, GN_KEYWORDS_1800_2005|GN_KEYWORDS_VAMS_2_3, K_assert
|
||||||
assign, GN_KEYWORDS_1364_1995, K_assign
|
assign, GN_KEYWORDS_1364_1995, K_assign
|
||||||
assume, GN_KEYWORDS_1800_2009, K_assume
|
assume, GN_KEYWORDS_1800_2005, K_assume
|
||||||
atan, GN_KEYWORDS_VAMS_2_3, K_atan
|
atan, GN_KEYWORDS_VAMS_2_3, K_atan
|
||||||
atan2, GN_KEYWORDS_VAMS_2_3, K_atan2
|
atan2, GN_KEYWORDS_VAMS_2_3, K_atan2
|
||||||
atanh, GN_KEYWORDS_VAMS_2_3, K_atanh
|
atanh, GN_KEYWORDS_VAMS_2_3, K_atanh
|
||||||
automatic, GN_KEYWORDS_1364_2001, K_automatic
|
automatic, GN_KEYWORDS_1364_2001, K_automatic
|
||||||
before, GN_KEYWORDS_1800_2009, K_before
|
before, GN_KEYWORDS_1800_2005, K_before
|
||||||
begin, GN_KEYWORDS_1364_1995, K_begin
|
begin, GN_KEYWORDS_1364_1995, K_begin
|
||||||
bind, GN_KEYWORDS_1800_2009, K_bind
|
bind, GN_KEYWORDS_1800_2005, K_bind
|
||||||
bins, GN_KEYWORDS_1800_2009, K_bins
|
bins, GN_KEYWORDS_1800_2005, K_bins
|
||||||
binsof, GN_KEYWORDS_1800_2009, K_binsof
|
binsof, GN_KEYWORDS_1800_2005, K_binsof
|
||||||
bit, GN_KEYWORDS_1800_2009, K_bit
|
bit, GN_KEYWORDS_1800_2005, K_bit
|
||||||
branch, GN_KEYWORDS_VAMS_2_3, K_branch
|
branch, GN_KEYWORDS_VAMS_2_3, K_branch
|
||||||
break, GN_KEYWORDS_1800_2009, K_break
|
break, GN_KEYWORDS_1800_2005, K_break
|
||||||
bool, GN_KEYWORDS_ICARUS, K_bool
|
bool, GN_KEYWORDS_ICARUS, K_bool
|
||||||
buf, GN_KEYWORDS_1364_1995, K_buf
|
buf, GN_KEYWORDS_1364_1995, K_buf
|
||||||
bufif0, GN_KEYWORDS_1364_1995, K_bufif0
|
bufif0, GN_KEYWORDS_1364_1995, K_bufif0
|
||||||
bufif1, GN_KEYWORDS_1364_1995, K_bufif1
|
bufif1, GN_KEYWORDS_1364_1995, K_bufif1
|
||||||
byte, GN_KEYWORDS_1800_2009, K_byte
|
byte, GN_KEYWORDS_1800_2005, K_byte
|
||||||
case, GN_KEYWORDS_1364_1995, K_case
|
case, GN_KEYWORDS_1364_1995, K_case
|
||||||
casex, GN_KEYWORDS_1364_1995, K_casex
|
casex, GN_KEYWORDS_1364_1995, K_casex
|
||||||
casez, GN_KEYWORDS_1364_1995, K_casez
|
casez, GN_KEYWORDS_1364_1995, K_casez
|
||||||
ceil, GN_KEYWORDS_VAMS_2_3, K_ceil
|
ceil, GN_KEYWORDS_VAMS_2_3, K_ceil
|
||||||
cell, GN_KEYWORDS_1364_2001_CONFIG, K_cell
|
cell, GN_KEYWORDS_1364_2001_CONFIG, K_cell
|
||||||
chandle, GN_KEYWORDS_1800_2009, K_chandle
|
chandle, GN_KEYWORDS_1800_2005, K_chandle
|
||||||
class, GN_KEYWORDS_1800_2009, K_class
|
checker, GN_KEYWORDS_1800_2009, K_checker
|
||||||
clocking, GN_KEYWORDS_1800_2009, K_clocking
|
class, GN_KEYWORDS_1800_2005, K_class
|
||||||
|
clocking, GN_KEYWORDS_1800_2005, K_clocking
|
||||||
cmos, GN_KEYWORDS_1364_1995, K_cmos
|
cmos, GN_KEYWORDS_1364_1995, K_cmos
|
||||||
config, GN_KEYWORDS_1364_2001_CONFIG, K_config
|
config, GN_KEYWORDS_1364_2001_CONFIG, K_config
|
||||||
connect, GN_KEYWORDS_VAMS_2_3, K_connect
|
connect, GN_KEYWORDS_VAMS_2_3, K_connect
|
||||||
connectmodule, GN_KEYWORDS_VAMS_2_3, K_connectmodule
|
connectmodule, GN_KEYWORDS_VAMS_2_3, K_connectmodule
|
||||||
connectrules, GN_KEYWORDS_VAMS_2_3, K_connectrules
|
connectrules, GN_KEYWORDS_VAMS_2_3, K_connectrules
|
||||||
const, GN_KEYWORDS_1800_2009, K_const
|
const, GN_KEYWORDS_1800_2005, K_const
|
||||||
constraint, GN_KEYWORDS_1800_2009, K_constraint
|
constraint, GN_KEYWORDS_1800_2005, K_constraint
|
||||||
context, GN_KEYWORDS_1800_2009, K_context
|
context, GN_KEYWORDS_1800_2005, K_context
|
||||||
continue, GN_KEYWORDS_1800_2009, K_continue
|
continue, GN_KEYWORDS_1800_2005, K_continue
|
||||||
continuous, GN_KEYWORDS_VAMS_2_3, K_continuous
|
continuous, GN_KEYWORDS_VAMS_2_3, K_continuous
|
||||||
cos, GN_KEYWORDS_VAMS_2_3, K_cos
|
cos, GN_KEYWORDS_VAMS_2_3, K_cos
|
||||||
cosh, GN_KEYWORDS_VAMS_2_3, K_cosh
|
cosh, GN_KEYWORDS_VAMS_2_3, K_cosh
|
||||||
cover, GN_KEYWORDS_1800_2009, K_cover
|
cover, GN_KEYWORDS_1800_2005, K_cover
|
||||||
covergroup, GN_KEYWORDS_1800_2009, K_covergroup
|
covergroup, GN_KEYWORDS_1800_2005, K_covergroup
|
||||||
coverpoint, GN_KEYWORDS_1800_2009, K_coverpoint
|
coverpoint, GN_KEYWORDS_1800_2005, K_coverpoint
|
||||||
cross, GN_KEYWORDS_1800_2009, K_cross
|
cross, GN_KEYWORDS_1800_2005, K_cross
|
||||||
ddt, GN_KEYWORDS_VAMS_2_3, K_ddt
|
ddt, GN_KEYWORDS_VAMS_2_3, K_ddt
|
||||||
ddt_nature, GN_KEYWORDS_VAMS_2_3, K_ddt_nature
|
ddt_nature, GN_KEYWORDS_VAMS_2_3, K_ddt_nature
|
||||||
ddx, GN_KEYWORDS_VAMS_2_3, K_ddx
|
ddx, GN_KEYWORDS_VAMS_2_3, K_ddx
|
||||||
|
|
@ -91,58 +93,61 @@ design, GN_KEYWORDS_1364_2001_CONFIG, K_design
|
||||||
disable, GN_KEYWORDS_1364_1995, K_disable
|
disable, GN_KEYWORDS_1364_1995, K_disable
|
||||||
discipline, GN_KEYWORDS_VAMS_2_3, K_discipline
|
discipline, GN_KEYWORDS_VAMS_2_3, K_discipline
|
||||||
discrete, GN_KEYWORDS_VAMS_2_3, K_discrete
|
discrete, GN_KEYWORDS_VAMS_2_3, K_discrete
|
||||||
dist, GN_KEYWORDS_1800_2009, K_dist
|
dist, GN_KEYWORDS_1800_2005, K_dist
|
||||||
do, GN_KEYWORDS_1800_2009, K_do
|
do, GN_KEYWORDS_1800_2005, K_do
|
||||||
domain, GN_KEYWORDS_VAMS_2_3, K_domain
|
domain, GN_KEYWORDS_VAMS_2_3, K_domain
|
||||||
driver_update, GN_KEYWORDS_VAMS_2_3, K_driver_update
|
driver_update, GN_KEYWORDS_VAMS_2_3, K_driver_update
|
||||||
edge, GN_KEYWORDS_1364_1995, K_edge
|
edge, GN_KEYWORDS_1364_1995, K_edge
|
||||||
else, GN_KEYWORDS_1364_1995, K_else
|
else, GN_KEYWORDS_1364_1995, K_else
|
||||||
end, GN_KEYWORDS_1364_1995, K_end
|
end, GN_KEYWORDS_1364_1995, K_end
|
||||||
endcase, GN_KEYWORDS_1364_1995, K_endcase
|
endcase, GN_KEYWORDS_1364_1995, K_endcase
|
||||||
|
endchecker, GN_KEYWORDS_1800_2009, K_endchecker
|
||||||
endconfig, GN_KEYWORDS_1364_2001_CONFIG, K_endconfig
|
endconfig, GN_KEYWORDS_1364_2001_CONFIG, K_endconfig
|
||||||
endclass, GN_KEYWORDS_1800_2009, K_endclass
|
endclass, GN_KEYWORDS_1800_2005, K_endclass
|
||||||
endclocking, GN_KEYWORDS_1800_2009, K_endclocking
|
endclocking, GN_KEYWORDS_1800_2005, K_endclocking
|
||||||
endconnectrules, GN_KEYWORDS_VAMS_2_3, K_endconnectrules
|
endconnectrules, GN_KEYWORDS_VAMS_2_3, K_endconnectrules
|
||||||
enddiscipline, GN_KEYWORDS_VAMS_2_3, K_enddiscipline
|
enddiscipline, GN_KEYWORDS_VAMS_2_3, K_enddiscipline
|
||||||
endfunction, GN_KEYWORDS_1364_1995, K_endfunction
|
endfunction, GN_KEYWORDS_1364_1995, K_endfunction
|
||||||
endgenerate, GN_KEYWORDS_1364_2001, K_endgenerate
|
endgenerate, GN_KEYWORDS_1364_2001, K_endgenerate
|
||||||
endgroup, GN_KEYWORDS_1800_2009, K_endgroup
|
endgroup, GN_KEYWORDS_1800_2005, K_endgroup
|
||||||
endinterface, GN_KEYWORDS_1800_2009, K_endinterface
|
endinterface, GN_KEYWORDS_1800_2005, K_endinterface
|
||||||
endmodule, GN_KEYWORDS_1364_1995, K_endmodule
|
endmodule, GN_KEYWORDS_1364_1995, K_endmodule
|
||||||
endnature, GN_KEYWORDS_VAMS_2_3, K_endnature
|
endnature, GN_KEYWORDS_VAMS_2_3, K_endnature
|
||||||
endpackage, GN_KEYWORDS_1800_2009, K_endpackage
|
endpackage, GN_KEYWORDS_1800_2005, K_endpackage
|
||||||
endparamset, GN_KEYWORDS_VAMS_2_3, K_endparamset
|
endparamset, GN_KEYWORDS_VAMS_2_3, K_endparamset
|
||||||
endprimitive, GN_KEYWORDS_1364_1995, K_endprimitive
|
endprimitive, GN_KEYWORDS_1364_1995, K_endprimitive
|
||||||
endprogram, GN_KEYWORDS_1800_2009, K_endprogram
|
endprogram, GN_KEYWORDS_1800_2005, K_endprogram
|
||||||
endproperty, GN_KEYWORDS_1800_2009, K_endproperty
|
endproperty, GN_KEYWORDS_1800_2005, K_endproperty
|
||||||
endspecify, GN_KEYWORDS_1364_1995, K_endspecify
|
endspecify, GN_KEYWORDS_1364_1995, K_endspecify
|
||||||
endsequence, GN_KEYWORDS_1800_2009, K_endsequence
|
endsequence, GN_KEYWORDS_1800_2005, K_endsequence
|
||||||
endtable, GN_KEYWORDS_1364_1995, K_endtable
|
endtable, GN_KEYWORDS_1364_1995, K_endtable
|
||||||
endtask, GN_KEYWORDS_1364_1995, K_endtask
|
endtask, GN_KEYWORDS_1364_1995, K_endtask
|
||||||
enum, GN_KEYWORDS_1800_2009, K_enum
|
enum, GN_KEYWORDS_1800_2005, K_enum
|
||||||
event, GN_KEYWORDS_1364_1995, K_event
|
event, GN_KEYWORDS_1364_1995, K_event
|
||||||
|
eventually, GN_KEYWORDS_1800_2009, K_eventually
|
||||||
exclude, GN_KEYWORDS_VAMS_2_3, K_exclude
|
exclude, GN_KEYWORDS_VAMS_2_3, K_exclude
|
||||||
exp, GN_KEYWORDS_VAMS_2_3, K_exp
|
exp, GN_KEYWORDS_VAMS_2_3, K_exp
|
||||||
expect, GN_KEYWORDS_1800_2009, K_expect
|
expect, GN_KEYWORDS_1800_2005, K_expect
|
||||||
export, GN_KEYWORDS_1800_2009, K_export
|
export, GN_KEYWORDS_1800_2005, K_export
|
||||||
extends, GN_KEYWORDS_1800_2009, K_extends
|
extends, GN_KEYWORDS_1800_2005, K_extends
|
||||||
extern, GN_KEYWORDS_1800_2009, K_extern
|
extern, GN_KEYWORDS_1800_2005, K_extern
|
||||||
final, GN_KEYWORDS_1800_2009, K_final
|
final, GN_KEYWORDS_1800_2005, K_final
|
||||||
final_step, GN_KEYWORDS_VAMS_2_3, K_final_step
|
final_step, GN_KEYWORDS_VAMS_2_3, K_final_step
|
||||||
first_match, GN_KEYWORDS_1800_2009, K_first_match
|
first_match, GN_KEYWORDS_1800_2005, K_first_match
|
||||||
flicker_noise, GN_KEYWORDS_VAMS_2_3, K_flicker_noise
|
flicker_noise, GN_KEYWORDS_VAMS_2_3, K_flicker_noise
|
||||||
floor, GN_KEYWORDS_VAMS_2_3, K_floor
|
floor, GN_KEYWORDS_VAMS_2_3, K_floor
|
||||||
flow, GN_KEYWORDS_VAMS_2_3, K_flow
|
flow, GN_KEYWORDS_VAMS_2_3, K_flow
|
||||||
for, GN_KEYWORDS_1364_1995, K_for
|
for, GN_KEYWORDS_1364_1995, K_for
|
||||||
foreach, GN_KEYWORDS_1800_2009, K_foreach
|
foreach, GN_KEYWORDS_1800_2005, K_foreach
|
||||||
force, GN_KEYWORDS_1364_1995, K_force
|
force, GN_KEYWORDS_1364_1995, K_force
|
||||||
forever, GN_KEYWORDS_1364_1995, K_forever
|
forever, GN_KEYWORDS_1364_1995, K_forever
|
||||||
fork, GN_KEYWORDS_1364_1995, K_fork
|
fork, GN_KEYWORDS_1364_1995, K_fork
|
||||||
forkjoin, GN_KEYWORDS_1800_2009, K_forkjoin
|
forkjoin, GN_KEYWORDS_1800_2005, K_forkjoin
|
||||||
from, GN_KEYWORDS_VAMS_2_3, K_from
|
from, GN_KEYWORDS_VAMS_2_3, K_from
|
||||||
function, GN_KEYWORDS_1364_1995, K_function
|
function, GN_KEYWORDS_1364_1995, K_function
|
||||||
generate, GN_KEYWORDS_1364_2001, K_generate
|
generate, GN_KEYWORDS_1364_2001, K_generate
|
||||||
genvar, GN_KEYWORDS_1364_2001, K_genvar
|
genvar, GN_KEYWORDS_1364_2001, K_genvar
|
||||||
|
global, GN_KEYWORDS_1800_2009, K_global
|
||||||
ground, GN_KEYWORDS_VAMS_2_3, K_ground
|
ground, GN_KEYWORDS_VAMS_2_3, K_ground
|
||||||
highz0, GN_KEYWORDS_1364_1995, K_highz0
|
highz0, GN_KEYWORDS_1364_1995, K_highz0
|
||||||
highz1, GN_KEYWORDS_1364_1995, K_highz1
|
highz1, GN_KEYWORDS_1364_1995, K_highz1
|
||||||
|
|
@ -151,11 +156,12 @@ idt, GN_KEYWORDS_VAMS_2_3, K_idt
|
||||||
idtmod, GN_KEYWORDS_VAMS_2_3, K_idtmod
|
idtmod, GN_KEYWORDS_VAMS_2_3, K_idtmod
|
||||||
idt_nature, GN_KEYWORDS_VAMS_2_3, K_idt_nature
|
idt_nature, GN_KEYWORDS_VAMS_2_3, K_idt_nature
|
||||||
if, GN_KEYWORDS_1364_1995, K_if
|
if, GN_KEYWORDS_1364_1995, K_if
|
||||||
iff, GN_KEYWORDS_1800_2009, K_iff
|
iff, GN_KEYWORDS_1800_2005, K_iff
|
||||||
ifnone, GN_KEYWORDS_1364_1995, K_ifnone
|
ifnone, GN_KEYWORDS_1364_1995, K_ifnone
|
||||||
ignore_bins, GN_KEYWORDS_1800_2009, K_ignore_bins
|
ignore_bins, GN_KEYWORDS_1800_2005, K_ignore_bins
|
||||||
illegal_bins, GN_KEYWORDS_1800_2009, K_illegal_bins
|
illegal_bins, GN_KEYWORDS_1800_2005, K_illegal_bins
|
||||||
import, GN_KEYWORDS_1800_2009, K_import
|
implies, GN_KEYWORDS_1800_2009, K_implies
|
||||||
|
import, GN_KEYWORDS_1800_2005, K_import
|
||||||
incdir, GN_KEYWORDS_1364_2001_CONFIG, K_incdir
|
incdir, GN_KEYWORDS_1364_2001_CONFIG, K_incdir
|
||||||
include, GN_KEYWORDS_1364_2001_CONFIG, K_include
|
include, GN_KEYWORDS_1364_2001_CONFIG, K_include
|
||||||
inf, GN_KEYWORDS_VAMS_2_3, K_inf
|
inf, GN_KEYWORDS_VAMS_2_3, K_inf
|
||||||
|
|
@ -163,44 +169,46 @@ initial, GN_KEYWORDS_1364_1995, K_initial
|
||||||
initial_step, GN_KEYWORDS_VAMS_2_3, K_initial_step
|
initial_step, GN_KEYWORDS_VAMS_2_3, K_initial_step
|
||||||
inout, GN_KEYWORDS_1364_1995, K_inout
|
inout, GN_KEYWORDS_1364_1995, K_inout
|
||||||
input, GN_KEYWORDS_1364_1995, K_input
|
input, GN_KEYWORDS_1364_1995, K_input
|
||||||
inside, GN_KEYWORDS_1800_2009, K_inside
|
inside, GN_KEYWORDS_1800_2005, K_inside
|
||||||
instance, GN_KEYWORDS_1364_2001_CONFIG, K_instance
|
instance, GN_KEYWORDS_1364_2001_CONFIG, K_instance
|
||||||
int, GN_KEYWORDS_1800_2009, K_int
|
int, GN_KEYWORDS_1800_2005, K_int
|
||||||
integer, GN_KEYWORDS_1364_1995, K_integer
|
integer, GN_KEYWORDS_1364_1995, K_integer
|
||||||
interface, GN_KEYWORDS_1800_2009, K_interface
|
interface, GN_KEYWORDS_1800_2005, K_interface
|
||||||
intersect, GN_KEYWORDS_1800_2009, K_intersect
|
intersect, GN_KEYWORDS_1800_2005, K_intersect
|
||||||
join, GN_KEYWORDS_1364_1995, K_join
|
join, GN_KEYWORDS_1364_1995, K_join
|
||||||
join_any, GN_KEYWORDS_1800_2009, K_join_any
|
join_any, GN_KEYWORDS_1800_2005, K_join_any
|
||||||
join_none, GN_KEYWORDS_1800_2009, K_join_none
|
join_none, GN_KEYWORDS_1800_2005, K_join_none
|
||||||
laplace_nd, GN_KEYWORDS_VAMS_2_3, K_laplace_nd
|
laplace_nd, GN_KEYWORDS_VAMS_2_3, K_laplace_nd
|
||||||
laplace_np, GN_KEYWORDS_VAMS_2_3, K_laplace_np
|
laplace_np, GN_KEYWORDS_VAMS_2_3, K_laplace_np
|
||||||
laplace_zd, GN_KEYWORDS_VAMS_2_3, K_laplace_zd
|
laplace_zd, GN_KEYWORDS_VAMS_2_3, K_laplace_zd
|
||||||
laplace_zp, GN_KEYWORDS_VAMS_2_3, K_laplace_zp
|
laplace_zp, GN_KEYWORDS_VAMS_2_3, K_laplace_zp
|
||||||
large, GN_KEYWORDS_1364_1995, K_large
|
large, GN_KEYWORDS_1364_1995, K_large
|
||||||
last_crossing, GN_KEYWORDS_VAMS_2_3, K_last_crossing
|
last_crossing, GN_KEYWORDS_VAMS_2_3, K_last_crossing
|
||||||
|
let, GN_KEYWORDS_1800_2009, K_let
|
||||||
liblist, GN_KEYWORDS_1364_2001_CONFIG, K_liblist
|
liblist, GN_KEYWORDS_1364_2001_CONFIG, K_liblist
|
||||||
library, GN_KEYWORDS_1364_2001_CONFIG, K_library
|
library, GN_KEYWORDS_1364_2001_CONFIG, K_library
|
||||||
limexp, GN_KEYWORDS_VAMS_2_3, K_limexp
|
limexp, GN_KEYWORDS_VAMS_2_3, K_limexp
|
||||||
ln, GN_KEYWORDS_VAMS_2_3, K_ln
|
ln, GN_KEYWORDS_VAMS_2_3, K_ln
|
||||||
local, GN_KEYWORDS_1800_2009, K_local
|
local, GN_KEYWORDS_1800_2005, K_local
|
||||||
localparam, GN_KEYWORDS_1364_2001, K_localparam
|
localparam, GN_KEYWORDS_1364_2001, K_localparam
|
||||||
log, GN_KEYWORDS_VAMS_2_3, K_log
|
log, GN_KEYWORDS_VAMS_2_3, K_log
|
||||||
# This is defined by SystemVerilog 1800-2009 and as an Icarus extension.
|
# This is defined by SystemVerilog 1800-2005 and as an Icarus extension.
|
||||||
logic, GN_KEYWORDS_1800_2009|GN_KEYWORDS_ICARUS, K_logic
|
logic, GN_KEYWORDS_1800_2005|GN_KEYWORDS_ICARUS, K_logic
|
||||||
longint, GN_KEYWORDS_1800_2009, K_longint
|
longint, GN_KEYWORDS_1800_2005, K_longint
|
||||||
macromodule, GN_KEYWORDS_1364_1995, K_macromodule
|
macromodule, GN_KEYWORDS_1364_1995, K_macromodule
|
||||||
matches, GN_KEYWORDS_1800_2009, K_matches
|
matches, GN_KEYWORDS_1800_2005, K_matches
|
||||||
max, GN_KEYWORDS_VAMS_2_3, K_max
|
max, GN_KEYWORDS_VAMS_2_3, K_max
|
||||||
medium, GN_KEYWORDS_1364_1995, K_medium
|
medium, GN_KEYWORDS_1364_1995, K_medium
|
||||||
merged, GN_KEYWORDS_VAMS_2_3, K_merged
|
merged, GN_KEYWORDS_VAMS_2_3, K_merged
|
||||||
min, GN_KEYWORDS_VAMS_2_3, K_min
|
min, GN_KEYWORDS_VAMS_2_3, K_min
|
||||||
modport, GN_KEYWORDS_1800_2009, K_modport
|
modport, GN_KEYWORDS_1800_2005, K_modport
|
||||||
module, GN_KEYWORDS_1364_1995, K_module
|
module, GN_KEYWORDS_1364_1995, K_module
|
||||||
nand, GN_KEYWORDS_1364_1995, K_nand
|
nand, GN_KEYWORDS_1364_1995, K_nand
|
||||||
nature, GN_KEYWORDS_VAMS_2_3, K_nature
|
nature, GN_KEYWORDS_VAMS_2_3, K_nature
|
||||||
negedge, GN_KEYWORDS_1364_1995, K_negedge
|
negedge, GN_KEYWORDS_1364_1995, K_negedge
|
||||||
net_resolution, GN_KEYWORDS_VAMS_2_3, K_net_resolution
|
net_resolution, GN_KEYWORDS_VAMS_2_3, K_net_resolution
|
||||||
new, GN_KEYWORDS_1800_2009, K_new
|
new, GN_KEYWORDS_1800_2005, K_new
|
||||||
|
nexttime, GN_KEYWORDS_1800_2009, K_nexttime
|
||||||
nmos, GN_KEYWORDS_1364_1995, K_nmos
|
nmos, GN_KEYWORDS_1364_1995, K_nmos
|
||||||
noise_table, GN_KEYWORDS_VAMS_2_3, K_noise_table
|
noise_table, GN_KEYWORDS_VAMS_2_3, K_noise_table
|
||||||
nor, GN_KEYWORDS_1364_1995, K_nor
|
nor, GN_KEYWORDS_1364_1995, K_nor
|
||||||
|
|
@ -208,11 +216,11 @@ noshowcancelled, GN_KEYWORDS_1364_2001, K_noshowcancelled
|
||||||
not, GN_KEYWORDS_1364_1995, K_not
|
not, GN_KEYWORDS_1364_1995, K_not
|
||||||
notif0, GN_KEYWORDS_1364_1995, K_notif0
|
notif0, GN_KEYWORDS_1364_1995, K_notif0
|
||||||
notif1, GN_KEYWORDS_1364_1995, K_notif1
|
notif1, GN_KEYWORDS_1364_1995, K_notif1
|
||||||
null, GN_KEYWORDS_1800_2009, K_null
|
null, GN_KEYWORDS_1800_2005, K_null
|
||||||
or, GN_KEYWORDS_1364_1995, K_or
|
or, GN_KEYWORDS_1364_1995, K_or
|
||||||
output, GN_KEYWORDS_1364_1995, K_output
|
output, GN_KEYWORDS_1364_1995, K_output
|
||||||
package, GN_KEYWORDS_1800_2009, K_package
|
package, GN_KEYWORDS_1800_2005, K_package
|
||||||
packed, GN_KEYWORDS_1800_2009, K_packed
|
packed, GN_KEYWORDS_1800_2005, K_packed
|
||||||
parameter, GN_KEYWORDS_1364_1995, K_parameter
|
parameter, GN_KEYWORDS_1364_1995, K_parameter
|
||||||
paramset, GN_KEYWORDS_VAMS_2_3, K_paramset
|
paramset, GN_KEYWORDS_VAMS_2_3, K_paramset
|
||||||
pmos, GN_KEYWORDS_1364_1995, K_pmos
|
pmos, GN_KEYWORDS_1364_1995, K_pmos
|
||||||
|
|
@ -220,70 +228,80 @@ posedge, GN_KEYWORDS_1364_1995, K_posedge
|
||||||
potential, GN_KEYWORDS_VAMS_2_3, K_potential
|
potential, GN_KEYWORDS_VAMS_2_3, K_potential
|
||||||
pow, GN_KEYWORDS_VAMS_2_3, K_pow
|
pow, GN_KEYWORDS_VAMS_2_3, K_pow
|
||||||
primitive, GN_KEYWORDS_1364_1995, K_primitive
|
primitive, GN_KEYWORDS_1364_1995, K_primitive
|
||||||
priority, GN_KEYWORDS_1800_2009, K_priority
|
priority, GN_KEYWORDS_1800_2005, K_priority
|
||||||
program, GN_KEYWORDS_1800_2009, K_program
|
program, GN_KEYWORDS_1800_2005, K_program
|
||||||
property, GN_KEYWORDS_1800_2009, K_property
|
property, GN_KEYWORDS_1800_2005, K_property
|
||||||
protected, GN_KEYWORDS_1800_2009, K_protected
|
protected, GN_KEYWORDS_1800_2005, K_protected
|
||||||
pull0, GN_KEYWORDS_1364_1995, K_pull0
|
pull0, GN_KEYWORDS_1364_1995, K_pull0
|
||||||
pull1, GN_KEYWORDS_1364_1995, K_pull1
|
pull1, GN_KEYWORDS_1364_1995, K_pull1
|
||||||
pulldown, GN_KEYWORDS_1364_1995, K_pulldown
|
pulldown, GN_KEYWORDS_1364_1995, K_pulldown
|
||||||
pullup, GN_KEYWORDS_1364_1995, K_pullup
|
pullup, GN_KEYWORDS_1364_1995, K_pullup
|
||||||
pulsestyle_onevent, GN_KEYWORDS_1364_2001, K_pulsestyle_onevent
|
pulsestyle_onevent, GN_KEYWORDS_1364_2001, K_pulsestyle_onevent
|
||||||
pulsestyle_ondetect, GN_KEYWORDS_1364_2001, K_pulsestyle_ondetect
|
pulsestyle_ondetect, GN_KEYWORDS_1364_2001, K_pulsestyle_ondetect
|
||||||
pure, GN_KEYWORDS_1800_2009, K_pure
|
pure, GN_KEYWORDS_1800_2005, K_pure
|
||||||
rand, GN_KEYWORDS_1800_2009, K_rand
|
rand, GN_KEYWORDS_1800_2005, K_rand
|
||||||
randc, GN_KEYWORDS_1800_2009, K_randc
|
randc, GN_KEYWORDS_1800_2005, K_randc
|
||||||
randcase, GN_KEYWORDS_1800_2009, K_randcase
|
randcase, GN_KEYWORDS_1800_2005, K_randcase
|
||||||
randsequence, GN_KEYWORDS_1800_2009, K_randsequence
|
randsequence, GN_KEYWORDS_1800_2005, K_randsequence
|
||||||
rcmos, GN_KEYWORDS_1364_1995, K_rcmos
|
rcmos, GN_KEYWORDS_1364_1995, K_rcmos
|
||||||
real, GN_KEYWORDS_1364_1995, K_real
|
real, GN_KEYWORDS_1364_1995, K_real
|
||||||
realtime, GN_KEYWORDS_1364_1995, K_realtime
|
realtime, GN_KEYWORDS_1364_1995, K_realtime
|
||||||
ref, GN_KEYWORDS_1800_2009, K_ref
|
ref, GN_KEYWORDS_1800_2005, K_ref
|
||||||
reg, GN_KEYWORDS_1364_1995, K_reg
|
reg, GN_KEYWORDS_1364_1995, K_reg
|
||||||
|
reject_on, GN_KEYWORDS_1800_2009, K_reject_on
|
||||||
release, GN_KEYWORDS_1364_1995, K_release
|
release, GN_KEYWORDS_1364_1995, K_release
|
||||||
repeat, GN_KEYWORDS_1364_1995, K_repeat
|
repeat, GN_KEYWORDS_1364_1995, K_repeat
|
||||||
resolveto, GN_KEYWORDS_VAMS_2_3, K_resolveto
|
resolveto, GN_KEYWORDS_VAMS_2_3, K_resolveto
|
||||||
return, GN_KEYWORDS_1800_2009, K_return
|
restrict, GN_KEYWORDS_1800_2009, K_restrict
|
||||||
|
return, GN_KEYWORDS_1800_2005, K_return
|
||||||
rnmos, GN_KEYWORDS_1364_1995, K_rnmos
|
rnmos, GN_KEYWORDS_1364_1995, K_rnmos
|
||||||
rpmos, GN_KEYWORDS_1364_1995, K_rpmos
|
rpmos, GN_KEYWORDS_1364_1995, K_rpmos
|
||||||
rtran, GN_KEYWORDS_1364_1995, K_rtran
|
rtran, GN_KEYWORDS_1364_1995, K_rtran
|
||||||
rtranif0, GN_KEYWORDS_1364_1995, K_rtranif0
|
rtranif0, GN_KEYWORDS_1364_1995, K_rtranif0
|
||||||
rtranif1, GN_KEYWORDS_1364_1995, K_rtranif1
|
rtranif1, GN_KEYWORDS_1364_1995, K_rtranif1
|
||||||
|
s_always, GN_KEYWORDS_1800_2009, K_s_always
|
||||||
|
s_eventually, GN_KEYWORDS_1800_2009, K_s_eventually
|
||||||
|
s_nexttime, GN_KEYWORDS_1800_2009, K_s_nexttime
|
||||||
|
s_until, GN_KEYWORDS_1800_2009, K_s_until
|
||||||
|
s_until_with, GN_KEYWORDS_1800_2009, K_s_until_with
|
||||||
scalared, GN_KEYWORDS_1364_1995, K_scalared
|
scalared, GN_KEYWORDS_1364_1995, K_scalared
|
||||||
sequence, GN_KEYWORDS_1800_2009, K_sequence
|
sequence, GN_KEYWORDS_1800_2005, K_sequence
|
||||||
shortint, GN_KEYWORDS_1800_2009, K_shortint
|
shortint, GN_KEYWORDS_1800_2005, K_shortint
|
||||||
shortreal, GN_KEYWORDS_1800_2009, K_shortreal
|
shortreal, GN_KEYWORDS_1800_2005, K_shortreal
|
||||||
showcancelled, GN_KEYWORDS_1364_2001, K_showcancelled
|
showcancelled, GN_KEYWORDS_1364_2001, K_showcancelled
|
||||||
signed, GN_KEYWORDS_1364_2001, K_signed
|
signed, GN_KEYWORDS_1364_2001, K_signed
|
||||||
sin, GN_KEYWORDS_VAMS_2_3, K_sin
|
sin, GN_KEYWORDS_VAMS_2_3, K_sin
|
||||||
sinh, GN_KEYWORDS_VAMS_2_3, K_sinh
|
sinh, GN_KEYWORDS_VAMS_2_3, K_sinh
|
||||||
slew, GN_KEYWORDS_VAMS_2_3, K_slew
|
slew, GN_KEYWORDS_VAMS_2_3, K_slew
|
||||||
small, GN_KEYWORDS_1364_1995, K_small
|
small, GN_KEYWORDS_1364_1995, K_small
|
||||||
solve, GN_KEYWORDS_1800_2009, K_solve
|
solve, GN_KEYWORDS_1800_2005, K_solve
|
||||||
specify, GN_KEYWORDS_1364_1995, K_specify
|
specify, GN_KEYWORDS_1364_1995, K_specify
|
||||||
specparam, GN_KEYWORDS_1364_1995, K_specparam
|
specparam, GN_KEYWORDS_1364_1995, K_specparam
|
||||||
split, GN_KEYWORDS_VAMS_2_3, K_split
|
split, GN_KEYWORDS_VAMS_2_3, K_split
|
||||||
sqrt, GN_KEYWORDS_VAMS_2_3, K_sqrt
|
sqrt, GN_KEYWORDS_VAMS_2_3, K_sqrt
|
||||||
static, GN_KEYWORDS_1800_2009, K_static
|
static, GN_KEYWORDS_1800_2005, K_static
|
||||||
# This is defined by both SystemVerilog 1800-2009 and Verilog-AMS 2.3
|
# This is defined by both SystemVerilog 1800-2005 and Verilog-AMS 2.3
|
||||||
string, GN_KEYWORDS_1800_2009|GN_KEYWORDS_VAMS_2_3, K_string
|
string, GN_KEYWORDS_1800_2005|GN_KEYWORDS_VAMS_2_3, K_string
|
||||||
|
strong, GN_KEYWORDS_1800_2009, K_strong
|
||||||
strong0, GN_KEYWORDS_1364_1995, K_strong0
|
strong0, GN_KEYWORDS_1364_1995, K_strong0
|
||||||
strong1, GN_KEYWORDS_1364_1995, K_strong1
|
strong1, GN_KEYWORDS_1364_1995, K_strong1
|
||||||
struct, GN_KEYWORDS_1800_2009, K_struct
|
struct, GN_KEYWORDS_1800_2005, K_struct
|
||||||
super, GN_KEYWORDS_1800_2009, K_super
|
super, GN_KEYWORDS_1800_2005, K_super
|
||||||
supply0, GN_KEYWORDS_1364_1995, K_supply0
|
supply0, GN_KEYWORDS_1364_1995, K_supply0
|
||||||
supply1, GN_KEYWORDS_1364_1995, K_supply1
|
supply1, GN_KEYWORDS_1364_1995, K_supply1
|
||||||
|
sync_accept_on, GN_KEYWORDS_1800_2009, K_sync_accept_on
|
||||||
|
sync_reject_on, GN_KEYWORDS_1800_2009, K_sync_reject_on
|
||||||
table, GN_KEYWORDS_1364_1995, K_table
|
table, GN_KEYWORDS_1364_1995, K_table
|
||||||
tagged, GN_KEYWORDS_1800_2009, K_tagged
|
tagged, GN_KEYWORDS_1800_2005, K_tagged
|
||||||
tan, GN_KEYWORDS_VAMS_2_3, K_tan
|
tan, GN_KEYWORDS_VAMS_2_3, K_tan
|
||||||
tanh, GN_KEYWORDS_VAMS_2_3, K_tanh
|
tanh, GN_KEYWORDS_VAMS_2_3, K_tanh
|
||||||
task, GN_KEYWORDS_1364_1995, K_task
|
task, GN_KEYWORDS_1364_1995, K_task
|
||||||
this, GN_KEYWORDS_1800_2009, K_this
|
this, GN_KEYWORDS_1800_2005, K_this
|
||||||
throughout, GN_KEYWORDS_1800_2009, K_throughout
|
throughout, GN_KEYWORDS_1800_2005, K_throughout
|
||||||
time, GN_KEYWORDS_1364_1995, K_time
|
time, GN_KEYWORDS_1364_1995, K_time
|
||||||
timeprecision, GN_KEYWORDS_1800_2009, K_timeprecision
|
timeprecision, GN_KEYWORDS_1800_2005, K_timeprecision
|
||||||
timer, GN_KEYWORDS_VAMS_2_3, K_timer
|
timer, GN_KEYWORDS_VAMS_2_3, K_timer
|
||||||
timeunit, GN_KEYWORDS_1800_2009, K_timeunit
|
timeunit, GN_KEYWORDS_1800_2005, K_timeunit
|
||||||
tran, GN_KEYWORDS_1364_1995, K_tran
|
tran, GN_KEYWORDS_1364_1995, K_tran
|
||||||
tranif0, GN_KEYWORDS_1364_1995, K_tranif0
|
tranif0, GN_KEYWORDS_1364_1995, K_tranif0
|
||||||
tranif1, GN_KEYWORDS_1364_1995, K_tranif1
|
tranif1, GN_KEYWORDS_1364_1995, K_tranif1
|
||||||
|
|
@ -294,30 +312,35 @@ tri1, GN_KEYWORDS_1364_1995, K_tri1
|
||||||
triand, GN_KEYWORDS_1364_1995, K_triand
|
triand, GN_KEYWORDS_1364_1995, K_triand
|
||||||
trior, GN_KEYWORDS_1364_1995, K_trior
|
trior, GN_KEYWORDS_1364_1995, K_trior
|
||||||
trireg, GN_KEYWORDS_1364_1995, K_trireg
|
trireg, GN_KEYWORDS_1364_1995, K_trireg
|
||||||
type, GN_KEYWORDS_1800_2009, K_type
|
type, GN_KEYWORDS_1800_2005, K_type
|
||||||
typedef, GN_KEYWORDS_1800_2009, K_typedef
|
typedef, GN_KEYWORDS_1800_2005, K_typedef
|
||||||
union, GN_KEYWORDS_1800_2009, K_union
|
union, GN_KEYWORDS_1800_2005, K_union
|
||||||
unique, GN_KEYWORDS_1800_2009, K_unique
|
unique, GN_KEYWORDS_1800_2005, K_unique
|
||||||
|
unique0, GN_KEYWORDS_1800_2009, K_unique
|
||||||
units, GN_KEYWORDS_VAMS_2_3, K_units
|
units, GN_KEYWORDS_VAMS_2_3, K_units
|
||||||
# Reserved for future use!
|
# Reserved for future use!
|
||||||
unsigned, GN_KEYWORDS_1364_2001, K_unsigned
|
unsigned, GN_KEYWORDS_1364_2001, K_unsigned
|
||||||
|
until, GN_KEYWORDS_1800_2009, K_until
|
||||||
|
until_with, GN_KEYWORDS_1800_2009, K_until_with
|
||||||
|
untyped, GN_KEYWORDS_1800_2009, K_untyped
|
||||||
use, GN_KEYWORDS_1364_2001_CONFIG, K_use
|
use, GN_KEYWORDS_1364_2001_CONFIG, K_use
|
||||||
uwire, GN_KEYWORDS_1364_2005, K_uwire
|
uwire, GN_KEYWORDS_1364_2005, K_uwire
|
||||||
var, GN_KEYWORDS_1800_2009, K_var
|
var, GN_KEYWORDS_1800_2005, K_var
|
||||||
vectored, GN_KEYWORDS_1364_1995, K_vectored
|
vectored, GN_KEYWORDS_1364_1995, K_vectored
|
||||||
virtual, GN_KEYWORDS_1800_2009, K_virtual
|
virtual, GN_KEYWORDS_1800_2005, K_virtual
|
||||||
void, GN_KEYWORDS_1800_2009, K_void
|
void, GN_KEYWORDS_1800_2005, K_void
|
||||||
wait, GN_KEYWORDS_1364_1995, K_wait
|
wait, GN_KEYWORDS_1364_1995, K_wait
|
||||||
wait_order, GN_KEYWORDS_1800_2009, K_wait_order
|
wait_order, GN_KEYWORDS_1800_2005, K_wait_order
|
||||||
wand, GN_KEYWORDS_1364_1995, K_wand
|
wand, GN_KEYWORDS_1364_1995, K_wand
|
||||||
|
weak, GN_KEYWORDS_1800_2009, K_weak
|
||||||
weak0, GN_KEYWORDS_1364_1995, K_weak0
|
weak0, GN_KEYWORDS_1364_1995, K_weak0
|
||||||
weak1, GN_KEYWORDS_1364_1995, K_weak1
|
weak1, GN_KEYWORDS_1364_1995, K_weak1
|
||||||
while, GN_KEYWORDS_1364_1995, K_while
|
while, GN_KEYWORDS_1364_1995, K_while
|
||||||
white_noise, GN_KEYWORDS_VAMS_2_3, K_white_noise
|
white_noise, GN_KEYWORDS_VAMS_2_3, K_white_noise
|
||||||
wildcard, GN_KEYWORDS_1800_2009, K_wildcard
|
wildcard, GN_KEYWORDS_1800_2005, K_wildcard
|
||||||
wire, GN_KEYWORDS_1364_1995, K_wire
|
wire, GN_KEYWORDS_1364_1995, K_wire
|
||||||
with, GN_KEYWORDS_1800_2009, K_with
|
with, GN_KEYWORDS_1800_2005, K_with
|
||||||
within, GN_KEYWORDS_1800_2009, K_within
|
within, GN_KEYWORDS_1800_2005, K_within
|
||||||
# This is the name originally proposed for uwire and is deprecated!
|
# This is the name originally proposed for uwire and is deprecated!
|
||||||
wone, GN_KEYWORDS_1364_2005, K_wone
|
wone, GN_KEYWORDS_1364_2005, K_wone
|
||||||
wor, GN_KEYWORDS_1364_1995, K_wor
|
wor, GN_KEYWORDS_1364_1995, K_wor
|
||||||
|
|
|
||||||
12
main.cc
12
main.cc
|
|
@ -1,5 +1,5 @@
|
||||||
const char COPYRIGHT[] =
|
const char COPYRIGHT[] =
|
||||||
"Copyright (c) 1998-2010 Stephen Williams (steve@icarus.com)";
|
"Copyright (c) 1998-2011 Stephen Williams (steve@icarus.com)";
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This source code is free software; you can redistribute it
|
* This source code is free software; you can redistribute it
|
||||||
|
|
@ -256,6 +256,9 @@ static void process_generation_flag(const char*gen)
|
||||||
} else if (strcmp(gen,"2005") == 0) {
|
} else if (strcmp(gen,"2005") == 0) {
|
||||||
generation_flag = GN_VER2005;
|
generation_flag = GN_VER2005;
|
||||||
|
|
||||||
|
} else if (strcmp(gen,"2005-sv") == 0) {
|
||||||
|
generation_flag = GN_VER2005_SV;
|
||||||
|
|
||||||
} else if (strcmp(gen,"2009") == 0) {
|
} else if (strcmp(gen,"2009") == 0) {
|
||||||
generation_flag = GN_VER2009;
|
generation_flag = GN_VER2009;
|
||||||
|
|
||||||
|
|
@ -868,6 +871,8 @@ int main(int argc, char*argv[])
|
||||||
switch (generation_flag) {
|
switch (generation_flag) {
|
||||||
case GN_VER2009:
|
case GN_VER2009:
|
||||||
lexor_keyword_mask |= GN_KEYWORDS_1800_2009;
|
lexor_keyword_mask |= GN_KEYWORDS_1800_2009;
|
||||||
|
case GN_VER2005_SV:
|
||||||
|
lexor_keyword_mask |= GN_KEYWORDS_1800_2005;
|
||||||
case GN_VER2005:
|
case GN_VER2005:
|
||||||
lexor_keyword_mask |= GN_KEYWORDS_1364_2005;
|
lexor_keyword_mask |= GN_KEYWORDS_1364_2005;
|
||||||
case GN_VER2001:
|
case GN_VER2001:
|
||||||
|
|
@ -902,6 +907,9 @@ int main(int argc, char*argv[])
|
||||||
case GN_VER2005:
|
case GN_VER2005:
|
||||||
cout << "IEEE1364-2005";
|
cout << "IEEE1364-2005";
|
||||||
break;
|
break;
|
||||||
|
case GN_VER2005_SV:
|
||||||
|
cout << "IEEE1800-2005";
|
||||||
|
break;
|
||||||
case GN_VER2009:
|
case GN_VER2009:
|
||||||
cout << "IEEE1800-2009";
|
cout << "IEEE1800-2009";
|
||||||
break;
|
break;
|
||||||
|
|
@ -1024,7 +1032,7 @@ int main(int argc, char*argv[])
|
||||||
|
|
||||||
/* Decide if we are going to allow system functions to be called
|
/* Decide if we are going to allow system functions to be called
|
||||||
* as tasks. */
|
* as tasks. */
|
||||||
if (generation_flag >= GN_VER2009) {
|
if (generation_flag >= GN_VER2005_SV) {
|
||||||
def_sfunc_as_task = IVL_SFUNC_AS_TASK_WARNING;
|
def_sfunc_as_task = IVL_SFUNC_AS_TASK_WARNING;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
10
parse.y
10
parse.y
|
|
@ -1,7 +1,7 @@
|
||||||
|
|
||||||
%{
|
%{
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1998-2010 Stephen Williams (steve@icarus.com)
|
* Copyright (c) 1998-2011 Stephen Williams (steve@icarus.com)
|
||||||
*
|
*
|
||||||
* This source code is free software; you can redistribute it
|
* This source code is free software; you can redistribute it
|
||||||
* and/or modify it in source code form under the terms of the GNU
|
* and/or modify it in source code form under the terms of the GNU
|
||||||
|
|
@ -341,7 +341,7 @@ static list<named_pexpr_t>* make_named_number(perm_string name, PExpr*val =0)
|
||||||
/* The new tokens from 1364-2005. */
|
/* The new tokens from 1364-2005. */
|
||||||
%token K_wone K_uwire
|
%token K_wone K_uwire
|
||||||
|
|
||||||
/* The new tokens from 1800-2009. */
|
/* The new tokens from 1800-2005. */
|
||||||
%token K_alias K_always_comb K_always_ff K_always_latch K_assert
|
%token K_alias K_always_comb K_always_ff K_always_latch K_assert
|
||||||
%token K_assume K_before K_bind K_bins K_binsof K_bit K_break K_byte
|
%token K_assume K_before K_bind K_bins K_binsof K_bit K_break K_byte
|
||||||
%token K_chandle K_class K_clocking K_const K_constraint K_context
|
%token K_chandle K_class K_clocking K_const K_constraint K_context
|
||||||
|
|
@ -362,6 +362,12 @@ static list<named_pexpr_t>* make_named_number(perm_string name, PExpr*val =0)
|
||||||
/* Fake tokens that are passed once we have an initial token. */
|
/* Fake tokens that are passed once we have an initial token. */
|
||||||
%token K_timeprecision_check K_timeunit_check
|
%token K_timeprecision_check K_timeunit_check
|
||||||
|
|
||||||
|
/* The new tokens from 1800-2009. */
|
||||||
|
%token K_accept_on K_checker K_endchecker K_eventually K_global K_implies
|
||||||
|
%token K_let K_nexttime K_reject_on K_restrict K_s_always K_s_eventually
|
||||||
|
%token K_s_nexttime K_s_until K_s_until_with K_strong K_sync_accept_on
|
||||||
|
%token K_sync_reject_on K_unique0 K_until K_until_with K_untyped K_weak
|
||||||
|
|
||||||
/* The new tokens for Verilog-AMS 2.3. */
|
/* The new tokens for Verilog-AMS 2.3. */
|
||||||
%token K_above K_abs K_absdelay K_abstol K_access K_acos K_acosh
|
%token K_above K_abs K_absdelay K_abstol K_access K_acos K_acosh
|
||||||
/* 1800-2005 has defined "assert" above! */
|
/* 1800-2005 has defined "assert" above! */
|
||||||
|
|
|
||||||
6
pform.cc
6
pform.cc
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1998-2010 Stephen Williams (steve@icarus.com)
|
* Copyright (c) 1998-2011 Stephen Williams (steve@icarus.com)
|
||||||
*
|
*
|
||||||
* This source code is free software; you can redistribute it
|
* This source code is free software; you can redistribute it
|
||||||
* and/or modify it in source code form under the terms of the GNU
|
* and/or modify it in source code form under the terms of the GNU
|
||||||
|
|
@ -737,8 +737,8 @@ void pform_startmodule(const char*name, const char*file, unsigned lineno,
|
||||||
void pform_check_timeunit_prec()
|
void pform_check_timeunit_prec()
|
||||||
{
|
{
|
||||||
assert(pform_cur_module);
|
assert(pform_cur_module);
|
||||||
if ((generation_flag & GN_VER2009) && (pform_cur_module->time_unit <
|
if ((generation_flag & (GN_VER2005_SV | GN_VER2009)) &&
|
||||||
pform_cur_module->time_precision)) {
|
(pform_cur_module->time_unit < pform_cur_module->time_precision)) {
|
||||||
VLerror("error: a timeprecision is missing or is too "
|
VLerror("error: a timeprecision is missing or is too "
|
||||||
"large!");
|
"large!");
|
||||||
} else assert(pform_cur_module->time_unit >=
|
} else assert(pform_cur_module->time_unit >=
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue