用verilog HDL设计的4x4键盘扫描程序的testbench怎么写

2019-03-25 07:17发布

小白求教部分程序如图 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
6条回答
火影星飞
2019-03-26 00:43
`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

一周热门 更多>