Return to Support Page
 homesearchagentssupportask xilinxmap

Answers Database


V1.4.0 COREGEN: 30-bit bus input width limit on COREGEN modules / Cannot specify 32-bit input bus widths / integer arithmetic overflow


Record #3915

Product Family:  Software

Product Line:  Coregen

Problem Title:
V1.4.0 COREGEN:	30-bit bus input width limit on COREGEN modules /
Cannot specify 32-bit input bus widths / integer arithmetic overflow



Problem Description:
Keywords: coregen, bus, input, bit, limit

Urgency: standard

General Description:
Currently many of the COREGEN modules are limited to 30-bit
bus input widths.



Solution 1:


The reason why many of the modules delivered with COREGen
v1.4.x are limited to bus widths of 31 or less is
because of the way arithmetic operations are implemented in
the VHDL behavioral models. Most models convert incoming
operands from their binary (bit_vector) representations to
integers, perform any necessary arithmetic using the standard
set of VHDL arithmetic operators, and convert the results back
to bit_vectors for expression at the output ports.
Unfortunately, VHDL's integer datatype is restricted to
numbers in the range -2^31 to 2^31.  As a result, the above
process can fail when busses with bit-widths over 31 bits
contain numbers outside this range.

The planned solution is to re-implement the behavioral models
using bit-wise arithmetic instead of integer arithmetic, since
bit-wise arithmetic places no limit on bit width.
Approximately 75% of the affected models will be corrected in
the upcoming COREGen v1.5 release. For these modules, the
parameter ranges will be expanded to include 32-bits.





End of Record #3915

For the latest news, design tips, and patch information on the Xilinx design environment, check out the Xilinx Expert Journals!

© 1998 Xilinx, Inc. All rights reserved
Trademarks and Patents