提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
目录
前言
函数调用的简单示范。采用同布时钟触发运算的执行,每个clk时钟周期都会执行一次运算,并且在测试模块中,通过调用系统任务$display及在时钟的下降沿显示每次计算的结果。
一、函数调用的简单示范
1.1 程序语句:
module tryfunction(clk, n, reset, result);
input [3:0]n;
input clk, reset;
output [31:0]result;
reg [31:0]result;
always @(posedge clk)
begin
if(!reset)
result <= 0;
else
begin
result <= n * factorial(n)/((n * 2) + 1);
end
end
function [31:0]factorial;
input [3:0]operand;
reg [31:0]index;
begin
factorial = operand ? 1 : 0;
for(index