2025-01-10 17:14:49 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
module SimTop (
|
|
|
|
|
|
|
|
|
|
|
|
// output success,
|
|
|
|
|
|
// output fail,
|
|
|
|
|
|
|
|
|
|
|
|
input clock, //100MHz
|
|
|
|
|
|
input reset,
|
2025-01-22 17:12:40 +08:00
|
|
|
|
input clk400,
|
|
|
|
|
|
|
|
|
|
|
|
output [7:0] gpio_o,
|
|
|
|
|
|
input [7:0] gpio_i
|
2025-01-15 11:21:44 +08:00
|
|
|
|
|
2025-01-10 17:14:49 +08:00
|
|
|
|
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-01-15 11:21:44 +08:00
|
|
|
|
wire [3:0] uDatSer;
|
|
|
|
|
|
wire [3:0] dDatSer;
|
2025-01-10 17:14:49 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-01-15 11:21:44 +08:00
|
|
|
|
wire [3:0] dmactive;
|
2025-01-10 17:14:49 +08:00
|
|
|
|
|
2025-01-15 11:21:44 +08:00
|
|
|
|
ExampleRocketSystem s_rocket_mst(
|
2025-01-10 17:14:49 +08:00
|
|
|
|
.clock(clock),
|
|
|
|
|
|
.reset(reset),
|
|
|
|
|
|
.resetctrl_hartIsInReset_0(reset),
|
|
|
|
|
|
|
|
|
|
|
|
.debug_clock(clock),
|
|
|
|
|
|
.debug_reset(reset),
|
|
|
|
|
|
.debug_systemjtag_jtag_TCK(1'b0),
|
|
|
|
|
|
.debug_systemjtag_jtag_TMS(1'b0),
|
|
|
|
|
|
.debug_systemjtag_jtag_TDI(1'b0),
|
|
|
|
|
|
.debug_systemjtag_jtag_TDO_data(),
|
|
|
|
|
|
.debug_systemjtag_jtag_TDO_driven(),
|
|
|
|
|
|
.debug_systemjtag_reset(reset),
|
|
|
|
|
|
.debug_systemjtag_mfr_id(11'b0),
|
|
|
|
|
|
.debug_systemjtag_part_number(16'b0),
|
|
|
|
|
|
.debug_systemjtag_version(4'b0),
|
|
|
|
|
|
.debug_ndreset(),
|
2025-01-15 11:21:44 +08:00
|
|
|
|
.debug_dmactive(dmactive[0]),
|
|
|
|
|
|
.debug_dmactiveAck(dmactive[0]),
|
2025-01-10 17:14:49 +08:00
|
|
|
|
|
|
|
|
|
|
.mmio_apb_0_psel(),
|
|
|
|
|
|
.mmio_apb_0_penable(),
|
|
|
|
|
|
.mmio_apb_0_pwrite(),
|
|
|
|
|
|
.mmio_apb_0_paddr(),
|
|
|
|
|
|
.mmio_apb_0_pprot(),
|
|
|
|
|
|
.mmio_apb_0_pwdata(),
|
|
|
|
|
|
.mmio_apb_0_pstrb(),
|
|
|
|
|
|
.mmio_apb_0_pready(1'b1),
|
|
|
|
|
|
.mmio_apb_0_pslverr(1'b0),
|
|
|
|
|
|
.mmio_apb_0_prdata(32'b0),
|
|
|
|
|
|
|
|
|
|
|
|
.mmio_ahb_0_hmastlock(),
|
|
|
|
|
|
.mmio_ahb_0_hsel(),
|
|
|
|
|
|
.mmio_ahb_0_hready(),
|
|
|
|
|
|
.mmio_ahb_0_hreadyout(1'b1),
|
|
|
|
|
|
.mmio_ahb_0_htrans(),
|
|
|
|
|
|
.mmio_ahb_0_hsize(),
|
|
|
|
|
|
.mmio_ahb_0_hburst(),
|
|
|
|
|
|
.mmio_ahb_0_hwrite(),
|
|
|
|
|
|
.mmio_ahb_0_hprot(),
|
|
|
|
|
|
.mmio_ahb_0_haddr(),
|
|
|
|
|
|
.mmio_ahb_0_hwdata(),
|
|
|
|
|
|
.mmio_ahb_0_hresp(2'b0),
|
|
|
|
|
|
.mmio_ahb_0_hrdata(32'b0),
|
|
|
|
|
|
.mmio_ahb_0_hmaster(),
|
|
|
|
|
|
.mmio_ahb_0_hsplit(16'b0),
|
|
|
|
|
|
|
2025-01-22 17:12:40 +08:00
|
|
|
|
.gpio_0_pins_0_i_ival(gpio_i[0]), //输入
|
|
|
|
|
|
.gpio_0_pins_0_i_po(1'b0), //
|
|
|
|
|
|
.gpio_0_pins_0_o_oval(gpio_o[0]), //输出
|
|
|
|
|
|
.gpio_0_pins_0_o_oe(), //输出使能
|
|
|
|
|
|
.gpio_0_pins_0_o_ie(), //输入使能
|
|
|
|
|
|
.gpio_0_pins_0_o_pue(), //上拉使能
|
|
|
|
|
|
.gpio_0_pins_0_o_ds(), //驱动强度
|
|
|
|
|
|
.gpio_0_pins_0_o_ps(), //驱动速率?
|
|
|
|
|
|
.gpio_0_pins_0_o_ds1(), //驱动强度?
|
|
|
|
|
|
.gpio_0_pins_0_o_poe(), //Nandtree enable
|
|
|
|
|
|
|
|
|
|
|
|
.gpio_0_pins_1_i_ival(gpio_i[1]),
|
|
|
|
|
|
.gpio_0_pins_1_i_po(1'b0),
|
|
|
|
|
|
.gpio_0_pins_1_o_oval(gpio_o[1]),
|
|
|
|
|
|
.gpio_0_pins_1_o_oe(),
|
|
|
|
|
|
.gpio_0_pins_1_o_ie(),
|
|
|
|
|
|
.gpio_0_pins_1_o_pue(),
|
|
|
|
|
|
.gpio_0_pins_1_o_ds(),
|
|
|
|
|
|
.gpio_0_pins_1_o_ps(),
|
|
|
|
|
|
.gpio_0_pins_1_o_ds1(),
|
|
|
|
|
|
.gpio_0_pins_1_o_poe(),
|
|
|
|
|
|
|
|
|
|
|
|
.gpio_0_pins_2_i_ival(gpio_i[2]),
|
|
|
|
|
|
.gpio_0_pins_2_i_po(1'b0),
|
|
|
|
|
|
.gpio_0_pins_2_o_oval(gpio_o[2]),
|
|
|
|
|
|
.gpio_0_pins_2_o_oe(),
|
|
|
|
|
|
.gpio_0_pins_2_o_ie(),
|
|
|
|
|
|
.gpio_0_pins_2_o_pue(),
|
|
|
|
|
|
.gpio_0_pins_2_o_ds(),
|
|
|
|
|
|
.gpio_0_pins_2_o_ps(),
|
|
|
|
|
|
.gpio_0_pins_2_o_ds1(),
|
|
|
|
|
|
.gpio_0_pins_2_o_poe(),
|
|
|
|
|
|
|
|
|
|
|
|
.gpio_0_pins_3_i_ival(gpio_i[3]),
|
|
|
|
|
|
.gpio_0_pins_3_i_po(1'b0),
|
|
|
|
|
|
.gpio_0_pins_3_o_oval(gpio_o[3]),
|
|
|
|
|
|
.gpio_0_pins_3_o_oe(),
|
|
|
|
|
|
.gpio_0_pins_3_o_ie(),
|
|
|
|
|
|
.gpio_0_pins_3_o_pue(),
|
|
|
|
|
|
.gpio_0_pins_3_o_ds(),
|
|
|
|
|
|
.gpio_0_pins_3_o_ps(),
|
|
|
|
|
|
.gpio_0_pins_3_o_ds1(),
|
|
|
|
|
|
.gpio_0_pins_3_o_poe(),
|
|
|
|
|
|
|
|
|
|
|
|
.gpio_0_pins_4_i_ival(gpio_i[4]),
|
|
|
|
|
|
.gpio_0_pins_4_i_po(1'b0),
|
|
|
|
|
|
.gpio_0_pins_4_o_oval(gpio_o[4]),
|
|
|
|
|
|
.gpio_0_pins_4_o_oe(),
|
|
|
|
|
|
.gpio_0_pins_4_o_ie(),
|
|
|
|
|
|
.gpio_0_pins_4_o_pue(),
|
|
|
|
|
|
.gpio_0_pins_4_o_ds(),
|
|
|
|
|
|
.gpio_0_pins_4_o_ps(),
|
|
|
|
|
|
.gpio_0_pins_4_o_ds1(),
|
|
|
|
|
|
.gpio_0_pins_4_o_poe(),
|
|
|
|
|
|
|
|
|
|
|
|
.gpio_0_pins_5_i_ival(gpio_i[5]),
|
|
|
|
|
|
.gpio_0_pins_5_i_po(1'b0),
|
|
|
|
|
|
.gpio_0_pins_5_o_oval(gpio_o[5]),
|
|
|
|
|
|
.gpio_0_pins_5_o_oe(),
|
|
|
|
|
|
.gpio_0_pins_5_o_ie(),
|
|
|
|
|
|
.gpio_0_pins_5_o_pue(),
|
|
|
|
|
|
.gpio_0_pins_5_o_ds(),
|
|
|
|
|
|
.gpio_0_pins_5_o_ps(),
|
|
|
|
|
|
.gpio_0_pins_5_o_ds1(),
|
|
|
|
|
|
.gpio_0_pins_5_o_poe(),
|
|
|
|
|
|
|
|
|
|
|
|
.gpio_0_pins_6_i_ival(gpio_i[6]),
|
|
|
|
|
|
.gpio_0_pins_6_i_po(1'b0),
|
|
|
|
|
|
.gpio_0_pins_6_o_oval(gpio_o[6]),
|
|
|
|
|
|
.gpio_0_pins_6_o_oe(),
|
|
|
|
|
|
.gpio_0_pins_6_o_ie(),
|
|
|
|
|
|
.gpio_0_pins_6_o_pue(),
|
|
|
|
|
|
.gpio_0_pins_6_o_ds(),
|
|
|
|
|
|
.gpio_0_pins_6_o_ps(),
|
|
|
|
|
|
.gpio_0_pins_6_o_ds1(),
|
|
|
|
|
|
.gpio_0_pins_6_o_poe(),
|
|
|
|
|
|
|
|
|
|
|
|
.gpio_0_pins_7_i_ival(gpio_i[7]),
|
|
|
|
|
|
.gpio_0_pins_7_i_po(1'b0),
|
|
|
|
|
|
.gpio_0_pins_7_o_oval(gpio_o[7]),
|
|
|
|
|
|
.gpio_0_pins_7_o_oe(),
|
|
|
|
|
|
.gpio_0_pins_7_o_ie(),
|
|
|
|
|
|
.gpio_0_pins_7_o_pue(),
|
|
|
|
|
|
.gpio_0_pins_7_o_ds(),
|
|
|
|
|
|
.gpio_0_pins_7_o_ps(),
|
|
|
|
|
|
.gpio_0_pins_7_o_ds1(),
|
|
|
|
|
|
.gpio_0_pins_7_o_poe(),
|
|
|
|
|
|
|
|
|
|
|
|
.uart_0_txd(),
|
|
|
|
|
|
.uart_0_rxd(1'b0),
|
|
|
|
|
|
|
2025-01-27 22:25:39 +08:00
|
|
|
|
// .pwm_0_gpio_0(),
|
|
|
|
|
|
// .pwm_0_gpio_1(),
|
|
|
|
|
|
// .pwm_0_gpio_2(),
|
|
|
|
|
|
// .pwm_0_gpio_3(),
|
2025-01-22 17:12:40 +08:00
|
|
|
|
|
|
|
|
|
|
.spi_0_sck(),
|
|
|
|
|
|
.spi_0_dq_0_i(1'b0),
|
|
|
|
|
|
.spi_0_dq_0_o(),
|
|
|
|
|
|
.spi_0_dq_0_ie(),
|
|
|
|
|
|
.spi_0_dq_0_oe(),
|
|
|
|
|
|
.spi_0_dq_1_i(1'b0),
|
|
|
|
|
|
.spi_0_dq_1_o(),
|
|
|
|
|
|
.spi_0_dq_1_ie(),
|
|
|
|
|
|
.spi_0_dq_1_oe(),
|
|
|
|
|
|
.spi_0_dq_2_i(1'b0),
|
|
|
|
|
|
.spi_0_dq_2_o(),
|
|
|
|
|
|
.spi_0_dq_2_ie(),
|
|
|
|
|
|
.spi_0_dq_2_oe(),
|
|
|
|
|
|
.spi_0_dq_3_i(1'b0),
|
|
|
|
|
|
.spi_0_dq_3_o(),
|
|
|
|
|
|
.spi_0_dq_3_ie(),
|
|
|
|
|
|
.spi_0_dq_3_oe(),
|
|
|
|
|
|
.spi_0_cs_0(),
|
|
|
|
|
|
.spi_0_cs_1(),
|
|
|
|
|
|
.spi_0_cs_2(),
|
|
|
|
|
|
.spi_0_cs_3(),
|
|
|
|
|
|
|
|
|
|
|
|
.i2c_0_scl_in(1'b0),
|
|
|
|
|
|
.i2c_0_scl_out(),
|
|
|
|
|
|
.i2c_0_scl_oe(),
|
|
|
|
|
|
.i2c_0_sda_in(1'b0),
|
|
|
|
|
|
.i2c_0_sda_out(),
|
|
|
|
|
|
.i2c_0_sda_oe(),
|
|
|
|
|
|
|
2025-01-10 17:14:49 +08:00
|
|
|
|
.interrupts(2'b0),
|
|
|
|
|
|
|
2025-02-13 18:14:26 +08:00
|
|
|
|
.cdrInIO_overCLK(clk400),
|
|
|
|
|
|
.cdrInIO_dDatIn(1'b0),
|
|
|
|
|
|
.cdrInIO_uDatIn(uDatSer[0]),
|
|
|
|
|
|
.cdrInIO_isLast(1'b0),
|
|
|
|
|
|
.cdrOutIO_dDatOut(dDatSer[0]),
|
|
|
|
|
|
.cdrOutIO_uDatOut(),
|
|
|
|
|
|
.cdrOutIO_isOnline(),
|
2025-02-10 11:17:39 +08:00
|
|
|
|
|
|
|
|
|
|
.fsmcio_ADIn(16'b0),
|
|
|
|
|
|
.fsmcio_ADOut(),
|
|
|
|
|
|
.fsmcio_ADOEn(),
|
|
|
|
|
|
.fsmcio_csn(1'b1),
|
|
|
|
|
|
.fsmcio_rdn(1'b1),
|
|
|
|
|
|
.fsmcio_wrn(1'b1),
|
|
|
|
|
|
.fsmcio_advn(1'b1)
|
2025-01-10 17:14:49 +08:00
|
|
|
|
);
|
|
|
|
|
|
|
2025-01-16 16:34:48 +08:00
|
|
|
|
|
2025-01-15 11:21:44 +08:00
|
|
|
|
ExampleRocketSystem s_rocket_slv0(
|
|
|
|
|
|
.clock(clock),
|
|
|
|
|
|
.reset(reset),
|
|
|
|
|
|
.resetctrl_hartIsInReset_0(reset),
|
|
|
|
|
|
|
|
|
|
|
|
.debug_clock(clock),
|
|
|
|
|
|
.debug_reset(reset),
|
|
|
|
|
|
.debug_systemjtag_jtag_TCK(1'b0),
|
|
|
|
|
|
.debug_systemjtag_jtag_TMS(1'b0),
|
|
|
|
|
|
.debug_systemjtag_jtag_TDI(1'b0),
|
|
|
|
|
|
.debug_systemjtag_jtag_TDO_data(),
|
|
|
|
|
|
.debug_systemjtag_jtag_TDO_driven(),
|
|
|
|
|
|
.debug_systemjtag_reset(reset),
|
|
|
|
|
|
.debug_systemjtag_mfr_id(11'b0),
|
|
|
|
|
|
.debug_systemjtag_part_number(16'b0),
|
|
|
|
|
|
.debug_systemjtag_version(4'b0),
|
|
|
|
|
|
.debug_ndreset(),
|
|
|
|
|
|
.debug_dmactive(dmactive[1]),
|
|
|
|
|
|
.debug_dmactiveAck(dmactive[1]),
|
|
|
|
|
|
|
|
|
|
|
|
.mmio_apb_0_psel(),
|
|
|
|
|
|
.mmio_apb_0_penable(),
|
|
|
|
|
|
.mmio_apb_0_pwrite(),
|
|
|
|
|
|
.mmio_apb_0_paddr(),
|
|
|
|
|
|
.mmio_apb_0_pprot(),
|
|
|
|
|
|
.mmio_apb_0_pwdata(),
|
|
|
|
|
|
.mmio_apb_0_pstrb(),
|
|
|
|
|
|
.mmio_apb_0_pready(1'b1),
|
|
|
|
|
|
.mmio_apb_0_pslverr(1'b0),
|
|
|
|
|
|
.mmio_apb_0_prdata(32'b0),
|
|
|
|
|
|
|
|
|
|
|
|
.mmio_ahb_0_hmastlock(),
|
|
|
|
|
|
.mmio_ahb_0_hsel(),
|
|
|
|
|
|
.mmio_ahb_0_hready(),
|
|
|
|
|
|
.mmio_ahb_0_hreadyout(1'b1),
|
|
|
|
|
|
.mmio_ahb_0_htrans(),
|
|
|
|
|
|
.mmio_ahb_0_hsize(),
|
|
|
|
|
|
.mmio_ahb_0_hburst(),
|
|
|
|
|
|
.mmio_ahb_0_hwrite(),
|
|
|
|
|
|
.mmio_ahb_0_hprot(),
|
|
|
|
|
|
.mmio_ahb_0_haddr(),
|
|
|
|
|
|
.mmio_ahb_0_hwdata(),
|
|
|
|
|
|
.mmio_ahb_0_hresp(2'b0),
|
|
|
|
|
|
.mmio_ahb_0_hrdata(32'b0),
|
|
|
|
|
|
.mmio_ahb_0_hmaster(),
|
|
|
|
|
|
.mmio_ahb_0_hsplit(16'b0),
|
|
|
|
|
|
|
2025-01-27 22:25:39 +08:00
|
|
|
|
|
|
|
|
|
|
.gpio_0_pins_0_i_ival(gpio_i[0]), //输入
|
|
|
|
|
|
.gpio_0_pins_0_i_po(1'b0), //
|
|
|
|
|
|
.gpio_0_pins_0_o_oval(gpio_o[0]), //输出
|
|
|
|
|
|
.gpio_0_pins_0_o_oe(), //输出使能
|
|
|
|
|
|
.gpio_0_pins_0_o_ie(), //输入使能
|
|
|
|
|
|
.gpio_0_pins_0_o_pue(), //上拉使能
|
|
|
|
|
|
.gpio_0_pins_0_o_ds(), //驱动强度
|
|
|
|
|
|
.gpio_0_pins_0_o_ps(), //驱动速率?
|
|
|
|
|
|
.gpio_0_pins_0_o_ds1(), //驱动强度?
|
|
|
|
|
|
.gpio_0_pins_0_o_poe(), //Nandtree enable
|
|
|
|
|
|
|
|
|
|
|
|
.gpio_0_pins_1_i_ival(gpio_i[1]),
|
|
|
|
|
|
.gpio_0_pins_1_i_po(1'b0),
|
|
|
|
|
|
.gpio_0_pins_1_o_oval(gpio_o[1]),
|
|
|
|
|
|
.gpio_0_pins_1_o_oe(),
|
|
|
|
|
|
.gpio_0_pins_1_o_ie(),
|
|
|
|
|
|
.gpio_0_pins_1_o_pue(),
|
|
|
|
|
|
.gpio_0_pins_1_o_ds(),
|
|
|
|
|
|
.gpio_0_pins_1_o_ps(),
|
|
|
|
|
|
.gpio_0_pins_1_o_ds1(),
|
|
|
|
|
|
.gpio_0_pins_1_o_poe(),
|
|
|
|
|
|
|
|
|
|
|
|
.gpio_0_pins_2_i_ival(gpio_i[2]),
|
|
|
|
|
|
.gpio_0_pins_2_i_po(1'b0),
|
|
|
|
|
|
.gpio_0_pins_2_o_oval(gpio_o[2]),
|
|
|
|
|
|
.gpio_0_pins_2_o_oe(),
|
|
|
|
|
|
.gpio_0_pins_2_o_ie(),
|
|
|
|
|
|
.gpio_0_pins_2_o_pue(),
|
|
|
|
|
|
.gpio_0_pins_2_o_ds(),
|
|
|
|
|
|
.gpio_0_pins_2_o_ps(),
|
|
|
|
|
|
.gpio_0_pins_2_o_ds1(),
|
|
|
|
|
|
.gpio_0_pins_2_o_poe(),
|
|
|
|
|
|
|
|
|
|
|
|
.gpio_0_pins_3_i_ival(gpio_i[3]),
|
|
|
|
|
|
.gpio_0_pins_3_i_po(1'b0),
|
|
|
|
|
|
.gpio_0_pins_3_o_oval(gpio_o[3]),
|
|
|
|
|
|
.gpio_0_pins_3_o_oe(),
|
|
|
|
|
|
.gpio_0_pins_3_o_ie(),
|
|
|
|
|
|
.gpio_0_pins_3_o_pue(),
|
|
|
|
|
|
.gpio_0_pins_3_o_ds(),
|
|
|
|
|
|
.gpio_0_pins_3_o_ps(),
|
|
|
|
|
|
.gpio_0_pins_3_o_ds1(),
|
|
|
|
|
|
.gpio_0_pins_3_o_poe(),
|
|
|
|
|
|
|
|
|
|
|
|
.gpio_0_pins_4_i_ival(gpio_i[4]),
|
|
|
|
|
|
.gpio_0_pins_4_i_po(1'b0),
|
|
|
|
|
|
.gpio_0_pins_4_o_oval(gpio_o[4]),
|
|
|
|
|
|
.gpio_0_pins_4_o_oe(),
|
|
|
|
|
|
.gpio_0_pins_4_o_ie(),
|
|
|
|
|
|
.gpio_0_pins_4_o_pue(),
|
|
|
|
|
|
.gpio_0_pins_4_o_ds(),
|
|
|
|
|
|
.gpio_0_pins_4_o_ps(),
|
|
|
|
|
|
.gpio_0_pins_4_o_ds1(),
|
|
|
|
|
|
.gpio_0_pins_4_o_poe(),
|
|
|
|
|
|
|
|
|
|
|
|
.gpio_0_pins_5_i_ival(gpio_i[5]),
|
|
|
|
|
|
.gpio_0_pins_5_i_po(1'b0),
|
|
|
|
|
|
.gpio_0_pins_5_o_oval(gpio_o[5]),
|
|
|
|
|
|
.gpio_0_pins_5_o_oe(),
|
|
|
|
|
|
.gpio_0_pins_5_o_ie(),
|
|
|
|
|
|
.gpio_0_pins_5_o_pue(),
|
|
|
|
|
|
.gpio_0_pins_5_o_ds(),
|
|
|
|
|
|
.gpio_0_pins_5_o_ps(),
|
|
|
|
|
|
.gpio_0_pins_5_o_ds1(),
|
|
|
|
|
|
.gpio_0_pins_5_o_poe(),
|
|
|
|
|
|
|
|
|
|
|
|
.gpio_0_pins_6_i_ival(gpio_i[6]),
|
|
|
|
|
|
.gpio_0_pins_6_i_po(1'b0),
|
|
|
|
|
|
.gpio_0_pins_6_o_oval(gpio_o[6]),
|
|
|
|
|
|
.gpio_0_pins_6_o_oe(),
|
|
|
|
|
|
.gpio_0_pins_6_o_ie(),
|
|
|
|
|
|
.gpio_0_pins_6_o_pue(),
|
|
|
|
|
|
.gpio_0_pins_6_o_ds(),
|
|
|
|
|
|
.gpio_0_pins_6_o_ps(),
|
|
|
|
|
|
.gpio_0_pins_6_o_ds1(),
|
|
|
|
|
|
.gpio_0_pins_6_o_poe(),
|
|
|
|
|
|
|
|
|
|
|
|
.gpio_0_pins_7_i_ival(gpio_i[7]),
|
|
|
|
|
|
.gpio_0_pins_7_i_po(1'b0),
|
|
|
|
|
|
.gpio_0_pins_7_o_oval(gpio_o[7]),
|
|
|
|
|
|
.gpio_0_pins_7_o_oe(),
|
|
|
|
|
|
.gpio_0_pins_7_o_ie(),
|
|
|
|
|
|
.gpio_0_pins_7_o_pue(),
|
|
|
|
|
|
.gpio_0_pins_7_o_ds(),
|
|
|
|
|
|
.gpio_0_pins_7_o_ps(),
|
|
|
|
|
|
.gpio_0_pins_7_o_ds1(),
|
|
|
|
|
|
.gpio_0_pins_7_o_poe(),
|
|
|
|
|
|
|
|
|
|
|
|
.uart_0_txd(),
|
|
|
|
|
|
.uart_0_rxd(1'b0),
|
|
|
|
|
|
|
|
|
|
|
|
// .pwm_0_gpio_0(),
|
|
|
|
|
|
// .pwm_0_gpio_1(),
|
|
|
|
|
|
// .pwm_0_gpio_2(),
|
|
|
|
|
|
// .pwm_0_gpio_3(),
|
|
|
|
|
|
|
|
|
|
|
|
.spi_0_sck(),
|
|
|
|
|
|
.spi_0_dq_0_i(1'b0),
|
|
|
|
|
|
.spi_0_dq_0_o(),
|
|
|
|
|
|
.spi_0_dq_0_ie(),
|
|
|
|
|
|
.spi_0_dq_0_oe(),
|
|
|
|
|
|
.spi_0_dq_1_i(1'b0),
|
|
|
|
|
|
.spi_0_dq_1_o(),
|
|
|
|
|
|
.spi_0_dq_1_ie(),
|
|
|
|
|
|
.spi_0_dq_1_oe(),
|
|
|
|
|
|
.spi_0_dq_2_i(1'b0),
|
|
|
|
|
|
.spi_0_dq_2_o(),
|
|
|
|
|
|
.spi_0_dq_2_ie(),
|
|
|
|
|
|
.spi_0_dq_2_oe(),
|
|
|
|
|
|
.spi_0_dq_3_i(1'b0),
|
|
|
|
|
|
.spi_0_dq_3_o(),
|
|
|
|
|
|
.spi_0_dq_3_ie(),
|
|
|
|
|
|
.spi_0_dq_3_oe(),
|
|
|
|
|
|
.spi_0_cs_0(),
|
|
|
|
|
|
.spi_0_cs_1(),
|
|
|
|
|
|
.spi_0_cs_2(),
|
|
|
|
|
|
.spi_0_cs_3(),
|
|
|
|
|
|
|
|
|
|
|
|
.i2c_0_scl_in(1'b0),
|
|
|
|
|
|
.i2c_0_scl_out(),
|
|
|
|
|
|
.i2c_0_scl_oe(),
|
|
|
|
|
|
.i2c_0_sda_in(1'b0),
|
|
|
|
|
|
.i2c_0_sda_out(),
|
|
|
|
|
|
.i2c_0_sda_oe(),
|
|
|
|
|
|
|
2025-01-15 11:21:44 +08:00
|
|
|
|
.interrupts(2'b0),
|
|
|
|
|
|
|
2025-02-13 18:14:26 +08:00
|
|
|
|
.cdrInIO_overCLK(clk400),
|
|
|
|
|
|
.cdrInIO_dDatIn(dDatSer[0]),
|
|
|
|
|
|
.cdrInIO_uDatIn(uDatSer[1]),
|
|
|
|
|
|
.cdrInIO_isLast(1'b0),
|
|
|
|
|
|
.cdrOutIO_dDatOut(dDatSer[1]),
|
|
|
|
|
|
.cdrOutIO_uDatOut(uDatSer[0]),
|
|
|
|
|
|
.cdrOutIO_isOnline(),
|
2025-02-10 11:17:39 +08:00
|
|
|
|
|
|
|
|
|
|
.fsmcio_ADIn(16'b0),
|
|
|
|
|
|
.fsmcio_ADOut(),
|
|
|
|
|
|
.fsmcio_ADOEn(),
|
|
|
|
|
|
.fsmcio_csn(1'b1),
|
|
|
|
|
|
.fsmcio_rdn(1'b1),
|
|
|
|
|
|
.fsmcio_wrn(1'b1),
|
|
|
|
|
|
.fsmcio_advn(1'b1)
|
2025-01-15 11:21:44 +08:00
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ExampleRocketSystem s_rocket_slv1(
|
|
|
|
|
|
.clock(clock),
|
|
|
|
|
|
.reset(reset),
|
|
|
|
|
|
.resetctrl_hartIsInReset_0(reset),
|
|
|
|
|
|
|
|
|
|
|
|
.debug_clock(clock),
|
|
|
|
|
|
.debug_reset(reset),
|
|
|
|
|
|
.debug_systemjtag_jtag_TCK(1'b0),
|
|
|
|
|
|
.debug_systemjtag_jtag_TMS(1'b0),
|
|
|
|
|
|
.debug_systemjtag_jtag_TDI(1'b0),
|
|
|
|
|
|
.debug_systemjtag_jtag_TDO_data(),
|
|
|
|
|
|
.debug_systemjtag_jtag_TDO_driven(),
|
|
|
|
|
|
.debug_systemjtag_reset(reset),
|
|
|
|
|
|
.debug_systemjtag_mfr_id(11'b0),
|
|
|
|
|
|
.debug_systemjtag_part_number(16'b0),
|
|
|
|
|
|
.debug_systemjtag_version(4'b0),
|
|
|
|
|
|
.debug_ndreset(),
|
|
|
|
|
|
.debug_dmactive(dmactive[2]),
|
|
|
|
|
|
.debug_dmactiveAck(dmactive[2]),
|
|
|
|
|
|
|
|
|
|
|
|
.mmio_apb_0_psel(),
|
|
|
|
|
|
.mmio_apb_0_penable(),
|
|
|
|
|
|
.mmio_apb_0_pwrite(),
|
|
|
|
|
|
.mmio_apb_0_paddr(),
|
|
|
|
|
|
.mmio_apb_0_pprot(),
|
|
|
|
|
|
.mmio_apb_0_pwdata(),
|
|
|
|
|
|
.mmio_apb_0_pstrb(),
|
|
|
|
|
|
.mmio_apb_0_pready(1'b1),
|
|
|
|
|
|
.mmio_apb_0_pslverr(1'b0),
|
|
|
|
|
|
.mmio_apb_0_prdata(32'b0),
|
|
|
|
|
|
|
|
|
|
|
|
.mmio_ahb_0_hmastlock(),
|
|
|
|
|
|
.mmio_ahb_0_hsel(),
|
|
|
|
|
|
.mmio_ahb_0_hready(),
|
|
|
|
|
|
.mmio_ahb_0_hreadyout(1'b1),
|
|
|
|
|
|
.mmio_ahb_0_htrans(),
|
|
|
|
|
|
.mmio_ahb_0_hsize(),
|
|
|
|
|
|
.mmio_ahb_0_hburst(),
|
|
|
|
|
|
.mmio_ahb_0_hwrite(),
|
|
|
|
|
|
.mmio_ahb_0_hprot(),
|
|
|
|
|
|
.mmio_ahb_0_haddr(),
|
|
|
|
|
|
.mmio_ahb_0_hwdata(),
|
|
|
|
|
|
.mmio_ahb_0_hresp(2'b0),
|
|
|
|
|
|
.mmio_ahb_0_hrdata(32'b0),
|
|
|
|
|
|
.mmio_ahb_0_hmaster(),
|
|
|
|
|
|
.mmio_ahb_0_hsplit(16'b0),
|
|
|
|
|
|
|
2025-01-27 22:25:39 +08:00
|
|
|
|
|
|
|
|
|
|
.gpio_0_pins_0_i_ival(gpio_i[0]), //输入
|
|
|
|
|
|
.gpio_0_pins_0_i_po(1'b0), //
|
|
|
|
|
|
.gpio_0_pins_0_o_oval(gpio_o[0]), //输出
|
|
|
|
|
|
.gpio_0_pins_0_o_oe(), //输出使能
|
|
|
|
|
|
.gpio_0_pins_0_o_ie(), //输入使能
|
|
|
|
|
|
.gpio_0_pins_0_o_pue(), //上拉使能
|
|
|
|
|
|
.gpio_0_pins_0_o_ds(), //驱动强度
|
|
|
|
|
|
.gpio_0_pins_0_o_ps(), //驱动速率?
|
|
|
|
|
|
.gpio_0_pins_0_o_ds1(), //驱动强度?
|
|
|
|
|
|
.gpio_0_pins_0_o_poe(), //Nandtree enable
|
|
|
|
|
|
|
|
|
|
|
|
.gpio_0_pins_1_i_ival(gpio_i[1]),
|
|
|
|
|
|
.gpio_0_pins_1_i_po(1'b0),
|
|
|
|
|
|
.gpio_0_pins_1_o_oval(gpio_o[1]),
|
|
|
|
|
|
.gpio_0_pins_1_o_oe(),
|
|
|
|
|
|
.gpio_0_pins_1_o_ie(),
|
|
|
|
|
|
.gpio_0_pins_1_o_pue(),
|
|
|
|
|
|
.gpio_0_pins_1_o_ds(),
|
|
|
|
|
|
.gpio_0_pins_1_o_ps(),
|
|
|
|
|
|
.gpio_0_pins_1_o_ds1(),
|
|
|
|
|
|
.gpio_0_pins_1_o_poe(),
|
|
|
|
|
|
|
|
|
|
|
|
.gpio_0_pins_2_i_ival(gpio_i[2]),
|
|
|
|
|
|
.gpio_0_pins_2_i_po(1'b0),
|
|
|
|
|
|
.gpio_0_pins_2_o_oval(gpio_o[2]),
|
|
|
|
|
|
.gpio_0_pins_2_o_oe(),
|
|
|
|
|
|
.gpio_0_pins_2_o_ie(),
|
|
|
|
|
|
.gpio_0_pins_2_o_pue(),
|
|
|
|
|
|
.gpio_0_pins_2_o_ds(),
|
|
|
|
|
|
.gpio_0_pins_2_o_ps(),
|
|
|
|
|
|
.gpio_0_pins_2_o_ds1(),
|
|
|
|
|
|
.gpio_0_pins_2_o_poe(),
|
|
|
|
|
|
|
|
|
|
|
|
.gpio_0_pins_3_i_ival(gpio_i[3]),
|
|
|
|
|
|
.gpio_0_pins_3_i_po(1'b0),
|
|
|
|
|
|
.gpio_0_pins_3_o_oval(gpio_o[3]),
|
|
|
|
|
|
.gpio_0_pins_3_o_oe(),
|
|
|
|
|
|
.gpio_0_pins_3_o_ie(),
|
|
|
|
|
|
.gpio_0_pins_3_o_pue(),
|
|
|
|
|
|
.gpio_0_pins_3_o_ds(),
|
|
|
|
|
|
.gpio_0_pins_3_o_ps(),
|
|
|
|
|
|
.gpio_0_pins_3_o_ds1(),
|
|
|
|
|
|
.gpio_0_pins_3_o_poe(),
|
|
|
|
|
|
|
|
|
|
|
|
.gpio_0_pins_4_i_ival(gpio_i[4]),
|
|
|
|
|
|
.gpio_0_pins_4_i_po(1'b0),
|
|
|
|
|
|
.gpio_0_pins_4_o_oval(gpio_o[4]),
|
|
|
|
|
|
.gpio_0_pins_4_o_oe(),
|
|
|
|
|
|
.gpio_0_pins_4_o_ie(),
|
|
|
|
|
|
.gpio_0_pins_4_o_pue(),
|
|
|
|
|
|
.gpio_0_pins_4_o_ds(),
|
|
|
|
|
|
.gpio_0_pins_4_o_ps(),
|
|
|
|
|
|
.gpio_0_pins_4_o_ds1(),
|
|
|
|
|
|
.gpio_0_pins_4_o_poe(),
|
|
|
|
|
|
|
|
|
|
|
|
.gpio_0_pins_5_i_ival(gpio_i[5]),
|
|
|
|
|
|
.gpio_0_pins_5_i_po(1'b0),
|
|
|
|
|
|
.gpio_0_pins_5_o_oval(gpio_o[5]),
|
|
|
|
|
|
.gpio_0_pins_5_o_oe(),
|
|
|
|
|
|
.gpio_0_pins_5_o_ie(),
|
|
|
|
|
|
.gpio_0_pins_5_o_pue(),
|
|
|
|
|
|
.gpio_0_pins_5_o_ds(),
|
|
|
|
|
|
.gpio_0_pins_5_o_ps(),
|
|
|
|
|
|
.gpio_0_pins_5_o_ds1(),
|
|
|
|
|
|
.gpio_0_pins_5_o_poe(),
|
|
|
|
|
|
|
|
|
|
|
|
.gpio_0_pins_6_i_ival(gpio_i[6]),
|
|
|
|
|
|
.gpio_0_pins_6_i_po(1'b0),
|
|
|
|
|
|
.gpio_0_pins_6_o_oval(gpio_o[6]),
|
|
|
|
|
|
.gpio_0_pins_6_o_oe(),
|
|
|
|
|
|
.gpio_0_pins_6_o_ie(),
|
|
|
|
|
|
.gpio_0_pins_6_o_pue(),
|
|
|
|
|
|
.gpio_0_pins_6_o_ds(),
|
|
|
|
|
|
.gpio_0_pins_6_o_ps(),
|
|
|
|
|
|
.gpio_0_pins_6_o_ds1(),
|
|
|
|
|
|
.gpio_0_pins_6_o_poe(),
|
|
|
|
|
|
|
|
|
|
|
|
.gpio_0_pins_7_i_ival(gpio_i[7]),
|
|
|
|
|
|
.gpio_0_pins_7_i_po(1'b0),
|
|
|
|
|
|
.gpio_0_pins_7_o_oval(gpio_o[7]),
|
|
|
|
|
|
.gpio_0_pins_7_o_oe(),
|
|
|
|
|
|
.gpio_0_pins_7_o_ie(),
|
|
|
|
|
|
.gpio_0_pins_7_o_pue(),
|
|
|
|
|
|
.gpio_0_pins_7_o_ds(),
|
|
|
|
|
|
.gpio_0_pins_7_o_ps(),
|
|
|
|
|
|
.gpio_0_pins_7_o_ds1(),
|
|
|
|
|
|
.gpio_0_pins_7_o_poe(),
|
|
|
|
|
|
|
|
|
|
|
|
.uart_0_txd(),
|
|
|
|
|
|
.uart_0_rxd(1'b0),
|
|
|
|
|
|
|
|
|
|
|
|
// .pwm_0_gpio_0(),
|
|
|
|
|
|
// .pwm_0_gpio_1(),
|
|
|
|
|
|
// .pwm_0_gpio_2(),
|
|
|
|
|
|
// .pwm_0_gpio_3(),
|
|
|
|
|
|
|
|
|
|
|
|
.spi_0_sck(),
|
|
|
|
|
|
.spi_0_dq_0_i(1'b0),
|
|
|
|
|
|
.spi_0_dq_0_o(),
|
|
|
|
|
|
.spi_0_dq_0_ie(),
|
|
|
|
|
|
.spi_0_dq_0_oe(),
|
|
|
|
|
|
.spi_0_dq_1_i(1'b0),
|
|
|
|
|
|
.spi_0_dq_1_o(),
|
|
|
|
|
|
.spi_0_dq_1_ie(),
|
|
|
|
|
|
.spi_0_dq_1_oe(),
|
|
|
|
|
|
.spi_0_dq_2_i(1'b0),
|
|
|
|
|
|
.spi_0_dq_2_o(),
|
|
|
|
|
|
.spi_0_dq_2_ie(),
|
|
|
|
|
|
.spi_0_dq_2_oe(),
|
|
|
|
|
|
.spi_0_dq_3_i(1'b0),
|
|
|
|
|
|
.spi_0_dq_3_o(),
|
|
|
|
|
|
.spi_0_dq_3_ie(),
|
|
|
|
|
|
.spi_0_dq_3_oe(),
|
|
|
|
|
|
.spi_0_cs_0(),
|
|
|
|
|
|
.spi_0_cs_1(),
|
|
|
|
|
|
.spi_0_cs_2(),
|
|
|
|
|
|
.spi_0_cs_3(),
|
|
|
|
|
|
|
|
|
|
|
|
.i2c_0_scl_in(1'b0),
|
|
|
|
|
|
.i2c_0_scl_out(),
|
|
|
|
|
|
.i2c_0_scl_oe(),
|
|
|
|
|
|
.i2c_0_sda_in(1'b0),
|
|
|
|
|
|
.i2c_0_sda_out(),
|
|
|
|
|
|
.i2c_0_sda_oe(),
|
|
|
|
|
|
|
2025-01-15 11:21:44 +08:00
|
|
|
|
.interrupts(2'b0),
|
|
|
|
|
|
|
2025-02-13 18:14:26 +08:00
|
|
|
|
.cdrInIO_overCLK(clk400),
|
|
|
|
|
|
.cdrInIO_dDatIn(dDatSer[1]),
|
|
|
|
|
|
.cdrInIO_uDatIn(uDatSer[2]),
|
|
|
|
|
|
.cdrInIO_isLast(1'b0),
|
|
|
|
|
|
.cdrOutIO_dDatOut(dDatSer[2]),
|
|
|
|
|
|
.cdrOutIO_uDatOut(uDatSer[1]),
|
|
|
|
|
|
.cdrOutIO_isOnline(),
|
2025-02-10 11:17:39 +08:00
|
|
|
|
|
|
|
|
|
|
.fsmcio_ADIn(16'b0),
|
|
|
|
|
|
.fsmcio_ADOut(),
|
|
|
|
|
|
.fsmcio_ADOEn(),
|
|
|
|
|
|
.fsmcio_csn(1'b1),
|
|
|
|
|
|
.fsmcio_rdn(1'b1),
|
|
|
|
|
|
.fsmcio_wrn(1'b1),
|
|
|
|
|
|
.fsmcio_advn(1'b1)
|
2025-01-15 11:21:44 +08:00
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ExampleRocketSystem s_rocket_slv2(
|
|
|
|
|
|
.clock(clock),
|
|
|
|
|
|
.reset(reset),
|
|
|
|
|
|
.resetctrl_hartIsInReset_0(reset),
|
|
|
|
|
|
|
|
|
|
|
|
.debug_clock(clock),
|
|
|
|
|
|
.debug_reset(reset),
|
|
|
|
|
|
.debug_systemjtag_jtag_TCK(1'b0),
|
|
|
|
|
|
.debug_systemjtag_jtag_TMS(1'b0),
|
|
|
|
|
|
.debug_systemjtag_jtag_TDI(1'b0),
|
|
|
|
|
|
.debug_systemjtag_jtag_TDO_data(),
|
|
|
|
|
|
.debug_systemjtag_jtag_TDO_driven(),
|
|
|
|
|
|
.debug_systemjtag_reset(reset),
|
|
|
|
|
|
.debug_systemjtag_mfr_id(11'b0),
|
|
|
|
|
|
.debug_systemjtag_part_number(16'b0),
|
|
|
|
|
|
.debug_systemjtag_version(4'b0),
|
|
|
|
|
|
.debug_ndreset(),
|
|
|
|
|
|
.debug_dmactive(dmactive[3]),
|
|
|
|
|
|
.debug_dmactiveAck(dmactive[3]),
|
|
|
|
|
|
|
|
|
|
|
|
.mmio_apb_0_psel(),
|
|
|
|
|
|
.mmio_apb_0_penable(),
|
|
|
|
|
|
.mmio_apb_0_pwrite(),
|
|
|
|
|
|
.mmio_apb_0_paddr(),
|
|
|
|
|
|
.mmio_apb_0_pprot(),
|
|
|
|
|
|
.mmio_apb_0_pwdata(),
|
|
|
|
|
|
.mmio_apb_0_pstrb(),
|
|
|
|
|
|
.mmio_apb_0_pready(1'b1),
|
|
|
|
|
|
.mmio_apb_0_pslverr(1'b0),
|
|
|
|
|
|
.mmio_apb_0_prdata(32'b0),
|
|
|
|
|
|
|
|
|
|
|
|
.mmio_ahb_0_hmastlock(),
|
|
|
|
|
|
.mmio_ahb_0_hsel(),
|
|
|
|
|
|
.mmio_ahb_0_hready(),
|
|
|
|
|
|
.mmio_ahb_0_hreadyout(1'b1),
|
|
|
|
|
|
.mmio_ahb_0_htrans(),
|
|
|
|
|
|
.mmio_ahb_0_hsize(),
|
|
|
|
|
|
.mmio_ahb_0_hburst(),
|
|
|
|
|
|
.mmio_ahb_0_hwrite(),
|
|
|
|
|
|
.mmio_ahb_0_hprot(),
|
|
|
|
|
|
.mmio_ahb_0_haddr(),
|
|
|
|
|
|
.mmio_ahb_0_hwdata(),
|
|
|
|
|
|
.mmio_ahb_0_hresp(2'b0),
|
|
|
|
|
|
.mmio_ahb_0_hrdata(32'b0),
|
|
|
|
|
|
.mmio_ahb_0_hmaster(),
|
|
|
|
|
|
.mmio_ahb_0_hsplit(16'b0),
|
|
|
|
|
|
|
2025-01-27 22:25:39 +08:00
|
|
|
|
|
|
|
|
|
|
.gpio_0_pins_0_i_ival(gpio_i[0]), //输入
|
|
|
|
|
|
.gpio_0_pins_0_i_po(1'b0), //
|
|
|
|
|
|
.gpio_0_pins_0_o_oval(gpio_o[0]), //输出
|
|
|
|
|
|
.gpio_0_pins_0_o_oe(), //输出使能
|
|
|
|
|
|
.gpio_0_pins_0_o_ie(), //输入使能
|
|
|
|
|
|
.gpio_0_pins_0_o_pue(), //上拉使能
|
|
|
|
|
|
.gpio_0_pins_0_o_ds(), //驱动强度
|
|
|
|
|
|
.gpio_0_pins_0_o_ps(), //驱动速率?
|
|
|
|
|
|
.gpio_0_pins_0_o_ds1(), //驱动强度?
|
|
|
|
|
|
.gpio_0_pins_0_o_poe(), //Nandtree enable
|
|
|
|
|
|
|
|
|
|
|
|
.gpio_0_pins_1_i_ival(gpio_i[1]),
|
|
|
|
|
|
.gpio_0_pins_1_i_po(1'b0),
|
|
|
|
|
|
.gpio_0_pins_1_o_oval(gpio_o[1]),
|
|
|
|
|
|
.gpio_0_pins_1_o_oe(),
|
|
|
|
|
|
.gpio_0_pins_1_o_ie(),
|
|
|
|
|
|
.gpio_0_pins_1_o_pue(),
|
|
|
|
|
|
.gpio_0_pins_1_o_ds(),
|
|
|
|
|
|
.gpio_0_pins_1_o_ps(),
|
|
|
|
|
|
.gpio_0_pins_1_o_ds1(),
|
|
|
|
|
|
.gpio_0_pins_1_o_poe(),
|
|
|
|
|
|
|
|
|
|
|
|
.gpio_0_pins_2_i_ival(gpio_i[2]),
|
|
|
|
|
|
.gpio_0_pins_2_i_po(1'b0),
|
|
|
|
|
|
.gpio_0_pins_2_o_oval(gpio_o[2]),
|
|
|
|
|
|
.gpio_0_pins_2_o_oe(),
|
|
|
|
|
|
.gpio_0_pins_2_o_ie(),
|
|
|
|
|
|
.gpio_0_pins_2_o_pue(),
|
|
|
|
|
|
.gpio_0_pins_2_o_ds(),
|
|
|
|
|
|
.gpio_0_pins_2_o_ps(),
|
|
|
|
|
|
.gpio_0_pins_2_o_ds1(),
|
|
|
|
|
|
.gpio_0_pins_2_o_poe(),
|
|
|
|
|
|
|
|
|
|
|
|
.gpio_0_pins_3_i_ival(gpio_i[3]),
|
|
|
|
|
|
.gpio_0_pins_3_i_po(1'b0),
|
|
|
|
|
|
.gpio_0_pins_3_o_oval(gpio_o[3]),
|
|
|
|
|
|
.gpio_0_pins_3_o_oe(),
|
|
|
|
|
|
.gpio_0_pins_3_o_ie(),
|
|
|
|
|
|
.gpio_0_pins_3_o_pue(),
|
|
|
|
|
|
.gpio_0_pins_3_o_ds(),
|
|
|
|
|
|
.gpio_0_pins_3_o_ps(),
|
|
|
|
|
|
.gpio_0_pins_3_o_ds1(),
|
|
|
|
|
|
.gpio_0_pins_3_o_poe(),
|
|
|
|
|
|
|
|
|
|
|
|
.gpio_0_pins_4_i_ival(gpio_i[4]),
|
|
|
|
|
|
.gpio_0_pins_4_i_po(1'b0),
|
|
|
|
|
|
.gpio_0_pins_4_o_oval(gpio_o[4]),
|
|
|
|
|
|
.gpio_0_pins_4_o_oe(),
|
|
|
|
|
|
.gpio_0_pins_4_o_ie(),
|
|
|
|
|
|
.gpio_0_pins_4_o_pue(),
|
|
|
|
|
|
.gpio_0_pins_4_o_ds(),
|
|
|
|
|
|
.gpio_0_pins_4_o_ps(),
|
|
|
|
|
|
.gpio_0_pins_4_o_ds1(),
|
|
|
|
|
|
.gpio_0_pins_4_o_poe(),
|
|
|
|
|
|
|
|
|
|
|
|
.gpio_0_pins_5_i_ival(gpio_i[5]),
|
|
|
|
|
|
.gpio_0_pins_5_i_po(1'b0),
|
|
|
|
|
|
.gpio_0_pins_5_o_oval(gpio_o[5]),
|
|
|
|
|
|
.gpio_0_pins_5_o_oe(),
|
|
|
|
|
|
.gpio_0_pins_5_o_ie(),
|
|
|
|
|
|
.gpio_0_pins_5_o_pue(),
|
|
|
|
|
|
.gpio_0_pins_5_o_ds(),
|
|
|
|
|
|
.gpio_0_pins_5_o_ps(),
|
|
|
|
|
|
.gpio_0_pins_5_o_ds1(),
|
|
|
|
|
|
.gpio_0_pins_5_o_poe(),
|
|
|
|
|
|
|
|
|
|
|
|
.gpio_0_pins_6_i_ival(gpio_i[6]),
|
|
|
|
|
|
.gpio_0_pins_6_i_po(1'b0),
|
|
|
|
|
|
.gpio_0_pins_6_o_oval(gpio_o[6]),
|
|
|
|
|
|
.gpio_0_pins_6_o_oe(),
|
|
|
|
|
|
.gpio_0_pins_6_o_ie(),
|
|
|
|
|
|
.gpio_0_pins_6_o_pue(),
|
|
|
|
|
|
.gpio_0_pins_6_o_ds(),
|
|
|
|
|
|
.gpio_0_pins_6_o_ps(),
|
|
|
|
|
|
.gpio_0_pins_6_o_ds1(),
|
|
|
|
|
|
.gpio_0_pins_6_o_poe(),
|
|
|
|
|
|
|
|
|
|
|
|
.gpio_0_pins_7_i_ival(gpio_i[7]),
|
|
|
|
|
|
.gpio_0_pins_7_i_po(1'b0),
|
|
|
|
|
|
.gpio_0_pins_7_o_oval(gpio_o[7]),
|
|
|
|
|
|
.gpio_0_pins_7_o_oe(),
|
|
|
|
|
|
.gpio_0_pins_7_o_ie(),
|
|
|
|
|
|
.gpio_0_pins_7_o_pue(),
|
|
|
|
|
|
.gpio_0_pins_7_o_ds(),
|
|
|
|
|
|
.gpio_0_pins_7_o_ps(),
|
|
|
|
|
|
.gpio_0_pins_7_o_ds1(),
|
|
|
|
|
|
.gpio_0_pins_7_o_poe(),
|
|
|
|
|
|
|
|
|
|
|
|
.uart_0_txd(),
|
|
|
|
|
|
.uart_0_rxd(1'b0),
|
|
|
|
|
|
|
|
|
|
|
|
// .pwm_0_gpio_0(),
|
|
|
|
|
|
// .pwm_0_gpio_1(),
|
|
|
|
|
|
// .pwm_0_gpio_2(),
|
|
|
|
|
|
// .pwm_0_gpio_3(),
|
|
|
|
|
|
|
|
|
|
|
|
.spi_0_sck(),
|
|
|
|
|
|
.spi_0_dq_0_i(1'b0),
|
|
|
|
|
|
.spi_0_dq_0_o(),
|
|
|
|
|
|
.spi_0_dq_0_ie(),
|
|
|
|
|
|
.spi_0_dq_0_oe(),
|
|
|
|
|
|
.spi_0_dq_1_i(1'b0),
|
|
|
|
|
|
.spi_0_dq_1_o(),
|
|
|
|
|
|
.spi_0_dq_1_ie(),
|
|
|
|
|
|
.spi_0_dq_1_oe(),
|
|
|
|
|
|
.spi_0_dq_2_i(1'b0),
|
|
|
|
|
|
.spi_0_dq_2_o(),
|
|
|
|
|
|
.spi_0_dq_2_ie(),
|
|
|
|
|
|
.spi_0_dq_2_oe(),
|
|
|
|
|
|
.spi_0_dq_3_i(1'b0),
|
|
|
|
|
|
.spi_0_dq_3_o(),
|
|
|
|
|
|
.spi_0_dq_3_ie(),
|
|
|
|
|
|
.spi_0_dq_3_oe(),
|
|
|
|
|
|
.spi_0_cs_0(),
|
|
|
|
|
|
.spi_0_cs_1(),
|
|
|
|
|
|
.spi_0_cs_2(),
|
|
|
|
|
|
.spi_0_cs_3(),
|
|
|
|
|
|
|
|
|
|
|
|
.i2c_0_scl_in(1'b0),
|
|
|
|
|
|
.i2c_0_scl_out(),
|
|
|
|
|
|
.i2c_0_scl_oe(),
|
|
|
|
|
|
.i2c_0_sda_in(1'b0),
|
|
|
|
|
|
.i2c_0_sda_out(),
|
|
|
|
|
|
.i2c_0_sda_oe(),
|
|
|
|
|
|
|
2025-01-15 11:21:44 +08:00
|
|
|
|
.interrupts(2'b0),
|
|
|
|
|
|
|
2025-02-13 18:14:26 +08:00
|
|
|
|
.cdrInIO_overCLK(clk400),
|
|
|
|
|
|
.cdrInIO_dDatIn(dDatSer[2]),
|
|
|
|
|
|
.cdrInIO_uDatIn(),
|
|
|
|
|
|
.cdrInIO_isLast(1'b1),
|
|
|
|
|
|
.cdrOutIO_dDatOut(),
|
|
|
|
|
|
.cdrOutIO_uDatOut(uDatSer[2]),
|
|
|
|
|
|
.cdrOutIO_isOnline(),
|
2025-02-10 11:17:39 +08:00
|
|
|
|
|
|
|
|
|
|
.fsmcio_ADIn(16'b0),
|
|
|
|
|
|
.fsmcio_ADOut(),
|
|
|
|
|
|
.fsmcio_ADOEn(),
|
|
|
|
|
|
.fsmcio_csn(1'b1),
|
|
|
|
|
|
.fsmcio_rdn(1'b1),
|
|
|
|
|
|
.fsmcio_wrn(1'b1),
|
|
|
|
|
|
.fsmcio_advn(1'b1)
|
2025-01-15 11:21:44 +08:00
|
|
|
|
);
|
2025-01-16 16:34:48 +08:00
|
|
|
|
|
2025-01-10 17:14:49 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// wire debugger_success;
|
|
|
|
|
|
|
|
|
|
|
|
// debuger i_debuger(
|
|
|
|
|
|
// .success(debugger_success),
|
|
|
|
|
|
// .DEBUGER_AWID (mmio_axi4_0_aw_bits_id),
|
|
|
|
|
|
// .DEBUGER_BID (mmio_axi4_0_b_bits_id),
|
|
|
|
|
|
// .DEBUGER_ARID (mmio_axi4_0_ar_bits_id),
|
|
|
|
|
|
// .DEBUGER_RID (mmio_axi4_0_r_bits_id),
|
|
|
|
|
|
|
|
|
|
|
|
// .DEBUGER_AWADDR (mmio_axi4_0_aw_bits_addr),
|
|
|
|
|
|
// .DEBUGER_AWVALID(mmio_axi4_0_aw_valid),
|
|
|
|
|
|
// .DEBUGER_AWREADY(mmio_axi4_0_aw_ready),
|
|
|
|
|
|
|
|
|
|
|
|
// .DEBUGER_WDATA (mmio_axi4_0_w_bits_data),
|
|
|
|
|
|
// .DEBUGER_WSTRB (mmio_axi4_0_w_bits_strb),
|
|
|
|
|
|
// .DEBUGER_WVALID(mmio_axi4_0_w_valid),
|
|
|
|
|
|
// .DEBUGER_WREADY(mmio_axi4_0_w_ready),
|
|
|
|
|
|
|
|
|
|
|
|
// .DEBUGER_BRESP (mmio_axi4_0_b_bits_resp),
|
|
|
|
|
|
// .DEBUGER_BVALID(mmio_axi4_0_b_valid),
|
|
|
|
|
|
// .DEBUGER_BREADY(mmio_axi4_0_b_ready),
|
|
|
|
|
|
|
|
|
|
|
|
// .DEBUGER_ARADDR (mmio_axi4_0_ar_bits_addr),
|
|
|
|
|
|
// .DEBUGER_ARVALID(mmio_axi4_0_ar_valid),
|
|
|
|
|
|
// .DEBUGER_ARREADY(mmio_axi4_0_ar_ready),
|
|
|
|
|
|
|
|
|
|
|
|
// .DEBUGER_RDATA (mmio_axi4_0_r_bits_data),
|
|
|
|
|
|
// .DEBUGER_RRESP (mmio_axi4_0_r_bits_resp),
|
|
|
|
|
|
// .DEBUGER_RVALID(mmio_axi4_0_r_valid),
|
|
|
|
|
|
// .DEBUGER_RREADY(mmio_axi4_0_r_ready),
|
|
|
|
|
|
|
|
|
|
|
|
// .CLK(CLK),
|
|
|
|
|
|
// .RSTn(RSTn)
|
|
|
|
|
|
|
|
|
|
|
|
// );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-01-11 14:50:27 +08:00
|
|
|
|
// reg [1023:0] firmware_file;
|
|
|
|
|
|
// initial begin
|
|
|
|
|
|
// if ($value$plusargs("%s", firmware_file)) begin
|
|
|
|
|
|
// $display("%s", firmware_file);
|
|
|
|
|
|
// $readmemh(firmware_file, s_rocket.ram.Mem_SRAM.Mem_SRAM_ext.ram);
|
|
|
|
|
|
// end
|
|
|
|
|
|
// end
|
2025-01-10 17:14:49 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// assign success = debugger_success;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-01-16 16:34:48 +08:00
|
|
|
|
initial begin
|
2025-01-27 22:25:39 +08:00
|
|
|
|
#1000
|
|
|
|
|
|
s_rocket_mst.tile_prci_domain.tile_reset_domain_tile.core.CoreID = 0;
|
2025-01-16 16:34:48 +08:00
|
|
|
|
s_rocket_slv0.tile_prci_domain.tile_reset_domain_tile.core.CoreID = 1;
|
|
|
|
|
|
s_rocket_slv1.tile_prci_domain.tile_reset_domain_tile.core.CoreID = 2;
|
|
|
|
|
|
s_rocket_slv2.tile_prci_domain.tile_reset_domain_tile.core.CoreID = 3;
|
|
|
|
|
|
end
|
2025-01-10 17:14:49 +08:00
|
|
|
|
|
2025-01-11 14:50:27 +08:00
|
|
|
|
string testName;
|
2025-01-10 17:14:49 +08:00
|
|
|
|
|
2025-01-15 11:21:44 +08:00
|
|
|
|
`define MEM0 s_rocket_mst.ram.Mem_SRAM.Mem_SRAM_ext.ram
|
|
|
|
|
|
`define MEM1 s_rocket_slv0.ram.Mem_SRAM.Mem_SRAM_ext.ram
|
|
|
|
|
|
`define MEM2 s_rocket_slv1.ram.Mem_SRAM.Mem_SRAM_ext.ram
|
|
|
|
|
|
`define MEM3 s_rocket_slv2.ram.Mem_SRAM.Mem_SRAM_ext.ram
|
|
|
|
|
|
|
|
|
|
|
|
reg [7:0] mem0 [0:200000];
|
|
|
|
|
|
reg [7:0] mem1 [0:200000];
|
2025-01-15 11:44:30 +08:00
|
|
|
|
reg [7:0] mem2 [0:200000];
|
|
|
|
|
|
reg [7:0] mem3 [0:200000];
|
2025-01-10 17:14:49 +08:00
|
|
|
|
|
2025-01-11 14:50:27 +08:00
|
|
|
|
localparam DP = 8192;
|
|
|
|
|
|
integer i;
|
2025-01-15 15:44:29 +08:00
|
|
|
|
|
|
|
|
|
|
|
2025-01-11 14:50:27 +08:00
|
|
|
|
initial begin
|
2025-01-10 17:14:49 +08:00
|
|
|
|
|
2025-01-11 14:50:27 +08:00
|
|
|
|
#20
|
2025-01-10 17:14:49 +08:00
|
|
|
|
|
2025-01-15 11:21:44 +08:00
|
|
|
|
$readmemh("./tb/sw/build/mstTest.verilog", mem0);
|
2025-01-16 16:34:48 +08:00
|
|
|
|
for ( i = 0; i < DP; i = i + 1 ) begin
|
2025-01-15 11:21:44 +08:00
|
|
|
|
if ( mem0[i*4+0] || mem0[i*4+1] || mem0[i*4+2] || mem0[i*4+3] ) begin
|
|
|
|
|
|
`MEM0[i] = {mem0[i*4+3], mem0[i*4+2], mem0[i*4+1], mem0[i*4+0]};
|
|
|
|
|
|
end
|
|
|
|
|
|
else begin
|
|
|
|
|
|
`MEM0[i] = 32'h0;
|
|
|
|
|
|
end
|
2025-01-15 15:44:29 +08:00
|
|
|
|
|
2025-01-15 17:58:12 +08:00
|
|
|
|
// $display("MEM0[%d] = %h", i, `MEM0[i]);
|
2025-01-15 11:21:44 +08:00
|
|
|
|
end
|
2025-01-11 14:50:27 +08:00
|
|
|
|
|
2025-01-16 16:34:48 +08:00
|
|
|
|
$readmemh("./tb/sw/build/slvTest.verilog", mem1);
|
|
|
|
|
|
for ( i = 0; i < DP; i = i + 1 ) begin
|
|
|
|
|
|
if ( mem1[i*4+0] || mem1[i*4+1] || mem1[i*4+2] || mem1[i*4+3] ) begin
|
|
|
|
|
|
`MEM1[i] = {mem1[i*4+3], mem1[i*4+2], mem1[i*4+1], mem1[i*4+0]};
|
|
|
|
|
|
end
|
|
|
|
|
|
else begin
|
|
|
|
|
|
`MEM1[i] = 32'h0;
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
2025-01-10 17:14:49 +08:00
|
|
|
|
|
2025-01-16 16:34:48 +08:00
|
|
|
|
$readmemh("./tb/sw/build/slvTest.verilog", mem2);
|
|
|
|
|
|
for ( i = 0; i < DP; i = i + 1 ) begin
|
|
|
|
|
|
if ( mem2[i*4+0] || mem2[i*4+1] || mem2[i*4+2] || mem2[i*4+3] ) begin
|
|
|
|
|
|
`MEM2[i] = {mem2[i*4+3], mem2[i*4+2], mem2[i*4+1], mem2[i*4+0]};
|
|
|
|
|
|
end
|
|
|
|
|
|
else begin
|
|
|
|
|
|
`MEM2[i] = 32'h0;
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
2025-01-15 11:44:30 +08:00
|
|
|
|
|
2025-01-16 16:34:48 +08:00
|
|
|
|
$readmemh("./tb/sw/build/slvTest.verilog", mem3);
|
|
|
|
|
|
for ( i = 0; i < DP; i = i + 1 ) begin
|
|
|
|
|
|
if ( mem3[i*4+0] || mem3[i*4+1] || mem3[i*4+2] || mem3[i*4+3] ) begin
|
|
|
|
|
|
`MEM3[i] = {mem3[i*4+3], mem3[i*4+2], mem3[i*4+1], mem3[i*4+0]};
|
|
|
|
|
|
end
|
|
|
|
|
|
else begin
|
|
|
|
|
|
`MEM3[i] = 32'h0;
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
2025-01-15 11:44:30 +08:00
|
|
|
|
|
2025-01-15 11:21:44 +08:00
|
|
|
|
end
|
2025-01-10 17:14:49 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
endmodule
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|