Hashed keyword lookup for the lexor.
This commit is contained in:
parent
86a283b9bc
commit
0c7722ce7e
|
|
@ -18,7 +18,7 @@
|
||||||
# 59 Temple Place - Suite 330
|
# 59 Temple Place - Suite 330
|
||||||
# Boston, MA 02111-1307, USA
|
# Boston, MA 02111-1307, USA
|
||||||
#
|
#
|
||||||
#ident "$Id: Makefile.in,v 1.19 1999/09/29 00:42:50 steve Exp $"
|
#ident "$Id: Makefile.in,v 1.20 1999/09/29 01:50:35 steve Exp $"
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
SHELL = /bin/sh
|
SHELL = /bin/sh
|
||||||
|
|
@ -62,7 +62,7 @@ FF = nobufz.o propinit.o sigfold.o xnfio.o xnfsyn.o
|
||||||
|
|
||||||
O = main.o cprop.o design_dump.o elaborate.o elab_expr.o emit.o eval.o \
|
O = main.o cprop.o design_dump.o elaborate.o elab_expr.o emit.o eval.o \
|
||||||
eval_tree.o functor.o \
|
eval_tree.o functor.o \
|
||||||
lexor.o mangle.o netlist.o pad_to_width.o \
|
lexor.o lexor_keyword.o mangle.o netlist.o pad_to_width.o \
|
||||||
parse.o parse_misc.o pform.o pform_dump.o \
|
parse.o parse_misc.o pform.o pform_dump.o \
|
||||||
set_width.o \
|
set_width.o \
|
||||||
verinum.o verireal.o target.o targets.o Module.o PDelays.o PExpr.o PGate.o \
|
verinum.o verireal.o target.o targets.o Module.o PDelays.o PExpr.o PGate.o \
|
||||||
|
|
|
||||||
|
|
@ -281,6 +281,7 @@ especially testing from many people, including (in alphabetical order):
|
||||||
Ales Hvezda <ahvezda@seul.org>
|
Ales Hvezda <ahvezda@seul.org>
|
||||||
James Lee <jml@seva.com>
|
James Lee <jml@seva.com>
|
||||||
Peter Monta <pmonta@halibut.imedia.com>
|
Peter Monta <pmonta@halibut.imedia.com>
|
||||||
|
Daniel H. Nelsen <dhn@qedinc.com>
|
||||||
Stefan Petersen <spe@geda.seul.org>
|
Stefan Petersen <spe@geda.seul.org>
|
||||||
Jason Schonberg <schon@mips.com>
|
Jason Schonberg <schon@mips.com>
|
||||||
Stuart Sutherland <stuart@sutherland.com>
|
Stuart Sutherland <stuart@sutherland.com>
|
||||||
|
|
|
||||||
118
lexor.lex
118
lexor.lex
|
|
@ -19,7 +19,7 @@
|
||||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
||||||
*/
|
*/
|
||||||
#if !defined(WINNT)
|
#if !defined(WINNT)
|
||||||
#ident "$Id: lexor.lex,v 1.34 1999/09/13 03:08:52 steve Exp $"
|
#ident "$Id: lexor.lex,v 1.35 1999/09/29 01:50:35 steve Exp $"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//# define YYSTYPE lexval
|
//# define YYSTYPE lexval
|
||||||
|
|
@ -41,7 +41,7 @@ extern YYLTYPE yylloc;
|
||||||
static void reset_lexor();
|
static void reset_lexor();
|
||||||
static void line_directive();
|
static void line_directive();
|
||||||
|
|
||||||
static int check_identifier(const char*name);
|
extern int check_identifier(const char*str, int len);
|
||||||
static verinum*make_sized_binary(const char*txt);
|
static verinum*make_sized_binary(const char*txt);
|
||||||
static verinum*make_sized_dec(const char*txt);
|
static verinum*make_sized_dec(const char*txt);
|
||||||
static verinum*make_unsized_dec(const char*txt);
|
static verinum*make_unsized_dec(const char*txt);
|
||||||
|
|
@ -128,7 +128,7 @@ W [ \t\b\f\r]+
|
||||||
<UDPTABLE>[pPnN01\?\*\-] { return yytext[0]; }
|
<UDPTABLE>[pPnN01\?\*\-] { return yytext[0]; }
|
||||||
|
|
||||||
[a-zA-Z_][a-zA-Z0-9$_]* {
|
[a-zA-Z_][a-zA-Z0-9$_]* {
|
||||||
int rc = check_identifier(yytext);
|
int rc = check_identifier(yytext, yyleng);
|
||||||
if (rc == IDENTIFIER)
|
if (rc == IDENTIFIER)
|
||||||
yylval.text = strdup(yytext);
|
yylval.text = strdup(yytext);
|
||||||
else
|
else
|
||||||
|
|
@ -305,118 +305,6 @@ void lex_end_table()
|
||||||
BEGIN(INITIAL);
|
BEGIN(INITIAL);
|
||||||
}
|
}
|
||||||
|
|
||||||
static const struct { const char*name; int code; } key_table[] = {
|
|
||||||
{ "always", K_always },
|
|
||||||
{ "and", K_and },
|
|
||||||
{ "assign", K_assign },
|
|
||||||
{ "begin", K_begin },
|
|
||||||
{ "buf", K_buf },
|
|
||||||
{ "bufif0", K_bufif0 },
|
|
||||||
{ "bufif1", K_bufif1 },
|
|
||||||
{ "case", K_case },
|
|
||||||
{ "casex", K_casex },
|
|
||||||
{ "casez", K_casez },
|
|
||||||
{ "cmos", K_cmos },
|
|
||||||
{ "deassign", K_deassign },
|
|
||||||
{ "default", K_default },
|
|
||||||
{ "defparam", K_defparam },
|
|
||||||
{ "disable", K_disable },
|
|
||||||
{ "edge", K_edge },
|
|
||||||
{ "else", K_else },
|
|
||||||
{ "end", K_end },
|
|
||||||
{ "endcase", K_endcase },
|
|
||||||
{ "endfunction", K_endfunction },
|
|
||||||
{ "endmodule", K_endmodule },
|
|
||||||
{ "endprimitive", K_endprimitive },
|
|
||||||
{ "endspecify", K_endspecify },
|
|
||||||
{ "endtable", K_endtable },
|
|
||||||
{ "endtask", K_endtask },
|
|
||||||
{ "event", K_event },
|
|
||||||
{ "for", K_for },
|
|
||||||
{ "force", K_force },
|
|
||||||
{ "forever", K_forever },
|
|
||||||
{ "fork", K_fork },
|
|
||||||
{ "function", K_function },
|
|
||||||
{ "highz0", K_highz0 },
|
|
||||||
{ "highz1", K_highz1 },
|
|
||||||
{ "if", K_if },
|
|
||||||
{ "initial", K_initial },
|
|
||||||
{ "inout", K_inout },
|
|
||||||
{ "input", K_input },
|
|
||||||
{ "integer", K_integer },
|
|
||||||
{ "join", K_join },
|
|
||||||
{ "large", K_large },
|
|
||||||
{ "macromodule", K_macromodule },
|
|
||||||
{ "medium", K_medium },
|
|
||||||
{ "module", K_module },
|
|
||||||
{ "nand", K_nand },
|
|
||||||
{ "negedge", K_negedge },
|
|
||||||
{ "nmos", K_nmos },
|
|
||||||
{ "nor", K_nor },
|
|
||||||
{ "not", K_not },
|
|
||||||
{ "notif0", K_notif0 },
|
|
||||||
{ "notif1", K_notif1 },
|
|
||||||
{ "or", K_or },
|
|
||||||
{ "output", K_output },
|
|
||||||
{ "parameter", K_parameter },
|
|
||||||
{ "pmos", K_pmos },
|
|
||||||
{ "posedge", K_posedge },
|
|
||||||
{ "primitive", K_primitive },
|
|
||||||
{ "pull0", K_pull0 },
|
|
||||||
{ "pull1", K_pull1 },
|
|
||||||
{ "pulldown", K_pulldown },
|
|
||||||
{ "pullup", K_pullup },
|
|
||||||
{ "rcmos", K_rcmos },
|
|
||||||
{ "reg", K_reg },
|
|
||||||
{ "release", K_release },
|
|
||||||
{ "repeat", K_repeat },
|
|
||||||
{ "rnmos", K_rnmos },
|
|
||||||
{ "rpmos", K_rpmos },
|
|
||||||
{ "rtran", K_rtran },
|
|
||||||
{ "rtranif0", K_rtranif0 },
|
|
||||||
{ "rtranif1", K_rtranif1 },
|
|
||||||
{ "scalered", K_scalered },
|
|
||||||
{ "small", K_small },
|
|
||||||
{ "specify", K_specify },
|
|
||||||
{ "specparam", K_specparam },
|
|
||||||
{ "strong0", K_strong0 },
|
|
||||||
{ "strong1", K_strong1 },
|
|
||||||
{ "supply0", K_supply0 },
|
|
||||||
{ "supply1", K_supply1 },
|
|
||||||
{ "table", K_table },
|
|
||||||
{ "task", K_task },
|
|
||||||
{ "time", K_time },
|
|
||||||
{ "tran", K_tran },
|
|
||||||
{ "tranif0", K_tranif0 },
|
|
||||||
{ "tranif1", K_tranif1 },
|
|
||||||
{ "tri", K_tri },
|
|
||||||
{ "tri0", K_tri0 },
|
|
||||||
{ "tri1", K_tri1 },
|
|
||||||
{ "triand", K_triand },
|
|
||||||
{ "trior", K_trior },
|
|
||||||
{ "trireg", K_trireg },
|
|
||||||
{ "vectored", K_vectored },
|
|
||||||
{ "wait", K_wait },
|
|
||||||
{ "wand", K_wand },
|
|
||||||
{ "weak0", K_weak0 },
|
|
||||||
{ "weak1", K_weak1 },
|
|
||||||
{ "while", K_while },
|
|
||||||
{ "wire", K_wire },
|
|
||||||
{ "wor", K_wor },
|
|
||||||
{ "xnor", K_xnor },
|
|
||||||
{ "xor", K_xor },
|
|
||||||
{ 0, IDENTIFIER }
|
|
||||||
};
|
|
||||||
|
|
||||||
static int check_identifier(const char*name)
|
|
||||||
{
|
|
||||||
for (unsigned idx = 0 ; key_table[idx].name ; idx += 1)
|
|
||||||
if (strcmp(key_table[idx].name, name) == 0)
|
|
||||||
return key_table[idx].code;
|
|
||||||
|
|
||||||
return IDENTIFIER;
|
|
||||||
}
|
|
||||||
|
|
||||||
static verinum*make_binary_with_size(unsigned size, bool fixed, const char*ptr)
|
static verinum*make_binary_with_size(unsigned size, bool fixed, const char*ptr)
|
||||||
{
|
{
|
||||||
assert(tolower(*ptr) == 'b');
|
assert(tolower(*ptr) == 'b');
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,230 @@
|
||||||
|
/* C code produced by gperf version 2.7 */
|
||||||
|
/* Command-line: gperf -o -i 1 -C -k 1-3,$ -L C -H keyword_hash -N check_identifier -tT lexor_keyword.gperf > lexor_keyword.cc */
|
||||||
|
|
||||||
|
#include "parse_misc.h"
|
||||||
|
#include "parse.h"
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
|
||||||
|
#define TOTAL_KEYWORDS 99
|
||||||
|
#define MIN_WORD_LENGTH 2
|
||||||
|
#define MAX_WORD_LENGTH 12
|
||||||
|
#define MIN_HASH_VALUE 7
|
||||||
|
#define MAX_HASH_VALUE 239
|
||||||
|
/* maximum key range = 233, duplicates = 0 */
|
||||||
|
|
||||||
|
#ifdef __GNUC__
|
||||||
|
__inline
|
||||||
|
#endif
|
||||||
|
static unsigned int
|
||||||
|
keyword_hash (const char *str, int len)
|
||||||
|
{
|
||||||
|
static const unsigned char asso_values[] =
|
||||||
|
{
|
||||||
|
240, 240, 240, 240, 240, 240, 240, 240, 240, 240,
|
||||||
|
240, 240, 240, 240, 240, 240, 240, 240, 240, 240,
|
||||||
|
240, 240, 240, 240, 240, 240, 240, 240, 240, 240,
|
||||||
|
240, 240, 240, 240, 240, 240, 240, 240, 240, 240,
|
||||||
|
240, 240, 240, 240, 240, 240, 240, 240, 126, 66,
|
||||||
|
240, 240, 240, 240, 240, 240, 240, 240, 240, 240,
|
||||||
|
240, 240, 240, 240, 240, 240, 240, 240, 240, 240,
|
||||||
|
240, 240, 240, 240, 240, 240, 240, 240, 240, 240,
|
||||||
|
240, 240, 240, 240, 240, 240, 240, 240, 240, 240,
|
||||||
|
240, 240, 240, 240, 240, 240, 240, 31, 11, 81,
|
||||||
|
1, 1, 81, 26, 11, 51, 11, 21, 81, 81,
|
||||||
|
1, 46, 16, 240, 1, 1, 6, 11, 36, 46,
|
||||||
|
21, 16, 6, 240, 240, 240, 240, 240, 240, 240,
|
||||||
|
240, 240, 240, 240, 240, 240, 240, 240, 240, 240,
|
||||||
|
240, 240, 240, 240, 240, 240, 240, 240, 240, 240,
|
||||||
|
240, 240, 240, 240, 240, 240, 240, 240, 240, 240,
|
||||||
|
240, 240, 240, 240, 240, 240, 240, 240, 240, 240,
|
||||||
|
240, 240, 240, 240, 240, 240, 240, 240, 240, 240,
|
||||||
|
240, 240, 240, 240, 240, 240, 240, 240, 240, 240,
|
||||||
|
240, 240, 240, 240, 240, 240, 240, 240, 240, 240,
|
||||||
|
240, 240, 240, 240, 240, 240, 240, 240, 240, 240,
|
||||||
|
240, 240, 240, 240, 240, 240, 240, 240, 240, 240,
|
||||||
|
240, 240, 240, 240, 240, 240, 240, 240, 240, 240,
|
||||||
|
240, 240, 240, 240, 240, 240, 240, 240, 240, 240,
|
||||||
|
240, 240, 240, 240, 240, 240, 240, 240, 240, 240,
|
||||||
|
240, 240, 240, 240, 240, 240
|
||||||
|
};
|
||||||
|
int hval = len;
|
||||||
|
|
||||||
|
hval += asso_values[(unsigned char)str[len - 1]];
|
||||||
|
hval += asso_values[(unsigned char)str[0]];
|
||||||
|
hval += asso_values[(unsigned char)str[1]];
|
||||||
|
|
||||||
|
if (len > 2)
|
||||||
|
hval += asso_values[(unsigned char)str[2]];
|
||||||
|
|
||||||
|
return hval ;
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
check_identifier (const char *str, int len)
|
||||||
|
{
|
||||||
|
static const struct { const char *name; int tokenType; } wordlist[] =
|
||||||
|
{
|
||||||
|
{""}, {""}, {""}, {""}, {""}, {""}, {""},
|
||||||
|
{"end", K_end},
|
||||||
|
{""}, {""}, {""},
|
||||||
|
{"endcase", K_endcase},
|
||||||
|
{"endtable", K_endtable},
|
||||||
|
{"endmodule", K_endmodule},
|
||||||
|
{"rtran", K_rtran},
|
||||||
|
{"endfunction", K_endfunction},
|
||||||
|
{"endprimitive", K_endprimitive},
|
||||||
|
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
|
||||||
|
{""}, {""}, {""},
|
||||||
|
{"endspecify", K_endspecify},
|
||||||
|
{"repeat", K_repeat},
|
||||||
|
{"endtask", K_endtask},
|
||||||
|
{""},
|
||||||
|
{"edge", K_edge},
|
||||||
|
{""}, {""},
|
||||||
|
{"negedge", K_negedge},
|
||||||
|
{"and", K_and},
|
||||||
|
{"nand", K_nand},
|
||||||
|
{""},
|
||||||
|
{"assign", K_assign},
|
||||||
|
{"specify", K_specify},
|
||||||
|
{"deassign", K_deassign},
|
||||||
|
{"tran", K_tran},
|
||||||
|
{"begin", K_begin},
|
||||||
|
{""}, {""}, {""}, {""},
|
||||||
|
{"event", K_event},
|
||||||
|
{"or", K_or},
|
||||||
|
{""},
|
||||||
|
{"nor", K_nor},
|
||||||
|
{""},
|
||||||
|
{"table", K_table},
|
||||||
|
{""}, {""},
|
||||||
|
{"reg", K_reg},
|
||||||
|
{"parameter", K_parameter},
|
||||||
|
{""}, {""},
|
||||||
|
{"disable", K_disable},
|
||||||
|
{"not", K_not},
|
||||||
|
{"task", K_task},
|
||||||
|
{"trior", K_trior},
|
||||||
|
{"triand", K_triand},
|
||||||
|
{"integer", K_integer},
|
||||||
|
{""}, {""}, {""}, {""},
|
||||||
|
{"posedge", K_posedge},
|
||||||
|
{"xor", K_xor},
|
||||||
|
{"xnor", K_xnor},
|
||||||
|
{""},
|
||||||
|
{"output", K_output},
|
||||||
|
{""}, {""},
|
||||||
|
{"primitive", K_primitive},
|
||||||
|
{"input", K_input},
|
||||||
|
{""},
|
||||||
|
{"strong1", K_strong1},
|
||||||
|
{"rtranif1", K_rtranif1},
|
||||||
|
{"wand", K_wand},
|
||||||
|
{""}, {""}, {""}, {""},
|
||||||
|
{"else", K_else},
|
||||||
|
{"rnmos", K_rnmos},
|
||||||
|
{"trireg", K_trireg},
|
||||||
|
{"release", K_release},
|
||||||
|
{""}, {""}, {""}, {""},
|
||||||
|
{"default", K_default},
|
||||||
|
{"wor", K_wor},
|
||||||
|
{""}, {""}, {""},
|
||||||
|
{"supply1", K_supply1},
|
||||||
|
{"function", K_function},
|
||||||
|
{"wire", K_wire},
|
||||||
|
{"rpmos", K_rpmos},
|
||||||
|
{""}, {""}, {""},
|
||||||
|
{"specparam", K_specparam},
|
||||||
|
{"inout", K_inout},
|
||||||
|
{""},
|
||||||
|
{"tranif1", K_tranif1},
|
||||||
|
{"tri", K_tri},
|
||||||
|
{"join", K_join},
|
||||||
|
{"while", K_while},
|
||||||
|
{""}, {""},
|
||||||
|
{"pulldown", K_pulldown},
|
||||||
|
{"case", K_case},
|
||||||
|
{"large", K_large},
|
||||||
|
{""}, {""},
|
||||||
|
{"scalered", K_scalered},
|
||||||
|
{""},
|
||||||
|
{"casez", K_casez},
|
||||||
|
{"notif1", K_notif1},
|
||||||
|
{""},
|
||||||
|
{"vectored", K_vectored},
|
||||||
|
{"tri1", K_tri1},
|
||||||
|
{""},
|
||||||
|
{"pullup", K_pullup},
|
||||||
|
{""},
|
||||||
|
{"for", K_for},
|
||||||
|
{"nmos", K_nmos},
|
||||||
|
{"force", K_force},
|
||||||
|
{"module", K_module},
|
||||||
|
{"forever", K_forever},
|
||||||
|
{""},
|
||||||
|
{"wait", K_wait},
|
||||||
|
{"casex", K_casex},
|
||||||
|
{""},
|
||||||
|
{"strong0", K_strong0},
|
||||||
|
{"rtranif0", K_rtranif0},
|
||||||
|
{"time", K_time},
|
||||||
|
{""}, {""}, {""}, {""},
|
||||||
|
{"pmos", K_pmos},
|
||||||
|
{"weak1", K_weak1},
|
||||||
|
{""}, {""}, {""},
|
||||||
|
{"fork", K_fork},
|
||||||
|
{""}, {""}, {""}, {""}, {""}, {""},
|
||||||
|
{"highz1", K_highz1},
|
||||||
|
{"supply0", K_supply0},
|
||||||
|
{""}, {""}, {""},
|
||||||
|
{"always", K_always},
|
||||||
|
{""}, {""}, {""},
|
||||||
|
{"rcmos", K_rcmos},
|
||||||
|
{"medium", K_medium},
|
||||||
|
{"tranif0", K_tranif0},
|
||||||
|
{"defparam", K_defparam},
|
||||||
|
{""}, {""},
|
||||||
|
{"bufif1", K_bufif1},
|
||||||
|
{""}, {""}, {""},
|
||||||
|
{"pull1", K_pull1},
|
||||||
|
{""}, {""}, {""}, {""}, {""},
|
||||||
|
{"notif0", K_notif0},
|
||||||
|
{""},
|
||||||
|
{"buf", K_buf},
|
||||||
|
{"tri0", K_tri0},
|
||||||
|
{""}, {""},
|
||||||
|
{"initial", K_initial},
|
||||||
|
{""}, {""}, {""}, {""}, {""}, {""}, {""},
|
||||||
|
{"small", K_small},
|
||||||
|
{""}, {""}, {""}, {""}, {""},
|
||||||
|
{"macromodule", K_macromodule},
|
||||||
|
{""}, {""}, {""},
|
||||||
|
{"weak0", K_weak0},
|
||||||
|
{""}, {""}, {""},
|
||||||
|
{"cmos", K_cmos},
|
||||||
|
{""},
|
||||||
|
{"if", K_if},
|
||||||
|
{""}, {""}, {""}, {""},
|
||||||
|
{"highz0", K_highz0},
|
||||||
|
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
|
||||||
|
{""}, {""}, {""}, {""}, {""},
|
||||||
|
{"bufif0", K_bufif0},
|
||||||
|
{""}, {""}, {""},
|
||||||
|
{"pull0", K_pull0}
|
||||||
|
};
|
||||||
|
|
||||||
|
if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
|
||||||
|
{
|
||||||
|
int key = keyword_hash (str, len);
|
||||||
|
|
||||||
|
if (key <= MAX_HASH_VALUE && key >= 0)
|
||||||
|
{
|
||||||
|
const char *s = wordlist[key].name;
|
||||||
|
|
||||||
|
if (*str == *s && !strcmp (str + 1, s + 1))
|
||||||
|
return wordlist[key].tokenType;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return IDENTIFIER;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,112 @@
|
||||||
|
%{
|
||||||
|
/* Command-line: gperf -o -i 1 -C -k 1-3,$ -L C -H keyword_hash -N check_identifier -tT lexor_keyword.gperf */
|
||||||
|
|
||||||
|
#include "parse_misc.h"
|
||||||
|
#include "parse.h"
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
%}
|
||||||
|
struct Keywords {
|
||||||
|
char *name;
|
||||||
|
int tokenType;
|
||||||
|
} Keywords;
|
||||||
|
%%
|
||||||
|
always, K_always
|
||||||
|
and, K_and
|
||||||
|
assign, K_assign
|
||||||
|
begin, K_begin
|
||||||
|
buf, K_buf
|
||||||
|
bufif0, K_bufif0
|
||||||
|
bufif1, K_bufif1
|
||||||
|
case, K_case
|
||||||
|
casex, K_casex
|
||||||
|
casez, K_casez
|
||||||
|
cmos, K_cmos
|
||||||
|
deassign, K_deassign
|
||||||
|
default, K_default
|
||||||
|
defparam, K_defparam
|
||||||
|
disable, K_disable
|
||||||
|
edge, K_edge
|
||||||
|
else, K_else
|
||||||
|
end, K_end
|
||||||
|
endcase, K_endcase
|
||||||
|
endfunction, K_endfunction
|
||||||
|
endmodule, K_endmodule
|
||||||
|
endprimitive, K_endprimitive
|
||||||
|
endspecify, K_endspecify
|
||||||
|
endtable, K_endtable
|
||||||
|
endtask, K_endtask
|
||||||
|
event, K_event
|
||||||
|
for, K_for
|
||||||
|
force, K_force
|
||||||
|
forever, K_forever
|
||||||
|
fork, K_fork
|
||||||
|
function, K_function
|
||||||
|
highz0, K_highz0
|
||||||
|
highz1, K_highz1
|
||||||
|
if, K_if
|
||||||
|
initial, K_initial
|
||||||
|
inout, K_inout
|
||||||
|
input, K_input
|
||||||
|
integer, K_integer
|
||||||
|
join, K_join
|
||||||
|
large, K_large
|
||||||
|
macromodule, K_macromodule
|
||||||
|
medium, K_medium
|
||||||
|
module, K_module
|
||||||
|
nand, K_nand
|
||||||
|
negedge, K_negedge
|
||||||
|
nmos, K_nmos
|
||||||
|
nor, K_nor
|
||||||
|
not, K_not
|
||||||
|
notif0, K_notif0
|
||||||
|
notif1, K_notif1
|
||||||
|
or, K_or
|
||||||
|
output, K_output
|
||||||
|
parameter, K_parameter
|
||||||
|
pmos, K_pmos
|
||||||
|
posedge, K_posedge
|
||||||
|
primitive, K_primitive
|
||||||
|
pull0, K_pull0
|
||||||
|
pull1, K_pull1
|
||||||
|
pulldown, K_pulldown
|
||||||
|
pullup, K_pullup
|
||||||
|
rcmos, K_rcmos
|
||||||
|
reg, K_reg
|
||||||
|
release, K_release
|
||||||
|
repeat, K_repeat
|
||||||
|
rnmos, K_rnmos
|
||||||
|
rpmos, K_rpmos
|
||||||
|
rtran, K_rtran
|
||||||
|
rtranif0, K_rtranif0
|
||||||
|
rtranif1, K_rtranif1
|
||||||
|
scalered, K_scalered
|
||||||
|
small, K_small
|
||||||
|
specify, K_specify
|
||||||
|
specparam, K_specparam
|
||||||
|
strong0, K_strong0
|
||||||
|
strong1, K_strong1
|
||||||
|
supply0, K_supply0
|
||||||
|
supply1, K_supply1
|
||||||
|
table, K_table
|
||||||
|
task, K_task
|
||||||
|
time, K_time
|
||||||
|
tran, K_tran
|
||||||
|
tranif0, K_tranif0
|
||||||
|
tranif1, K_tranif1
|
||||||
|
tri, K_tri
|
||||||
|
tri0, K_tri0
|
||||||
|
tri1, K_tri1
|
||||||
|
triand, K_triand
|
||||||
|
trior, K_trior
|
||||||
|
trireg, K_trireg
|
||||||
|
vectored, K_vectored
|
||||||
|
wait, K_wait
|
||||||
|
wand, K_wand
|
||||||
|
weak0, K_weak0
|
||||||
|
weak1, K_weak1
|
||||||
|
while, K_while
|
||||||
|
wire, K_wire
|
||||||
|
wor, K_wor
|
||||||
|
xnor, K_xnor
|
||||||
|
xor, K_xor
|
||||||
Loading…
Reference in New Issue