2016-04-22 2 views
-1

Im Rahmen einer Vortragsreihe über Verilog HDL für die FPGA-Programmierung habe ich diesen Code erhalten, um einen vorzeichenbehafteten 8-Bit-Komparator zu erzeugen. Ich habe dies in xillinx ISE simuliert und es zeigt, dass die Syntax korrekt ist. Allerdings verstehe ich die begin:comparison Linie nicht. Ich verstehe, dass in der prozeduralen @always(*) Block eine Begin und End-Anweisung benötigt wird, jedoch in diesem Fall, wenn die :comparison entfernt wird das Modul nicht mehr kompiliert.Beginn: Vergleich Erklärung im prozeduralen Block

Meine beste Schätzung wäre, dass die :comparison bezieht sich auf die sgt = intA > int B; Linie, aber ich kann nicht verstehen, warum oder finden Sie viele Informationen über Anfang und Ende Aussagen in diesem Formular.

module sgtc(input [7:0] a,b, output reg sgt); 
[email protected](*) begin:comparison 

    integer intA, intB; 
    intA = a; 
    intB = b; 
    sgt = intA > intB; 

end 

endmodule 
+0

Warum benötigen Sie intA und intB? – toolic

+0

Es hilft immer, den Compiler-Fehler zu zeigen, wenn Sie Hilfe brauchen, um ein Konstrukt zu verstehen –

+0

Warum stimmen Leute das ab? –

Antwort

1

comparison ist nur der Name des Blocks. Der Autor des Codes hätte es als legal bezeichnen können. Doch in Verilog, musste man einen Block nennen, wenn Sie eine Variable innerhalb es erklären wollte, was genau das ist, was Sie tun:

integer intA, intB; 

Also, wenn Sie den Namen entfernt, wird dies illegal Verilog, die Deshalb wird es nicht kompiliert (in einem Verilog-only Compiler).

Die Einschränkung, einen Block benennen zu müssen, wenn Sie eine Variable darin deklarieren, wird in System-Verilog aufgehoben. Wenn Sie also einen Compiler verwenden, der diesen Aspekt von System-Verilog versteht, wird er kompiliert.

+0

Ich wollte hinzufügen, dass Sie, wenn Sie den Blocknamen in SystemVerilog entfernen, nicht auf die Variablen zugreifen können, die innerhalb des Blocks außerhalb des benannten Blocks deklariert sind - sie werden lokal für den Block. –

Verwandte Themen