module ghrd_10m50da_top ( //Clock and Reset input wire clk_50, //input wire clk_ddr3_100_p, input wire fpga_reset_n, //QSPI output wire qspi_clk, inout wire[3:0] qspi_io, output wire qspi_csn, //ddr3 //output wire [13:0] mem_a, //output wire [2:0] mem_ba, //inout wire [0:0] mem_ck, //inout wire [0:0] mem_ck_n, //output wire [0:0] mem_cke, //output wire [0:0] mem_cs_n, //output wire [0:0] mem_dm, //output wire [0:0] mem_ras_n, //output wire [0:0] mem_cas_n, //output wire [0:0] mem_we_n, //output wire mem_reset_n, ///inout wire [7:0] mem_dq, //inout wire [0:0] mem_dqs, //inout wire [0:0] mem_dqs_n, //output wire [0:0] mem_odt, //i2c inout wire i2c_sda, inout wire i2c_scl, //spi input wire spi_miso, output wire spi_mosi, output wire spi_sclk, output wire spi_ssn, //16550 UART input wire uart_rx, output wire uart_tx, output wire [4:0] user_led ); //Heart-beat counter reg [25:0] heart_beat_cnt; //DDR3 interface assignments //wire local_init_done; //wire local_cal_success; //wire local_cal_fail; //i2c interface wire i2c_serial_sda_in ; wire i2c_serial_scl_in ; wire i2c_serial_sda_oe ; wire i2c_serial_scl_oe ; assign i2c_serial_scl_in = i2c_scl; assign i2c_scl = i2c_serial_scl_oe ? 1'b0 : 1'bz; assign i2c_serial_sda_in = i2c_sda; assign i2c_sda = i2c_serial_sda_oe ? 1'b0 : 1'bz; //assign system_resetn = fpga_reset_n & local_init_done; // SoC sub-system module ghrd_10m50da ghrd_10m50da_inst ( .clk_clk (clk_50), //.ref_clock_bridge_in_clk_clk (clk_ddr3_100_p), .reset_reset_n (fpga_reset_n), //.mem_resetn_in_reset_reset_n (fpga_reset_n ), // mem_resetn_in_reset.reset_n .ext_flash_qspi_pins_data (qspi_io), .ext_flash_qspi_pins_dclk (qspi_clk), .ext_flash_qspi_pins_ncs (qspi_csn), //.memory_mem_a (mem_a[12:0] ), // memory.mem_a //.memory_mem_ba (mem_ba ), // .mem_ba //.memory_mem_ck (mem_ck ), // .mem_ck //.memory_mem_ck_n (mem_ck_n ), // .mem_ck_n //.memory_mem_cke (mem_cke ), // .mem_cke //.memory_mem_cs_n (mem_cs_n ), // .mem_cs_n //.memory_mem_dm (mem_dm ), // .mem_dm //.memory_mem_ras_n (mem_ras_n ), // .mem_ras_n //.memory_mem_cas_n (mem_cas_n ), // .mem_cas_n //.memory_mem_we_n (mem_we_n ), // .mem_we_n //.memory_mem_reset_n (mem_reset_n ), // .mem_reset_n //.memory_mem_dq (mem_dq ), // .mem_dq //.memory_mem_dqs (mem_dqs ), // .mem_dqs //.memory_mem_dqs_n (mem_dqs_n ), // .mem_dqs_n //.memory_mem_odt (mem_odt ), // .mem_odt //.mem_if_ddr3_emif_0_status_local_init_done (local_init_done ), // mem_if_ddr3_emif_0_status.local_init_done //.mem_if_ddr3_emif_0_status_local_cal_success (local_cal_success ), // .local_cal_success //.mem_if_ddr3_emif_0_status_local_cal_fail (local_cal_fail ), // .local_cal_fail //i2c .i2c_0_i2c_serial_sda_in (i2c_serial_sda_in), .i2c_0_i2c_serial_scl_in (i2c_serial_scl_in), .i2c_0_i2c_serial_sda_oe (i2c_serial_sda_oe), .i2c_0_i2c_serial_scl_oe (i2c_serial_scl_oe), //spi .spi_0_external_MISO (spi_miso), // spi_0_external.MISO .spi_0_external_MOSI (spi_mosi), // .MOSI .spi_0_external_SCLK (spi_sclk), // .SCLK .spi_0_external_SS_n (spi_ssn), // .SS_n //pio .led_external_connection_export (user_led[3:0]), //16550 UART .a_16550_uart_0_rs_232_serial_sin (uart_rx), // a_16550_uart_0_rs_232_serial.sin .a_16550_uart_0_rs_232_serial_sout (uart_tx), // .sout .a_16550_uart_0_rs_232_serial_sout_oe () // .sout_oe ); //DDR3 Address Bit #13 is not available for DDR3 SDRAM A (64Mx16) //assign mem_a[13] = 1'b0; //Heart beat by 50MHz clock always @(posedge clk_50 or negedge fpga_reset_n) if (!fpga_reset_n) heart_beat_cnt <= 26'h0; //0x3FFFFFF else heart_beat_cnt <= heart_beat_cnt + 1'b1; assign user_led[4] = heart_beat_cnt[25]; endmodule