Output sorry message for missing procedural assign/force functionality.

A procedural continuous assignment is supposed to be updated any time
a variable on the RHS changes. Currently this only happens if the RHS
is a simple signal.
This commit is contained in:
Martin Whitaker 2014-02-21 23:02:05 +00:00
parent a76be3571d
commit 320f6d008c
1 changed files with 11 additions and 1 deletions

View File

@ -1006,8 +1006,18 @@ static void force_link_rval(ivl_statement_t net, ivl_expr_t rval)
ivl_expr_t lword_idx, rword_idx;
unsigned long use_lword = 0, use_rword = 0;
if (ivl_expr_type(rval) != IVL_EX_SIGNAL)
if (ivl_expr_type(rval) != IVL_EX_SIGNAL) {
if (ivl_expr_type(rval) == IVL_EX_NUMBER ||
ivl_expr_type(rval) == IVL_EX_REALNUM)
return;
fprintf(stderr, "%s:%u: tgt-vvp sorry: procedural continuous "
"assignments are not yet fully supported. The RHS of "
"this assignment will only be evaluated once, at the "
"time the assignment statement is executed.\n",
ivl_stmt_file(net), ivl_stmt_lineno(net));
return;
}
switch (ivl_statement_type(net)) {
case IVL_ST_CASSIGN: