Forum: FPGA, VHDL & Co. Was bedeutet diese Anweisung (VHDL)?


von Ilgar G. (drgarli)


Lesenswert?

Hallo,

Mein Vorgänger hat da gewisse VHDL-Anweisungen geschrieben, die ich 
nicht verstehe.
1
heatingTime <= TO_UNSIGNED(1, 16);

Wobei heatingTime ein std_logic_vector(15 downto 0) ist. Welcher Wert 
wird hier dem Vector zugewiesen? Was bedeutet TO_UNSIGNED(1, 16)?
Hoffe, ihr könnt mir helfen.

Ilgar

von Duke Scarring (Gast)


Lesenswert?

Die 1 ist die Zahl und die 16 die Signalbreite.
Im Prinzip steht dort:
1
heatingTime <= 1;

Duke

von Falk B. (falk)


Lesenswert?

@ Duke Scarring (Gast)

>Im Prinzip steht dort: heatingTime <= 1;

Nicht ganz. eher

1
heatingTime <= x"0001";
2
3
-- bzw.
4
5
heatingTime <= "0000000000000001";

Die Funktion TO_Unsigned() wandelt die Integerzahl 1 in einen 16 Bit 
breiten Unsigend Vektor um.

MFG
Falk

von Joko (Gast)


Lesenswert?

@Ilgar

heatingTime <= TO_UNSIGNED(1, 16);
  ist identisch zu
heatingTime <= "0000000000000001";
  nur schöner/lesbarer geschrieben...

noch besser wäre gewesen

  heatingTime <= TO_UNSIGNED(1, heatingTime'length);

da es dann 'egal' wäre, 'wie lang' heatingTime wirklich ist

Gruß
Jochen

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.