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

Subversion Repositories orsoc_graphics_accelerator

[/] [orsoc_graphics_accelerator/] [trunk/] [bench/] [verilog/] [gfx/] [blender_bench.v] - Blame information for rev 6

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 6 Orka
`include "../../../rtl/verilog/gfx/gfx_blender.v"
2
`include "../../../rtl/verilog/gfx/gfx_color.v"
3
 
4
module blender_bench();
5
reg clk_i;
6
reg rst_i;
7
 
8
reg blending_enable_i;
9
reg [31:2] target_base_i;
10
reg [15:0] target_size_x_i;
11
reg [15:0] target_size_y_i;
12
reg [1:0] color_depth_i;
13
 
14
// from fragment
15
reg [15:0] x_counter_i;
16
reg [15:0] y_counter_i;
17
reg signed [15:0] z_i;
18
reg [7:0] global_alpha_i;
19
reg [7:0] alpha_i;
20
reg [31:0] pixel_color_i;
21
reg write_i;
22
reg ack_i;
23
 
24
// Wbm
25
reg target_ack_i;
26
wire [31:2] target_addr_o;
27
reg [31:0] target_data_i;
28
wire [3:0] target_sel_o;
29
wire target_request_o;
30
reg wbm_busy_i;
31
 
32
//to render
33
wire [15:0] pixel_x_o;
34
wire [15:0] pixel_y_o;
35
wire [31:0] pixel_color_o;
36
wire write_o;
37
wire ack_o;
38
 
39
initial begin
40
  $dumpfile("blender.vcd");
41
  $dumpvars(0,blender_bench);
42
 
43
// init values
44
  clk_i = 0;
45
  rst_i = 1;
46
  write_i = 0;
47
  blending_enable_i = 0;
48
  alpha_i = 8'h80;
49
  global_alpha_i = 8'hff;
50
  x_counter_i = 0;
51
  y_counter_i = 0;
52
  z_i = 10;
53
  wbm_busy_i = 0;
54
  color_depth_i = 2'b01; // 16 bit
55
  target_base_i = 32'h01f00000;
56
  target_size_x_i = 12;
57
  target_size_y_i = 10;
58
  pixel_color_i = 32'h00001234;
59
  target_data_i = 32'h00000000;
60
  ack_i = 0;
61
 
62
//timing
63
  #4 rst_i = 0;
64
  #4 write_i = 1;
65
  #2 write_i = 0;
66
 
67
  #10 pixel_color_i = 32'h00005678;
68
  #10 pixel_color_i = 32'h00009abc;
69
  #10 pixel_color_i = 32'h0000f800;
70
// end sim
71
  #100 $finish;
72
end
73
 
74
always @(posedge clk_i)
75
begin
76
  ack_i <= #1 write_o;
77
  target_ack_i <= #1 target_request_o;
78
end
79
 
80
always begin
81
  #1 clk_i = ~clk_i;
82
end
83
 
84
gfx_blender blender(
85
.clk_i            (clk_i),
86
.rst_i            (rst_i),
87
.blending_enable_i(blending_enable_i),
88
.target_base_i    (target_base_i),
89
.target_size_x_i  (target_size_x_i),
90
.target_size_y_i  (target_size_y_i),
91
.color_depth_i    (color_depth_i),
92
.x_counter_i      (x_counter_i),
93
.y_counter_i      (y_counter_i),
94
.z_i              (z_i),
95
.alpha_i          (alpha_i),
96
.global_alpha_i   (global_alpha_i),
97
.pixel_color_i    (pixel_color_i),
98
.write_i          (write_i),
99
.ack_i            (ack_i),
100
.target_ack_i     (target_ack_i),
101
.target_addr_o    (target_addr_o),
102
.target_data_i    (target_data_i),
103
.target_sel_o     (target_sel_o),
104
.target_request_o (target_request_o),
105
.wbm_busy_i       (wbm_busy_i),
106
.pixel_x_o        (pixel_x_o),
107
.pixel_y_o        (pixel_y_o),
108
.pixel_color_o    (pixel_color_o),
109
.write_o          (write_o),
110
.ack_o            (ack_o)
111
);
112
endmodule

powered by: WebSVN 2.1.0

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