CDL Modules
|
Teletext framebuffer module with separate write and video sides. More...
Teletext framebuffer module with separate write and video sides.
Copyright (C) 2016-2017, Gavin J Stark. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
CDL implementation of a module that takes SRAM writes into a framebuffer, including a mapping to a dual-port SRAM (write on one side, read on the other), where the video side uses a teletext decoder and drives out vsync, hsync, data enable and pixel data.
The video side is asynchronous to the SRAM write side.
The video output side has a programmable horizontal period that starts with hsync high for one clock, and then has a programmable back porch, followed by a programmable number of pixels (with data out enabled only if on the correct vertical portion of the display), followed by a programmable front porch, repeating.
The video output side has a programmable vertical period that is in units of horizontal period; it starts with vsync high for one horizontal period, and then has a programmable front porch, followed by a programmable number of displayed lined, followed by a programmable front porch, repeating.
The video output start at a programmable base address in SRAM; moving down a line adds a programmable amount to the address in SRAM.
Data Structures | |
struct | framebuffer_teletext::t_video_state |
struct | framebuffer_teletext::t_pixel_combs |
struct | framebuffer_teletext::t_pixel_shift_register |
struct | framebuffer_teletext::t_pixel_state |
struct | framebuffer_teletext::t_sram_state |
struct | framebuffer_teletext::t_video_csrs |
struct | framebuffer_teletext::t_csrs |
Namespaces | |
framebuffer_teletext | |
Enumerations | |
enum | framebuffer_teletext::t_display_fsm { framebuffer_teletext::state_back_porch, framebuffer_teletext::state_display, framebuffer_teletext::state_front_porch } |
Variables | |
constant integer | framebuffer_teletext::cfg_downsize_x =0 |
constant integer | framebuffer_teletext::cfg_downsize_y =1 |
constant bit[16] | framebuffer_teletext::csr_select_default = bbc_csr_select_framebuffer |