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/] [bresenham_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_bresenham.v"
2
 
3
module bresenham_bench();
4
reg clock;
5
reg reset;
6
reg [15:0] MajStart;  // Integer
7
reg [23:0] MinStart;  // 8.8 FP
8
reg MajInc;
9
reg [9:0] MinInc;   // 2.8 FP, signed (by the way we code it)
10
reg XMaj;
11
reg do_line;
12
reg [15:0] Length;
13
 
14
wire [15:0] X, Y;
15
wire valid_out;
16
wire busy;
17
 
18
initial begin
19
  $dumpfile("bresenham.vcd");
20
  $dumpvars(0,bresenham_bench);
21
  clock = 0;
22
  Length = 0;
23
  reset = 1;
24
  MajStart = 0;
25
  MinStart = 0;
26
  MajInc = 0;
27
  MinInc = 0;
28
  XMaj = 0;
29
  do_line = 0;
30
 
31
  //timing
32
  #2 reset = 0;
33
  #4 MajStart = 1000;
34
     MinStart = 1000 << 8;
35
     XMaj = 1;
36
     Length = 100;
37
     MajInc = 1;
38
   //  MinInc = 127;
39
     MinInc = 896;
40
  #2 do_line = 1;
41
 
42
  #1000 $finish;
43
end
44
 
45
always @(posedge clock)
46
begin
47
if(!busy)
48
do_line <= 0;
49
end
50
 
51
always begin
52
  #1 clock = ~clock;
53
end
54
 
55
FixP_line bresenham(
56
.clock            (clock),
57
.reset            (reset),
58
.busy             (busy),
59
.MajStart         (MajStart),
60
.MinStart         (MinStart),
61
.MajInc           (MajInc),
62
.MinInc           (MinInc),
63
.Length           (Length),
64
.XMaj             (XMaj),
65
.do_line          (do_line ),
66
.X                (X),
67
.Y                (Y),
68
.valid_out        (valid_out)
69
);
70
 
71
endmodule

powered by: WebSVN 2.1.0

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