From c3c7f6d9eedac222f6fbd3c1cd3836c7cac3d31a Mon Sep 17 00:00:00 2001 From: Lars-Peter Clausen Date: Sun, 5 Jun 2022 11:04:44 +0200 Subject: [PATCH] tgt-vvp: Fix syntax when using multiple events for non-blocking event control When multiple events are used in a non-blocking event control they need to be combined into a single event using `event/or`. The generated `event/or` statement is missing the trailing semicolon and newline, which results in parser error when vvp tries to run. E.g. ``` event e, f; integer x; x <= @(e or f) 10; ``` Add the missing semicolon and newline to fix this. Signed-off-by: Lars-Peter Clausen --- tgt-vvp/vvp_process.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tgt-vvp/vvp_process.c b/tgt-vvp/vvp_process.c index db5e06fdd..385e54fba 100644 --- a/tgt-vvp/vvp_process.c +++ b/tgt-vvp/vvp_process.c @@ -505,6 +505,8 @@ static int show_stmt_assign_nb(ivl_statement_t net) ev = ivl_stmt_events(net, idx); fprintf(vvp_out, ", E_%p", ev); } + + fprintf(vvp_out, ";\n"); snprintf(name, sizeof(name), "Eassign_%u", cascade_counter); cascade_counter += 1; }