|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
×
今天练习了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 |
|