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

powered by: WebSVN 2.1.0

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