AR# 10057


3.1i COREGEN - Variable Parallel Multiplier : CONF_TAG setting in .vho when registered output and pipelining are used.


Keywords: coregen, core generator, variable parallel multiplier, vho,
c_output_reg, c_pipelined, configuration, conf_tag

Urgency: Standard

General Description
When using the Variable Paralled Multiplier from Xilinx Core Generator,
the generics "c_output_reg" and "c_pipelined" that are passed to the
multiplier model via the configuration snippet in the generated .vho file
seem to be incorrect.

For example:
If Pipelined Registers = not selected
and Output Registers = selected

Then .vho will have following in the configuration tag:
c_pipelined => 1
c_output_reg => 0

This seems to be the reverse of what would be expected if
"1" stood for "True", and "0" stood for "False".


The above settings are correct. When pipelining or output registering are
used, the generics above will be set to "0" in the .vho configuration tag.
Otherwise, they will be set to "1".

What appears to be a mistake in the parameter value assignment is
actually due to a difference in how these parameters are defined for
this particular core. More specifically, for the Parallel Multiplier core,
"1" and "0" do not translate to "True" and "False" for these
generics in this core.

Setting c_output_reg=>0 actually corresponds to setting c_output_reg to a
predefined constant value of "c_reg", which means "use registers".
(The counterpart is "c_noreg", which is represented by a constant value
of "1".)

Setting c_pipelined=>1 corresponds to setting this to a predefined constant
of "c_noreg", meaning "use no registers". The counterpart value, "0",
corresponds to a constant named "c_reg".

"c_reg" and "c_noreg" are constants that were defined
in XilinxCoreLib.prims_constants_v2_0.all.
AR# 10057
Date 08/23/2002
Status Archive
Type General Article
People Also Viewed