|  | 
 
| 
今天练习了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
 | 
 |