Vielleicht liegt es daran, dass ich mir den process zu oft angeschaut
habe, aber den Fehler kann ich nicht nachvollziehen:
process(mi2s_clk,irst)
begin
if (irst='0') then
msen <='1';
msclk <='0';
msdata <='Z';
mack <='0';
mst <=0;
else
if (istr='1') then
if (mst<17) then
mst <= mst+1;
end if;
if (mst=0) then
msen <= '0';
msclk <= '1';
else if (mst=8) then
mack <= i2s_data;
else if (mst=16 and msclk='1') then
msen <= '1';
msclk <= '0';
end if;
if (mst < 16) then
msdata <= idata(15-mst);
end if;
else -- HIER WIRD DER FEHLER ANGEZEIGT!!!
msen <='1';
msclk <='0';
msdata <='Z';
mack <='0';
mst <=0;
end if;
end if;
end process;
und dabei kommt die Fehlermeldung von QuartusII:
Error (10500): VHDL syntax error near text "else"; expecting "end", or
"(", or an identifier ("else" is a reserved keyword), or a sequential
statement
danke im voraus
Es heisst elsif, nicht else if. Ein else if braeuchte wieder ein eigenes end if
ok danke das habe ich ueberhaupt nicht gewusst
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.