Spiel doch mal durch:
nimm eine Zahl, z.B. 6000
if temp >= 10000000 then
temp := temp - 10000000;
Dezimal8 := Dezimal8 +1 ;
end if;
temp = 6000 , Dezimal8 = 0
if temp >= 1000000 then
temp := temp - 1000000;
Dezimal7 := Dezimal7 +1 ;
end if;
temp = 6000 , Dezimal7 = 0
if temp >= 100000 then
temp := temp - 100000;
Dezimal6 := Dezimal6 +1 ;
end if;
temp = 6000 , Dezimal6 = 0
if temp >= 10000 then
temp := temp - 10000;
Dezimal5 := Dezimal5 +1 ;
end if;
temp = 6000 , Dezimal5 = 0
if temp >= 1000 then
temp := temp - 1000;
Dezimal4 := Dezimal4 +1 ;
end if;
temp = 5000 , Dezimal4 = 1
if temp >= 100 then
temp:= temp - 100;
Dezimal3 := Dezimal3 +1;
end if;
temp = 5900 , Dezimal3 = 1
if temp >= 10 then
temp:= temp - 10;
Dezimal2 := Dezimal2 +1;
end if;
temp = 5890 , Dezimal2 = 1
Dezimal1 := temp;
Dezimal1 = 5890
Scheint mir nicht sinnvoll zu sein.
Fazit: du brauchst Schleifen, und die gehen in VHDL nur mit
Zustandsautomaten.