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

Subversion Repositories turbo8051

[/] [turbo8051/] [trunk/] [verif/] [testcase/] [uart_test1.v] - Blame information for rev 15

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

Line No. Rev Author Line
1 15 dinesha
task uart_test1;
2
 
3
reg [1:0] data_bit        = 2'b11;
4
reg       stop_bits       = 0; // 0: 1 stop bit; 1: 2 stop bit;
5
reg       stick_parity    = 0; // 1: force even parity
6
reg       parity_en       = 1; // parity enable
7
reg       even_odd_parity = 1; // 0: odd parity; 1: even parity
8
 
9
reg [7:0] data;
10
reg [15:0] divisor        = 3;   // divided by n * 16
11
reg [15:0] timeout        = 500;// wait time limit
12
 
13
reg [15:0] rx_nu;
14
reg [15:0] tx_nu;
15
reg [7:0] write_data [0:39];
16
reg     fifo_enable       = 0;   // fifo mode disable
17
integer i,j;
18
 
19
tb_uart.uart_init;
20
tb_top.cpu_write('h3,8'h0,{27'h0,2'b10,1'b1,1'b1,1'b1});
21
 
22
 
23
for (i=0; i<40; i=i+1)
24
        write_data[i] = $random;
25
 
26
 
27
  tb_top.tb_uart.control_setup (data_bit, stop_bits, parity_en, even_odd_parity, stick_parity, timeout, divisor, fifo_enable);
28
 
29
 
30
   fork
31
   begin
32
      for (i=0; i<40; i=i+1)
33
      begin
34
        $display ("\n... Writing char %d ...", write_data[i]);
35
         tb_top.tb_uart.write_char (write_data[i]);
36
      end
37
   end
38
 
39
   begin
40
      for (j=0; j<40; j=j+1)
41
      begin
42
        tb_top.tb_uart.read_char_chk(write_data[j]);
43
      end
44
   end
45
   join
46
 
47
   #100
48
   tb_top.tb_uart.report_status(rx_nu, tx_nu);
49
 
50
endtask

powered by: WebSVN 2.1.0

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