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

Subversion Repositories ao486

[/] [ao486/] [trunk/] [sim/] [iverilog/] [vga/] [vga.txt] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 alfik
 
2
 
3
 
4
 
5
/*
6
// vga mode 0x04 40x25 320x200
7
 
8
wire seq_9pixel_char = 1'b0;
9
wire seq_dotclock_divided = 1'b1;
10
 
11
wire [7:0] crtc_horizontal_total          = 8'd45; // +5 real value
12
wire [7:0] crtc_horizontal_display_size   = 8'd39; // +1 for full display size
13
wire [7:0] crtc_horizontal_blanking_start = 8'd40; // start on this character
14
wire [5:0] crtc_horizontal_blanking_end   = 6'd48; // blank for 8 character clocks (one side); last 47; 48 first after
15
wire [7:0] crtc_horizontal_retrace_start  = 8'd43; // start on this
16
wire [4:0] crtc_horizontal_retrace_end    = 5'd0;  // retrace for 21 character clocks (one side); last 63; 64 first after
17
 
18
wire [9:0] crtc_vertical_total            = 10'd447;
19
wire [9:0] crtc_vertical_display_size     = 10'd399; // 0-399 active display = 400 lines
20
wire [9:0] crtc_vertical_blanking_start   = 10'd406; // starts on this line
21
wire [6:0] crtc_vertical_blanking_end     = 7'd57;  // 35 lines (one side); last 440; 441 first after
22
wire [9:0] crtc_vertical_retrace_start    = 10'd412; // starts on this line
23
wire [3:0] crtc_vertical_retrace_end      = 4'd14;  // 2 lines (one side); last 413; 414 first after
24
 
25
wire       crtc_vertical_doublescan       = 1'b1;
26
wire general_vsync = 1'b0; //pusle is ~(general_vsync)
27
wire general_hsync = 1'b1; //pusle is ~(general_vsync)
28
*/
29
 
30
/*
31
// vga mode 0x06 640x200
32
wire seq_9pixel_char = 1'b0;
33
wire seq_dotclock_divided = 1'b0;
34
 
35
wire [7:0] crtc_horizontal_total          = 8'd95; // +5 real value
36
wire [7:0] crtc_horizontal_display_size   = 8'd79; // +1 for full display size
37
wire [7:0] crtc_horizontal_blanking_start = 8'd80; // start on this character
38
wire [5:0] crtc_horizontal_blanking_end   = 6'd34; // blank for 18 character clocks (one side); last 97; 98 first after
39
wire [7:0] crtc_horizontal_retrace_start  = 8'd84; // start on this
40
wire [4:0] crtc_horizontal_retrace_end    = 5'd0;  // retrace for 12 character clocks (one side); last 95; 96 first after
41
 
42
wire [9:0] crtc_vertical_total            = 10'd447;
43
wire [9:0] crtc_vertical_display_size     = 10'd399; // 0-399 active display = 400 lines
44
wire [9:0] crtc_vertical_blanking_start   = 10'd406; // starts on this line
45
wire [6:0] crtc_vertical_blanking_end     = 7'd57;  // 35 lines (one side); last 440; 441 first after
46
wire [9:0] crtc_vertical_retrace_start    = 10'd412; // starts on this line
47
wire [3:0] crtc_vertical_retrace_end      = 4'd14;  // 2 lines (one side); last 413; 414 first after
48
 
49
wire       crtc_vertical_doublescan       = 1'b1;
50
wire general_vsync = 1'b0; //pusle is ~(general_vsync)
51
wire general_hsync = 1'b1; //pusle is ~(general_vsync)
52
*/
53
 
54
/*
55
// vga mode 0x07 720x400
56
wire seq_9pixel_char = 1'b1;
57
wire seq_dotclock_divided = 1'b0;
58
 
59
wire [7:0] crtc_horizontal_total          = 8'd95; // +5 real value
60
wire [7:0] crtc_horizontal_display_size   = 8'd79; // +1 for full display size
61
wire [7:0] crtc_horizontal_blanking_start = 8'd80; // start on this character
62
wire [5:0] crtc_horizontal_blanking_end   = 6'd34; // blank for 18 character clocks (one side); last 97; 98 first after
63
wire [7:0] crtc_horizontal_retrace_start  = 8'd85; // start on this
64
wire [4:0] crtc_horizontal_retrace_end    = 5'd1;  // retrace for 12 character clocks (one side); last 96; 97 first after
65
 
66
wire [9:0] crtc_vertical_total            = 10'd447;
67
wire [9:0] crtc_vertical_display_size     = 10'd399; // 0-399 active display = 400 lines
68
wire [9:0] crtc_vertical_blanking_start   = 10'd406; // starts on this line
69
wire [6:0] crtc_vertical_blanking_end     = 7'd57;  // 35 lines (one side); last 440; 441 first after
70
wire [9:0] crtc_vertical_retrace_start    = 10'd412; // starts on this line
71
wire [3:0] crtc_vertical_retrace_end      = 4'd14;  // 2 lines (one side); last 413; 414 first after
72
 
73
wire       crtc_vertical_doublescan       = 1'b0;
74
wire general_vsync = 1'b0; //pusle is ~(general_vsync)
75
wire general_hsync = 1'b1; //pusle is ~(general_vsync)
76
*/
77
 
78
/*
79
// vga mode 0x0d 320x200
80
wire seq_9pixel_char = 1'b0;
81
wire seq_dotclock_divided = 1'b1;
82
 
83
wire [7:0] crtc_horizontal_total          = 8'd45; // +5 real value
84
wire [7:0] crtc_horizontal_display_size   = 8'd39; // +1 for full display size
85
wire [7:0] crtc_horizontal_blanking_start = 8'd40; // start on this character
86
wire [5:0] crtc_horizontal_blanking_end   = 6'd48; // blank for 8 character clocks (one side); last 47; 48 first after
87
wire [7:0] crtc_horizontal_retrace_start  = 8'd43; // start on this
88
wire [4:0] crtc_horizontal_retrace_end    = 5'd0;  // retrace for 21 character clocks (one side); last 63; 64 first after
89
 
90
wire [9:0] crtc_vertical_total            = 10'd447;
91
wire [9:0] crtc_vertical_display_size     = 10'd399; // 0-399 active display = 400 lines
92
wire [9:0] crtc_vertical_blanking_start   = 10'd406; // starts on this line
93
wire [6:0] crtc_vertical_blanking_end     = 7'd57;  // 35 lines (one side); last 440; 441 first after
94
wire [9:0] crtc_vertical_retrace_start    = 10'd412; // starts on this line
95
wire [3:0] crtc_vertical_retrace_end      = 4'd14;  // 2 lines (one side); last 413; 414 first after
96
 
97
wire       crtc_vertical_doublescan       = 1'b1;
98
wire general_vsync = 1'b0; //pusle is ~(general_vsync)
99
wire general_hsync = 1'b1; //pusle is ~(general_vsync)
100
*/
101
 
102
/*
103
// vga mode 0x0e 640x200
104
wire seq_9pixel_char = 1'b0;
105
wire seq_dotclock_divided = 1'b0;
106
 
107
wire [7:0] crtc_horizontal_total          = 8'd95; // +5 real value
108
wire [7:0] crtc_horizontal_display_size   = 8'd79; // +1 for full display size
109
wire [7:0] crtc_horizontal_blanking_start = 8'd80; // start on this character
110
wire [5:0] crtc_horizontal_blanking_end   = 6'd34; // blank for 18 character clocks (one side); last 97; 98 first after
111
wire [7:0] crtc_horizontal_retrace_start  = 8'd84; // start on this
112
wire [4:0] crtc_horizontal_retrace_end    = 5'd0;  // retrace for 12 character clocks (one side); last 95; 96 first after
113
 
114
wire [9:0] crtc_vertical_total            = 10'd447;
115
wire [9:0] crtc_vertical_display_size     = 10'd399; // 0-399 active display = 400 lines
116
wire [9:0] crtc_vertical_blanking_start   = 10'd406; // starts on this line
117
wire [6:0] crtc_vertical_blanking_end     = 7'd57;  // 35 lines (one side); last 440; 441 first after
118
wire [9:0] crtc_vertical_retrace_start    = 10'd412; // starts on this line
119
wire [3:0] crtc_vertical_retrace_end      = 4'd14;  // 2 lines (one side); last 413; 414 first after
120
 
121
wire       crtc_vertical_doublescan       = 1'b1;
122
wire general_vsync = 1'b0; //pusle is ~(general_vsync)
123
wire general_hsync = 1'b1; //pusle is ~(general_vsync)
124
*/
125
 
126
/*
127
// vga mode 0x0f 640x350
128
wire seq_9pixel_char = 1'b0;
129
wire seq_dotclock_divided = 1'b0;
130
 
131
wire [7:0] crtc_horizontal_total          = 8'd95; // +5 real value
132
wire [7:0] crtc_horizontal_display_size   = 8'd79; // +1 for full display size
133
wire [7:0] crtc_horizontal_blanking_start = 8'd80; // start on this character
134
wire [5:0] crtc_horizontal_blanking_end   = 6'd34; // blank for 18 character clocks (one side); last 97; 98 first after
135
wire [7:0] crtc_horizontal_retrace_start  = 8'd84; // start on this
136
wire [4:0] crtc_horizontal_retrace_end    = 5'd0;  // retrace for 12 character clocks (one side); last 95; 96 first after
137
 
138
wire [9:0] crtc_vertical_total            = 10'd447;
139
wire [9:0] crtc_vertical_display_size     = 10'd349; // 0-349 active display = 350 lines
140
wire [9:0] crtc_vertical_blanking_start   = 10'd355; // starts on this line
141
wire [6:0] crtc_vertical_blanking_end     = 7'd58;  // 87 lines (one side); last 441; 442 first after
142
wire [9:0] crtc_vertical_retrace_start    = 10'd387; // starts on this line
143
wire [3:0] crtc_vertical_retrace_end      = 4'd5;  // 2 lines (one side); last 388; 389 first after
144
 
145
wire       crtc_vertical_doublescan       = 1'b0;
146
wire general_vsync = 1'b1; //pusle is ~(general_vsync)
147
wire general_hsync = 1'b0; //pusle is ~(general_vsync)
148
*/
149
 
150
/*
151
// vga mode 0x10 640x350
152
wire seq_9pixel_char = 1'b0;
153
wire seq_dotclock_divided = 1'b0;
154
 
155
wire [7:0] crtc_horizontal_total          = 8'd95; // +5 real value
156
wire [7:0] crtc_horizontal_display_size   = 8'd79; // +1 for full display size
157
wire [7:0] crtc_horizontal_blanking_start = 8'd80; // start on this character
158
wire [5:0] crtc_horizontal_blanking_end   = 6'd34; // blank for 18 character clocks (one side); last 97; 98 first after
159
wire [7:0] crtc_horizontal_retrace_start  = 8'd84; // start on this
160
wire [4:0] crtc_horizontal_retrace_end    = 5'd0;  // retrace for 12 character clocks (one side); last 95; 96 first after
161
 
162
wire [9:0] crtc_vertical_total            = 10'd447;
163
wire [9:0] crtc_vertical_display_size     = 10'd349; // 0-349 active display = 350 lines
164
wire [9:0] crtc_vertical_blanking_start   = 10'd355; // starts on this line
165
wire [6:0] crtc_vertical_blanking_end     = 7'd58;  // 87 lines (one side); last 441; 442 first after
166
wire [9:0] crtc_vertical_retrace_start    = 10'd387; // starts on this line
167
wire [3:0] crtc_vertical_retrace_end      = 4'd5;  // 2 lines (one side); last 388; 389 first after
168
 
169
wire       crtc_vertical_doublescan       = 1'b0;
170
wire general_vsync = 1'b1; //pusle is ~(general_vsync)
171
wire general_hsync = 1'b0; //pusle is ~(general_vsync)
172
*/
173
 
174
/*
175
// vga mode 0x01 360x400
176
wire seq_9pixel_char = 1'b1;
177
wire seq_dotclock_divided = 1'b1;
178
 
179
wire [7:0] crtc_horizontal_total          = 8'd45; // +5 real value
180
wire [7:0] crtc_horizontal_display_size   = 8'd39; // +1 for full display size
181
wire [7:0] crtc_horizontal_blanking_start = 8'd40; // start on this character
182
wire [5:0] crtc_horizontal_blanking_end   = 6'd48; // blank for 8 character clocks (one side); last 47; 48 first after
183
wire [7:0] crtc_horizontal_retrace_start  = 8'd43; // start on this
184
wire [4:0] crtc_horizontal_retrace_end    = 5'd0;  // retrace for 21 character clocks (one side); last 63; 64 first after
185
 
186
wire [9:0] crtc_vertical_total            = 10'd447;
187
wire [9:0] crtc_vertical_display_size     = 10'd399; // 0-399 active display = 400 lines
188
wire [9:0] crtc_vertical_blanking_start   = 10'd406; // starts on this line
189
wire [6:0] crtc_vertical_blanking_end     = 7'd57;  // 35 lines (one side); last 440; 441 first after
190
wire [9:0] crtc_vertical_retrace_start    = 10'd412; // starts on this line
191
wire [3:0] crtc_vertical_retrace_end      = 4'd14;  // 2 lines (one side); last 413; 414 first after
192
 
193
wire       crtc_vertical_doublescan       = 1'b0;
194
wire general_vsync = 1'b0; //pusle is ~(general_vsync)
195
wire general_hsync = 1'b1; //pusle is ~(general_vsync)
196
*/
197
/*
198
// vga mode 0x03 720x400
199
wire seq_9pixel_char = 1'b1;
200
wire seq_dotclock_divided = 1'b0;
201
 
202
wire [7:0] crtc_horizontal_total          = 8'd95; // +5 real value
203
wire [7:0] crtc_horizontal_display_size   = 8'd79; // +1 for full display size
204
wire [7:0] crtc_horizontal_blanking_start = 8'd80; // start on this character
205
wire [5:0] crtc_horizontal_blanking_end   = 6'd34; // blank for 18 character clocks (one side); last 97; 98 first after
206
wire [7:0] crtc_horizontal_retrace_start  = 8'd85; // start on this
207
wire [4:0] crtc_horizontal_retrace_end    = 5'd1;  // retrace for 12 character clocks (one side); last 96; 97 first after
208
 
209
wire [9:0] crtc_vertical_total            = 10'd447;
210
wire [9:0] crtc_vertical_display_size     = 10'd399; // 0-399 active display = 400 lines
211
wire [9:0] crtc_vertical_blanking_start   = 10'd406; // starts on this line
212
wire [6:0] crtc_vertical_blanking_end     = 7'd57;  // 35 lines (one side); last 440; 441 first after
213
wire [9:0] crtc_vertical_retrace_start    = 10'd412; // starts on this line
214
wire [3:0] crtc_vertical_retrace_end      = 4'd14;  // 2 lines (one side); last 413; 414 first after
215
 
216
wire       crtc_vertical_doublescan       = 1'b0;
217
wire general_vsync = 1'b0; //pusle is ~(general_vsync)
218
wire general_hsync = 1'b1; //pusle is ~(general_vsync)
219
*/
220
 
221
/*
222
// vga mode 0x07 720x400
223
wire seq_9pixel_char = 1'b1;
224
wire seq_dotclock_divided = 1'b0;
225
 
226
wire [7:0] crtc_horizontal_total          = 8'd95; // +5 real value
227
wire [7:0] crtc_horizontal_display_size   = 8'd79; // +1 for full display size
228
wire [7:0] crtc_horizontal_blanking_start = 8'd80; // start on this character
229
wire [5:0] crtc_horizontal_blanking_end   = 6'd34; // blank for 18 character clocks (one side); last 97; 98 first after
230
wire [7:0] crtc_horizontal_retrace_start  = 8'd85; // start on this
231
wire [4:0] crtc_horizontal_retrace_end    = 5'd1;  // retrace for 12 character clocks (one side); last 96; 97 first after
232
 
233
wire [9:0] crtc_vertical_total            = 10'd447;
234
wire [9:0] crtc_vertical_display_size     = 10'd399; // 0-399 active display = 400 lines
235
wire [9:0] crtc_vertical_blanking_start   = 10'd406; // starts on this line
236
wire [6:0] crtc_vertical_blanking_end     = 7'd57;  // 35 lines (one side); last 440; 441 first after
237
wire [9:0] crtc_vertical_retrace_start    = 10'd412; // starts on this line
238
wire [3:0] crtc_vertical_retrace_end      = 4'd14;  // 2 lines (one side); last 413; 414 first after
239
 
240
wire       crtc_vertical_doublescan       = 1'b0;
241
wire general_vsync = 1'b0; //pusle is ~(general_vsync)
242
wire general_hsync = 1'b1; //pusle is ~(general_vsync)
243
*/
244
 
245
/*
246
// vga mode 0x11 640x480
247
wire seq_9pixel_char = 1'b0;
248
wire seq_dotclock_divided = 1'b0;
249
 
250
wire [7:0] crtc_horizontal_total          = 8'd95; // +5 real value
251
wire [7:0] crtc_horizontal_display_size   = 8'd79; // +1 for full display size
252
wire [7:0] crtc_horizontal_blanking_start = 8'd80; // start on this character
253
wire [5:0] crtc_horizontal_blanking_end   = 6'd34; // blank for 18 character clocks (one side); last 97; 98 first after
254
wire [7:0] crtc_horizontal_retrace_start  = 8'd84; // start on this
255
wire [4:0] crtc_horizontal_retrace_end    = 5'd0;  // retrace for 12 character clocks (one side); last 95; 96 first after
256
 
257
wire [9:0] crtc_vertical_total            = 10'd523;
258
wire [9:0] crtc_vertical_display_size     = 10'd479; // 0-479 active display = 480 lines
259
wire [9:0] crtc_vertical_blanking_start   = 10'd487; // starts on this line
260
wire [6:0] crtc_vertical_blanking_end     = 7'd4;  // 29 lines (one side); last 515; 516 first after
261
wire [9:0] crtc_vertical_retrace_start    = 10'd490; // starts on this line
262
wire [3:0] crtc_vertical_retrace_end      = 4'd12;  // 2 lines (one side); last 491; 492 first after
263
 
264
wire       crtc_vertical_doublescan       = 1'b0;
265
wire general_vsync = 1'b1; //pusle is ~(general_vsync)
266
wire general_hsync = 1'b1; //pusle is ~(general_vsync)
267
*/
268
 
269
/*
270
// vga mode 0x12 640x480
271
wire seq_9pixel_char = 1'b0;
272
wire seq_dotclock_divided = 1'b0;
273
 
274
wire [7:0] crtc_horizontal_total          = 8'd95; // +5 real value
275
wire [7:0] crtc_horizontal_display_size   = 8'd79; // +1 for full display size
276
wire [7:0] crtc_horizontal_blanking_start = 8'd80; // start on this character
277
wire [5:0] crtc_horizontal_blanking_end   = 6'd34; // blank for 18 character clocks (one side); last 97; 98 first after
278
wire [7:0] crtc_horizontal_retrace_start  = 8'd84; // start on this
279
wire [4:0] crtc_horizontal_retrace_end    = 5'd0;  // retrace for 12 character clocks (one side); last 95; 96 first after
280
 
281
wire [9:0] crtc_vertical_total            = 10'd523;
282
wire [9:0] crtc_vertical_display_size     = 10'd479; // 0-479 active display = 480 lines
283
wire [9:0] crtc_vertical_blanking_start   = 10'd487; // starts on this line
284
wire [6:0] crtc_vertical_blanking_end     = 7'd4;  // 29 lines (one side); last 515; 516 first after
285
wire [9:0] crtc_vertical_retrace_start    = 10'd490; // starts on this line
286
wire [3:0] crtc_vertical_retrace_end      = 4'd12;  // 2 lines (one side); last 491; 492 first after
287
 
288
wire       crtc_vertical_doublescan       = 1'b0;
289
wire general_vsync = 1'b1; //pusle is ~(general_vsync)
290
wire general_hsync = 1'b1; //pusle is ~(general_vsync)
291
*/
292
 
293
/*
294
// vga mode 0x13 320x200
295
wire seq_9pixel_char = 1'b0;
296
wire seq_dotclock_divided = 1'b0;
297
 
298
wire [7:0] crtc_horizontal_total          = 8'd95; // +5 real value
299
wire [7:0] crtc_horizontal_display_size   = 8'd79; // +1 for full display size
300
wire [7:0] crtc_horizontal_blanking_start = 8'd80; // start on this character
301
wire [5:0] crtc_horizontal_blanking_end   = 6'd34; // blank for 18 character clocks (one side); last 97; 98 first after
302
wire [7:0] crtc_horizontal_retrace_start  = 8'd84; // start on this
303
wire [4:0] crtc_horizontal_retrace_end    = 5'd0;  // retrace for 12 character clocks (one side); last 95; 96 first after
304
 
305
wire [9:0] crtc_vertical_total            = 10'd447;
306
wire [9:0] crtc_vertical_display_size     = 10'd399; // 0-399 active display = 400 lines
307
wire [9:0] crtc_vertical_blanking_start   = 10'd406; // starts on this line
308
wire [6:0] crtc_vertical_blanking_end     = 7'd57;  // 35 lines (one side); last 440; 441 first after
309
wire [9:0] crtc_vertical_retrace_start    = 10'd412; // starts on this line
310
wire [3:0] crtc_vertical_retrace_end      = 4'd14;  // 2 lines (one side); last 413; 414 first after
311
 
312
wire       crtc_vertical_doublescan       = 1'b0;
313
wire general_vsync = 1'b0; //pusle is ~(general_vsync)
314
wire general_hsync = 1'b1; //pusle is ~(general_vsync)
315
*/
316
 
317
/*
318
// vga mode 0x6a 800x600
319
wire seq_9pixel_char = 1'b0;
320
wire seq_dotclock_divided = 1'b0;
321
 
322
wire [7:0] crtc_horizontal_total          = 8'd127; // +5 real value
323
wire [7:0] crtc_horizontal_display_size   = 8'd99; // +1 for full display size
324
wire [7:0] crtc_horizontal_blanking_start = 8'd99; // start on this character
325
wire [5:0] crtc_horizontal_blanking_end   = 6'd3; // blank for 32 character clocks (one side); last 130; 131 first after
326
wire [7:0] crtc_horizontal_retrace_start  = 8'd107; // start on this
327
wire [4:0] crtc_horizontal_retrace_end    = 5'd27;  // retrace for 16 character clocks (one side); last 122; 123 first after
328
 
329
wire [9:0] crtc_vertical_total            = 10'd626;
330
wire [9:0] crtc_vertical_display_size     = 10'd599; // 0-599 active display = 600 lines
331
wire [9:0] crtc_vertical_blanking_start   = 10'd599; // starts on this line
332
wire [6:0] crtc_vertical_blanking_end     = 7'd115;  // 28 lines (one side); last 626; 627 first after
333
wire [9:0] crtc_vertical_retrace_start    = 10'd601; // starts on this line
334
wire [3:0] crtc_vertical_retrace_end      = 4'd13;  // 4 lines (one side); last 604; 605 first after
335
 
336
wire       crtc_vertical_doublescan       = 1'b0;
337
wire general_vsync = 1'b1; //pusle is ~(general_vsync)
338
wire general_hsync = 1'b1; //pusle is ~(general_vsync)
339
*/

powered by: WebSVN 2.1.0

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