Syntaxfrage VHDL

OP #1191709
Lesenswert?

Hallo zusammen,
hab mal wieder eine Frage und im Forum leider noch nix gefunden, ...

Data_int sei ein 30bit STD_Logic_Vector:
1
-- libs etc.
2

3
if (rst = '1') then
4
   Data_int <= (others => '0')
5
   .
6
   .
7
   .
8
elsif (...) then
9
end if; 
10

11
-- weitere Prozeduren

Meine Frage:
bewirkt die Syntax <= (others '0') wirklich exakt das gleiche wie ein 
dreißig bittiges auf 0 setzen àla Data_int <= "000...000"; ?
Könnte mir den Befehl vllt. zufällig jemand "ausformulieren?
Also diese (others ...) Anweisung hab ich nun schon öfter gelesen, 
verstehe aber nicht so recht was dabei wirklich geschieht.

Thx & ru
OP #1191718
Lesenswert?

Ok, ok, ...

obige Frage hat sich glaub ich grade bereits erledigt. Habe doch noch 
was gefunden (allerdings nicht hier im Forum) ...

Also bitte ich um Korrektur wenn ich mit folgender Erklärung falsch 
liege:

Die beiden Anweisungen:
1
bsp_signal <= "0000";
2
-- oder
3
bsp_signal <= (others => '0');

bewirken absolut das Gleiche.
Vorteil von der "Others"-Variante ist scheinbar, dass ich damit 
variabler arbeiten kann und zum Beispiel später auch entscheiden kann, 
dass mein Signalvektor nur 2bit oder aber 100bit breit ist. Others 
bewirkt in diesem Fall immer ein zurück setzen aller Bits des bsp_signal 
Vectors auf '0'.

Hoffe mal die Erklärung stimmt soweit... sonst bitte Korregieren!

THX and ru

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren