Home -- Hierarchy -- Packages -- Entities -- Instantiations -- Sources |
Implements a text based Colour Video Display Unit for System09
Defined in VHDL/vdu8.vhd
Authors: Bert Cuzeau and John E. Kent
Version: 0.4 from 2010-07-03
Supports 2KByte Text buffer and 2KByte Attribute memory. Displays 80 characters across by 25 character rows. Characters are 8 pixels across x 16 lines down. Character attribute bits for foreground and backgrond colour. 1 bit for each Blue Green and Red signal. Supports 2 x 8 chunky graphics character mode. Uses Generic arguments for setting the video synchronization timing.
library IEEE | |
use IEEE.numeric_std.all | |
use IEEE.std_logic_1164.all |
HOR_DISP_CHR | integer | := VGA_HOR_CHARS |
HOR_DISP_END | integer | := (HOR_DISP_CHR * VGA_HOR_CHAR_PIXELS) - 1 |
HOR_SYNC_BEG | integer | := HOR_DISP_END + VGA_HOR_FRONT_PORCH |
HOR_SYNC_END | integer | := HOR_SYNC_BEG + VGA_HOR_SYNC |
HOR_SCAN_END | integer | := HOR_SYNC_END + VGA_HOR_BACK_PORCH |
VER_DISP_CHR | integer | := VGA_VER_CHARS |
VER_DISP_END | integer | := (VER_DISP_CHR * VGA_VER_CHAR_LINES) - 1 |
VER_SYNC_BEG | integer | := VER_DISP_END + VGA_VER_FRONT_PORCH |
VER_SYNC_END | integer | := VER_SYNC_BEG + VGA_VER_SYNC |
VER_SCAN_END | integer | := VER_SYNC_END + VGA_VER_BACK_PORCH |
char_rom | ||||
Block Ram Character gen | ||||
Default binding: work.char_rom | ||||
ram_2k | ||||
Default binding: work.ram_2k |
vga_cpu_write (vdu_clk, vdu_rst) | ||||
CPU Write interface | ||||
vga_cpu_read (vdu_addr, vdu_cs, reg_character, reg_colour, reg_hcursor, reg_vcursor, reg_voffset) | ||||
CPU Read interface | ||||
vga_addr_proc (vga_clk, vdu_rst) | ||||
Video memory access | ||||
vga_shift_proc ( vga_clk, vdu_rst) | ||||
Video shift register | ||||
vga_sync (vga_clk) | ||||
Sync generator & timing process Generate Horizontal and Vertical Timing Signals for Video Signal |
vdu_char_rom : char_rom | ||||
Binding: work.char_rom (rtl) | ||||
char_buff_ram : ram_2k | ||||
Character buffer RAM | ||||
Binding: work.ram_2k (rtl) | ||||
attr_buff_ram : ram_2k | ||||
Attribute buffer RAM | ||||
Binding: work.ram_2k (rtl) |