Case Anweisung
Hallo
ich habe folgende Funktion unter Quartus kompiliert und es funktioniert ohne Probleme. Wenn ich aber die gleiche Funktion unter Modelsim kompiliere kommt die folgende Fehlermeldung.
"Array type case expression must be of a locally static subtype"
function CATANH(n: std_logic_vector) return std_logic_vector is -- ln, sqrt
variable result: std_logic_vector(63 downto 0);
begin
case n is
when x"00000001" => result:=x"3FE193EA7AAD030B";
when x"00000002" => result:=x"3FD058AEFA811452";
when x"00000003" => result:=x"3FC015891C9EAEF7";
when x"00000004" => result:=x"3FB005588AD375AD";
when x"00000005" => result:=x"3FA001558891AEE3";
when x"00000006" => result:=x"3F9000555888AD1D";
when x"00000007" => result:=x"3F8000155588891B";
when x"00000008" => result:=x"3F7000055558888B";
when x"00000009" => result:=x"3F60000155558889";
when x"0000000a" => result:=x"3F50000055555889";
when x"0000000b" => result:=x"3F40000015555589";
when x"0000000c" => result:=x"3F30000005555559";
when x"0000000d" => result:=x"3F20000001555556";
when x"0000000e" => result:=x"3F10000000555555";
when x"0000000f" => result:=x"3F00000000155555";
when x"00000010" => result:=x"3EF0000000055555";
when x"00000011" => result:=x"3EE0000000015555";
when x"00000012" => result:=x"3ED0000000005555";
when x"00000013" => result:=x"3EC0000000001555";
when x"00000014" => result:=x"3EB0000000000555";
when x"00000015" => result:=x"3EA0000000000155";
when x"00000016" => result:=x"3E90000000000055";
when x"00000017" => result:=x"3E80000000000015";
when x"00000018" => result:=x"3E70000000000005";
when x"00000019" => result:=x"3E60000000000001";
when x"0000001a" => result:=x"3E50000000000000";
when others => result:=x"0000000000000000";
end case;
return result;
end CATANH;
kann mir jemand helfen, ich muss es unbedingt unter Modelsim zum laufen bringen.
ich wäre sehr denkbar.
Gruss Sofien