task
ΠΠ°Π΄Π°ΡΠΈ, Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π²Π½ΡΡΡΠΈ ΡΠ΅Π±Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ. ΠΠ°ΠΊ ΠΈ Ρ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ, Ρ Π·Π°Π΄Π°Ρ ΠΏΠΎΡΡΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΡΡΡ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ: Π²Ρ ΠΎΠ΄Π½ΡΠ΅, Π²ΡΡ ΠΎΠ΄Π½ΡΠ΅ ΠΈ Π΄Π²ΡΠ½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅.
ΠΠ°Π΄Π°ΡΠΈ Π΄Π΅Π»ΡΡΡΡ Π½Π° ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅. Π ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ Π·Π°Π΄Π°ΡΠ°Ρ Π²ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΠ΅ Π²Π½ΡΡΡΠΈ, ΡΠ²Π»ΡΡΡΡΡ ΠΎΠ±ΡΠΈΠΌΠΈ Π΄Π»Ρ Π²ΡΠ΅Ρ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΡΡΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ. Π Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ Π²ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ²Π»ΡΡΡΡΡ ΠΏΡΠΈΠ²Π°ΡΠ½ΡΠΌΠΈ, ΡΠΎ Π΅ΡΡΡ Π»ΠΈΡΠ½ΡΠΌΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π·Π°ΠΏΡΡΠΊΠ° Π·Π°Π΄Π°ΡΠΈ.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ
// static task
task [name] (input [port_list], inout [port_list], output [port_list]);
begin
[statements]
end
endtask
// automatic task
task automatic [name] (input [port_list], inout [port_list], output [port_list]);
begin
[statements]
end
endtask
// ΠΠ°Π΄Π°ΡΠ° Ρ ΠΏΡΡΡΡΠΌ Π»ΠΈΡΡΠΎΠΌ ΠΏΠΎΡΡΠΎΠ²
task [name] ();
begin
[statements]
end
endtask
ΠΡΠΈΠΌΠ΅Ρ static task
ΠΡΠΈΠΌΠ΅Ρ automatic task
module static_task_tb;
initial display();
initial display();
initial display();
initial display();
task display();
integer i = 0;
i = i + 1;
$display("i=%0d", i);
endtask
endmodule
module automatic_task_tb;
initial display();
initial display();
initial display();
initial display();
task automatic display();
integer i = 0;
i = i + 1;
$display("i=%0d", i);
endtask
endmodule
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ
i=1
i=2
i=3
i=4
i=1
i=1
i=1
i=1
ΠΠΎΡΡΠ½Π΅Π½ΠΈΠ΅ ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ
Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π² Π·Π°Π΄Π°ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ i
, ΠΊΠΎΡΠΎΡΠ°Ρ Π² ΡΠ»ΡΡΠ°Π΅ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ ΠΎΠ±ΡΠ°Ρ Π΄Π»Ρ Π²ΡΠ΅Ρ
ΡΠ΅ΡΡΡΡΡ
Π·Π°ΠΏΡΡΠΊΠΎΠ² Π·Π°Π΄Π°ΡΠΈ ΠΈ ΠΏΠΎ ΡΠ°ΠΊΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ Π² 0 ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·. Π ΡΠ»ΡΡΠ°Π΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π²Π½ΡΡΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ ΠΈ Π²ΡΠ΅ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ i
ΡΠ²Π»ΡΡΡΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠΌΠΈ Π΄ΡΡΠ³ ΠΎΡ Π΄ΡΡΠ³Π°.
Last updated