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/] [cuvz_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_cuvz.v"
2
 
3
module cuvz_bench();
4
 
5
parameter point_width     = 16;
6
 
7
reg                     clk_i;
8
reg                     rst_i;
9
 
10
reg      ack_i;
11
wire     ack_o;
12
 
13
reg      write_i;
14
 
15
reg  [point_width-1:0] factor0_i;
16
reg  [point_width-1:0] factor1_i;
17
 
18
reg             [31:0] color0_i;
19
reg             [31:0] color1_i;
20
reg             [31:0] color2_i;
21
reg              [1:0] color_depth_i;
22
wire            [31:0] color_o;
23
 
24
reg  [point_width-1:0] z0_i;
25
reg  [point_width-1:0] z1_i;
26
reg  [point_width-1:0] z2_i;
27
wire [point_width-1:0] z_o;
28
 
29
reg              [7:0] a0_i;
30
reg              [7:0] a1_i;
31
reg              [7:0] a2_i;
32
wire             [7:0] a_o;
33
 
34
reg  [point_width-1:0] u0_i;
35
reg  [point_width-1:0] u1_i;
36
reg  [point_width-1:0] u2_i;
37
wire [point_width-1:0] u_o;
38
reg  [point_width-1:0] v0_i;
39
reg  [point_width-1:0] v1_i;
40
reg  [point_width-1:0] v2_i;
41
wire [point_width-1:0] v_o;
42
 
43
reg  [point_width-1:0] x_i;
44
reg  [point_width-1:0] y_i;
45
wire [point_width-1:0] x_o;
46
wire [point_width-1:0] y_o;
47
 
48
// Write pixel output signal
49
wire                   write_o;
50
 
51
initial begin
52
  $dumpfile("cuvz.vcd");
53
  $dumpvars(0,cuvz_bench);
54
 
55
// init values
56
  clk_i = 0;
57
  rst_i = 1;
58
 
59
  x_i = 1;
60
  y_i = 2;
61
  write_i = 0;
62
  factor0_i = 35000;
63
  factor1_i = 0;
64
  color0_i = 255;
65
  color1_i = 255 << 8;
66
  color2_i = 255 << 16;
67
  color_depth_i = 3; // 0 = 8 bits, 1 = 16 bits, 3 = 32 bits
68
  z0_i = 150;
69
  z1_i = 75;
70
  z2_i = 0;
71
  a0_i = 150;
72
  a1_i = 75;
73
  a2_i = 0;
74
  u0_i = 0;
75
  u1_i = 0;
76
  u2_i = 0;
77
  v0_i = 0;
78
  v1_i = 0;
79
  v2_i = 0;
80
 
81
 
82
//timing
83
#2 rst_i = 0;
84
  write_i = 1;
85
#2 write_i = 0;
86
 
87
#4 write_i = 1;
88
  factor1_i = 10000;
89
#2 write_i = 0;
90
 
91
// end sim
92
  #2000 $finish;
93
end
94
 
95
always begin
96
  #1 clk_i = ~clk_i;
97
end
98
 
99
always @(posedge clk_i)
100
  #1 ack_i <= write_o;
101
 
102
gfx_cuvz cuvz(
103
.clk_i     (clk_i),
104
.rst_i     (rst_i),
105
.ack_i     (ack_i),
106
.ack_o     (ack_o),
107
.write_i   (write_i),
108
// Variables needed for interpolation
109
.factor0_i (factor0_i),
110
.factor1_i (factor1_i),
111
// Color
112
.color0_i  (color0_i),
113
.color1_i  (color1_i),
114
.color2_i  (color2_i),
115
.color_depth_i (color_depth_i),
116
.color_o   (color_o),
117
// Depth
118
.z0_i      (z0_i),
119
.z1_i      (z1_i),
120
.z2_i      (z2_i),
121
.z_o       (z_o),
122
// Alpha
123
.a0_i      (a0_i),
124
.a1_i      (a1_i),
125
.a2_i      (a2_i),
126
.a_o       (a_o),
127
// Texture coordinates
128
.u0_i      (u0_i),
129
.v0_i      (v0_i),
130
.u1_i      (u1_i),
131
.v1_i      (v1_i),
132
.u2_i      (u2_i),
133
.v2_i      (v2_i),
134
.u_o       (u_o),
135
.v_o       (v_o),
136
// Raster position
137
.x_i       (x_i),
138
.y_i       (y_i),
139
.x_o       (x_o),
140
.y_o       (y_o),
141
 
142
.write_o   (write_o)
143
);
144
 
145
defparam cuvz.point_width     = point_width;
146
 
147
endmodule
148
 

powered by: WebSVN 2.1.0

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