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
|
|
|