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/] [clip_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_clip.v"
2
`include "../../../rtl/verilog/gfx/gfx_color.v"
3
 
4
module clip_bench();
5
 
6
parameter point_width = 16;
7
 
8
reg                   clk_i;
9
reg                   rst_i;
10
 
11
reg                   clipping_enable_i;
12
reg                   zbuffer_enable_i;
13
reg            [31:2] zbuffer_base_i;
14
reg [point_width-1:0] target_size_x_i;
15
reg [point_width-1:0] target_size_y_i;
16
//clip pixels
17
reg [point_width-1:0] clip_pixel0_x_i;
18
reg [point_width-1:0] clip_pixel0_y_i;
19
reg [point_width-1:0] clip_pixel1_x_i;
20
reg [point_width-1:0] clip_pixel1_y_i;
21
 
22
// from raster
23
reg [point_width-1:0] raster_pixel_x_i;
24
reg [point_width-1:0] raster_pixel_y_i;
25
reg [point_width-1:0] raster_u_i;
26
reg [point_width-1:0] raster_v_i;
27
reg            [31:0] flat_color_i;
28
reg                   raster_write_i;
29
wire                  ack_o;
30
 
31
// from cuvz
32
reg [point_width-1:0] cuvz_pixel_x_i;
33
reg [point_width-1:0] cuvz_pixel_y_i;
34
reg signed [point_width-1:0] cuvz_pixel_z_i;
35
reg [point_width-1:0] cuvz_u_i;
36
reg [point_width-1:0] cuvz_v_i;
37
reg             [7:0] cuvz_a_i;
38
reg            [31:0] cuvz_color_i;
39
reg                   cuvz_write_i;
40
 
41
// Interface against wishbone master (reader)
42
reg                   z_ack_i;
43
wire           [31:2] z_addr_o;
44
reg            [31:0] z_data_i;
45
wire            [3:0] z_sel_o;
46
wire                  z_request_o;
47
reg                   wbm_busy_i;
48
 
49
//to render
50
wire [point_width-1:0] pixel_x_o;
51
wire [point_width-1:0] pixel_y_o;
52
wire [point_width-1:0] pixel_z_o;
53
wire [point_width-1:0] u_o;
54
wire [point_width-1:0] v_o;
55
 
56
 
57
reg  [point_width-1:0] bezier_factor0_i;
58
reg  [point_width-1:0] bezier_factor1_i;
59
wire [point_width-1:0] bezier_factor0_o;
60
wire [point_width-1:0] bezier_factor1_o;
61
 
62
wire            [31:0] color_o;
63
wire                   write_o;
64
reg                    ack_i;
65
 
66
initial begin
67
  $dumpfile("clip.vcd");
68
  $dumpvars(0,clip_bench);
69
 
70
// init values
71
  clk_i = 0;
72
  rst_i = 1;
73
  cuvz_write_i = 0;
74
  raster_write_i = 0;
75
  clipping_enable_i = 0;
76
  clip_pixel0_x_i = 0;
77
  clip_pixel0_y_i = 0;
78
  clip_pixel1_x_i = 10;
79
  clip_pixel1_y_i = 10;
80
  raster_pixel_x_i = 0;
81
  raster_pixel_y_i = 0;
82
  cuvz_pixel_x_i = 0;
83
  cuvz_pixel_y_i = 0;
84
  cuvz_pixel_z_i = -12;
85
  cuvz_a_i = 0;
86
  bezier_factor0_i = 0;
87
  bezier_factor1_i = 0;
88
  wbm_busy_i = 0;
89
  zbuffer_enable_i = 1;
90
  zbuffer_base_i = 32'h33000000;
91
  target_size_x_i = 100;
92
  target_size_y_i = 100;
93
  z_data_i = 32'h80008000;
94
  ack_i = 0;
95
 
96
  flat_color_i = 0;
97
  cuvz_color_i = 1;
98
 
99
//timing
100
  #4 rst_i = 0;
101
  #4 cuvz_write_i = 1;
102
  #2 cuvz_write_i = 0;
103
 
104
  #10 cuvz_write_i = 1;
105
  cuvz_pixel_x_i = 20;
106
  cuvz_pixel_y_i = 20;
107
  cuvz_pixel_z_i = 12;
108
  #2 cuvz_write_i = 0;
109
 
110
  #10 raster_write_i = 1;
111
  clipping_enable_i = 1;
112
  raster_pixel_x_i = 20;
113
  raster_pixel_y_i = 20;
114
  #2 raster_write_i = 0;
115
 
116
// end sim
117
  #100 $finish;
118
end
119
 
120
always @(posedge clk_i)
121
begin
122
  ack_i <= #1 write_o;
123
  z_ack_i <= #1 z_request_o;
124
end
125
 
126
always begin
127
  #1 clk_i = ~clk_i;
128
end
129
 
130
gfx_clip clip(
131
.clk_i            (clk_i),
132
.rst_i            (rst_i),
133
.clipping_enable_i(clipping_enable_i),
134
.zbuffer_enable_i (zbuffer_enable_i),
135
.zbuffer_base_i   (zbuffer_base_i),
136
.target_size_x_i  (target_size_x_i),
137
.target_size_y_i  (target_size_y_i),
138
.clip_pixel0_x_i  (clip_pixel0_x_i),
139
.clip_pixel0_y_i  (clip_pixel0_y_i),
140
.clip_pixel1_x_i  (clip_pixel1_x_i),
141
.clip_pixel1_y_i  (clip_pixel1_y_i),
142
.raster_pixel_x_i (raster_pixel_x_i),
143
.raster_pixel_y_i (raster_pixel_y_i),
144
.raster_u_i       (raster_u_i),
145
.raster_v_i       (raster_v_i),
146
.flat_color_i     (flat_color_i),
147
.raster_write_i   (raster_write_i),
148
.cuvz_pixel_x_i   (cuvz_pixel_x_i),
149
.cuvz_pixel_y_i   (cuvz_pixel_y_i),
150
.cuvz_pixel_z_i   (cuvz_pixel_z_i),
151
.cuvz_u_i         (cuvz_u_i),
152
.cuvz_v_i         (cuvz_v_i),
153
.cuvz_a_i         (cuvz_a_i),
154
.cuvz_color_i     (cuvz_color_i),
155
.cuvz_write_i     (cuvz_write_i),
156
.ack_o            (ack_o),
157
.z_ack_i          (z_ack_i),
158
.z_addr_o         (z_addr_o),
159
.z_data_i         (z_data_i),
160
.z_sel_o          (z_sel_o),
161
.z_request_o      (z_request_o),
162
.wbm_busy_i       (wbm_busy_i),
163
.pixel_x_o        (pixel_x_o),
164
.pixel_y_o        (pixel_y_o),
165
.pixel_z_o        (pixel_z_o),
166
.u_o              (u_o),
167
.v_o              (v_o),
168
.bezier_factor0_i (bezier_factor0_i),
169
.bezier_factor1_i (bezier_factor1_i),
170
.bezier_factor0_o (bezier_factor0_o),
171
.bezier_factor1_o (bezier_factor1_o),
172
.color_o          (color_o),
173
.write_o          (write_o),
174
.ack_i            (ack_i)
175
);
176
endmodule

powered by: WebSVN 2.1.0

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