-
结果出现都变成未知数或高阻状态了
-
testbench文件:`timescale 1ns/1ns `define clock_period 20 module jp4x4_tb; reg[3:0]kbcol; reg clk,start; wire[3:0]kbrow; wire[6:0]seg7_out; wire[7:0]scan; jp4x4 uo( .kbrow(kbrow), .seg7_out(seg7_out), .scan(scan), .clk(clk), .start(start), .kbcol(kbcol) ); initial clk = 1'b1; always #(`clock_period/2) clk = ~clk; initial begin start = 1'b0;kbcol[0] =1'b0;kbcol[1] =1'b0;kbcol[2] =1'b0;kbcol[3] =1'b0; #(`clock_period); start = 1'b1;kbcol[0] =1'b1;kbcol[1] =1'b0;kbcol[2] =1'b0;kbcol[3] =1'b0; #(`clock_period); start = 1'b1;kbcol[0] =1'b0;kbcol[1] =1'b1;kbcol[2] =1'b0;kbcol[3] =1'b0; #(`clock_period); start = 1'b1;kbcol[0] =1'b0;kbcol[1] =1'b0;kbcol[2] =1'b1;kbcol[3] =1'b0; #(`clock_period); start = 1'b1;kbcol[0] =1'b0;kbcol[1] =1'b0;kbcol[2] =1'b0;kbcol[3] =1'b1; #(`clock_period*4); $stop; end endmodule
-
求大神告诉为啥啊
-
`timescale 1ns/1ns
`define clock_period 20
module gmdz40x40_tb;
//激励信号定义
reg Clk;
reg Start;
reg[39:0]Col;
wire[39:0]Row;
wire[5:0]Row_out;
wire[5:0]Rol_out;
gmdz40x40 u0(
.clk(Clk),
.start(Start),
.col(Col),
.row(Row),
.row_out(Row_out),
.col_out(Col_out)
);
initial Clk = 1'b1;
always #(`clock_period/2) Clk = ~Clk;
initial begin
Start = 1'b0;Col = 40'b1111_1111_1111_1111_1111_1111_1111_1111_1111_1110;
#40;
Start = 1'b1;Col = 40'b1111_1111_1111_1111_1111_1111_1111_1111_1111_1101;
#40;
Start = 1'b1;Col = 40'b1111_1111_1111_1111_1111_1111_1111_1111_1111_1011;
#40;
Start = 1'b1;Col = 40'b1111_1111_1111_1111_1111_1111_1111_1111_1111_0111;
#40;
Start = 1'b1;Col = 40'b1111_1111_1111_1111_1111_1111_1111_1111_1110_1111;
#40;
Start = 1'b1;Col = 40'b1111_1111_1111_1111_1111_1111_1111_1111_1101_1111;
#40;
Start = 1'b1;Col = 40'b1111_1111_1111_1111_1111_1111_1111_1111_1011_1111;
#40;
Start = 1'b1;Col = 40'b1111_1111_1111_1111_1111_1111_1111_1111_0111_1111;
#40;
Start = 1'b1;Col = 40'b1111_1111_1111_1111_1111_1111_1111_1110_1111_1111;
#40;
Start = 1'b1;Col = 40'b1111_1111_1111_1111_1111_1111_1111_1101_1111_1111;
#40;
Start = 1'b1;Col = 40'b1111_1111_1111_1111_1111_1111_1111_1011_1111_1111;
#40;
Start = 1'b1;Col = 40'b1111_1111_1111_1111_1111_1111_1111_0111_1111_1111;
#40;
Start = 1'b1;Col = 40'b1111_1111_1111_1111_1111_1111_1110_1111_1111_1111;
#40;
Start = 1'b1;Col = 40'b1111_1111_1111_1111_1111_1111_1101_1111_1111_1111;
#40;
Start = 1'b1;Col = 40'b1111_1111_1111_1111_1111_1111_1011_1111_1111_1111;
#40;
Start = 1'b1;Col = 40'b1111_1111_1111_1111_1111_1111_0111_1111_1111_1111;
#40;
Start = 1'b1;Col = 40'b1111_1111_1111_1111_1111_1110_1111_1111_1111_1111;
#40;
Start = 1'b1;Col = 40'b1111_1111_1111_1111_1111_1101_1111_1111_1111_1111;
#40;
Start = 1'b1;Col = 40'b1111_1111_1111_1111_1111_1011_1111_1111_1111_1111;
#40;
Start = 1'b1;Col = 40'b1111_1111_1111_1111_1111_0111_1111_1111_1111_1111;
#40;
Start = 1'b1;Col = 40'b1111_1111_1111_1111_1110_1111_1111_1111_1111_1101;
#40;
Start = 1'b1;Col = 40'b1111_1111_1111_1111_1101_1111_1111_1111_1111_1111;
#40;
Start = 1'b1;Col = 40'b1111_1111_1111_1111_1011_1111_1111_1111_1111_1111;
#40;
Start = 1'b1;Col = 40'b1111_1111_1111_1111_0111_1111_1111_1111_1111_1111;
#40;
Start = 1'b1;Col = 40'b1111_1111_1111_1110_1111_1111_1111_1111_1111_1111;
#40;
Start = 1'b1;Col = 40'b1111_1111_1111_1101_1111_1111_1111_1111_1111_1111;
#40;
Start = 1'b1;Col = 40'b1111_1111_1111_1011_1111_1111_1111_1111_1111_1111;
#40;
Start = 1'b1;Col = 40'b1111_1111_1111_0111_1111_1111_1111_1111_1111_1111;
#40;
Start = 1'b1;Col = 40'b1111_1111_1110_1111_1111_1111_1111_1111_1111_1111;
#40;
Start = 1'b1;Col = 40'b1111_1111_1101_1111_1111_1111_1111_1111_1111_1111;
#40;
Start = 1'b1;Col = 40'b1111_1111_1011_1111_1111_1111_1111_1111_1111_1111;
#40;
Start = 1'b1;Col = 40'b1111_1111_0111_1111_1111_1111_1111_1111_1111_1111;
#40;
Start = 1'b1;Col = 40'b1111_1110_1111_1111_1111_1111_1111_1111_1111_1111;
#40;
Start = 1'b1;Col = 40'b1111_1101_1111_1111_1111_1111_1111_1111_1111_1111;
#40;
Start = 1'b1;Col = 40'b1111_1011_1111_1111_1111_1111_1111_1111_1111_1111;
#40;
Start = 1'b1;Col = 40'b1111_0111_1111_1111_1111_1111_1111_1111_1111_1111;
#40;
Start = 1'b1;Col = 40'b1110_1111_1111_1111_1111_1111_1111_1111_1111_1111;
#40;
Start = 1'b1;Col = 40'b1101_1111_1111_1111_1111_1111_1111_1111_1111_1111;
#40;
Start = 1'b1;Col = 40'b1011_1111_1111_1111_1111_1111_1111_1111_1111_1111;
#40;
Start = 1'b1;Col = 40'b0111_1111_1111_1111_1111_1111_1111_1111_1111_1111;
#40;
$stop;
end
endmodule
-
这是我写的40x40的光敏电阻识别识别点光源的部分程序,下面是testbench,但仿真出现error: can't read "vsimPriv(.main_pane.wave.interior.cs.body.pw.wf:grid)": no such element in array # Error in macro ./gmdz40x40_run_msim_rtl_verilog.do line 42 # can't read "vsimPriv(.main_pane.wave.interior.cs.body.pw.wf:grid)": no such element in array # while executing # "add wave *"这样的错误
-
module gmdz40x40(clk,start,col,row,row_out,col_out);
input clk; //扫描时钟信号,高电平有效
input start; //开始信号,高电平有效
input[39:0]col; //行扫描信号
output[39:0]row; //列扫描信号
output[5:0]row_out; //光照后列输出信号
output[5:0]col_out; //光照后行输出信号
reg[39:0]row;
reg[5:0]col_out;
reg[5:0]row_out;
reg[5:0]col_out0;
reg[5:0]row_out0;
reg[5:0]count;
reg[5:0]sta;
reg[10:0]dat;
reg gz; //光照标志位,判断是否有光照
always @(posedge clk)
begin
if(start == 0)
begin
col_out0
-
谢谢
-
谢谢,我是小白,现在想学着用FPGA程序代码搞:Cry: