> des ganze soll aber in "Software" gelöst werden
Ein FPGA ist keine Software.
1 | hund := (cValue/100);
|
2 | zehn := (cValue-cValue/100)/10;
|
3 | ein := cValue-(cValue/100+((cValue-cValue/100)/10));
|
Aha, ein C Programmierer am FPGA.
Du hast auf den mir bekannten FPGAs keine kombinatorische Divison.
Deshalb kannst du so etwas zwar beschreiben und simulieren, aber niemals
in reale Hardware abbilden.
Auf welcher FPGA Plattform arbeitest du?
Wenn du neu auf dem Gebiet der Hardwarebeschreibung bist, dann vergiss
mal zwischendurch (so etwa bis Anfang 2010) die Keywords function und
procedure. Das sind in der /Beschreibungssprache VHDL/ ganz andere
Syntaxelemente als in der Programmiersprache C. Und die machen daher
auch ganz was anderes.
Du sollest dich eher mal damit befassen, was Komponenten und Instanzen
sind.
EDIT:
1 | :
|
2 | space(1) := dectohex(zehn);
|
3 | :
|
4 | :
|
5 | when "00001000" => return "1000";
|
6 | when "00001001" => return "1001";
|
7 | when others => return "XXXX";
|
8 | :
|
warum schreibst du nicht einfach "nur":
1 | space(1) <= zehn(3 downto 0);
|
Das ist eine Zuweisung der unteren 4 Bits.
Wobei ich den Sinngehalt des davor geschriebenen bereits kommentiert
habe.
BTW:
Am besten vergisst du auch gleich mal das Keyword variable und
verwendest (vorerst) nur Signale. Das ist ein ernstgemeinter Tipp, kein
Witz.
Du stehst noch wesentlich weiter vorne am Anfang, als du selber meinst
;-)