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

Subversion Repositories turbo8051

[/] [turbo8051/] [trunk/] [verif/] [tb/] [tb_tasks.v] - Diff between revs 28 and 50

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 28 Rev 50
 
 
initial
initial
begin
begin
   reg_cs  = 0;
   reg_cs  = 0;
   reg_be  = 4'h0;
   reg_be  = 4'h0;
end
end
 
 
task cpu_read;
task cpu_read;
  input  [2:0] block_id; // 1/2/3 --> mac/spi/uart
  input  [2:0] block_id;
  input  [15:0] address;
  input  [15:0] address;
  output [31:0] read_data;
  output [31:0] read_data;
  begin
  begin
      @(posedge app_clk);
      @(posedge app_clk);
      if(block_id == 1) reg_id  = `ADDR_SPACE_MAC;
      if(block_id == 1) reg_id  = `ADDR_SPACE_MAC;
      if(block_id == 2) reg_id  = `ADDR_SPACE_SPI;
      if(block_id == 2) reg_id  = `ADDR_SPACE_SPI;
      if(block_id == 3) reg_id  = `ADDR_SPACE_UART;
      if(block_id == 3) reg_id  = `ADDR_SPACE_UART;
 
      if(block_id == 4) reg_id  = `ADDR_SPACE_RAM;
      reg_cs = 1;
      reg_cs = 1;
      reg_wr = 0;
      reg_wr = 0;
      reg_be = 4'hF;
      reg_be = 4'hF;
      reg_addr = address;
      reg_addr = address;
      @(posedge reg_ack);
      @(posedge reg_ack);
       #1 read_data = reg_rdata;
       #1 read_data = reg_rdata;
      @(posedge app_clk);
      @(posedge app_clk);
          reg_cs  = 0;
          reg_cs  = 0;
      //$display ("Config-Read: Id: %h Addr = %h, Data = %h", block_id,address, read_data);
      //$display ("Config-Read: Id: %h Addr = %h, Data = %h", block_id,address, read_data);
  end
  end
endtask
endtask
 
 
task cpu_write;
task cpu_write;
  input  [2:0] block_id; // 1/2/3 --> mac/spi/uart 
  input  [2:0] block_id; // 1/2/3 --> mac/spi/uart 
  input  [15:0] address;
  input  [15:0] address;
  input  [31:0] write_data;
  input  [31:0] write_data;
  begin
  begin
      $display ("Config-Write: Id: %h Addr = %h, Cfg. Data = %h", block_id,address, write_data);
      $display ("Config-Write: Id: %h Addr = %h, Cfg. Data = %h", block_id,address, write_data);
      @(posedge app_clk);
      @(posedge app_clk);
      if(block_id == 1) reg_id  = `ADDR_SPACE_MAC;
      if(block_id == 1) reg_id  = `ADDR_SPACE_MAC;
      if(block_id == 2) reg_id  = `ADDR_SPACE_SPI;
      if(block_id == 2) reg_id  = `ADDR_SPACE_SPI;
      if(block_id == 3) reg_id  = `ADDR_SPACE_UART;
      if(block_id == 3) reg_id  = `ADDR_SPACE_UART;
      reg_cs = 1;
      reg_cs = 1;
      reg_wr = 1;
      reg_wr = 1;
      reg_be = 4'hF;
      reg_be = 4'hF;
      reg_addr = address;
      reg_addr = address;
      reg_wdata = write_data;
      reg_wdata = write_data;
      @(posedge reg_ack);
      @(posedge reg_ack);
      reg_wr = 0;
 
      @(posedge app_clk);
      @(posedge app_clk);
      reg_cs  = 0;
      reg_cs  = 0;
 
      reg_wr = 0;
  end
  end
endtask
endtask
 
 
 
 

powered by: WebSVN 2.1.0

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