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

Subversion Repositories oms8051mini

[/] [oms8051mini/] [trunk/] [verif/] [tb/] [tb_tasks.v] - Blame information for rev 10

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

Line No. Rev Author Line
1 2 dinesha
 
2
initial
3
begin
4
   reg_cs  = 0;
5
   reg_be  = 4'h0;
6 10 dinesha
   reg_id  = 0;
7 2 dinesha
end
8
 
9
task cpu_read;
10 10 dinesha
  input  [3:0]  block_id;
11 2 dinesha
  input  [15:0] address;
12
  output [31:0] read_data;
13
  begin
14
      @(posedge app_clk);
15 10 dinesha
      reg_id  = block_id;
16 2 dinesha
      reg_cs = 1;
17
      reg_wr = 0;
18
      reg_be = 4'hF;
19
      reg_addr = address;
20
      @(posedge reg_ack);
21
       #1 read_data = reg_rdata;
22
      @(posedge app_clk);
23
          reg_cs  = 0;
24
      //$display ("Config-Read: Id: %h Addr = %h, Data = %h", block_id,address, read_data);
25
  end
26
endtask
27
 
28
task cpu_write;
29 10 dinesha
  input  [3:0] block_id; // 0/1/2 --> ram/spi/uart 
30 2 dinesha
  input  [15:0] address;
31
  input  [31:0] write_data;
32
  begin
33
      $display ("Config-Write: Id: %h Addr = %h, Cfg. Data = %h", block_id,address, write_data);
34
      @(posedge app_clk);
35 10 dinesha
      reg_id  = block_id;
36 2 dinesha
      reg_cs = 1;
37
      reg_wr = 1;
38
      reg_be = 4'hF;
39
      reg_addr = address;
40
      reg_wdata = write_data;
41
      @(posedge reg_ack);
42
      @(posedge app_clk);
43
      reg_cs  = 0;
44
      reg_wr = 0;
45
  end
46
endtask
47
 

powered by: WebSVN 2.1.0

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