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

Subversion Repositories alternascope

[/] [alternascope/] [trunk/] [VGA/] [d_VgaRamBuffer.v] - Diff between revs 17 and 21

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

Rev 17 Rev 21
Line 12... Line 12...
module VGADataBuffer(
module VGADataBuffer(
    CLK_50MHZ, MASTER_RST,
    CLK_50MHZ, MASTER_RST,
    VGA_RAM_DATA, VGA_RAM_ADDR, VGA_RAM_OE, VGA_RAM_WE, VGA_RAM_CS,
    VGA_RAM_DATA, VGA_RAM_ADDR, VGA_RAM_OE, VGA_RAM_WE, VGA_RAM_CS,
    VGA_RAM_ACCESS_OK,
    VGA_RAM_ACCESS_OK,
    ADC_RAM_DATA, ADC_RAM_ADDR, ADC_RAM_CLK,
    ADC_RAM_DATA, ADC_RAM_ADDR, ADC_RAM_CLK,
    TIME_BASE,
    TIME_BASE
    TRIG_ADDR, VGA_WRITE_DONE
 
    );
    );
//==================================================================//
//==================================================================//
// VARIABLE DEFINITIONS                                             //
// VARIABLE DEFINITIONS                                             //
//==================================================================//
//==================================================================//
//----------------------//
//----------------------//
Line 29... Line 28...
output[15:0] VGA_RAM_DATA;
output[15:0] VGA_RAM_DATA;
output[17:0] VGA_RAM_ADDR;
output[17:0] VGA_RAM_ADDR;
output       VGA_RAM_OE, VGA_RAM_WE, VGA_RAM_CS;
output       VGA_RAM_OE, VGA_RAM_WE, VGA_RAM_CS;
input        VGA_RAM_ACCESS_OK;
input        VGA_RAM_ACCESS_OK;
 
 
input[7:0]   ADC_RAM_DATA;
input[8:0]   ADC_RAM_DATA;
output[10:0] ADC_RAM_ADDR;
output[10:0] ADC_RAM_ADDR;
output       ADC_RAM_CLK;
output       ADC_RAM_CLK;
 
 
input[5:0] TIME_BASE;
input[5:0] TIME_BASE;
 
 
output      VGA_WRITE_DONE;
 
input[10:0] TRIG_ADDR;
 
 
 
 
 
//----------------------//
//----------------------//
// WIRES / NODES        //
// WIRES / NODES        //
//----------------------//
//----------------------//
wire CLK_50MHZ;                // System wide clock
wire CLK_50MHZ;                // System wide clock
wire MASTER_RST;               // System wide reset
wire MASTER_RST;               // System wide reset
wire[15:0] VGA_RAM_DATA;
wire[15:0] VGA_RAM_DATA;
reg[17:0] VGA_RAM_ADDR;
reg[17:0] VGA_RAM_ADDR;
reg VGA_RAM_OE, VGA_RAM_WE, VGA_RAM_CS;
reg VGA_RAM_OE, VGA_RAM_WE, VGA_RAM_CS;
wire  VGA_RAM_ACCESS_OK;
wire  VGA_RAM_ACCESS_OK;
wire[7:0] ADC_RAM_DATA;
wire[8:0] ADC_RAM_DATA;
reg[10:0] ADC_RAM_ADDR;
reg[10:0] ADC_RAM_ADDR;
wire ADC_RAM_CLK;
wire ADC_RAM_CLK;
wire[5:0] TIME_BASE;
wire[5:0] TIME_BASE;
reg VGA_WRITE_DONE;
 
wire[10:0] TRIG_ADDR;
 
 
 
 
 
//----------------------//
//----------------------//
// REGISTERS            //
// REGISTERS            //
//----------------------//
//----------------------//
Line 97... Line 90...
    end else begin
    end else begin
        hcnt <= 10'b0;
        hcnt <= 10'b0;
    end
    end
end
end
 
 
/* VGA_WRITE_DONE -> BASED ON hcnt */
 
always @ (hcnt) begin
 
    if(hcnt == 10'd640)
 
        VGA_WRITE_DONE = 1'b1;
 
    else
 
        VGA_WRITE_DONE = 1'b0;
 
end
 
 
 
/* TRIG_ADDR modified */
 
always @ (TRIG_ADDR) begin
 
    if(TRIG_ADDR < 10'd320)
 
        TRIG_ADDR_buffered = (11'd2047 - 10'd320) - TRIG_ADDR;
 
    else
 
        TRIG_ADDR_buffered = TRIG_ADDR;
 
end
 
 
 
 
 
always @ (posedge CLK_50MHZ or posedge MASTER_RST) begin
always @ (posedge CLK_50MHZ or posedge MASTER_RST) begin
    if(MASTER_RST == 1'b1) begin
    if(MASTER_RST == 1'b1) begin
        ADC_RAM_ADDR <= 11'b0;
        ADC_RAM_ADDR <= 11'b0;
    end else if(VGA_RAM_ACCESS_OK) begin
    end else if(VGA_RAM_ACCESS_OK) begin
        if((hcnt == 10'd640) || !(vcnt == 5'd24))
        if((hcnt == 10'd640) || !(vcnt == 5'd24))
            ADC_RAM_ADDR <= ADC_RAM_ADDR;
            ADC_RAM_ADDR <= ADC_RAM_ADDR;
        else
        else
            ADC_RAM_ADDR <= ADC_RAM_ADDR + 1'b1;
            ADC_RAM_ADDR <= ADC_RAM_ADDR + 1'b1;
    end else begin
    end else begin
        ADC_RAM_ADDR <= TRIG_ADDR_buffered;
        ADC_RAM_ADDR <= 11'd1727;
    end
    end
end
end
 
 
reg[7:0] TESTING_CNT;
reg[7:0] TESTING_CNT;
always @ (posedge CLK_50MHZ or posedge MASTER_RST) begin
always @ (posedge CLK_50MHZ or posedge MASTER_RST) begin

powered by: WebSVN 2.1.0

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