so falls die lösung wen interessiert..
zunächst ne impure function (wieder was gelernt, hab "impure" nie
gesehen vorher :)) mit rückgabewert definieren.. diese vor der
instanziierung ausführen und nur bei geeigneten rückgabewert den
generate ausführen.. instanz wird ergo nur gebildet wenn die passende
datei im verzeichnis vorhanden ist. :)
architecture bla
impure function check_file (path_g: IN string) return std_logic is
file volt_limits: text;
variable open_status : file_open_status;
begin
file_open(open_status, volt_limits, path_g, READ_MODE);
if open_status = open_ok then
return '1';
else
return '0';
end if;
end function check_file;
begin
peak_00: if check_file("limits/vrefyyy.txt") = '1' generate
begin
peak_0 : entity work.peak_spy (min_max)
generic map ( path_g => string'("limits/vrefyyy.txt"),
name => string'("vrefyyy"))
port map ();
end generate;
peak_01 : if check_file("limits/vrefxxx.txt") = '1' generate
begin
peak_1 : entity work.peak_spy (min_max)
generic map ( path_g => string'("limits/vrefxxx.txt"),
name => string'("vrefxxx"))
port map ();
end architecture;