Lieblings In meinem Testfall generieren verwenden, schreibe ich ein Programm wie unter“Wie in Gabelblock in System Verilog
define NUM_TEST 10
program test();
bit [31:0] a[NUM_TEST];
bit [31:0] b[`NUM_TEST];
....
initial begin
.....
fork
aaa (a[0], b[0]);
aaa (a[1], b[1]);
................
aaa (a[9], b[9]);
join
.....
end
task aaa (bit [31:0] a, bit [31:0] b);
.....
endtask
endmodule
Wie Sie sehen, ich nenne Aufgabe aaa mit NUM_TEST Zeit (ich will alle excuted Aufgaben die gleiche Zeit) gibt es eine Möglichkeit, meinen Code zu reduzieren, wie:
**fork
genvar k;
generate
(for k=0; k<NUM_TEST; k++)
aaa(a[k], b[k]);
endgenerate
join**
(natürlich obigen Code ist falsch Syntax);
FYI:. ich will nicht, wie verwenden:
fork
for (int i=0; i<`NUM_TEST; i++)
aaa(a[i], b[i]);
join
-> das ist falsch für meine Idee, weil Aufgabe in Reihenfolge ausgeführt wird, nicht zur gleichen Zeit. .
Bitte helfen Sie mir :(
Oh, es falsche Syntax erhalten, wenn ich diese Frage vorlegen Mein alter Code ist: –