head 1.1; branch 1.1.1; access; symbols A2:1.1.1.6 A1:1.1.1.5 Alpha:1.1.1 rels4:1.1.1.5 rels3-1:1.1.1.4 Devel:1.1.1.3 rels3:1.1.1.3 Development:1.1.1.2 rels2:1.1.1.2 rels:1.1.1.1 vend:1.1.1; locks; strict; comment @# @; 1.1 date 2005.06.08.04.27.36; author smpickett; state Exp; branches 1.1.1.1; next ; commitid 496942a673b64567; 1.1.1.1 date 2005.06.08.04.27.36; author smpickett; state Exp; branches; next 1.1.1.2; commitid 496942a673b64567; 1.1.1.2 date 2005.06.09.03.03.50; author smpickett; state Exp; branches; next 1.1.1.3; commitid 29dd42a7b1944567; 1.1.1.3 date 2005.06.20.12.07.42; author smpickett; state Exp; branches; next 1.1.1.4; commitid 5b4a42b6b18c4567; 1.1.1.4 date 2005.07.06.01.42.48; author smpickett; state Exp; branches; next 1.1.1.5; commitid 1f4a42cb37154567; 1.1.1.5 date 2005.07.17.02.22.52; author smpickett; state Exp; branches; next 1.1.1.6; commitid 479542d9c0f94567; 1.1.1.6 date 2005.09.15.04.35.57; author smpickett; state Exp; branches; next ; commitid 4c314328fa2a4567; desc @@ 1.1 log @Initial revision @ text @//================================================================== // File: d_TopLevel.v // Version: 0.01 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // Copyright Stephen Pickett // April 28, 2005 //------------------------------------------------------------------ // Revisions: // Ver 0.01 Apr 28, 2005 Initial Release // //================================================================== module TopLevel( CLK_50MHZ_IN, MASTER_RST, H_SYNC, V_SYNC, VGA_OUTPUT, PS2C, PS2D, // TIME_BASE, ADC_DATA, ADC_CLK, VGA_RAM_ADDR, VGA_RAM_DATA, VGA_RAM_OE, VGA_RAM_WE, VGA_RAM_CS, SEG_OUT, SEG_SEL, leds, SHOW_LEVELS_BUTTON ); //==================================================================// // DEFINITIONS // //==================================================================// //==================================================================// // VARIABLE DEFINITIONS // //==================================================================// //----------------------// // INPUTS / OUTPUTS // //----------------------// input CLK_50MHZ_IN, MASTER_RST; output H_SYNC, V_SYNC; output[2:0] VGA_OUTPUT; //input[5:0] TIME_BASE; inout PS2C, PS2D; input[7:0] ADC_DATA; output ADC_CLK; output[17:0] VGA_RAM_ADDR; inout[15:0] VGA_RAM_DATA; output VGA_RAM_OE, VGA_RAM_WE, VGA_RAM_CS; output[7:0] leds; output[6:0] SEG_OUT; output[3:0] SEG_SEL; input SHOW_LEVELS_BUTTON; wire SHOW_LEVELS_BUTTON; //----------------------// // WIRES / NODES // //----------------------// wire CLK_50MHZ_IN, MASTER_RST; wire H_SYNC, V_SYNC; wire[2:0] VGA_OUTPUT; wire[5:0] TIME_BASE; wire PS2C, PS2D; wire[7:0] ADC_DATA; wire ADC_CLK; wire[17:0] VGA_RAM_ADDR; wire[15:0] VGA_RAM_DATA; wire VGA_RAM_OE, VGA_RAM_WE, VGA_RAM_CS; //----------------------// // VARIABLES // //----------------------// assign TIME_BASE = 6'b0; //==================================================================// // TEMP // //==================================================================// wire[17:0] VGA_RAM_ADDRESS_w; wire[15:0] VGA_RAM_DATA_w; wire VGA_RAM_ACCESS_OK; wire CLK_50MHZ, CLK_64MHZ, CLK180_64MHZ; wire[6:0] SEG_OUT; wire[3:0] SEG_SEL; wire TEST_in_range_Trig; sub_SegDriver segs( .CLK_50MHZ(CLK_50MHZ), .MASTER_RST(MASTER_RST), .DATA_IN(), .SEG_OUT(SEG_OUT), .SEG_SEL(SEG_SEL) ); wire[7:0] leds; assign leds[0] = L_BUTTON; assign leds[1] = M_BUTTON; assign leds[2] = R_BUTTON; assign leds[3] = TEST_in_range_Trig; assign leds[7:4] = 4'b0; //==================================================================// // SUBROUTINES // //==================================================================// //wire CLK_50MHZ, CLK_64MHZ, CLK180_64MHZ; wire CLK_64MHZ_LOCKED; d_DCM clock_generator( .CLKIN_IN(CLK_50MHZ_IN), .RST_IN(MASTER_RST), .CLKIN_IBUFG_OUT(CLK_50MHZ), .CLK_64MHZ(CLK_64MHZ), .CLK180_64MHZ(CLK180_64MHZ), .LOCKED_OUT(CLK_64MHZ_LOCKED) ); wire[11:0] XCOORD, YCOORD; wire L_BUTTON, R_BUTTON, M_BUTTON; wire[8:0] TRIGGER_LEVEL; Driver_mouse driver_MOUSE( .CLK_50MHZ(CLK_50MHZ), .MASTER_RST(MASTER_RST), .PS2C(PS2C), .PS2D(PS2D), .XCOORD(XCOORD), .YCOORD(YCOORD), .L_BUTTON(L_BUTTON), .M_BUTTON(M_BUTTON), .R_BUTTON(R_BUTTON) ); Driver_MouseInput Driver_MouseInput_inst( .CLK_50MHZ(CLK_50MHZ), .MASTER_RST(MASTER_RST), .XCOORD(XCOORD), .YCOORD(YCOORD), .L_BUTTON(L_BUTTON), .M_BUTTON(M_BUTTON), .R_BUTTON(R_BUTTON), .TRIGGER_LEVEL(TRIGGER_LEVEL), .TEST_in_range_Trig(TEST_in_range_Trig) ); wire[7:0] ADC_RAM_DATA; wire[10:0] ADC_RAM_ADDR; wire ADC_RAM_CLK; wire[10:0] TRIG_ADDR; wire VGA_WRITE_DONE; ADCDataBuffer ram_ADC_databuffer( .CLK_64MHZ(CLK_64MHZ), .MASTER_RST(MASTER_RST), .CLK180_64MHZ(CLK180_64MHZ), .TIME_BASE(TIME_BASE), .RAM_ADDR(ADC_RAM_ADDR), .RAM_DATA(ADC_RAM_DATA), .RAM_CLK(ADC_RAM_CLK), .ADC_DATA(ADC_DATA), .ADC_CLK(ADC_CLK), .TRIG_ADDR(TRIG_ADDR), .VGA_WRITE_DONE(VGA_WRITE_DONE), .TRIGGER_LEVEL(TRIGGER_LEVEL) ); //wire[17:0] VGA_RAM_ADDRESS_w; //wire[15:0] VGA_RAM_DATA_w; wire VGA_RAM_OE_w, VGA_RAM_WE_w, VGA_RAM_CS_w; wire[17:0] VGA_RAM_ADDRESS_r; wire VGA_RAM_OE_r, VGA_RAM_WE_r, VGA_RAM_CS_r; //wire VGA_RAM_ACCESS_OK; assign VGA_RAM_ADDR = (VGA_RAM_ACCESS_OK) ? VGA_RAM_ADDRESS_w : VGA_RAM_ADDRESS_r; assign VGA_RAM_DATA = (VGA_RAM_ACCESS_OK) ? VGA_RAM_DATA_w : 16'bZ; assign VGA_RAM_OE = (VGA_RAM_ACCESS_OK) ? VGA_RAM_OE_w : VGA_RAM_OE_r; assign VGA_RAM_WE = (VGA_RAM_ACCESS_OK) ? VGA_RAM_WE_w : VGA_RAM_WE_r; assign VGA_RAM_CS = (VGA_RAM_ACCESS_OK) ? VGA_RAM_CS_w : VGA_RAM_CS_r; VGADataBuffer ram_VGA_ramwrite( .CLK_50MHZ(CLK_50MHZ), .MASTER_RST(MASTER_RST), .VGA_RAM_DATA(VGA_RAM_DATA_w), .VGA_RAM_ADDR(VGA_RAM_ADDRESS_w), .VGA_RAM_OE(VGA_RAM_OE_w), .VGA_RAM_WE(VGA_RAM_WE_w), .VGA_RAM_CS(VGA_RAM_CS_w), .VGA_RAM_ACCESS_OK(VGA_RAM_ACCESS_OK), .ADC_RAM_DATA(ADC_RAM_DATA), .ADC_RAM_ADDR(ADC_RAM_ADDR), .ADC_RAM_CLK(ADC_RAM_CLK), .TIME_BASE(TIME_BASE), .TRIG_ADDR(TRIG_ADDR), .VGA_WRITE_DONE(VGA_WRITE_DONE) ); Driver_VGA driver_VGA( .CLK_50MHZ(CLK_50MHZ), .MASTER_RST(MASTER_RST), .H_SYNC(H_SYNC), .V_SYNC(V_SYNC), .VGA_OUTPUT(VGA_OUTPUT), .XCOORD(XCOORD), .YCOORD(YCOORD), .VGA_RAM_DATA(VGA_RAM_DATA), .VGA_RAM_ADDR(VGA_RAM_ADDRESS_r), .VGA_RAM_OE(VGA_RAM_OE_r), .VGA_RAM_WE(VGA_RAM_WE_r), .VGA_RAM_CS(VGA_RAM_CS_r), .VGA_RAM_ACCESS_OK(VGA_RAM_ACCESS_OK), .TRIGGER_LEVEL(TRIGGER_LEVEL), .SHOW_LEVELS(SHOW_LEVELS_BUTTON) ); //==================================================================// // FUNCTIONAL DEFINITIONS // //==================================================================// endmodule @ 1.1.1.1 log @Testing July 07, 2005. smpickett@@opencores.org @ text @@ 1.1.1.2 log @Devel Update 06.08.05.2102; smpickett@@opencores.org @ text @d1 11 a11 29 //==================================================================// // File: d_TopLevel.v // // Version: 0.0.0.2 // // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -// // Copyright (C) Stephen Pickett // // Jun 08, 2005 // // // // This program is free software; you can redistribute it and/or // // modify it under the terms of the GNU General Public License // // as published by the Free Software Foundation; either version 2 // // of the License, or (at your option) any later version. // // // // This program is distributed in the hope that it will be useful, // // but WITHOUT ANY WARRANTY; without even the implied warranty of // // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // // GNU General Public License for more details. // // // // If you have not received a copy of the GNU General Public License// // along with this program; write to: // // Free Software Foundation, Inc., // // 51 Franklin Street, Fifth Floor, // // Boston, MA 02110-1301, USA. // // // //------------------------------------------------------------------// // Revisions: // // Ver 0.0.0.1 Apr , 2005 Under Development // // Ver 0.0.0.2 Jun 08, 2005 Updates // // // //==================================================================// a79 1 wire L_BUTTON, R_BUTTON, M_BUTTON; d86 2 d98 1 a98 1 assign leds[3] = 1'b0; d115 2 a116 1 wire[9:0] TRIGGER_LEVEL; d126 1 a126 1 .XCOORD(XCOORD[9:0]), .YCOORD(YCOORD[9:0]), d128 2 a129 1 .TRIGGER_LEVEL(TRIGGER_LEVEL) d146 1 a146 1 .TRIGGER_LEVEL(TRIGGER_LEVEL[8:0]) d181 1 a181 1 .TRIGGER_LEVEL(TRIGGER_LEVEL[8:0]), @ 1.1.1.3 log @Devel Update 06.20.05; smpickett@@opencores.org @ text @d3 1 a3 1 // Version: 0.0.0.3 // a27 1 // Ver 0.0.0.3 Jun 19, 2005 Added Character Display // a101 1 reg CLK_VGA; a104 15 wire[7:0] data_charRamRead; reg[7:0] data_charRamRead_buf; wire[7:0] mask_charMap; reg[7:0] mask_charMap_buf; always @@ (posedge CLK_50MHZ) begin if(R_BUTTON) begin data_charRamRead_buf <= data_charRamRead_buf; mask_charMap_buf <= mask_charMap_buf; end else begin data_charRamRead_buf <= data_charRamRead; mask_charMap_buf <= mask_charMap; end end d107 1 a107 1 .DATA_IN(data_charRamRead_buf), d112 5 a116 2 assign leds = mask_charMap_buf; d120 1 a120 13 //d_DCM_VGA clock_gen_VGA ( // .CLKIN_IN(CLK_50MHZ_IN), // .RST_IN(MASTER_RST), // .CLKFX_OUT(CLK_VGA), // .CLKIN_IBUFG_OUT(CLK_50MHZ_B), // .LOCKED_OUT(CLK_VGA_LOCKED) // ); always @@ (posedge CLK_50MHZ or posedge MASTER_RST) if(MASTER_RST) CLK_VGA <= 1'b0; else CLK_VGA <= ~CLK_VGA; a165 15 //------------------------------------------------------------------// // VGA // //------------------------------------------------------------------// wire[9:0] HCNT, VCNT; wire[2:0] RGB_CHAR; CharacterDisplay charTest( .MASTER_CLK(CLK_50MHZ), .MASTER_RST(MASTER_RST), .CLK_VGA(CLK_VGA), .HCNT(HCNT), .VCNT(VCNT), .RGB_OUT(RGB_CHAR), .data_charMap(mask_charMap), .data_charRamRead(data_charRamRead) ); a190 1 .CLK_VGA(CLK_VGA), d197 1 a197 3 .SHOW_LEVELS(SHOW_LEVELS_BUTTON), .HCNT(HCNT), .VCNT(VCNT), .RGB_CHAR(RGB_CHAR) @ 1.1.1.4 log @Devel Update 07.05.05; Note: It's not perfect yet @ text @a111 2 wire[1:0] sm_trig; d129 1 a129 14 assign leds[1:0] = sm_trig; assign leds[7:2] = 6'b0; /*- - - - - - - - - - - - - */ /* Fake ADC data */ /*- - - - - - - - - - - - - */ reg[7:0] fake_adcData; always @@ (posedge CLK_VGA or posedge MASTER_RST) begin if(MASTER_RST) fake_adcData <= 8'd0; else fake_adcData <= fake_adcData+1; end d185 1 a185 2 // .ADC_DATA(ADC_DATA), .ADC_CLK(ADC_CLK), .ADC_DATA(fake_adcData), .ADC_CLK(ADC_CLK), d187 1 a187 2 .TRIGGER_LEVEL(TRIGGER_LEVEL[8:0]), .sm_trig(sm_trig) d202 2 a203 1 .RGB_OUT(RGB_CHAR) @ 1.1.1.5 log @Devel Update 07.16.05; @ text @d37 1 a37 1 ADC_DATA, CLK_ADC, d60 2 a61 2 input[8:0] ADC_DATA; output CLK_ADC; d81 2 a82 2 wire[8:0] ADC_DATA; wire CLK_ADC; a96 2 reg[8:0] fake_adcData; d112 1 d126 1 a126 1 .DATA_IN(fake_adcData[7:0]), d131 2 a132 1 assign leds[7:0] = 8'b0; d137 2 a138 1 always @@ (posedge CLK_ADC or posedge MASTER_RST) begin d140 1 a140 1 fake_adcData <= 9'd0; a145 1 d190 1 a190 1 wire[8:0] ADC_RAM_DATA; d195 11 a206 6 ADCDataBuffer ADC_Data_Buffer( .CLK_64MHZ(CLK_64MHZ), .MASTER_CLK(MASTER_CLK), .MASTER_RST(MASTER_RST), .TIME_BASE(TIME_BASE), .TRIGGER_LEVEL(TRIGGER_LEVEL[8:0]), .ADC_DATA(ADC_DATA[7:0]), .CLK_ADC(CLK_ADC), .SNAP_DATA_EXT(ADC_RAM_DATA), .SNAP_ADDR_EXT(ADC_RAM_ADDR), .SNAP_CLK_EXT(ADC_RAM_CLK) ); d242 2 a243 1 .TIME_BASE(TIME_BASE) @ 1.1.1.6 log @Devel Update 09.14.05; @ text @d137 1 a137 1 always @@ (posedge CLK_64MHZ or posedge MASTER_RST) begin d173 1 a173 3 wire[9:0] TRIGGER_LEVEL, HORZ_OFFSET, VERT_OFFSET; wire[3:0] TIMESCALE; wire[1:0] TRIGGERSTYLE; d185 1 a185 3 .TRIGGER_LEVEL(TRIGGER_LEVEL), .HORZ_OFFSET(HORZ_OFFSET), .VERT_OFFSET(VERT_OFFSET), .TIMESCALE(TIMESCALE), .TRIGGERSTYLE(TRIGGERSTYLE) d198 1 a198 4 .TIMESCALE(TIMESCALE), .TRIGGER_LEVEL(TRIGGER_LEVEL), .VERT_OFFSET(VERT_OFFSET), .HORZ_OFFSET(HORZ_OFFSET), // .ADC_DATA(ADC_DATA[7:0]), .ADC_DATA(fake_adcData), d200 1 a200 2 .SNAP_DATA_EXT(ADC_RAM_DATA), .SNAP_ADDR_EXT(ADC_RAM_ADDR), .SNAP_CLK_EXT(ADC_RAM_CLK), .TRIGGERSTYLE(TRIGGERSTYLE) d214 1 a214 4 .RGB_OUT(RGB_CHAR), .TIMESCALE(TIMESCALE), .TRIGGERSTYLE(TRIGGERSTYLE), .XCOORD(XCOORD), .YCOORD(YCOORD) d218 2 d223 1 d248 1 a248 1 .TRIGGER_LEVEL(TRIGGER_LEVEL), .HORZ_OFFSET(HORZ_OFFSET), .VERT_OFFSET(VERT_OFFSET), @