Gast
#3751520
Hallo zusammen, ich habe angefangen Verilog zu lernen und bin dabei unter anderem auf das Tutorial bzw Zusammenfassung auf dieser Seite gestoßen. Dort wir unter anderem Folgendes Beispiel Bitvektoren angeführt: (Mit folgenden Hinweis: Aufmerksamen Lesern ist vielleicht aufgefallen, dass die Art der Zuweisung eigentlich in einen initial- oder always-Block hätte gepackt werden müssen- um so zu funktionieren. Eine andere Möglichkeit wäre- ein assign-Konstrukt daraus zu machen. Aus Übersichtlichkeit wurde hierbei darauf verzichtet. ) <verilog> wire [15:0] data; ... data[0] = 1; // Setze nur Bit 0 data[15:13] = 3'b110; // Setze Bits 15, 14 = 1, Bit 13 = 0, Wert ist binär data[13:11] = 3'd2; // Setze Bits 13-11, Wert ist dezimal data[10:1] = 9'h0a; // Setze Bits 10-1, Wert ist hexadezimal </verilog> Jetzt habe ich als Neuling zuvor gelesen, dass Wire's nur mit einem assign-Konstrukt "verdrahtet" werden können. Dem oberen Hinweis würde ich pers. entnehmen, dass es auch die Möglichkeit über Inital/Always dem Wire einen Wert zuzuweisen. Bei meinem Online Simulator bekomme ich bei meinen Versuchen prompt Error Meldungen ala: Wire als L-Value bei einer solchen Operation nicht möglich.(Einfach nur über das oben genannte Beispiel ein Initial begin / end gelegt). Nun zu meiner eigentlichen Frage :) Gibt es eine Möglichkeit sowas in einen Inital/ Alwaysblock zu verschieben oder geht es nur über ein assign-Konstrukt? MfG, Felix