在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3988|回复: 12

[求助] 如何用task呼叫

[复制链接]
发表于 2010-12-28 10:02:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
這是function形式  那請問如何用task來寫呢  

module mux(Din,S,Y);
input Din;
input [1:0]S;
output[3:0]Y;
reg [3:0]Y;
reg [1:0]X;
always@(Din or S)  begin
X=demul2(S[1],Din);
Y[1:0]=demul2(S[0],X[0]);
Y[3:2]=demul2(S[0],X[1]);
end
function [1:0] demul2;
input S;
input D;
case(S)
1'b0: demul2={1'b0,D};
1'b1: demul2={D,1'b0};
default :demul2={1'b0,1'b0};
   endcase
endfunction
endmodule
发表于 2010-12-28 10:11:54 | 显示全部楼层
本帖最后由 shaweikang1984 于 2010-12-28 10:14 编辑

书中自有千钟粟
书中自有黄金屋
书中自有颜如玉
书中车马多簇簇
 楼主| 发表于 2010-12-28 10:13:43 | 显示全部楼层
我就是看書上寫的  跑出來一直都有問題
发表于 2010-12-28 10:15:28 | 显示全部楼层
task demul2;
input S;
input D;
output[1:0] Y;
case(S)
1'b0: Y={1'b0,D};
1'b1: Y={D,1'b0};
default :Y={1'b0,1'b0};
endcase
endtask
发表于 2010-12-28 10:16:55 | 显示全部楼层
demul2( S[0],X[0],Y[1:0]);
demul2( S[0],X[1],Y[3:2]);
 楼主| 发表于 2010-12-28 10:29:41 | 显示全部楼层
輸出Y的部份依舊是x  跑不出東西
发表于 2010-12-28 10:48:24 | 显示全部楼层
我也就大致一写,你也稍微改一下撒....

wire[3:0] Y;

assign  Y={1'b0,D};
发表于 2010-12-28 10:50:10 | 显示全部楼层
还有,你的D都没有赋值,能出来东西就怪了
 楼主| 发表于 2010-12-28 10:55:21 | 显示全部楼层
我還有加一點東西  
你說的Y那部分我ㄧ開始就改過了

這是我全部的code 上面的是testfile
`timescale 1ns/1ps
module top;
reg Din=1;
reg [1:0]s;
wire [3:0]y;
initial begin
#20 s=2'b00;
#30 s=2'b01;
#40     s=2'b10;
#20     s=2'b11;
#100 $finish;
end
mux uut(
     Din,
     s,
     y
);
endmodule






module mux (Din,s,y);
input Din;
input     [1:0]s;
output     [3:0]y;
reg [1:0]x;
reg [3:0]y;

always @( s) begin


demu12(s[0],x[0],y[1:0]);
demu12(s[0],x[1],y[3:2]);
end
task demu12;
input s;
input D;

output [3:0]y;

case (s)
1'b0: y={1'b0,D};
1'b1: y={D,1'b0};
default: y={1'b0,1'b0};
endcase

endtask
endmodule
发表于 2010-12-28 11:12:45 | 显示全部楼层
x是啥东西?
说了是wire[3:0] y;
说了是assign y =...;
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

X

小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-6-29 07:08 , Processed in 0.024931 second(s), 10 queries , Gzip On, MemCached On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表