Fix check for select size.

This commit is contained in:
steve 2002-07-16 03:15:11 +00:00
parent dabbfdb80a
commit 18ba73382e
1 changed files with 13 additions and 2 deletions

View File

@ -17,7 +17,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
#if !defined(WINNT)
#ident "$Id: draw_mux.c,v 1.1 2002/07/08 04:04:07 steve Exp $"
#ident "$Id: draw_mux.c,v 1.2 2002/07/16 03:15:11 steve Exp $"
#endif
# include "vvp_priv.h"
@ -32,10 +32,21 @@ static void draw_lpm_mux_bitslice(ivl_lpm_t net, unsigned slice)
{
unsigned sel = ivl_lpm_selects(net);
unsigned size = ivl_lpm_size(net);
unsigned sel_from_size;
unsigned seldx, idx;
ivl_nexus_t s;
assert(size <= (1 << sel));
sel_from_size = 0;
seldx = size - 1;
while (seldx > 0) {
seldx >>= 1;
sel_from_size += 1;
}
if (sel_from_size > sel) {
fprintf(stderr, "internal error: MUX size=%u, selects=%u\n",
size, sel);
}
assert(sel_from_size <= sel);
s = ivl_lpm_select(net, 0);