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

Subversion Repositories vga_lcd

[/] [vga_lcd/] [trunk/] [rtl/] [verilog/] [vga_enh_top.v] - Diff between revs 33 and 43

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 33 Rev 43
Line 35... Line 35...
////                                                             ////
////                                                             ////
/////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////
 
 
//  CVS Log
//  CVS Log
//
//
//  $Id: vga_enh_top.v,v 1.2 2002-03-04 11:01:59 rherveille Exp $
//  $Id: vga_enh_top.v,v 1.3 2003-03-18 21:45:48 rherveille Exp $
//
//
//  $Date: 2002-03-04 11:01:59 $
//  $Date: 2003-03-18 21:45:48 $
//  $Revision: 1.2 $
//  $Revision: 1.3 $
//  $Author: rherveille $
//  $Author: rherveille $
//  $Locker:  $
//  $Locker:  $
//  $State: Exp $
//  $State: Exp $
//
//
// Change History:
// Change History:
//               $Log: not supported by cvs2svn $
//               $Log: not supported by cvs2svn $
 
//               Revision 1.2  2002/03/04 11:01:59  rherveille
 
//               Added 64x64pixels 4bpp hardware cursor support.
 
//
//               Revision 1.1  2002/02/07 05:42:10  rherveille
//               Revision 1.1  2002/02/07 05:42:10  rherveille
//               Fixed some bugs discovered by modified testbench
//               Fixed some bugs discovered by modified testbench
//               Removed / Changed some strange logic constructions
//               Removed / Changed some strange logic constructions
//               Started work on hardware cursor support (not finished yet)
//               Started work on hardware cursor support (not finished yet)
//               Changed top-level name to vga_enh_top.v
//               Changed top-level name to vga_enh_top.v
Line 57... Line 60...
`include "timescale.v"
`include "timescale.v"
`include "vga_defines.v"
`include "vga_defines.v"
 
 
module vga_enh_top (wb_clk_i, wb_rst_i, rst_i, wb_inta_o,
module vga_enh_top (wb_clk_i, wb_rst_i, rst_i, wb_inta_o,
                wbs_adr_i, wbs_dat_i, wbs_dat_o, wbs_sel_i, wbs_we_i, wbs_stb_i, wbs_cyc_i, wbs_ack_o, wbs_err_o,
                wbs_adr_i, wbs_dat_i, wbs_dat_o, wbs_sel_i, wbs_we_i, wbs_stb_i, wbs_cyc_i, wbs_ack_o, wbs_err_o,
                wbm_adr_o,      wbm_dat_i, wbm_cab_o,  wbm_sel_o, wbm_we_o, wbm_stb_o, wbm_cyc_o, wbm_ack_i, wbm_err_i,
        wbm_adr_o, wbm_dat_i, wbm_cti_o, wbm_bte_o, wbm_sel_o, wbm_we_o, wbm_stb_o, wbm_cyc_o, wbm_ack_i, wbm_err_i,
                clk_p_i, hsync_pad_o, vsync_pad_o, csync_pad_o, blank_pad_o, r_pad_o, g_pad_o, b_pad_o);
        clk_p_i, hsync_pad_o, vsync_pad_o, csync_pad_o, blank_pad_o, r_pad_o, g_pad_o, b_pad_o
 
        );
 
 
        //
        //
        // parameters
        // parameters
        //
        //
        parameter ARST_LVL = 1'b0;
        parameter ARST_LVL = 1'b0;
Line 94... Line 98...
        input  [31:0] wbm_dat_i;     // Master databus input
        input  [31:0] wbm_dat_i;     // Master databus input
        output [ 3:0] wbm_sel_o;     // byte select outputs
        output [ 3:0] wbm_sel_o;     // byte select outputs
        output        wbm_we_o;      // write enable output
        output        wbm_we_o;      // write enable output
        output        wbm_stb_o;     // strobe output
        output        wbm_stb_o;     // strobe output
        output        wbm_cyc_o;     // valid bus cycle output
        output        wbm_cyc_o;     // valid bus cycle output
        output        wbm_cab_o;     // continuos address burst output
        output [ 3:0] wbm_cti_o;     // cycle type identifier
 
        output [ 1:0] wbm_bte_o;     // burst type extensions
        input         wbm_ack_i;     // bus cycle acknowledge input
        input         wbm_ack_i;     // bus cycle acknowledge input
        input         wbm_err_i;     // bus cycle error input
        input         wbm_err_i;     // bus cycle error input
 
 
        // VGA signals
        // VGA signals
        input         clk_p_i;                   // pixel clock
        input         clk_p_i;                   // pixel clock
Line 140... Line 145...
        // from pixel generator
        // from pixel generator
        wire cgate; // composite gate signal
        wire cgate; // composite gate signal
        wire ihsync, ivsync, icsync, iblank; // intermediate horizontal/vertical/composite sync, intermediate blank
        wire ihsync, ivsync, icsync, iblank; // intermediate horizontal/vertical/composite sync, intermediate blank
 
 
        // line fifo connections
        // line fifo connections
        wire line_fifo_dpm_wreq;
        wire line_fifo_dpm_wreq, line_fifo_empty_rd;
        wire [23:0] line_fifo_dpm_d, line_fifo_dpm_q;
        wire [23:0] line_fifo_dpm_d, line_fifo_dpm_q;
 
 
        // clut connections
        // clut connections
        wire        ext_clut_req, ext_clut_ack;
        wire        ext_clut_req, ext_clut_ack;
        wire [23:0] ext_clut_q;
        wire [23:0] ext_clut_q;
Line 155... Line 160...
        //
        //
        // Module body
        // Module body
        //
        //
 
 
        // hookup wishbone slave
        // hookup wishbone slave
        vga_wb_slave u1 (
        vga_wb_slave wbs (
                // wishbone interface
                // wishbone interface
                .clk_i(wb_clk_i),
                .clk_i(wb_clk_i),
                .rst_i(wb_rst_i),
                .rst_i(wb_rst_i),
                .arst_i(arst),
                .arst_i(arst),
                .adr_i(wbs_adr_i[11:2]),
                .adr_i(wbs_adr_i[11:2]),
Line 220... Line 225...
                .clut_ack(ext_clut_ack),
                .clut_ack(ext_clut_ack),
                .clut_q(ext_clut_q)
                .clut_q(ext_clut_q)
        );
        );
 
 
        // hookup wishbone master
        // hookup wishbone master
        vga_wb_master u2 (
        vga_wb_master wbm (
                // wishbone interface
                // wishbone interface
                .clk_i(wb_clk_i),
                .clk_i(wb_clk_i),
                .rst_i(wb_rst_i),
                .rst_i(wb_rst_i),
                .nrst_i(arst),
                .nrst_i(arst),
                .cyc_o(wbm_cyc_o),
                .cyc_o(wbm_cyc_o),
                .stb_o(wbm_stb_o),
                .stb_o(wbm_stb_o),
                .cab_o(wbm_cab_o),
                .cti_o(wbm_cti_o),
 
                .bte_o(wbm_bte_o),
                .we_o(wbm_we_o),
                .we_o(wbm_we_o),
                .adr_o(wbm_adr_o),
                .adr_o(wbm_adr_o),
                .sel_o(wbm_sel_o),
                .sel_o(wbm_sel_o),
                .ack_i(wbm_ack_i),
                .ack_i(wbm_ack_i),
                .err_i(wbm_err_i),
                .err_i(wbm_err_i),
Line 300... Line 306...
                .dat1_o(ext_clut_q),
                .dat1_o(ext_clut_q),
                .we1_i(wbs_we_i)
                .we1_i(wbs_we_i)
        );
        );
 
 
        // hookup pixel and video timing generator
        // hookup pixel and video timing generator
        vga_pgen u3 (
        vga_pgen pixel_generator (
                .mclk(wb_clk_i),
                .mclk(wb_clk_i),
                .pclk(clk_p_i),
                .pclk(clk_p_i),
                .ctrl_ven(ctrl_ven),
                .ctrl_ven(ctrl_ven),
                .ctrl_HSyncL(ctrl_hsl),
                .ctrl_HSyncL(ctrl_hsl),
                .Thsync(Thsync),
                .Thsync(Thsync),
Line 336... Line 342...
                csync_pad_o <= #1 icsync;
                csync_pad_o <= #1 icsync;
                blank_pad_o <= #1 iblank;
                blank_pad_o <= #1 iblank;
        end
        end
 
 
        // hookup line-fifo
        // hookup line-fifo
        vga_fifo_dc #(LINE_FIFO_AWIDTH, 24) u4 (
        vga_fifo_dc #(LINE_FIFO_AWIDTH, 24) line_fifo (
                .rclk(clk_p_i),
                .rclk(clk_p_i),
                .wclk(wb_clk_i),
                .wclk(wb_clk_i),
                .aclr(ctrl_ven),
                .aclr(ctrl_ven),
                .wreq(line_fifo_dpm_wreq),
                .wreq(line_fifo_dpm_wreq),
                .d(line_fifo_dpm_d),
                .d(line_fifo_dpm_d),

powered by: WebSVN 2.1.0

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