Ich versuche Verilog zu lernen und ich habe ein Verilog-Modul und was ich tun möchte, ist dann rufen Sie eine andere Datei und führen Sie das aus meinem aktuellen Modul.Aufruf Aufgabe von einem anderen Verilog-Modul
So habe ich mein Modul wie:
module maths();
//register etc details
initial begin
`include "add.v"
end
endmodule
und meine add.v-Datei, die aus dem Mathematikmodul genannt wird, ist wie:
task add;
A = $random;
B = $random;
C = A + B;
$display("Answer: %d", C);
endtask
Aber ich bin die Fehler aus der Aufnahme Task-Datei near "task": syntax error, unexpected "task"
und near "endtask": syntax error, unexpected "endtask"
.
Ich lese die Antwort bei How to call tasks from a separate module in Verilog?, aber die dort gegebene Antwort über die Notwendigkeit, die Aufgabe aus einem initialen oder immer Block aufrufen, hat nicht geholfen, weil es in einem ersten Block im Modul ist.
Wohin gehe ich falsch damit?
@toolic sie sind im übergeordneten Modul deklariert, bevor er beginnt – Stussy
Sie sollten die Aufgabe Deklaration nicht in den ersten Block setzen. Verschieben Sie die Include-Zeile vor der ersten Zeile. Rufen Sie dann die Aufgabe innerhalb des "initial" -Blocks auf. – toolic
@toolic ok Ich habe das gemacht, aber jetzt gibt es einen Fehler 'BEGIN - END erforderlich um Aufgaben/Funktionsanweisungen 'über die Datei ad.v – Stussy