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

Subversion Repositories alternascope

[/] [alternascope/] [trunk/] [VGA/] [d_VGAdriver.v] - Diff between revs 14 and 17

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

Rev 14 Rev 17
Line 35... Line 35...
    CLK_VGA,
    CLK_VGA,
    VGA_RAM_DATA, VGA_RAM_ADDR,
    VGA_RAM_DATA, VGA_RAM_ADDR,
    VGA_RAM_OE, VGA_RAM_WE, VGA_RAM_CS,
    VGA_RAM_OE, VGA_RAM_WE, VGA_RAM_CS,
    VGA_RAM_ACCESS_OK,
    VGA_RAM_ACCESS_OK,
    H_SYNC, V_SYNC, VGA_OUTPUT,
    H_SYNC, V_SYNC, VGA_OUTPUT,
    XCOORD, YCOORD, ram_vshift,
    XCOORD, YCOORD,
    TRIGGER_LEVEL,
    TRIGGER_LEVEL,
    SHOW_LEVELS,
    SHOW_LEVELS,
    HCNT, VCNT,
    HCNT, VCNT,
    RGB_CHAR
    RGB_CHAR
    );
    );
Line 174... Line 174...
    end else if(SHOW_LEVELS == 1'b1 && vcnt == (TRIGGER_LEVEL+1'b1) && hcnt >= 10'd556 && hcnt <= 10'd558) begin
    end else if(SHOW_LEVELS == 1'b1 && vcnt == (TRIGGER_LEVEL+1'b1) && hcnt >= 10'd556 && hcnt <= 10'd558) begin
        VGA_OUTPUT = P_yellow;
        VGA_OUTPUT = P_yellow;
    end else if(SHOW_LEVELS == 1'b1 && vcnt == (TRIGGER_LEVEL-1'b1) && hcnt == 10'd557) begin
    end else if(SHOW_LEVELS == 1'b1 && vcnt == (TRIGGER_LEVEL-1'b1) && hcnt == 10'd557) begin
        VGA_OUTPUT = P_yellow;
        VGA_OUTPUT = P_yellow;
    //------------------------------------------------------------------------------//
    //------------------------------------------------------------------------------//
    // MOVE THE WAVEFORM TO THE 'TOP'                                               //
 
    end else if(vga_out != 0) begin
 
        VGA_OUTPUT = vga_out;
 
    //------------------------------------------------------------------------------//
 
    // TOP, BOTTOM, LEFT AND RIGHT GRID LINES                                       //
    // TOP, BOTTOM, LEFT AND RIGHT GRID LINES                                       //
    end else if(vcnt == 10'd0 || vcnt == 10'd399 || vcnt == 10'd441) begin
    end else if(vcnt == 10'd0 || vcnt == 10'd399 || vcnt == 10'd441) begin
        VGA_OUTPUT = P_cyan;
        VGA_OUTPUT = P_cyan;
    end else if(hcnt == 10'd0 || hcnt == 10'd639) begin
    end else if(hcnt == 10'd0 || hcnt == 10'd639) begin
        VGA_OUTPUT = P_cyan;
        VGA_OUTPUT = P_cyan;
    //------------------------------------------------------------------------------//
    //------------------------------------------------------------------------------//
 
    // CHARACTER DISPLAY
 
    end else if(vcnt <= 10'd520 && vcnt >= 10'd441) begin
 
        VGA_OUTPUT = RGB_CHAR;
 
    //------------------------------------------------------------------------------//
 
    // THE WAVEFORM                                                                 //
 
    end else if(vga_out != 0) begin
 
        VGA_OUTPUT = vga_out;
 
    //------------------------------------------------------------------------------//
    // MIDDLE GRID LINES (dashed at 8pxls)                                          //
    // MIDDLE GRID LINES (dashed at 8pxls)                                          //
    end else if(vcnt == 10'd199 && hcnt[3] == 1'b1) begin
    end else if(vcnt == 10'd199 && hcnt[3] == 1'b1) begin
        VGA_OUTPUT = P_cyan;
        VGA_OUTPUT = P_cyan;
    end else if((hcnt == 10'd319) && (vcnt <= 10'd399) && (vcnt[3] == 1'b1)) begin
    end else if((hcnt == 10'd319) && (vcnt <= 10'd399) && (vcnt[3] == 1'b1)) begin
        VGA_OUTPUT = P_cyan;
        VGA_OUTPUT = P_cyan;
Line 198... Line 202...
    //------------------------------------------------------------------------------//
    //------------------------------------------------------------------------------//
    // OTHER VERTICAL LINES (dashed at 4pxls)                                       //
    // OTHER VERTICAL LINES (dashed at 4pxls)                                       //
    end else if(((hcnt[5:0] == 6'b111111) && (vcnt <= 10'd399)) && (vcnt[2] == 1'b1)) begin
    end else if(((hcnt[5:0] == 6'b111111) && (vcnt <= 10'd399)) && (vcnt[2] == 1'b1)) begin
        VGA_OUTPUT = P_cyan;
        VGA_OUTPUT = P_cyan;
    //------------------------------------------------------------------------------//
    //------------------------------------------------------------------------------//
    // CHARACTER DISPLAY
 
    end else if(vcnt <= 10'd520 && vcnt >= 10'd441) begin
 
        VGA_OUTPUT = RGB_CHAR;
 
    //------------------------------------------------------------------------------//
 
    // OTHERWISE...                                                                 //
    // OTHERWISE...                                                                 //
    end else
    end else
        VGA_OUTPUT = P_black;
        VGA_OUTPUT = P_black;
end
end
 
 
Line 226... Line 226...
always @ (posedge CLK_25MHZ or posedge MASTER_RST) begin
always @ (posedge CLK_25MHZ or posedge MASTER_RST) begin
    if(MASTER_RST == 1'b1) begin
    if(MASTER_RST == 1'b1) begin
        ram_vshift <= 16'h8000;
        ram_vshift <= 16'h8000;
    end else if(vcnt > 10'd399) begin
    end else if(vcnt > 10'd399) begin
        ram_vshift <= 16'h8000;
        ram_vshift <= 16'h8000;
    end else if((vcnt <= 10'd399) && (hcnt == 10'd655)) begin
    end else if(/*(vcnt <= 10'd399) && */(hcnt == 10'd640)) begin
        if(ram_vshift == 16'h0001)
        if(ram_vshift == 16'h0001)
            ram_vshift <= 16'h8000;
            ram_vshift <= 16'h8000;
        else
        else
            ram_vshift <= (ram_vshift >> 1);
            ram_vshift <= (ram_vshift >> 1);
    end else
    end else
        ram_vshift <= ram_vshift;
        ram_vshift <= ram_vshift;
end
end
 
 
always @ (posedge CLK_25MHZ or posedge MASTER_RST) begin
always @ (posedge CLK_25MHZ or posedge MASTER_RST) begin
    if(MASTER_RST == 1'b1) begin
    if(MASTER_RST == 1'b1) begin
        ram_vcnt <= 5'd0;
        ram_vcnt <= 5'd24;//5'b0
    end else if(vcnt < 10'd30) begin
    end else if(vcnt > 10'd399) begin
        ram_vcnt <= 5'd0;
        ram_vcnt <= 5'd24;
    end else if((vcnt >= 10'd30) && (hcnt == 10'd655) && (ram_vshift == 16'h0001)) begin
    end else if(/*(vcnt >= 10'd30) &&*/ (hcnt == 10'd640) && (ram_vshift == 16'h0001)) begin
        if(ram_vcnt == 5'd0)
        if(ram_vcnt == 5'd0)
            ram_vcnt <= 5'd24;
            ram_vcnt <= 5'd24;
else
else
            ram_vcnt <= ram_vcnt - 1'b1;
            ram_vcnt <= ram_vcnt - 1'b1;
    end else begin
    end else begin
Line 254... Line 254...
 
 
 
 
 
 
always @ (hcnt or ram_vcnt) begin
always @ (hcnt or ram_vcnt) begin
    VGA_RAM_ADDR = ram_vcnt + (hcnt * 7'd25);
    VGA_RAM_ADDR = ram_vcnt + (hcnt * 7'd25);
 
//    VGA_RAM_ADDR = vcnt * hcnt;
end
end
 
 
 
 
always @ (VGA_RAM_DATA or ram_vshift) begin
always @ (VGA_RAM_DATA or ram_vshift) begin
    if((VGA_RAM_DATA & ram_vshift) != 16'b0)
    if((VGA_RAM_DATA & ram_vshift) != 16'b0)
Line 276... Line 277...
 
 
//------------------------------------------------------------------//
//------------------------------------------------------------------//
// ALL CLEAR?                                                       //
// ALL CLEAR?                                                       //
//------------------------------------------------------------------//
//------------------------------------------------------------------//
always @ (vcnt) begin
always @ (vcnt) begin
    if((vcnt >= 10'd400) && (vcnt <= 10'd440))
    if(vcnt > 10'd399)
        VGA_RAM_ACCESS_OK = 1'b1;
        VGA_RAM_ACCESS_OK = 1'b1;
    else
    else
        VGA_RAM_ACCESS_OK = 1'b0;
        VGA_RAM_ACCESS_OK = 1'b0;
end
end
 
 

powered by: WebSVN 2.1.0

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