2016-08-11 8 views
0

Ich war auf der Suche durch ein Programm und fanden den folgenden Code ein:Geschweifte Klammern in Verilog

{a2, a1} <= {a1, b}; 

Ich bin nicht sicher, ob das Programm, das ich durchmache in Verilog oder SystemVerilog geschrieben. Ich weiß, dass die geschweiften Klammern für die Verkettungsoperation in Verilog verwendet werden, aber dann folge ich nicht genau, welche Art von Verkettung hier ausgeführt wird. Auch da ich nicht sicher bin, ob das gegebene Snippet in Verilog oder SystemVerilog ist, bin ich mit dem Code verwirrt. Auch geschweifte Klammern bezeichnen eine andere Operation in SystemVerilog & hellip;

Vielen Dank im Voraus

+1

Mögliche Duplikat [Was tun geschweiften Klammern in Verilog bedeuten?] (Http://stackoverflow.com/questions/2102746/what -do-curly-braces-mean-in-verilog) – Qiu

Antwort

4

jeder Dies ist nur Verkettung der linken und rechten Seite als eine Variable behandelt wird. SystemVerilog 2009 ersetzt Verilog, ist also abwärtskompatibel mit der meisten (alle?) Syntax.

Zum Beispiel

wire [0:0] l1; 
wire [2:0] l2; 
reg [1:0] r1; 
reg [1:0] r2; 

assign {l1,l2} = {r1,r2} ; 

ist die gleiche wie

assign l1[0] = r1[1]; 
assign l2[2] = r1[0]; 
assign l2[1] = r2[1]; 
assign l2[0] = r2[0]; 
+0

Danke für die Antwort. Das löst meine Zweifel :) – d55p1k

Verwandte Themen