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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2093|回复: 4

[求助] Verilog functions

[复制链接]
发表于 2014-3-31 23:08:11 | 显示全部楼层 |阅读模式

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

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

x
今天练习了verilog的函数,当进行testbench测试时,输出总是显示第一位,其他位为高阻态,仔细检查了功能模块与testbench对应的端口位数相同,仿真的时候总是提醒位数不匹配,代码如下,求大神指导:module led_data(in_data,seg);
input  [1:0] in_data;
output [1:0] seg;
reg seg;

always@(in_data)

begin

seg=display(in_data);


end


function  [1:0] display;
input  data;

case(data)

'd0:
display=2'b00;


'd1:
display=2'b01;

'd2:
display=2'b10;

'd3:
display=2'b11;


default:display=2'bxx;

endcase
endfunction

endmodule







`timescale 10ns/1ns
module led_data_tb();
reg  [1:0] in_data_test;
wire  [1:0] seg_test;

initial

begin


#100
in_data_test=0;

#100
in_data_test=1;

#100
in_data_test=2;

#100
in_data_test=3;



#1000 $stop;

end



led_data led_data1(.in_data(in_data_test),.seg(seg_test));
endmodule
发表于 2014-4-1 10:00:29 | 显示全部楼层
input  data;
发表于 2014-4-1 11:04:31 | 显示全部楼层
reg [1:0] seg;
      ^^^
发表于 2014-4-2 09:32:37 | 显示全部楼层
output [1:0] seg;
reg seg;

这两句冲突了,仿真器忽略了第一次声明,用了1bit的reg。
 楼主| 发表于 2014-4-2 12:47:03 | 显示全部楼层
回复 4# rockyli


  嗯,明白了,谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-11-15 10:35 , Processed in 0.020556 second(s), 9 queries , Gzip On, Redis On.

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