由于 Quartus® II 软件出现问题,您在仿真 altera_mult_add Megafunction 的 VHDL 实例化时会收到上述错误。
要解决此问题,您必须修改您创建的变体的 .vhd 文件。
首先,请注意 datab_0 的位宽度,例如以下使用 17 位宽的datab_0:
datab_0:在 std_logic_vector(16 下达 0):=(其他 => \'0\');-- datab_0.datab_0
第二,修改参数"width_b"以与上面找到的宽度相匹配。 此参数将在多个位置出现,您必须修改所有发生:
组件altera_mult_add为
通用 (
number_of_multipliers:整数 := 1;
width_a:整数 := 16;
width_b:整数 := 17;
:组件altera_mult_add
通用地图(
number_of_multipliers => 1,
width_a => 16,
width_b => 17,-- Retrieval 信息:17英寸 />
第三,您必须在组件声明中修改 scaninb 的输入值:
端口映射(
结果 => 结果, -- result.result
dataa(15 下达 0)=> dataa_0(15 下达 0),-- dataa_0.dataa_0
datab(15 下达 0)=> datab_0(15 下达 0),-- datab_0.datab_0
clock0 => clock0, -- clock0.clk
scaninb => "00000000000000", -- (已终止)
Quartus-II 软件 13.1 版解决了此问题