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
|