Update tgt-vvp to not use deprecated function calls.

There was one section of code in the tgt-vvp back end that was using
deprecated functions. This patch fixes that. The functionality is still
missing (force/assign to part of a vector), but the code now compiles
cleanly (no warnings).
This commit is contained in:
Cary R 2013-04-18 10:49:56 -07:00
parent d2928d500d
commit 36b04748d4
1 changed files with 10 additions and 3 deletions

View File

@ -963,11 +963,18 @@ static void force_link_rval(ivl_statement_t net, ivl_expr_t rval)
} }
if (ivl_signal_width(lsig) > ivl_signal_width(rsig) || if (ivl_signal_width(lsig) > ivl_signal_width(rsig) ||
(part_off_ex && get_number_immediate(part_off_ex) != 0)) { (part_off_ex && get_number_immediate(part_off_ex) != 0)) {
/* Normalize the bit/part select. */ /* Normalize the bit/part select. This also needs to be
long real_msb = ivl_signal_msb(lsig); * reworked to support packed arrays. */
long real_lsb = ivl_signal_lsb(lsig); long real_msb = ivl_signal_packed_msb(lsig, 0);
long real_lsb = ivl_signal_packed_lsb(lsig, 0);
long use_wid = ivl_signal_width(rsig); long use_wid = ivl_signal_width(rsig);
long use_lsb, use_msb; long use_lsb, use_msb;
if (ivl_signal_packed_dimensions(lsig) > 1) {
fprintf(stderr, "%s:%u: tgt-vvp sorry: cannot %s part of a "
"packed array.\n",
ivl_stmt_file(net), ivl_stmt_lineno(net),
command_name);
}
if (real_msb >= real_lsb) { if (real_msb >= real_lsb) {
use_lsb = get_number_immediate(part_off_ex); use_lsb = get_number_immediate(part_off_ex);
use_lsb += real_lsb; use_lsb += real_lsb;