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/] [fragment_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_fragment_processor.v"
2
`include "../../../rtl/verilog/gfx/gfx_color.v"
3
 
4
module fragment_bench();
5
reg clk_i;
6
reg rst_i;
7
 
8
parameter point_width = 16;
9
 
10
reg             [7:0] pixel_alpha_i;
11
 
12
// from raster
13
reg [point_width-1:0] x_counter_i;
14
reg [point_width-1:0] y_counter_i;
15
reg signed [point_width-1:0] z_i;
16
reg [point_width-1:0] u_i;
17
reg [point_width-1:0] v_i;
18
reg [point_width-1:0] bezier_factor0_i;
19
reg [point_width-1:0] bezier_factor1_i;
20
reg                   bezier_inside_i;
21
reg            [31:0] pixel_color_i;
22
reg                   write_i;
23
reg                   curve_write_i;
24
reg                   ack_i;
25
 
26
//to blender
27
wire [point_width-1:0] pixel_x_o;
28
wire [point_width-1:0] pixel_y_o;
29
wire            [31:0] pixel_color_o;
30
wire             [7:0] pixel_alpha_o;
31
wire                   write_o;
32
wire                   ack_o;
33
 
34
// to/from wishbone master read
35
reg                    texture_ack_i;
36
reg             [31:0] texture_data_i;
37
wire            [31:2] texture_addr_o;
38
wire             [3:0] texture_sel_o;
39
wire                   texture_request_o;
40
 
41
// from wishbone slave
42
reg                   texture_enable_i;
43
reg            [31:2] tex0_base_i;
44
reg [point_width-1:0] tex0_size_x_i;
45
reg [point_width-1:0] tex0_size_y_i;
46
reg             [1:0] color_depth_i;
47
reg                   colorkey_enable_i;
48
reg            [31:0] colorkey_i;
49
 
50
initial begin
51
  $dumpfile("fragment.vcd");
52
  $dumpvars(0,fragment_bench);
53
 
54
// init values
55
  clk_i = 0;
56
  rst_i = 1;
57
  write_i = 0;
58
  curve_write_i = 0;
59
  bezier_inside_i = 0;
60
  texture_enable_i = 0;
61
  color_depth_i = 2'b01;
62
  ack_i = 0;
63
  pixel_alpha_i = 8'hff;
64
  pixel_color_i = 32'h12345678;
65
  tex0_base_i = 32'h12341234;
66
  tex0_size_x_i = 12;
67
  tex0_size_y_i = 10;
68
  u_i = 0;
69
  v_i = 0;
70
  z_i = 10;
71
  bezier_factor0_i = 0;
72
  bezier_factor1_i = 0;
73
  x_counter_i = 0;
74
  y_counter_i = 0;
75
  texture_data_i = 32'hf800ffff;
76
  colorkey_enable_i = 0;
77
  colorkey_i = 32'h00000000;
78
 
79
//timing
80
  #4 rst_i = 0;
81
  #2 write_i = 1;
82
  #2 write_i = 0;
83
  #6 texture_enable_i = 1;
84
  #40 write_i = 1;
85
  #2 write_i = 0;
86
// end sim
87
  #100 $finish;
88
end
89
 
90
always @(posedge clk_i)
91
begin
92
    ack_i <= #1 write_o;
93
    texture_ack_i <= #1 texture_request_o;
94
end
95
 
96
always begin
97
  #1 clk_i = ~clk_i;
98
end
99
 
100
gfx_fragment_processor fragment(
101
.clk_i            (clk_i),
102
.rst_i            (rst_i),
103
.pixel_alpha_i    (pixel_alpha_i),
104
.x_counter_i      (x_counter_i),
105
.y_counter_i      (y_counter_i),
106
.z_i              (z_i),
107
.u_i              (u_i),
108
.v_i              (v_i),
109
.bezier_factor0_i (bezier_factor0_i),
110
.bezier_factor1_i (bezier_factor1_i),
111
.bezier_inside_i  (bezier_inside_i),
112
.pixel_color_i    (pixel_color_i),
113
.write_i          (write_i),
114
.curve_write_i    (curve_write_i),
115
.ack_i            (ack_i),
116
.pixel_x_o        (pixel_x_o),
117
.pixel_y_o        (pixel_y_o),
118
.pixel_color_o    (pixel_color_o),
119
.pixel_alpha_o    (pixel_alpha_o),
120
.write_o          (write_o),
121
.ack_o            (ack_o),
122
.texture_ack_i    (texture_ack_i),
123
.texture_data_i   (texture_data_i),
124
.texture_addr_o   (texture_addr_o),
125
.texture_sel_o    (texture_sel_o),
126
.texture_request_o(texture_request_o),
127
.texture_enable_i (texture_enable_i),
128
.tex0_base_i      (tex0_base_i),
129
.tex0_size_x_i    (tex0_size_x_i),
130
.tex0_size_y_i    (tex0_size_y_i),
131
.color_depth_i    (color_depth_i),
132
.colorkey_enable_i(colorkey_enable_i),
133
.colorkey_i       (colorkey_i)
134
);
135
endmodule

powered by: WebSVN 2.1.0

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