CDL Modules
Files
crtc6845

Files

file  crtc6845.cdl
 CDL implementation of 6845 CRTC.
 

Detailed Description

Modules

module crtc6845::crtc6845 ( clock  clk_2MHz,
clock  clk_1MHz,
input bit  reset_n,
output bit  ma[14],
output bit  ra[5],
input bit  read_not_write,
input bit  chip_select_n,
input bit  rs,
input bit  data_in[8],
output bit  data_out[8],
input bit  lpstb_n,
input bit  crtc_clock_enable,
output bit  de,
output bit  cursor,
output bit  hsync,
output bit  vsync 
)

This is an implementation of the Motorola 6845 CRTC, which was used in the BBC microcomputer for sync and video memory address generation.

Parameters
[in]clk_2MHz2MHz clock that runs the memory interface and video sync output
[in]clk_1MHzClock that rises when the 'enable' of the 6845 completes - but a real clock for this model - used for the CPU interface
[in]reset_nActive low reset
[out]maMemory address
[out]raRow address
[in]read_not_writeIndicates a read transaction if asserted and chip selected
[in]chip_select_nActive low chip select
[in]rsRegister select - address line really
[in]data_inData in (from CPU) for writing
[out]data_outData out (to CPU) for reading
[in]lpstb_nLight pen strobe input, used to capture the memory address of the display when the CRT passes it; not much use nowadays
[in]crtc_clock_enableAn enable for clk_2MHz for the character clock - on the real chip this is actually a clock
[out]deDisplay enable output, asserted during horizontal display when vertical display is also permitted
[out]cursorDriven when the cursor is configured and the cursor address is matched
[out]hsyncHorizontal sync strobe, of configurable position and width
[out]vsyncVertical sync strobe, of configurable position and width