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/] [renderer_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_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 [15:0] target_size_x_i;
11
reg [15:0] target_size_y_i;
12
 
13
reg [1:0] color_depth_i;
14
 
15
reg [15:0] pixel_x_i;
16
reg [15:0] pixel_y_i;
17
reg [31:0] color_i;
18
 
19
reg write_i;
20
wire write_o;
21
 
22
// wire registers connected to the wbm
23
wire [31:2] render_addr_o;
24
wire [3:0] render_sel_o;
25
wire [31:0] render_dat_o;
26
 
27
// TODO add ack signals
28
wire ack_o;
29
reg ack_i;
30
 
31
 
32
initial begin
33
  $dumpfile("render.vcd");
34
  $dumpvars(0,render_bench);
35
 
36
// init values
37
  clk_i = 1;
38
  rst_i = 1;
39
  target_base_i = 0;
40
  target_size_x_i = 640;
41
  target_size_y_i = 480;
42
  color_depth_i = 2'b01;
43
  pixel_x_i = 4;
44
  pixel_y_i = 2;
45
  color_i = 0;
46
  write_i = 0;
47
  ack_i = 0;
48
 
49
//timing
50
  #4 rst_i =0;
51
  #16 write_i = 1;
52
  #2 write_i = 0;
53
 
54
 
55
  #2 write_i = 1;
56
  #2 write_i = 0;
57
 
58
// end sim
59
  #100 $finish;
60
end
61
 
62
always begin
63
  #1 clk_i = ~clk_i;
64
end
65
 
66
always @(posedge clk_i)
67
begin
68
    ack_i <= #1 write_o;
69
end
70
 
71
gfx_renderer render(
72
.clk_i           (clk_i),
73
.rst_i           (rst_i),
74
.target_base_i   (target_base_i),
75
.target_size_x_i (target_size_x_i),
76
.target_size_y_i (target_size_y_i),
77
.color_depth_i   (color_depth_i),
78
.pixel_x_i       (pixel_x_i),
79
.pixel_y_i       (pixel_y_i),
80
.color_i         (color_i),
81
.render_addr_o   (render_addr_o),
82
.render_sel_o    (render_sel_o),
83
.render_dat_o    (render_dat_o),
84
.ack_o           (ack_o),
85
.ack_i           (ack_i),
86
.write_i (write_i),
87
.write_o (write_o)
88
);
89
endmodule

powered by: WebSVN 2.1.0

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