![]() |
![]() |
TOP > Verilog > タスク |
![]() |
![]() |
タスクとは?
プログラミング言語の関数に相当するもの。引数やローカル変数を持つ。但し、戻り値はない。
(書式)
task タスク名;
//引数の宣言
//処理...
endtask
タスクはモジュール内で定義する。また、タスクの処理内でalwaysは使用できない。
タスクの例
module testbench; reg CLK; reg WEB; reg [3:0] CNT; parameter STEP = 10; always #(STEP / 2) CLK = ~CLK; initial begin $dumpfile("wave.vcd"); $dumpvars(0, testbench); #0 CLK = 1; #0 CNT = 4'h0; end always @(posedge CLK) if (CNT == 4'hF) $finish; else write(1); //task task write; input ENB; CNT = (ENB == 1) ? CNT + 1 : CNT; endtask endmodule |
![]() |
![]() |
Copyright 2007 ためになるホームページ All Rights Reserved. |