|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
小弟我是新手 把呼叫function函數改成呼叫task
原本的:
module shift(indata,qout,mout);
output [7:0] qout;
output [7:0] mout;
input [7:0] indata;
reg [7:0] qout;
reg [7:0] mout;
parameter left=1;
parameter right=0;
always@(indata)
begin
mout=multdiv8 (left,indata);
qout=multdiv8 (right,indata);
end
function [7:0] multdiv8;
input fcn_left :
input[7:0] fcn_in;
begin
multdiv8=(fcn_left==1)?(fcn_in<<3): (fcn_in>>3);
end
endfunction
endmodule
以下是我自己寫的
module (qout, mout,indata);
output [7:0] qout;
output [7:0] mout;
input [7:0] indata;
reg [7:0] qout;
reg [7:0] mout;
parameter left=1;
parameter right=0;
always@(indata) begin
multdiv8 (left,indata,qout);
multdiv8 (right,indata,mout);
end
task multdiv8;
input fcn_left;
input [7:0] fcn_in;
output [7:0] qout;
output [7:0] mout;
if (fcn_left==1)
qout=fcn_in<<3;
else
mout=fcn_in>>3;
endtask
endmodule
哪邊有錯呢 麻煩各位大哥大姊了 |
|