URL
https://opencores.org/ocsvn/socgen/socgen/trunk
Subversion Repositories socgen
Compare Revisions
- This comparison shows the changes necessary to convert path
/socgen/trunk/Projects/opencores.org/logic/ip/vga_char_ctrl/rtl/verilog
- from Rev 131 to Rev 134
- ↔ Reverse comparison
Rev 131 → Rev 134
/copyright.v
File deleted
/char_display
6,8 → 6,6
( |
input wire clk, |
input wire reset, |
input wire [6:0] char_column, // character number on the current line |
input wire [6:0] char_line, // line number on the screen |
input wire [2:0] subchar_line, // the line number within a character block 0-8 |
input wire [2:0] subchar_pixel, // the pixel number within a character block 0-8 |
|
15,10 → 13,11
|
output wire pixel_on, |
|
output reg [13:0] char_read_addr, |
input wire [13:0] char_read_addr, |
|
input wire [13:0] char_write_addr, |
input wire [7:0] char_write_data, |
input wire [7:0] char_gen_rom_data, |
input wire char_write_enable |
|
); |
25,17 → 24,6
|
|
|
|
|
|
always @ (*) |
begin |
char_read_addr = (char_line[6:0] * H_ACTIVE / 8 ) + {7'b0000000,char_column[6:0]}; |
end |
|
|
|
|
// the character generator block includes the character RAM |
// and the character generator ROM |
`VARIANT`CHAR_GEN |
50,6 → 38,7
.char_read_addr ( char_read_addr ), // read address of current character |
.subchar_line ( subchar_line ), // current line of pixels within current character |
.subchar_pixel ( subchar_pixel ), // current column of pixels withing current character |
.char_gen_rom_data ( char_gen_rom_data ), |
.pixel_on ( pixel_on ), |
.ascii_code ( ascii_code ) |
); |
/char_gen
15,6 → 15,8
|
input wire [7:0] ascii_code, |
|
input wire [7:0] char_gen_rom_data, |
|
output reg pixel_on |
|
); |
30,35 → 32,11
|
|
|
wire [10:0] chargen_rom_address = {ascii_code[7:0], subchar_line[2:0]}; |
wire [7:0] char_gen_rom_data; |
|
|
|
// instantiate the character generator ROM |
|
|
cde_sram_dp #( |
.ADDR (11), |
.WIDTH (8), |
.WORDS (1152) |
) |
char_gen_rom |
( |
.clk ( clk ), |
.cs (1'b1 ), |
.waddr (11'b00000000000 ), |
.raddr ( chargen_rom_address), |
.wr (1'b0 ), |
.rd (1'b1 ), |
.wdata (8'h00 ), |
.rdata ( char_gen_rom_data[7:0] ) |
); |
|
|
|
|
|
// LATCH THE CHARTACTER DATA FROM THE CHAR GEN ROM AND CREATE A SERIAL CHAR DATA STREAM |
always @ (posedge clk )begin |
if (reset) begin |
/copyright
0,0 → 1,38
//////////////////////////////////////////////////////////////////// |
// -------------- // |
// / SOC \ // |
// / GEN \ // |
// / COMPONENT \ // |
// ==================== // |
// |digital done right| // |
// |__________________| // |
// // |
// // |
// // |
// Copyright (C) <2009> <Ouabache DesignWorks> // |
// // |
// // |
// This source file may be used and distributed without // |
// restriction provided that this copyright statement is not // |
// removed from the file and that any derivative work contains // |
// the original copyright notice and the associated disclaimer. // |
// // |
// This source file is free software; you can redistribute it // |
// and/or modify it under the terms of the GNU Lesser General // |
// Public License as published by the Free Software Foundation; // |
// either version 2.1 of the License, or (at your option) any // |
// later version. // |
// // |
// This source is distributed in the hope that it will be // |
// useful, but WITHOUT ANY WARRANTY; without even the implied // |
// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR // |
// PURPOSE. See the GNU Lesser General Public License for more // |
// details. // |
// // |
// You should have received a copy of the GNU Lesser General // |
// Public License along with this source; if not, download it // |
// from http://www.opencores.org/lgpl.shtml // |
// // |
//////////////////////////////////////////////////////////////////// |
|
|
/top.body
28,18 → 28,17
#(.H_ACTIVE(H_ACTIVE)) |
CHAR_DISPLAY |
( |
.clk ( clk ), |
.reset ( reset ), |
.char_column ( char_column ), |
.char_line ( char_line ), |
.subchar_line ( subchar_line ), |
.subchar_pixel ( subchar_pixel ), |
.pixel_on ( pixel_on ), |
.char_read_addr ( char_read_addr), |
.char_write_addr ( address ), |
.char_write_data ( wdata ), |
.char_write_enable ( ascii_load ), |
.ascii_code ( ascii_code ) |
.clk ( clk ), |
.reset ( reset ), |
.subchar_line ( subchar_line ), |
.subchar_pixel ( subchar_pixel ), |
.pixel_on ( pixel_on ), |
.char_read_addr ( char_read_addr ), |
.char_write_addr ( address ), |
.char_write_data ( wdata ), |
.char_gen_rom_data ( char_gen_rom_data ), |
.char_write_enable ( ascii_load ), |
.ascii_code ( ascii_code ) |
|
); |
|
111,3 → 110,10
if(ascii_load) address <= address+ 14'b0000000000001; |
else address <= address; |
|
always @ (*) |
begin |
char_read_addr = (char_line[6:0] * H_ACTIVE / 8 ) + {7'b0000000,char_column[6:0]}; |
end |
|
|
assign chargen_rom_address = {ascii_code[7:0], subchar_line[2:0]}; |