Verilog中任务的整数输入

时间:2019-05-10 14:47:32

标签: verilog

当使用整数作为任务的输入时,我也应该使用术语“输入”吗?请参阅下面编写的任务。在第2行,它应该与术语输入一起使用还是与之一起使用?我将按以下方式调用此任务:

any_bit_command(5,15)

    task any_bit_command;
    input integer the_length_of_the_command;
    input [3:0] command_to_be_written;
    integer i;
    begin
    CNV = 1'b1;
    #10000;
    for (i = the_length_of_the_command; i > -1; i = i - 1) begin
    SCK = 1'b0;
    SDI = command_to_be_written[i];
    #60000;
    SCK = 1'b1;
    #60000;
    end
    #30000;
    CNV = 1'b0;
    #200000; 
    end

1 个答案:

答案 0 :(得分:2)

是的,您需要使用这种非常古老的Verilog语法的input关键字来声明任务参数。 Verilog-2001(18年前,从那时起已有4个修订版)添加了ANSI-C样式参数定义,默认方向为input。所以你现在可以写

task any_bit_command (
     integer the_length_of_the_command,
     reg [3:0] command_to_be_written
);