kakarala
Member level 1
error in a package
HI i wrote the following package and i am checking this for errors. This gave me the following errors.
ERROR:HDLParsers:808 - "C:/Downloads/Motionestimation/SAD.vhd" Line 41. + can not have such operands in this context.
ERROR:HDLParsers:808 - "C:/Downloads/Motionestimation/SAD.vhd" Line 41. + can not have such operands in this context.
ERROR:HDLParsers:808 - "C:/Downloads/Motionestimation/SAD.vhd" Line 41. + can not have such operands in this context.
ERROR:HDLParsers:808 - "C:/Downloads/Motionestimation/SAD.vhd" Line 41. + can not have such operands in this context.
ERROR:HDLParsers:3324 - "C:/Downloads/Motionestimation/SAD.vhd" Line 41. IN mode Formal SIZE of conv_std_logic_vector with no default value must be associated with an actual value.
ERROR:HDLParsers:3324 - "C:/Downloads/Motionestimation/SAD.vhd" Line 41. IN mode Formal SIZE of conv_std_logic_vector with no default value must be associated with an actual value.
ERROR:HDLParsers:3324 - "C:/Downloads/Motionestimation/SAD.vhd" Line 41. IN mode Formal SIZE of conv_std_logic_vector with no default value must be associated with an actual value.
ERROR:HDLParsers:3324 - "C:/Downloads/Motionestimation/SAD.vhd" Line 41. IN mode Formal SIZE of conv_std_logic_vector with no default value must be associated with an actual value.
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
use work.images.all;
package sad is
impure function sumof_ad(curr_blk_row,curr_blk_column,ref_blk_row,ref_blk_column : integer) return integer;
end sad;
package body sad is
impure function sumof_ad (curr_blk_row,curr_blk_column,ref_blk_row,ref_blk_column : integer ) return integer is
-- variable temp: integer;
-- variable sum : integer:=0;
variable a0,a1,a2,a3 : integer;
variable tmp : std_logic_vector(13 downto 0) := "00000000000000";
begin
for i in 0 to 3 loop
for j in 0 to 3 loop
tmp := tmp + conv_std_logic_vector(abs(curr_image(currblk_row+i,currblk_column+j)- ref_image(refblk_row+i,refblk_column+j)),14);
end loop;
end loop;
return(conv_integer(tmp));
end sumof_ad;
end sad;
---------- Post added at 08:17 PM ---------- Previous post was at 07:43 PM ----------
i think i used wrong variable name after i changed the variable name it gives me the following error.
INTERNAL_ERROR:Xst:cmain.c:3464:1.56 - Process will terminate. For technical support on this issue, please open a WebCase with this project attached at Xilinx: Support.
Process "Synthesize - XST" failed
HI i wrote the following package and i am checking this for errors. This gave me the following errors.
ERROR:HDLParsers:808 - "C:/Downloads/Motionestimation/SAD.vhd" Line 41. + can not have such operands in this context.
ERROR:HDLParsers:808 - "C:/Downloads/Motionestimation/SAD.vhd" Line 41. + can not have such operands in this context.
ERROR:HDLParsers:808 - "C:/Downloads/Motionestimation/SAD.vhd" Line 41. + can not have such operands in this context.
ERROR:HDLParsers:808 - "C:/Downloads/Motionestimation/SAD.vhd" Line 41. + can not have such operands in this context.
ERROR:HDLParsers:3324 - "C:/Downloads/Motionestimation/SAD.vhd" Line 41. IN mode Formal SIZE of conv_std_logic_vector with no default value must be associated with an actual value.
ERROR:HDLParsers:3324 - "C:/Downloads/Motionestimation/SAD.vhd" Line 41. IN mode Formal SIZE of conv_std_logic_vector with no default value must be associated with an actual value.
ERROR:HDLParsers:3324 - "C:/Downloads/Motionestimation/SAD.vhd" Line 41. IN mode Formal SIZE of conv_std_logic_vector with no default value must be associated with an actual value.
ERROR:HDLParsers:3324 - "C:/Downloads/Motionestimation/SAD.vhd" Line 41. IN mode Formal SIZE of conv_std_logic_vector with no default value must be associated with an actual value.
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
use work.images.all;
package sad is
impure function sumof_ad(curr_blk_row,curr_blk_column,ref_blk_row,ref_blk_column : integer) return integer;
end sad;
package body sad is
impure function sumof_ad (curr_blk_row,curr_blk_column,ref_blk_row,ref_blk_column : integer ) return integer is
-- variable temp: integer;
-- variable sum : integer:=0;
variable a0,a1,a2,a3 : integer;
variable tmp : std_logic_vector(13 downto 0) := "00000000000000";
begin
for i in 0 to 3 loop
for j in 0 to 3 loop
tmp := tmp + conv_std_logic_vector(abs(curr_image(currblk_row+i,currblk_column+j)- ref_image(refblk_row+i,refblk_column+j)),14);
end loop;
end loop;
return(conv_integer(tmp));
end sumof_ad;
end sad;
---------- Post added at 08:17 PM ---------- Previous post was at 07:43 PM ----------
i think i used wrong variable name after i changed the variable name it gives me the following error.
INTERNAL_ERROR:Xst:cmain.c:3464:1.56 - Process will terminate. For technical support on this issue, please open a WebCase with this project attached at Xilinx: Support.
Process "Synthesize - XST" failed