`timescale 1 ns / 1 ps module c64pro_top# ( parameter VERSION = 32'h20000005 , parameter CLK_FREQ = 100 , parameter CLK_PERIOD = 10 , //----------------------------------------- RHS2116 parameter RSH2116_QTY = 2 ,//4 //----------------------------------------- ADS1299 parameter ADS1299_QTY = 4 , parameter ADS1299_SPI_QTY = 4 ) ( //--------------------------------------------- PS: DDR inout [14:0] DDR_addr , inout [ 2:0] DDR_ba , inout DDR_cas_n , inout DDR_ck_n , inout DDR_ck_p , inout DDR_cke , inout DDR_cs_n , inout [ 3:0] DDR_dm , inout [31:0] DDR_dq , inout [ 3:0] DDR_dqs_n , inout [ 3:0] DDR_dqs_p , inout DDR_odt , inout DDR_ras_n , inout DDR_reset_n , inout DDR_we_n , inout FIXED_IO_ddr_vrn , inout FIXED_IO_ddr_vrp , inout [53:0] FIXED_IO_mio , inout FIXED_IO_ps_clk , inout FIXED_IO_ps_porb , inout FIXED_IO_ps_srstb , //--------------------------------------------- Power Management // inout gauge_scl , // inout gauge_sda , // input gauge_indicate , // output power_on_rsh2116_a , //analog // output power_on_rsh2116_d , //digtal // output power_on_ads1299 , // output power_on_z , // output power_sw_z , //--------------------------------------------- impl measure // inout z_scl , // inout z_sda , //--------------------------------------------- Display LED output led_state , // output led_charge , output led_rsv , output led_usb , output led_stim , //--------------------------------------------- RSH2116 // output [RSH2116_QTY-1:0] rsh2116_enable , // output [RSH2116_QTY-1:0] rsh2116_spi_cs , // output [RSH2116_QTY-1:0] rsh2116_spi_sclk , // output [RSH2116_QTY-1:0] rsh2116_spi_mosi , // input [RSH2116_QTY-1:0] rsh2116_spi_miso , //--------------------------------------------- ADS1299 for EEG output [ADS1299_QTY-1:0] eeg_ads1299_spi_cs , output [ 2-1:0] eeg_ads1299_spi_sclk , output [ 2-1:0] eeg_ads1299_spi_mosi , input [ 2-1:0] eeg_ads1299_spi_miso , input [ 2-1:0] eeg_ads1299_drdy_n , output [ 2-1:0] eeg_ads1299_start , //--------------------------------------------- ADS1299 for EMG output emg_ads1299_spi_cs , output emg_ads1299_spi_sclk , output emg_ads1299_spi_mosi , input emg_ads1299_spi_miso , input emg_ads1299_drdy_n , output emg_ads1299_start , output emg_ads1299_reset_n , // output emg_ads1299_pwdn_n , //--------------------------------------------- AD7689 inout ad7689_cnv , inout ad7689_spi_sclk , inout ad7689_spi_mosi , inout ad7689_spi_miso , //--------------------------------------------- ADS1258_1 // inout ads1258_spi_cs1 , // inout ads1258_spi_sclk1 , // inout ads1258_spi_mosi1 , // inout ads1258_spi_miso1 , // inout ads1258_drdy_n1 , // inout ads1258_start1 , //--------------------------------------------- ADS1258_2 // inout ads1258_spi_cs2 , // inout ads1258_spi_sclk2 , // inout ads1258_spi_mosi2 , // inout ads1258_spi_miso2 , // inout ads1258_drdy_n2 , // inout ads1258_start2 , //--------------------------------------------- ADG1414 for MCB,really ADGS5414 // output adg1414_spi_sync , // output adg1414_spi_sclk , // output adg1414_spi_mosi , // input adg1414_spi_miso , //--------------------------------------------- ADG1414-2 for STIM,really ADGS5414 // (*mark_debug="true"*)output adg1414_spi_sync2 , // (*mark_debug="true"*)output adg1414_spi_sclk2 , // (*mark_debug="true"*)output adg1414_spi_mosi2 , // (*mark_debug="true"*)input adg1414_spi_miso2 , //--------------------------------------------- DAC // output dac1_cs_n , // output dac1_sclk , // output dac1_sdi , // output dac2_cs_n , // output dac2_sclk , // output dac2_sdi , //--------------------------------------------- ZCHECK inout [3:0] chann_sel , inout [1:0] chann_en , inout rst_ad5941 , inout z_io , inout zcheck_spi_cs , inout zcheck_spi_sclk , inout zcheck_spi_mosi , inout zcheck_spi_miso , inout [3:0] elec_mux_in , //--------------------------------------------- STIM inout stim_spi_cs , inout stim_spi_sclk , inout stim_spi_mosi , inout stim_spi_miso , inout [2:0] gpio , output reg stim_clk400k , //--------------------------------------------- MEMS // output accel_spi_cs , // output accel_spi_sclk , // output accel_spi_mosi , // inout accel_spi_miso , // input accel_int0 , // input accel_int1 , //--------------------------------------------- Trigger // input [ 3-1:0] trigger_i , // output wire [ 1-1:0] trigger_o , //--------------------------------------------- usb plug check // input usb_power_check , //--------------------------------------------- For developer // output [ 2-1:0] led_pl , // output s_pwr_en1 , // (*mark_debug="true"*)output dv33_m , // (*mark_debug="true"*)output sw_gnd , output rec_pwr_en , output stim_pwr_en , // output vdd33_pwr_on , // output s_pwr_en2 , // output ch2_stim_en , // output dv33_pwr_on , // output pwr_on_brd , (*mark_debug="true"*)output mux_pwr_en , output pudc , output ref_sw_en , output ref_sw ); //***************************************************************************** // Parameter definition //***************************************************************************** //***************************************************************************** // Internal register and wire declarations //***************************************************************************** wire clk ; wire rst_n ; wire [13-1:0] bram_stim_addr ; wire bram_stim_clk ; wire [32-1:0] bram_stim_din ; wire [32-1:0] bram_stim_dout ; wire bram_stim_en ; wire bram_stim_rst ; wire [ 4-1:0] bram_stim_we ; wire [13-1:0] bram_eeg_addr ; wire bram_eeg_clk ; wire [32-1:0] bram_eeg_din ; wire [32-1:0] bram_eeg_dout ; wire bram_eeg_en ; wire bram_eeg_rst ; wire [ 4-1:0] bram_eeg_we ; wire [13-1:0] bram_emg_addr ; wire bram_emg_clk ; wire [32-1:0] bram_emg_din ; wire [32-1:0] bram_emg_dout ; wire bram_emg_en ; wire bram_emg_rst ; wire [ 4-1:0] bram_emg_we ; wire [13-1:0] bram_cur_addr ; wire bram_cur_clk ; wire [32-1:0] bram_cur_din ; wire [32-1:0] bram_cur_dout ; wire bram_cur_en ; wire bram_cur_rst ; wire [ 4-1:0] bram_cur_we ; wire [13-1:0] bram_accel_addr ; wire bram_accel_clk ; wire [32-1:0] bram_accel_din ; wire [32-1:0] bram_accel_dout ; wire bram_accel_en ; wire bram_accel_rst ; wire [ 4-1:0] bram_accel_we ; wire [13-1:0] bram_msg_addr ; wire bram_msg_clk ; wire [32-1:0] bram_msg_din ; wire [32-1:0] bram_msg_dout ; wire bram_msg_en ; wire bram_msg_rst ; wire [ 4-1:0] bram_msg_we ; wire [13-1:0] bram_msg_emg_addr ; wire bram_msg_emg_clk ; wire [32-1:0] bram_msg_emg_din ; wire [32-1:0] bram_msg_emg_dout ; wire bram_msg_emg_en ; wire bram_msg_emg_rst ; wire [ 4-1:0] bram_msg_emg_we ; wire [13-1:0] bram_imp_addr ; wire bram_imp_clk ; wire [32-1:0] bram_imp_din ; wire [32-1:0] bram_imp_dout ; wire bram_imp_en ; wire bram_imp_rst ; wire [ 4-1:0] bram_imp_we ; wire stim_int ; wire eeg_int ; wire emg_int ; wire accel_int ; wire [32-1:0] axis_stim_tdata ; wire axis_stim_tlast ; wire axis_stim_tready ; wire axis_stim_tvalid ; wire axis_record_tfull ; wire [ 8-1:0] axis_record_tdata ; wire [ 1-1:0] axis_record_tkeep ; wire axis_record_tlast ; wire axis_record_tready ; wire axis_record_tvalid ; // wire [ 8-1:0] gpio0_0_tri_i ; wire [32-1:0] gpio0_1_tri_o ; wire [ 4-1:0] debug_sig ; wire [ADS1299_QTY-1:0] eeg_spi_cs ; wire [ 4-1:0] eeg_spi_sclk ; wire [ 4-1:0] eeg_spi_mosi ; wire [ 4-1:0] eeg_spi_miso ; // wire trigger_reset ; // wire [32-1:0] trigger_in ; // wire [32-1:0] trigger_out ; wire [ 3-1:0] led_cmd_wifi ; reg trigger_o_tmp ; wire [31:0] axi_i_out ; wire axi_i_wr ; wire axi_i_tlast ; wire [32-1:0] axis_eeg24_tdata ; wire axis_eeg24_tlast ; wire axis_eeg24_tready ; wire axis_eeg24_tvalid ; reg [7:0] stim_clk400kcnt ; // wire stim_clkout ; // wire clk_8m ; //assign trigger_o=//trigger_o_tmp|trigger_i[1]; // assign ads1258_start1 = 1'b1 ; // assign ads1258_start2 = 1'b1 ; //assign s_pwr_en1 = 1'b1 ; //assign sw_gnd = 1'b1 ; //assign rec_pwr_en = 1'b1 ; //***************************************************************************** // Instantiation //***************************************************************************** design_a9_1_wrapper u_ps_a9_1 ( .clk ( clk ), .rst_n ( rst_n ), .DDR_addr ( DDR_addr ), .DDR_ba ( DDR_ba ), .DDR_cas_n ( DDR_cas_n ), .DDR_ck_n ( DDR_ck_n ), .DDR_ck_p ( DDR_ck_p ), .DDR_cke ( DDR_cke ), .DDR_cs_n ( DDR_cs_n ), .DDR_dm ( DDR_dm ), .DDR_dq ( DDR_dq ), .DDR_dqs_n ( DDR_dqs_n ), .DDR_dqs_p ( DDR_dqs_p ), .DDR_odt ( DDR_odt ), .DDR_ras_n ( DDR_ras_n ), .DDR_reset_n ( DDR_reset_n ), .DDR_we_n ( DDR_we_n ), .FIXED_IO_ddr_vrn ( FIXED_IO_ddr_vrn ), .FIXED_IO_ddr_vrp ( FIXED_IO_ddr_vrp ), .FIXED_IO_mio ( FIXED_IO_mio ), .FIXED_IO_ps_clk ( FIXED_IO_ps_clk ), .FIXED_IO_ps_porb ( FIXED_IO_ps_porb ), .FIXED_IO_ps_srstb ( FIXED_IO_ps_srstb ), .int0 ( stim_int ), .int1 ( eeg_int ), .int2 ( emg_int ), .int3 ( accel_int ), .bram_stim_addr ( bram_stim_addr ), .bram_stim_clk ( bram_stim_clk ), .bram_stim_din ( bram_stim_din ), .bram_stim_dout ( bram_stim_dout ), .bram_stim_en ( bram_stim_en ), .bram_stim_rst ( bram_stim_rst ), .bram_stim_we ( bram_stim_we ), .bram_eeg_addr ( bram_eeg_addr ), .bram_eeg_clk ( bram_eeg_clk ), .bram_eeg_din ( bram_eeg_din ), .bram_eeg_dout ( bram_eeg_dout ), .bram_eeg_en ( bram_eeg_en ), .bram_eeg_rst ( bram_eeg_rst ), .bram_eeg_we ( bram_eeg_we ), .bram_emg_addr ( bram_emg_addr ), .bram_emg_clk ( bram_emg_clk ), .bram_emg_din ( bram_emg_din ), .bram_emg_dout ( bram_emg_dout ), .bram_emg_en ( bram_emg_en ), .bram_emg_rst ( bram_emg_rst ), .bram_emg_we ( bram_emg_we ), .bram_mems_addr ( bram_accel_addr ), .bram_mems_clk ( bram_accel_clk ), .bram_mems_din ( bram_accel_din ), .bram_mems_dout ( bram_accel_dout ), .bram_mems_en ( bram_accel_en ), .bram_mems_rst ( bram_accel_rst ), .bram_mems_we ( bram_accel_we ), .bram_msg_addr ( bram_msg_addr ), .bram_msg_clk ( bram_msg_clk ), .bram_msg_din ( bram_msg_din ), .bram_msg_dout ( bram_msg_dout ), .bram_msg_en ( bram_msg_en ), .bram_msg_rst ( bram_msg_rst ), .bram_msg_we ( bram_msg_we ), .bram_msg_emg_addr ( bram_msg_emg_addr ), .bram_msg_emg_clk ( bram_msg_emg_clk ), .bram_msg_emg_din ( bram_msg_emg_din ), .bram_msg_emg_dout ( bram_msg_emg_dout ), .bram_msg_emg_en ( bram_msg_emg_en ), .bram_msg_emg_rst ( bram_msg_emg_rst ), .bram_msg_emg_we ( bram_msg_emg_we ), .bram_cur_addr ( bram_cur_addr ), .bram_cur_clk ( bram_cur_clk ), .bram_cur_din ( bram_cur_din ), .bram_cur_dout ( bram_cur_dout ), .bram_cur_en ( bram_cur_en ), .bram_cur_rst ( bram_cur_rst ), .bram_cur_we ( bram_cur_we ), .bram_imp_addr ( bram_imp_addr ), .bram_imp_clk ( bram_imp_clk ), .bram_imp_din ( bram_imp_din ), .bram_imp_dout ( bram_imp_dout ), .bram_imp_en ( bram_imp_en ), .bram_imp_rst ( bram_imp_rst ), .bram_imp_we ( bram_imp_we ), .m_axis_stim_tdata ( axis_stim_tdata ), .m_axis_stim_tlast ( axis_stim_tlast ), .m_axis_stim_tready ( axis_stim_tready ), .m_axis_stim_tvalid ( axis_stim_tvalid ), .s_axis_record_tfull ( axis_record_tfull ), .s_axis_record_tdata ( axis_record_tdata ), .s_axis_record_tkeep ( axis_record_tkeep ), .s_axis_record_tlast ( axis_record_tlast ), .s_axis_record_tready ( axis_record_tready ), .s_axis_record_tvalid ( axis_record_tvalid ), .s_axis_record_tfull1 ( ), .s_axis_record1_tdata (axis_eeg24_tdata[31:0] ), .s_axis_record1_tkeep ( 4'hf ), .s_axis_record1_tlast (axis_eeg24_tlast ), .s_axis_record1_tready (axis_eeg24_tready ), .s_axis_record1_tvalid (axis_eeg24_tvalid ), .s_axis_record_tfull2 ( ), .s_axis_record2_tdata ( axi_i_out[31:0] ), .s_axis_record2_tkeep ( 4'hf ), .s_axis_record2_tlast ( axi_i_tlast ), .s_axis_record2_tready ( ), .s_axis_record2_tvalid ( axi_i_wr ), .elec_mux_in_tri_io (elec_mux_in[3:0] ), .CHANN_EN_tri_io (chann_en[1:0] ), .CHANN_SEL_tri_io (chann_sel[3:0] ), .Z_IO_tri_io (z_io ), .gpio0_tri_io (gpio[2:0] ), // .ads1258_spi1_io0_io (ads1258_spi_mosi1), // .ads1258_spi1_io1_io (ads1258_spi_miso1), // .ads1258_spi1_sck_io (ads1258_spi_sclk1), // .ads1258_spi1_ss_io (ads1258_spi_cs1 ), // .ads1258_spi2_io0_io (ads1258_spi_mosi2), // .ads1258_spi2_io1_io (ads1258_spi_miso2), // .ads1258_spi2_sck_io (ads1258_spi_sclk2), // .ads1258_spi2_ss_io (ads1258_spi_cs2 ), .stim_spi_io0_io (stim_spi_mosi ), .stim_spi_io1_io (stim_spi_miso ), .stim_spi_sck_io (stim_spi_sclk ), .stim_spi_ss_io (stim_spi_cs ), .zcheck_spi_io0_io (zcheck_spi_mosi ), .zcheck_spi_io1_io (zcheck_spi_miso ), .zcheck_spi_sck_io (zcheck_spi_sclk ), .zcheck_spi_ss_io (zcheck_spi_cs ), .cur_spi_io0_io (ad7689_spi_mosi ), .cur_spi_io1_io (ad7689_spi_miso ), .cur_spi_sck_io (ad7689_spi_sclk ), .cur_spi_ss_io (ad7689_cnv ), .RST_AD5941_tri_io (rst_ad5941 ), .gpio0_0_tri_i ( ),//gpio0_0_tri_i .gpio0_1_tri_o (gpio0_1_tri_o ) // .ADS1258_DRDY_tri_io (ads1258_drdy_n1 )//{ads1258_drdy_n2, // //gauge // .iic0_scl_io ( ),//gauge_scl // .iic0_sda_io ( ),//gauge_sda // //Z // .iic1_scl_io ( ),//z_scl // .iic1_sda_io ( )//z_sda ); pl_top# ( .VERSION ( VERSION ), .CLK_FREQ ( CLK_FREQ ), .CLK_PERIOD ( CLK_PERIOD ), .RSH2116_QTY ( RSH2116_QTY ), .ADS1299_QTY ( ADS1299_QTY ), .ADS1299_SPI_QTY ( ADS1299_SPI_QTY ) ) u_pl_top ( .clk ( clk ), .rst_n ( rst_n ), .bram_stim_addr ( bram_stim_addr ), .bram_stim_clk ( bram_stim_clk ), .bram_stim_din ( bram_stim_din ), .bram_stim_dout ( bram_stim_dout ), .bram_stim_en ( bram_stim_en ), .bram_stim_rst ( bram_stim_rst ), .bram_stim_we ( bram_stim_we ), .bram_eeg_addr ( bram_eeg_addr ), .bram_eeg_clk ( bram_eeg_clk ), .bram_eeg_din ( bram_eeg_din ), .bram_eeg_dout ( bram_eeg_dout ), .bram_eeg_en ( bram_eeg_en ), .bram_eeg_rst ( bram_eeg_rst ), .bram_eeg_we ( bram_eeg_we ), .bram_emg_addr ( bram_emg_addr ), .bram_emg_clk ( bram_emg_clk ), .bram_emg_din ( bram_emg_din ), .bram_emg_dout ( bram_emg_dout ), .bram_emg_en ( bram_emg_en ), .bram_emg_rst ( bram_emg_rst ), .bram_emg_we ( bram_emg_we ), .bram_accel_addr ( bram_accel_addr ), .bram_accel_clk ( bram_accel_clk ), .bram_accel_din ( bram_accel_din ), .bram_accel_dout ( bram_accel_dout ), .bram_accel_en ( bram_accel_en ), .bram_accel_rst ( bram_accel_rst ), .bram_accel_we ( bram_accel_we ), .bram_msg_addr ( bram_msg_addr ), .bram_msg_clk ( bram_msg_clk ), .bram_msg_din ( bram_msg_din ), .bram_msg_dout ( bram_msg_dout ), .bram_msg_en ( bram_msg_en ), .bram_msg_rst ( bram_msg_rst ), .bram_msg_we ( bram_msg_we ), .bram_msg_emg_addr ( bram_msg_emg_addr ), .bram_msg_emg_clk ( bram_msg_emg_clk ), .bram_msg_emg_din ( bram_msg_emg_din ), .bram_msg_emg_dout ( bram_msg_emg_dout ), .bram_msg_emg_en ( bram_msg_emg_en ), .bram_msg_emg_rst ( bram_msg_emg_rst ), .bram_msg_emg_we ( bram_msg_emg_we ), .bram_cur_addr ( bram_cur_addr ), .bram_cur_clk ( bram_cur_clk ), .bram_cur_din ( bram_cur_din ), .bram_cur_dout ( bram_cur_dout ), .bram_cur_en ( bram_cur_en ), .bram_cur_rst ( bram_cur_rst ), .bram_cur_we ( bram_cur_we ), .bram_imp_addr ( bram_imp_addr ), .bram_imp_clk ( bram_imp_clk ), .bram_imp_din ( bram_imp_din ), .bram_imp_dout ( bram_imp_dout ), .bram_imp_en ( bram_imp_en ), .bram_imp_rst ( bram_imp_rst ), .bram_imp_we ( bram_imp_we ), .stim_int ( stim_int ), .eeg_int ( eeg_int ), .emg_int ( emg_int ), .accel_int ( accel_int ), //------------------------------------------ FIFO: stim input and record output .m_axis_stim_tdata ( axis_stim_tdata ), .m_axis_stim_tlast ( axis_stim_tlast ), .m_axis_stim_tready ( axis_stim_tready ), .m_axis_stim_tvalid ( axis_stim_tvalid ), .m_axis_record_tfull ( axis_record_tfull ), .m_axis_record_tdata ( axis_record_tdata ), .m_axis_record_tkeep ( axis_record_tkeep ), .m_axis_record_tlast ( axis_record_tlast ), .m_axis_record_tready ( axis_record_tready ), .m_axis_record_tvalid ( axis_record_tvalid ), .axis_emg_tdata ( axis_eeg24_tdata ), .axis_emg_tlast ( axis_eeg24_tlast ), .axis_emg_tready ( axis_eeg24_tready ), .axis_emg_tvalid ( axis_eeg24_tvalid ), //------------------------------------------ device: RHS2116 ///* .rsh2116_enable ( ), // .rsh2116_spi_cs ( rsh2116_spi_cs ), // .rsh2116_spi_sclk ( rsh2116_spi_sclk ), // .rsh2116_spi_mosi ( rsh2116_spi_mosi ), // .rsh2116_spi_miso ( rsh2116_spi_miso ),*/ //------------------------------------------ device: ads1299 eeg .eeg_ads1299_spi_cs ( eeg_spi_cs ), .eeg_ads1299_spi_sclk ( eeg_spi_sclk ), .eeg_ads1299_spi_mosi ( eeg_spi_mosi ), .eeg_ads1299_spi_miso ( eeg_spi_miso ), .eeg_ads1299_drdy_n ( eeg_ads1299_drdy_n ), .eeg_ads1299_start ( eeg_ads1299_start ), //------------------------------------------ device: ads1299 emg .emg_ads1299_spi_cs ( emg_ads1299_spi_cs ), .emg_ads1299_spi_sclk ( emg_ads1299_spi_sclk ), .emg_ads1299_spi_mosi ( emg_ads1299_spi_mosi ), .emg_ads1299_spi_miso ( emg_ads1299_spi_miso ), .emg_ads1299_drdy_n ( emg_ads1299_drdy_n ), .emg_ads1299_start ( emg_ads1299_start ), .emg_ads1299_reset_n ( emg_ads1299_reset_n ), .emg_ads1299_pwdn_n ( emg_ads1299_pwdn_n ), //------------------------------------------ AD7689 .ad7689_cnv ( ),//ad7689_cnv .ad7689_spi_sclk ( ),//ad7689_spi_sclk .ad7689_spi_mosi ( ),//ad7689_spi_mosi .ad7689_spi_miso ( 0 ),//ad7689_spi_miso //--------------------------------------------- AXI .axi_i_out ( axi_i_out[31:0] ), .axi_i_wr ( axi_i_wr ), .axi_i_tlast ( axi_i_tlast ), //------------------------------------------ DAC // .dac1_cs_n ( dac1_cs_n ), // .dac1_sclk ( dac1_sclk ), // .dac1_sdi ( dac1_sdi ), // .dac2_cs_n ( dac2_cs_n ), // .dac2_sclk ( dac2_sclk ), // .dac2_sdi ( dac2_sdi ), //------------------------------------------ device: MEMS // .accel_spi_cs ( ),//accel_spi_cs // .accel_spi_sclk ( ),//accel_spi_sclk // .accel_spi_mosi ( ),//accel_spi_mosi // .accel_spi_miso ( 1'b0 ),//accel_spi_miso // .accel_int0 ( ),//accel_int0 // .accel_int1 ( ),//accel_int1 //------------------------------------------ ADG1414 for MCB,really AGGS5414 // .adg1414_spi_sync ( adg1414_spi_sync ), // .adg1414_spi_sclk ( adg1414_spi_sclk ), // .adg1414_spi_mosi ( adg1414_spi_mosi ), // .adg1414_spi_miso ( adg1414_spi_miso ), //------------------------------------------ ADG1414-2 for STIM,really AGGS5414 // .adg1414_spi_sync2 ( adg1414_spi_sync2 ), // .adg1414_spi_sclk2 ( adg1414_spi_sclk2 ), // .adg1414_spi_mosi2 ( adg1414_spi_mosi2 ), // .adg1414_spi_miso2 ( adg1414_spi_miso2 ), //------------------------------------------ Trigger // .trigger_reset ( trigger_reset ), // .trigger_in ( trigger_in ), // .trigger_out ( trigger_out ), //------------------------------------------ Debug .debug_sig ( debug_sig ) ); led_ctrl# ( .CLK_PERIOD ( CLK_PERIOD ) ) u_led_wifi ( .clk ( clk ), .rst_n ( rst_n ), .cmd ( led_cmd_wifi ), .led ( led_wifi ) ); //***************************************************************************** // always @ ( posedge clk or negedge rst_n ) begin // if( !rst_n ) // trigger_o_tmp <= 1'b0; // else if ( trigger_out==32'h000003E8 ) // trigger_o_tmp <= 1'b1; // else if //( trigger_out==32'h000003E9 ) // trigger_o_tmp <= 1'b0; // end always @ ( posedge clk or negedge rst_n ) begin if( !rst_n ) stim_clk400kcnt[7:0] <= 8'b0; else if ( stim_clk400kcnt[7:0]>=8'd249 ) stim_clk400kcnt[7:0] <= 8'b0; else stim_clk400kcnt[7:0] <= stim_clk400kcnt[7:0]+1'b1; end always @ ( posedge clk or negedge rst_n ) begin if( !rst_n ) stim_clk400k <= 1'b0; else if ( stim_clk400kcnt[7:0]>=8'd125 ) stim_clk400k <= 1'b1; else stim_clk400k <= 1'b0; end // clk_wiz_0 u_clk_wiz_0( // .reset (~rst_n ), // .clk_in1 (clk ), // .clk_out1 (clk_8m ), // .locked ( ) // ); //***************************************************************************** // Wire assignment //***************************************************************************** //gpio0_0: input with interrupt //assign gpio0_0_tri_i[0] = gauge_indicate; // assign gpio0_0_tri_i[1] = accel_int0; // assign gpio0_0_tri_i[2] = accel_int1; // assign gpio0_0_tri_i[3] = usb_power_check; // assign gpio0_0_tri_i[4] = 1'b0; // assign gpio0_0_tri_i[5] = 1'b0; // assign gpio0_0_tri_i[6] = 1'b0; // assign gpio0_0_tri_i[7] = 1'b0; //gpio0_1: output //assign power_on_rsh2116_a = gpio0_1_tri_o[ 0]; //assign power_on_rsh2116_d = gpio0_1_tri_o[ 1]; // assign rsh2116_enable[0] = gpio0_1_tri_o[ 0]; // assign rsh2116_enable[1] = gpio0_1_tri_o[ 1]; //assign power_on_ads1299 = gpio0_1_tri_o[ 2]; assign led_rsv = gpio0_1_tri_o[ 0]; assign pudc = gpio0_1_tri_o[ 1]; assign rec_pwr_en = gpio0_1_tri_o[ 2]; assign led_state = gpio0_1_tri_o[ 3]; assign led_stim = gpio0_1_tri_o[ 4]; assign led_usb = gpio0_1_tri_o[ 5]; assign stim_pwr_en = gpio0_1_tri_o[ 6]; assign mux_pwr_en = gpio0_1_tri_o[ 7]; assign ref_sw_en = gpio0_1_tri_o[ 8]; assign ref_sw = gpio0_1_tri_o[ 9]; //assign power_on_z = gpio0_1_tri_o[ 9]; // assign s_pwr_en1 = gpio0_1_tri_o[10]; // assign stim_pwr_en = gpio0_1_tri_o[11]; // assign ads1258_start1 = gpio0_1_tri_o[12]; //// assign ads1258_start2 = gpio0_1_tri_o[13];//2025.12.24 delete // assign vdd33_pwr_on = gpio0_1_tri_o[13]; // assign s_pwr_en2 = gpio0_1_tri_o[14]; // assign ch2_stim_en = gpio0_1_tri_o[15]; // assign mux_pwr_en = gpio0_1_tri_o[16]; //// assign dv33_pwr_on = gpio0_1_tri_o[16]; // assign pwr_on_brd = gpio0_1_tri_o[17]; // assign dv33_m = gpio0_1_tri_o[18]; // assign trigger_o = gpio0_1_tri_o[19]; //assign power_sw_z = gpio0_1_tri_o[10]; // assign trigger_in = {29'd0, trigger_i}; // assign trigger_o = (trigger_out==32'h000003E8)? 1'b1:((trigger_out==32'h000003E9)? 1'b1:1'b0); // assign led_pl[1] = 1'b0; // assign led_pl[0] = 1'b0; // assign led_pl[1] = debug_sig[0]; //r75 // assign led_pl[0] = debug_sig[1]; //r76 // assign led_state = debug_sig[2]; // assign led_stim = debug_sig[3]; assign eeg_ads1299_spi_cs[0] = eeg_spi_cs[0]; assign eeg_ads1299_spi_cs[1] = eeg_spi_cs[1]; assign eeg_ads1299_spi_cs[2] = eeg_spi_cs[2]; assign eeg_ads1299_spi_cs[3] = eeg_spi_cs[3]; // assign eeg_ads1299_spi_cs[4] = eeg_spi_cs[4]; // assign eeg_ads1299_spi_cs[5] = eeg_spi_cs[5]; // assign eeg_ads1299_spi_cs[6] = eeg_spi_cs[6]; // assign eeg_ads1299_spi_cs[7] = eeg_spi_cs[7]; assign eeg_ads1299_spi_sclk[0] = eeg_spi_sclk[0]; assign eeg_ads1299_spi_sclk[1] = eeg_spi_sclk[1]; // assign eeg_ads1299_spi_sclk[2] = eeg_spi_sclk[2]; // assign eeg_ads1299_spi_sclk[3] = eeg_spi_sclk[3]; assign eeg_ads1299_spi_mosi[0] = eeg_spi_mosi[0]; assign eeg_ads1299_spi_mosi[1] = eeg_spi_mosi[1]; // assign eeg_ads1299_spi_mosi[2] = eeg_spi_mosi[2]; // assign eeg_ads1299_spi_mosi[3] = eeg_spi_mosi[3]; assign eeg_spi_miso[0] = eeg_ads1299_spi_miso[0]; assign eeg_spi_miso[1] = eeg_ads1299_spi_miso[1]; // assign eeg_spi_miso[2] = eeg_ads1299_spi_miso[2]; // assign eeg_spi_miso[3] = eeg_ads1299_spi_miso[3]; endmodule