Hi, kann ich einen Integer direkt speichern (in einem Register aus FlipFlops z.B.), oder muss ich den vorher in std_(u)logic_vector wandeln? Kann ich mit std_(u)_logic_vector rechnen? Wie macht man sowas generell? Darf ich (also vom Stil her) Entities mit Integer-Signalen schreiben? Oder macht man sowas nicht?
Chris R. wrote: > kann ich einen Integer direkt speichern (in einem Register aus FlipFlops Ja, kein Problem. Allerdings solltest du den Zahlenbereich einschränken (range x to y), sonst entsteht oft ein Register mit der maximalen Länge von 32 Bit. > Kann ich mit std_(u)_logic_vector rechnen? Jein, siehe Rechnen in VHDL. > Darf ich (also vom Stil her) Entities mit Integer-Signalen schreiben? Könnte man machen, ist aber unüblich.
Also würde ich immer zwischen Integer und std_(u)logic_vector wandeln? Rechnen tue ich ja wohl auf Integer dann, und die Übergabe zwischen Entities durch std_logic_vetor?
Nein, verwende die numeric_std Bibliothek, und rechne mit signed und unsigned Typen. Diese sind mit den std_logic_vectoren verwandt. Auch die Übergabe an Ports kann man gut mit diesen Typen machen.