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/] [renderer_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_renderer.v"
2
`include "../../../rtl/verilog/gfx/gfx_color.v"
3
 
4
module render_bench();
5
reg clk_i;
6
reg rst_i;
7
 
8
// Render target information, used for checking out of bounds and stride when writing pixels
9
reg [31:2] target_base_i;
10
reg [31:2] zbuffer_base_i;
11
reg [15:0] target_size_x_i;
12
reg [15:0] target_size_y_i;
13
 
14
reg [1:0] color_depth_i;
15
 
16
reg [15:0] pixel_x_i;
17
reg [15:0] pixel_y_i;
18
reg signed [15:0] pixel_z_i;
19
reg zbuffer_enable_i;
20
reg [31:0] color_i;
21
 
22
reg write_i;
23
wire write_o;
24
 
25
// wire registers connected to the wbm
26
wire [31:2] render_addr_o;
27
wire [3:0] render_sel_o;
28
wire [31:0] render_dat_o;
29
 
30
// TODO add ack signals
31
wire ack_o;
32
reg ack_i;
33
 
34
 
35
initial begin
36
  $dumpfile("render.vcd");
37
  $dumpvars(0,render_bench);
38
 
39
// init values
40
  clk_i = 1;
41
  rst_i = 1;
42
  target_base_i = 0;
43
  zbuffer_base_i = 64;
44
  target_size_x_i = 640;
45
  target_size_y_i = 480;
46
  color_depth_i = 2'b01;
47
  pixel_x_i = 4;
48
  pixel_y_i = 2;
49
  pixel_z_i = 2;
50
  zbuffer_enable_i = 0;
51
  color_i = 0;
52
  write_i = 0;
53
  ack_i = 0;
54
 
55
//timing
56
  #4 rst_i =0;
57
 
58
  #10 write_i = 1;
59
  #2 write_i = 0;
60
 
61
  #10 write_i = 1;
62
  zbuffer_enable_i = 1;
63
  #2 write_i = 0;
64
 
65
  #10 write_i = 1;
66
  #2 write_i = 0;
67
 
68
// end sim
69
  #100 $finish;
70
end
71
 
72
always begin
73
  #1 clk_i = ~clk_i;
74
end
75
 
76
always @(posedge clk_i)
77
begin
78
    ack_i <= #1 write_o;
79
end
80
 
81
gfx_renderer render(
82
.clk_i           (clk_i),
83
.rst_i           (rst_i),
84
.target_base_i   (target_base_i),
85
.zbuffer_base_i  (zbuffer_base_i),
86
.target_size_x_i (target_size_x_i),
87
.target_size_y_i (target_size_y_i),
88
.color_depth_i   (color_depth_i),
89
.pixel_x_i       (pixel_x_i),
90
.pixel_y_i       (pixel_y_i),
91
.pixel_z_i       (pixel_z_i),
92
.zbuffer_enable_i(zbuffer_enable_i),
93
.color_i         (color_i),
94
.render_addr_o   (render_addr_o),
95
.render_sel_o    (render_sel_o),
96
.render_dat_o    (render_dat_o),
97
.ack_o           (ack_o),
98
.ack_i           (ack_i),
99
.write_i (write_i),
100
.write_o (write_o)
101
);
102
endmodule

powered by: WebSVN 2.1.0

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