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

Subversion Repositories alternascope

[/] [alternascope/] [tags/] [rels/] [d_TopLevel.v] - Blame information for rev 30

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 smpickett
//==================================================================
2
// File:    d_TopLevel.v
3
// Version: 0.01
4
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
5
// Copyright Stephen Pickett
6
//   April 28, 2005
7
//------------------------------------------------------------------
8
// Revisions:
9
// Ver 0.01     Apr 28, 2005    Initial Release
10
//
11
//==================================================================
12
 
13
module TopLevel(
14
    CLK_50MHZ_IN, MASTER_RST,
15
    H_SYNC, V_SYNC, VGA_OUTPUT,
16
    PS2C, PS2D,
17
//    TIME_BASE,
18
    ADC_DATA, ADC_CLK,
19
    VGA_RAM_ADDR, VGA_RAM_DATA,
20
    VGA_RAM_OE, VGA_RAM_WE, VGA_RAM_CS,
21
 
22
    SEG_OUT, SEG_SEL, leds, SHOW_LEVELS_BUTTON
23
    );
24
 
25
//==================================================================//
26
// DEFINITIONS                                                      //
27
//==================================================================//
28
 
29
//==================================================================//
30
// VARIABLE DEFINITIONS                                             //
31
//==================================================================//
32
 
33
//----------------------//
34
// INPUTS / OUTPUTS     //
35
//----------------------//
36
input CLK_50MHZ_IN, MASTER_RST;
37
output H_SYNC, V_SYNC;
38
output[2:0] VGA_OUTPUT;
39
//input[5:0] TIME_BASE;
40
inout PS2C, PS2D;
41
input[7:0] ADC_DATA;
42
output ADC_CLK;
43
output[17:0] VGA_RAM_ADDR;
44
inout[15:0] VGA_RAM_DATA;
45
output VGA_RAM_OE, VGA_RAM_WE, VGA_RAM_CS;
46
 
47
output[7:0] leds;
48
output[6:0] SEG_OUT;
49
output[3:0] SEG_SEL;
50
input SHOW_LEVELS_BUTTON;
51
wire SHOW_LEVELS_BUTTON;
52
 
53
 
54
//----------------------//
55
// WIRES / NODES        //
56
//----------------------//
57
wire      CLK_50MHZ_IN, MASTER_RST;
58
wire      H_SYNC, V_SYNC;
59
wire[2:0] VGA_OUTPUT;
60
wire[5:0] TIME_BASE;
61
wire      PS2C, PS2D;
62
wire[7:0] ADC_DATA;
63
wire      ADC_CLK;
64
wire[17:0] VGA_RAM_ADDR;
65
wire[15:0] VGA_RAM_DATA;
66
wire       VGA_RAM_OE, VGA_RAM_WE, VGA_RAM_CS;
67
 
68
 
69
//----------------------//
70
// VARIABLES            //
71
//----------------------//
72
assign TIME_BASE = 6'b0;
73
 
74
 
75
//==================================================================//
76
// TEMP                                                             //
77
//==================================================================//
78
wire[17:0] VGA_RAM_ADDRESS_w;
79
wire[15:0] VGA_RAM_DATA_w;
80
 
81
wire VGA_RAM_ACCESS_OK;
82
wire CLK_50MHZ, CLK_64MHZ, CLK180_64MHZ;
83
wire[6:0] SEG_OUT;
84
wire[3:0] SEG_SEL;
85
 
86
wire TEST_in_range_Trig;
87
 
88
sub_SegDriver segs(
89
    .CLK_50MHZ(CLK_50MHZ), .MASTER_RST(MASTER_RST),
90
    .DATA_IN(),
91
    .SEG_OUT(SEG_OUT), .SEG_SEL(SEG_SEL)
92
    );
93
 
94
wire[7:0] leds;
95
assign leds[0] = L_BUTTON;
96
assign leds[1] = M_BUTTON;
97
assign leds[2] = R_BUTTON;
98
assign leds[3] = TEST_in_range_Trig;
99
assign leds[7:4] = 4'b0;
100
//==================================================================//
101
// SUBROUTINES                                                      //
102
//==================================================================//
103
//wire CLK_50MHZ, CLK_64MHZ, CLK180_64MHZ;
104
wire CLK_64MHZ_LOCKED;
105
d_DCM clock_generator(
106
    .CLKIN_IN(CLK_50MHZ_IN),
107
    .RST_IN(MASTER_RST),
108
    .CLKIN_IBUFG_OUT(CLK_50MHZ),
109
    .CLK_64MHZ(CLK_64MHZ),
110
    .CLK180_64MHZ(CLK180_64MHZ),
111
    .LOCKED_OUT(CLK_64MHZ_LOCKED)
112
    );
113
 
114
wire[11:0] XCOORD, YCOORD;
115
wire L_BUTTON, R_BUTTON, M_BUTTON;
116
wire[8:0] TRIGGER_LEVEL;
117
Driver_mouse driver_MOUSE(
118
    .CLK_50MHZ(CLK_50MHZ), .MASTER_RST(MASTER_RST),
119
    .PS2C(PS2C), .PS2D(PS2D),
120
    .XCOORD(XCOORD), .YCOORD(YCOORD),
121
    .L_BUTTON(L_BUTTON), .M_BUTTON(M_BUTTON), .R_BUTTON(R_BUTTON)
122
    );
123
 
124
Driver_MouseInput Driver_MouseInput_inst(
125
    .CLK_50MHZ(CLK_50MHZ), .MASTER_RST(MASTER_RST),
126
    .XCOORD(XCOORD), .YCOORD(YCOORD),
127
    .L_BUTTON(L_BUTTON), .M_BUTTON(M_BUTTON), .R_BUTTON(R_BUTTON),
128
    .TRIGGER_LEVEL(TRIGGER_LEVEL),
129
    .TEST_in_range_Trig(TEST_in_range_Trig)
130
    );
131
 
132
 
133
 
134
wire[7:0] ADC_RAM_DATA;
135
wire[10:0] ADC_RAM_ADDR;
136
wire ADC_RAM_CLK;
137
wire[10:0] TRIG_ADDR;
138
wire VGA_WRITE_DONE;
139
ADCDataBuffer ram_ADC_databuffer(
140
    .CLK_64MHZ(CLK_64MHZ), .MASTER_RST(MASTER_RST),
141
    .CLK180_64MHZ(CLK180_64MHZ),
142
    .TIME_BASE(TIME_BASE),
143
    .RAM_ADDR(ADC_RAM_ADDR), .RAM_DATA(ADC_RAM_DATA), .RAM_CLK(ADC_RAM_CLK),
144
    .ADC_DATA(ADC_DATA), .ADC_CLK(ADC_CLK),
145
    .TRIG_ADDR(TRIG_ADDR), .VGA_WRITE_DONE(VGA_WRITE_DONE),
146
    .TRIGGER_LEVEL(TRIGGER_LEVEL)
147
    );
148
 
149
 
150
 
151
//wire[17:0] VGA_RAM_ADDRESS_w;
152
//wire[15:0] VGA_RAM_DATA_w;
153
wire VGA_RAM_OE_w, VGA_RAM_WE_w, VGA_RAM_CS_w;
154
wire[17:0] VGA_RAM_ADDRESS_r;
155
wire VGA_RAM_OE_r, VGA_RAM_WE_r, VGA_RAM_CS_r;
156
//wire VGA_RAM_ACCESS_OK;
157
 
158
assign VGA_RAM_ADDR = (VGA_RAM_ACCESS_OK) ? VGA_RAM_ADDRESS_w : VGA_RAM_ADDRESS_r;
159
assign VGA_RAM_DATA = (VGA_RAM_ACCESS_OK) ? VGA_RAM_DATA_w : 16'bZ;
160
assign VGA_RAM_OE = (VGA_RAM_ACCESS_OK) ? VGA_RAM_OE_w : VGA_RAM_OE_r;
161
assign VGA_RAM_WE = (VGA_RAM_ACCESS_OK) ? VGA_RAM_WE_w : VGA_RAM_WE_r;
162
assign VGA_RAM_CS = (VGA_RAM_ACCESS_OK) ? VGA_RAM_CS_w : VGA_RAM_CS_r;
163
 
164
VGADataBuffer ram_VGA_ramwrite(
165
    .CLK_50MHZ(CLK_50MHZ), .MASTER_RST(MASTER_RST),
166
    .VGA_RAM_DATA(VGA_RAM_DATA_w), .VGA_RAM_ADDR(VGA_RAM_ADDRESS_w),
167
    .VGA_RAM_OE(VGA_RAM_OE_w), .VGA_RAM_WE(VGA_RAM_WE_w), .VGA_RAM_CS(VGA_RAM_CS_w),
168
    .VGA_RAM_ACCESS_OK(VGA_RAM_ACCESS_OK),
169
    .ADC_RAM_DATA(ADC_RAM_DATA), .ADC_RAM_ADDR(ADC_RAM_ADDR), .ADC_RAM_CLK(ADC_RAM_CLK),
170
    .TIME_BASE(TIME_BASE),
171
    .TRIG_ADDR(TRIG_ADDR), .VGA_WRITE_DONE(VGA_WRITE_DONE)
172
    );
173
 
174
Driver_VGA driver_VGA(
175
    .CLK_50MHZ(CLK_50MHZ), .MASTER_RST(MASTER_RST),
176
    .H_SYNC(H_SYNC), .V_SYNC(V_SYNC), .VGA_OUTPUT(VGA_OUTPUT),
177
    .XCOORD(XCOORD), .YCOORD(YCOORD),
178
    .VGA_RAM_DATA(VGA_RAM_DATA), .VGA_RAM_ADDR(VGA_RAM_ADDRESS_r),
179
    .VGA_RAM_OE(VGA_RAM_OE_r), .VGA_RAM_WE(VGA_RAM_WE_r), .VGA_RAM_CS(VGA_RAM_CS_r),
180
    .VGA_RAM_ACCESS_OK(VGA_RAM_ACCESS_OK),
181
    .TRIGGER_LEVEL(TRIGGER_LEVEL),
182
    .SHOW_LEVELS(SHOW_LEVELS_BUTTON)
183
    );
184
 
185
 
186
 
187
 
188
 
189
 
190
//==================================================================//
191
// FUNCTIONAL DEFINITIONS                                           //
192
//==================================================================//
193
 
194
endmodule
195
 

powered by: WebSVN 2.1.0

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