OpenCores
URL https://opencores.org/ocsvn/othellogame/othellogame/trunk

Subversion Repositories othellogame

[/] [othellogame/] [trunk/] [rtl/] [xy_calculate.v] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 marius_mtm
`timescale 1ns / 1ps
2
//////////////////////////////////////////////////////////////////////////////////
3
// Company: 
4
// Engineer: 
5
// 
6
// Create Date:    18:17:56 04/15/2009 
7
// Design Name: 
8
// Module Name:    xy_calculate 
9
// Project Name: 
10
// Target Devices: 
11
// Tool versions: 
12
// Description: 
13
//
14
// Dependencies: 
15
//
16
// Revision: 
17
// Revision 0.01 - File Created
18
// Additional Comments: 
19
//
20
//////////////////////////////////////////////////////////////////////////////////
21
module xy_calculate(
22
                clk,
23
                RST,
24
                east,
25
                west,
26
                north,
27
                south,
28
                knob,
29
                 X,
30
                 Y,
31
                 enter
32
    );
33
 
34
input clk;
35
input RST;
36
input east;
37
input west;
38
input north;
39
input south;
40
input knob;
41
 
42
output [2:0] X;
43
output [2:0] Y;
44
output [0:0] enter;
45
reg [2:0] X;
46
reg [2:0] Y;
47
reg [22:0] Z;
48
reg [0:0] enter;
49
 
50
 wire btn_pulse;
51
 assign btn_pulse = &Z;
52
 
53
 
54
 always @(posedge clk) begin
55
        if ( RST ) begin
56
                Z <= 0;
57
                X <= 0;
58
                Y <= 0;
59
                enter <= 0;
60
        end
61
        else begin
62
                Z <= Z + 1;
63
 
64
                if ( btn_pulse ) begin
65
                        if ( east ) begin
66
                                X <= X - 1;
67
                        end
68
                        else
69
                        if ( west ) begin
70
                                X <= X + 1;
71
                        end
72
                        else
73
                        if ( north ) begin
74
                                Y <= Y + 1;
75
                        end
76
                        else
77
                        if ( south ) begin
78
                                Y <= Y - 1;
79
                        end
80
                        else
81
                        if ( knob ) begin
82
                                enter <= 1;
83
                        end
84
                        else begin
85
                                X <= X;
86
                                Y <= Y;
87
                                enter <= 0;
88
                        end
89
                end
90
                else begin
91
                        X <= X;
92
                        Y <= Y;
93
                        enter <= 0;
94
                end
95
        end
96
 end
97
 
98
endmodule

powered by: WebSVN 2.1.0

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