F
FuzzySNR
Guest
Her er en snapcode av koden min, men det simulerer OK når jeg prøver å syntetisere det (Synplify 8.1) får jeg følgende feil:
for looper med ubundet områder bør inneholde en vente uttalelse
Feilen oppstår først og fremst fordi utvalget av 2. for loopen (vises i fet skrift) kan ikke avgjøres ved kompilering (siden det er opprettet i 1. for loop), som jeg helt forstår og aksepterer, men jeg kan egentlig ikke regne ut noen andre måter å gjennomføre det.Så noen ideer å komme forbi dette fordi jeg virkelig fast i øyeblikket!
Code:
elsif rising_edge (clk) then
nParents <= 2 * (pop_sz-elite);
hvis gyldig = '1 'da
- 1st clock cycle
for i in elite-1 downto 0 loop
hvis det passer> best_fit (i) så
cnt <= elite-i; [/ b]
end if;
hvis i = 0 Then
cont <= '1 ';
ellers
cont <= '0 ';
end if;
end loop;- 2nd clock cycle
if ((cnt / = 1) og (cnt / = elite) og (cnt / = 0)) og cont = '1 'and cont2 = '0' da
for j in 0 til cnt-2 loop [/ b]
best_fit (elite-1-j) <= best_fit (elite-1-j-1);
elite_indexs (elite-1-j) <= elite_indexs (elite-1-j-1);
hvis j = cnt-2 da
best_fit (elite-cnt) <= fit;
elite_indexs (elite-cnt) <= index;
cont2 <= '1 ';
ellers
cont2 <= '0 ';
end if;
end loop;'
'
'
'end if;
for looper med ubundet områder bør inneholde en vente uttalelse
Feilen oppstår først og fremst fordi utvalget av 2. for loopen (vises i fet skrift) kan ikke avgjøres ved kompilering (siden det er opprettet i 1. for loop), som jeg helt forstår og aksepterer, men jeg kan egentlig ikke regne ut noen andre måter å gjennomføre det.Så noen ideer å komme forbi dette fordi jeg virkelig fast i øyeblikket!
Code:
elsif rising_edge (clk) then
nParents <= 2 * (pop_sz-elite);
hvis gyldig = '1 'da
- 1st clock cycle
for i in elite-1 downto 0 loop
hvis det passer> best_fit (i) så
cnt <= elite-i; [/ b]
end if;
hvis i = 0 Then
cont <= '1 ';
ellers
cont <= '0 ';
end if;
end loop;- 2nd clock cycle
if ((cnt / = 1) og (cnt / = elite) og (cnt / = 0)) og cont = '1 'and cont2 = '0' da
for j in 0 til cnt-2 loop [/ b]
best_fit (elite-1-j) <= best_fit (elite-1-j-1);
elite_indexs (elite-1-j) <= elite_indexs (elite-1-j-1);
hvis j = cnt-2 da
best_fit (elite-cnt) <= fit;
elite_indexs (elite-cnt) <= index;
cont2 <= '1 ';
ellers
cont2 <= '0 ';
end if;
end loop;'
'
'
'end if;