URL
https://opencores.org/ocsvn/orsoc_graphics_accelerator/orsoc_graphics_accelerator/trunk
Go to most recent revision |
Only display areas with differences |
Details |
Blame |
View Log
Rev 2 |
Rev 3 |
`include "../../../rtl/verilog/gfx/gfx_color.v"
|
`include "../../../rtl/verilog/gfx/gfx_color.v"
|
|
|
module color_bench();
|
module color_bench();
|
|
|
reg clk_i;
|
reg clk_i;
|
|
|
reg [1:0] color_depth_i;
|
reg [1:0] color_depth_i;
|
|
|
reg [31:0] color_i;
|
reg [31:0] color_i;
|
reg [1:0] x_lsb_i;
|
reg [1:0] x_lsb_i;
|
wire [31:0] mem_o;
|
wire [31:0] mem_o;
|
wire [3:0] mem_sel_o;
|
wire [3:0] mem_sel_o;
|
|
|
reg [31:0] mem_i;
|
reg [31:0] mem_i;
|
wire [31:0] color_o;
|
wire [31:0] color_o;
|
wire [3:0] col_sel_o;
|
wire [3:0] col_sel_o;
|
|
|
initial begin
|
initial begin
|
$dumpfile("color.vcd");
|
$dumpfile("color.vcd");
|
$dumpvars(0,color_bench);
|
$dumpvars(0,color_bench);
|
|
|
// init values
|
// init values
|
clk_i = 0;
|
clk_i = 0;
|
color_depth_i = 0;
|
color_depth_i = 0;
|
color_i = 0;
|
color_i = 0;
|
x_lsb_i = 0;
|
x_lsb_i = 0;
|
mem_i = 0;
|
mem_i = 0;
|
|
|
// 8 bit tests
|
// 8 bit tests
|
#10 color_i = 32'h12345678;
|
#10 color_i = 32'h12345678;
|
mem_i = 32'habcd1234;
|
mem_i = 32'habcd1234;
|
#10 x_lsb_i = 1;
|
#10 x_lsb_i = 1;
|
#10 x_lsb_i = 2;
|
#10 x_lsb_i = 2;
|
#10 x_lsb_i = 3;
|
#10 x_lsb_i = 3;
|
|
|
|
|
|
|
// 16 bit tests
|
// 16 bit tests
|
#10 color_depth_i = 1;
|
#10 color_depth_i = 1;
|
x_lsb_i = 0;
|
x_lsb_i = 0;
|
#10 x_lsb_i = 1;
|
#10 x_lsb_i = 1;
|
#10 x_lsb_i = 2;
|
#10 x_lsb_i = 2;
|
#10 x_lsb_i = 3;
|
#10 x_lsb_i = 3;
|
|
|
// 24 bit tests (not supported!)
|
// 24 bit tests (not supported!)
|
#10 color_depth_i = 2;
|
#10 color_depth_i = 2;
|
x_lsb_i = 0;
|
x_lsb_i = 0;
|
#10 x_lsb_i = 1;
|
#10 x_lsb_i = 1;
|
#10 x_lsb_i = 2;
|
#10 x_lsb_i = 2;
|
#10 x_lsb_i = 3;
|
#10 x_lsb_i = 3;
|
|
|
// 32 bit tests
|
// 32 bit tests
|
#10 color_depth_i = 3;
|
#10 color_depth_i = 3;
|
x_lsb_i = 0;
|
x_lsb_i = 0;
|
#10 x_lsb_i = 1;
|
#10 x_lsb_i = 1;
|
#10 x_lsb_i = 2;
|
#10 x_lsb_i = 2;
|
#10 x_lsb_i = 3;
|
#10 x_lsb_i = 3;
|
|
|
// end sim
|
// end sim
|
#100 $finish;
|
#100 $finish;
|
end
|
end
|
|
|
always begin
|
always begin
|
#1 clk_i = ~clk_i;
|
#1 clk_i = ~clk_i;
|
end
|
end
|
|
|
color_to_memory color_proc(
|
color_to_memory color_proc(
|
.color_depth_i (color_depth_i),
|
.color_depth_i (color_depth_i),
|
.color_i (color_i),
|
.color_i (color_i),
|
.x_lsb_i (x_lsb_i),
|
.x_lsb_i (x_lsb_i),
|
.mem_o (mem_o),
|
.mem_o (mem_o),
|
.sel_o (mem_sel_o)
|
.sel_o (mem_sel_o)
|
);
|
);
|
|
|
memory_to_color memory_proc(
|
memory_to_color memory_proc(
|
.color_depth_i (color_depth_i),
|
.color_depth_i (color_depth_i),
|
.mem_i (mem_i),
|
.mem_i (mem_i),
|
.mem_lsb_i (x_lsb_i),
|
.mem_lsb_i (x_lsb_i),
|
.color_o (color_o),
|
.color_o (color_o),
|
.sel_o (col_sel_o)
|
.sel_o (col_sel_o)
|
);
|
);
|
|
|
endmodule
|
endmodule
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.