hbchf 发表于 2010-1-7 09:54:59

关于verilog语言很简单的问题

让大家笑话了!
谢谢各位了!
这段代码怎么分析啊?
//函数的定义-------------------------------
functionfactorial;
inputoperand;
regindex;
        begin
                factorial = operand? 1 : 0;
                for(index=2;index<=operand;index=index+1)
                  factorial = index * factorial;
        end
endfunction
//函数的测试-------------------------------------
regresult;
regn;
initial
begin
result=1;
for(n=2;n<=9;n=n+1)
begin
$display("Partial result n= %d result= %d", n, result);
result = n * factorial(n)/((n*2)+1);
end
$display("Finalresult=%d",result);
end
endmodule//模块结束
我怎么也不明白,在display中调用函数的过程当中,n是怎么与function中的index对应的?

msdy 发表于 2010-1-7 10:07:16

这样理解:
if(operand==1)
    factorial=1;
else
    factorial=0;

hbchf 发表于 2010-1-7 10:15:05

谢谢你了!

hbchf 发表于 2010-1-7 10:26:33

回复【1楼】msdy
-----------------------------------------------------------------------
能帮我再分析下上面吗?

ngzhang 发表于 2010-1-7 15:01:18

没有用过函数、任务等高级功能的飘过。
页: [1]
查看完整版本: 关于verilog语言很简单的问题