OpenCores
URL https://opencores.org/ocsvn/lcd_block/lcd_block/trunk

Subversion Repositories lcd_block

[/] [lcd_block/] [trunk/] [hdl/] [iseProject/] [testLcd_controller.v] - Blame information for rev 8

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 5 leonardoar
`timescale 1ns / 1ps
2
 
3
module testLcd_controller;
4
 
5
        // Inputs
6
        reg rst;
7
        reg clk;
8 8 leonardoar
        reg rs_in;
9 5 leonardoar
        reg [7:0] data_in;
10
        reg strobe_in;
11
        reg [7:0] period_clk_ns;
12
 
13
        // Outputs
14
        wire lcd_e;
15
        wire [3:0] lcd_nibble;
16
        wire lcd_rs;
17
        wire lcd_rw;
18
        wire disable_flash;
19
        wire done;
20
 
21
        // Instantiate the Unit Under Test (UUT)
22
        lcd_controller uut (
23
                .rst(rst),
24
                .clk(clk),
25 8 leonardoar
                .rs_in(rs_in),
26 5 leonardoar
                .data_in(data_in),
27
                .strobe_in(strobe_in),
28
                .period_clk_ns(period_clk_ns),
29
                .lcd_e(lcd_e),
30
                .lcd_nibble(lcd_nibble),
31
                .lcd_rs(lcd_rs),
32
                .lcd_rw(lcd_rw),
33
                .disable_flash(disable_flash),
34
                .done(done)
35
        );
36
 
37 6 leonardoar
        // Create clock
38
        always
39
        begin
40
                #10 clk = ~clk; // Toogle the clock each 10ns (20ns period is 50Mhz)
41
        end
42
 
43
        initial
44
        begin
45 5 leonardoar
                // Initialize Inputs
46 6 leonardoar
                $display($time, " << Starting the Simulation >>");
47
                rst = 1;
48 5 leonardoar
                clk = 0;
49
                data_in = 0;
50
                strobe_in = 0;
51 6 leonardoar
                period_clk_ns = 20;     // Indicate the number of time at each cycle (20 ns in our case)
52 5 leonardoar
 
53 6 leonardoar
                // Wait for one clock cycle to reset
54
                #20;
55
                rst = 0;
56 5 leonardoar
 
57 8 leonardoar
                // One advantege over of Verilog over VHDL (Access to internal signals...)
58
                // Like wait until... from Verilog              
59
                @(posedge uut.lcd_init_done);
60
                data_in = 65;
61
                #20 strobe_in = 1; #20 strobe_in = 0;
62
                @(posedge done);
63 5 leonardoar
        end
64
 
65
endmodule
66
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.