mirror of
https://github.com/YosysHQ/yosys
synced 2025-04-25 18:15:34 +00:00
Added read_verilog -sv options, added support for bit, logic,
allways_ff, always_comb, and always_latch
This commit is contained in:
parent
9a6cd64fc2
commit
482d9208aa
7 changed files with 52 additions and 8 deletions
|
@ -52,6 +52,14 @@ namespace VERILOG_FRONTEND {
|
|||
std::vector<int> ln_stack;
|
||||
}
|
||||
|
||||
#define SV_KEYWORD(_tok) \
|
||||
if (sv_mode) return _tok; \
|
||||
log("Lexer warning: The SystemVerilog keyword `%s' (at %s:%d) is not "\
|
||||
"recognized unless read_verilog is called with -sv!\n", yytext, \
|
||||
AST::current_filename.c_str(), frontend_verilog_yyget_lineno()); \
|
||||
frontend_verilog_yylval.string = new std::string(std::string("\\") + yytext); \
|
||||
return TOK_ID;
|
||||
|
||||
%}
|
||||
|
||||
%option yylineno
|
||||
|
@ -143,7 +151,14 @@ namespace VERILOG_FRONTEND {
|
|||
"while" { return TOK_WHILE; }
|
||||
"repeat" { return TOK_REPEAT; }
|
||||
|
||||
"assert"([ \t\r\n]+"property")? { return TOK_ASSERT; }
|
||||
"always_comb" { SV_KEYWORD(TOK_ALWAYS); }
|
||||
"always_ff" { SV_KEYWORD(TOK_ALWAYS); }
|
||||
"always_latch" { SV_KEYWORD(TOK_ALWAYS); }
|
||||
|
||||
"assert" { SV_KEYWORD(TOK_ASSERT); }
|
||||
"property" { SV_KEYWORD(TOK_PROPERTY); }
|
||||
"logic" { SV_KEYWORD(TOK_REG); }
|
||||
"bit" { SV_KEYWORD(TOK_REG); }
|
||||
|
||||
"input" { return TOK_INPUT; }
|
||||
"output" { return TOK_OUTPUT; }
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue