reg和integer可以相乘嗎_'factorial' already exists; must not be redefined as a function.

reg和integer可以相乘,不過integer默認有符號,並且相乘之前不要忘了初始化

reg名不可同函數名,函數返回值無法被初始化,不過可以在函數內部初始化

function [47:0]  factorial;
input	 [15:0]	a2;
begin 
	error = 1'b0;
	c = 1'b0;
	factorial = 48'h0000_0000_0000;//函數內部初始化,相乘之前初始化
	factorial[15:0] = a2;
	for(i = 2;i < a2;i = i + 32'b1)
	begin
		{c,factorial} = factorial * i;
		if(c == 1'b1) error = 1'b1;
	end
	if(error == 1'b1)
		 factorial = 48'hffff_ffff_ffff; 
end
endfunction

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章