Angenommen, ich habe diese beiden Codes:
module wire_example( a, b, y);
input a, b;
output y;
wire a, b, y;
assign y = a & b;
endmodule
und der zweite ist:
module reg_combo_example( a, b, y);
input a, b;
output y;
reg y;
wire a, b;
always @ ( a or b)
begin
y = a & b;
end
endmodule
Meine Frage ist, was ist der Unterschied in der Netzliste ? Beide haben ein Gate, aber hat das Modul mit reg y
einem Flip-Flop oder einem Latch, um die Daten zu speichern, während wire y
es keinen Latch hat?
Draht: Es ist ein Netz, das die Verbindungen zwischen Komponenten darstellt. Es wird für die kontinuierliche Zuordnung verwendet, dh der Wert des Kabels wird kontinuierlich durch die Ausgänge der an ihn angeschlossenen Geräte bestimmt. Reg: Es wird für die prozedurale Zuordnung verwendet. Reg bedeutet nicht immer einen Flop. reg kann seinen Wert behalten, bis ein anderer Wert in die Register eingefügt wird.
quelle