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

Subversion Repositories orsoc_graphics_accelerator

[/] [orsoc_graphics_accelerator/] [tags/] [version1.0/] [bench/] [verilog/] [gfx/] [wbm_arbiter_bench.v] - Blame information for rev 5

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

Line No. Rev Author Line
1 2 maiden
`include "../../../rtl/verilog/gfx/gfx_wbm_read_arbiter.v"
2
 
3
module arbiter_bench();
4
 
5
// Clock
6
reg clk_i;    // master clock reg
7
 
8
// Interface against the wbm read module
9
wire master_busy_o;
10
wire read_request_o;
11
wire [31:2] addr_o;
12
wire [3:0] sel_o;
13
reg [31:0] dat_i;
14
reg ack_i;
15
// Interface against masters (fragment processor)
16
reg m0_read_request_i;
17
reg [31:2] m0_addr_i;
18
reg [3:0] m0_sel_i;
19
wire [31:0] m0_dat_o;
20
wire m0_ack_o;
21
// Interface against masters (blender)
22
reg m1_read_request_i;
23
reg [31:2] m1_addr_i;
24
reg [3:0] m1_sel_i;
25
wire [31:0] m1_dat_o;
26
wire m1_ack_o;
27
 
28
initial begin
29
  $dumpfile("arbiter.vcd");
30
  $dumpvars(0,arbiter_bench);
31
 
32
// init values
33
  clk_i = 0;
34
  dat_i = 32'h12345678;
35
  ack_i = 0;
36
  m0_read_request_i = 0;
37
  m0_addr_i = 10;
38
  m0_sel_i = 0;
39
  m1_read_request_i = 0;
40
  m1_addr_i = 20;
41
  m1_sel_i = 8;
42
 
43
  #10 m0_read_request_i = 1;
44
  #10 m0_read_request_i = 0;
45
  #10 m1_read_request_i = 1;
46
  #10 m1_read_request_i = 0;
47
 
48
  #10 m1_read_request_i = 1;
49
  m0_read_request_i = 1;
50
  #10 m1_read_request_i = 0;
51
  #10 m0_read_request_i = 0;
52
 
53
//timing
54
 
55
  #100 $finish;
56
end
57
 
58
always @(posedge clk_i)
59
begin
60
  ack_i <= #1 read_request_o;
61
end
62
 
63
always begin
64
  #1 clk_i = ~clk_i;
65
end
66
 
67
gfx_wbm_read_arbiter arbiter(
68
.master_busy_o (master_busy_o),
69
// Interface against the wbm read module
70
.read_request_o (read_request_o),
71
.addr_o (addr_o),
72
.sel_o (sel_o),
73
.dat_i (dat_i),
74
.ack_i (ack_i),
75
// Interface against masters (fragment processor)
76
.m0_read_request_i (m0_read_request_i),
77
.m0_addr_i (m0_addr_i),
78
.m0_sel_i (m0_sel_i),
79
.m0_dat_o (m0_dat_o),
80
.m0_ack_o (m0_ack_o),
81
// Interface against masters (blender)
82
.m1_read_request_i (m1_read_request_i),
83
.m1_addr_i (m1_addr_i),
84
.m1_sel_i (m1_sel_i),
85
.m1_dat_o (m1_dat_o),
86
.m1_ack_o (m1_ack_o)
87
);
88
 
89
endmodule

powered by: WebSVN 2.1.0

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