| // Copyright lowRISC contributors. |
| // Licensed under the Apache License, Version 2.0, see LICENSE for details. |
| // SPDX-License-Identifier: Apache-2.0 |
| // |
| // xbar_main module generated by `tlgen.py` tool |
| // all reset signals should be generated from one reset signal to not make any deadlock |
| // |
| // Interconnect |
| // corei |
| // -> s1n_14 |
| // -> sm1_15 |
| // -> rom |
| // -> sm1_16 |
| // -> debug_mem |
| // -> sm1_17 |
| // -> ram_main |
| // -> sm1_18 |
| // -> eflash |
| // cored |
| // -> s1n_19 |
| // -> sm1_15 |
| // -> rom |
| // -> sm1_16 |
| // -> debug_mem |
| // -> sm1_17 |
| // -> ram_main |
| // -> sm1_18 |
| // -> eflash |
| // -> sm1_20 |
| // -> uart |
| // -> sm1_21 |
| // -> gpio |
| // -> sm1_22 |
| // -> spi_device |
| // -> sm1_23 |
| // -> flash_ctrl |
| // -> sm1_24 |
| // -> rv_timer |
| // -> sm1_25 |
| // -> hmac |
| // -> sm1_26 |
| // -> rv_plic |
| // dm_sba |
| // -> s1n_27 |
| // -> sm1_15 |
| // -> rom |
| // -> sm1_17 |
| // -> ram_main |
| // -> sm1_18 |
| // -> eflash |
| // -> sm1_20 |
| // -> uart |
| // -> sm1_21 |
| // -> gpio |
| // -> sm1_22 |
| // -> spi_device |
| // -> sm1_23 |
| // -> flash_ctrl |
| // -> sm1_24 |
| // -> rv_timer |
| // -> sm1_25 |
| // -> hmac |
| // -> sm1_26 |
| // -> rv_plic |
| |
| module xbar_main ( |
| input clk_main_i, |
| input rst_main_ni, |
| |
| // Host interfaces |
| input tlul_pkg::tl_h2d_t tl_corei_i, |
| output tlul_pkg::tl_d2h_t tl_corei_o, |
| input tlul_pkg::tl_h2d_t tl_cored_i, |
| output tlul_pkg::tl_d2h_t tl_cored_o, |
| input tlul_pkg::tl_h2d_t tl_dm_sba_i, |
| output tlul_pkg::tl_d2h_t tl_dm_sba_o, |
| |
| // Device interfaces |
| output tlul_pkg::tl_h2d_t tl_rom_o, |
| input tlul_pkg::tl_d2h_t tl_rom_i, |
| output tlul_pkg::tl_h2d_t tl_debug_mem_o, |
| input tlul_pkg::tl_d2h_t tl_debug_mem_i, |
| output tlul_pkg::tl_h2d_t tl_ram_main_o, |
| input tlul_pkg::tl_d2h_t tl_ram_main_i, |
| output tlul_pkg::tl_h2d_t tl_eflash_o, |
| input tlul_pkg::tl_d2h_t tl_eflash_i, |
| output tlul_pkg::tl_h2d_t tl_uart_o, |
| input tlul_pkg::tl_d2h_t tl_uart_i, |
| output tlul_pkg::tl_h2d_t tl_gpio_o, |
| input tlul_pkg::tl_d2h_t tl_gpio_i, |
| output tlul_pkg::tl_h2d_t tl_spi_device_o, |
| input tlul_pkg::tl_d2h_t tl_spi_device_i, |
| output tlul_pkg::tl_h2d_t tl_flash_ctrl_o, |
| input tlul_pkg::tl_d2h_t tl_flash_ctrl_i, |
| output tlul_pkg::tl_h2d_t tl_rv_timer_o, |
| input tlul_pkg::tl_d2h_t tl_rv_timer_i, |
| output tlul_pkg::tl_h2d_t tl_hmac_o, |
| input tlul_pkg::tl_d2h_t tl_hmac_i, |
| output tlul_pkg::tl_h2d_t tl_rv_plic_o, |
| input tlul_pkg::tl_d2h_t tl_rv_plic_i, |
| |
| input scanmode_i |
| ); |
| |
| import tlul_pkg::*; |
| import tl_main_pkg::*; |
| |
| tl_h2d_t tl_s1n_14_us_h2d ; |
| tl_d2h_t tl_s1n_14_us_d2h ; |
| |
| |
| tl_h2d_t tl_s1n_14_ds_h2d [4]; |
| tl_d2h_t tl_s1n_14_ds_d2h [4]; |
| |
| // Create steering signal |
| logic [2:0] dev_sel_s1n_14; |
| |
| |
| tl_h2d_t tl_sm1_15_us_h2d [3]; |
| tl_d2h_t tl_sm1_15_us_d2h [3]; |
| |
| tl_h2d_t tl_sm1_15_ds_h2d ; |
| tl_d2h_t tl_sm1_15_ds_d2h ; |
| |
| |
| tl_h2d_t tl_sm1_16_us_h2d [2]; |
| tl_d2h_t tl_sm1_16_us_d2h [2]; |
| |
| tl_h2d_t tl_sm1_16_ds_h2d ; |
| tl_d2h_t tl_sm1_16_ds_d2h ; |
| |
| |
| tl_h2d_t tl_sm1_17_us_h2d [3]; |
| tl_d2h_t tl_sm1_17_us_d2h [3]; |
| |
| tl_h2d_t tl_sm1_17_ds_h2d ; |
| tl_d2h_t tl_sm1_17_ds_d2h ; |
| |
| |
| tl_h2d_t tl_sm1_18_us_h2d [3]; |
| tl_d2h_t tl_sm1_18_us_d2h [3]; |
| |
| tl_h2d_t tl_sm1_18_ds_h2d ; |
| tl_d2h_t tl_sm1_18_ds_d2h ; |
| |
| tl_h2d_t tl_s1n_19_us_h2d ; |
| tl_d2h_t tl_s1n_19_us_d2h ; |
| |
| |
| tl_h2d_t tl_s1n_19_ds_h2d [11]; |
| tl_d2h_t tl_s1n_19_ds_d2h [11]; |
| |
| // Create steering signal |
| logic [3:0] dev_sel_s1n_19; |
| |
| |
| tl_h2d_t tl_sm1_20_us_h2d [2]; |
| tl_d2h_t tl_sm1_20_us_d2h [2]; |
| |
| tl_h2d_t tl_sm1_20_ds_h2d ; |
| tl_d2h_t tl_sm1_20_ds_d2h ; |
| |
| |
| tl_h2d_t tl_sm1_21_us_h2d [2]; |
| tl_d2h_t tl_sm1_21_us_d2h [2]; |
| |
| tl_h2d_t tl_sm1_21_ds_h2d ; |
| tl_d2h_t tl_sm1_21_ds_d2h ; |
| |
| |
| tl_h2d_t tl_sm1_22_us_h2d [2]; |
| tl_d2h_t tl_sm1_22_us_d2h [2]; |
| |
| tl_h2d_t tl_sm1_22_ds_h2d ; |
| tl_d2h_t tl_sm1_22_ds_d2h ; |
| |
| |
| tl_h2d_t tl_sm1_23_us_h2d [2]; |
| tl_d2h_t tl_sm1_23_us_d2h [2]; |
| |
| tl_h2d_t tl_sm1_23_ds_h2d ; |
| tl_d2h_t tl_sm1_23_ds_d2h ; |
| |
| |
| tl_h2d_t tl_sm1_24_us_h2d [2]; |
| tl_d2h_t tl_sm1_24_us_d2h [2]; |
| |
| tl_h2d_t tl_sm1_24_ds_h2d ; |
| tl_d2h_t tl_sm1_24_ds_d2h ; |
| |
| |
| tl_h2d_t tl_sm1_25_us_h2d [2]; |
| tl_d2h_t tl_sm1_25_us_d2h [2]; |
| |
| tl_h2d_t tl_sm1_25_ds_h2d ; |
| tl_d2h_t tl_sm1_25_ds_d2h ; |
| |
| |
| tl_h2d_t tl_sm1_26_us_h2d [2]; |
| tl_d2h_t tl_sm1_26_us_d2h [2]; |
| |
| tl_h2d_t tl_sm1_26_ds_h2d ; |
| tl_d2h_t tl_sm1_26_ds_d2h ; |
| |
| tl_h2d_t tl_s1n_27_us_h2d ; |
| tl_d2h_t tl_s1n_27_us_d2h ; |
| |
| |
| tl_h2d_t tl_s1n_27_ds_h2d [10]; |
| tl_d2h_t tl_s1n_27_ds_d2h [10]; |
| |
| // Create steering signal |
| logic [3:0] dev_sel_s1n_27; |
| |
| |
| |
| assign tl_sm1_15_us_h2d[0] = tl_s1n_14_ds_h2d[0]; |
| assign tl_s1n_14_ds_d2h[0] = tl_sm1_15_us_d2h[0]; |
| |
| assign tl_sm1_16_us_h2d[0] = tl_s1n_14_ds_h2d[1]; |
| assign tl_s1n_14_ds_d2h[1] = tl_sm1_16_us_d2h[0]; |
| |
| assign tl_sm1_17_us_h2d[0] = tl_s1n_14_ds_h2d[2]; |
| assign tl_s1n_14_ds_d2h[2] = tl_sm1_17_us_d2h[0]; |
| |
| assign tl_sm1_18_us_h2d[0] = tl_s1n_14_ds_h2d[3]; |
| assign tl_s1n_14_ds_d2h[3] = tl_sm1_18_us_d2h[0]; |
| |
| assign tl_sm1_15_us_h2d[1] = tl_s1n_19_ds_h2d[0]; |
| assign tl_s1n_19_ds_d2h[0] = tl_sm1_15_us_d2h[1]; |
| |
| assign tl_sm1_16_us_h2d[1] = tl_s1n_19_ds_h2d[1]; |
| assign tl_s1n_19_ds_d2h[1] = tl_sm1_16_us_d2h[1]; |
| |
| assign tl_sm1_17_us_h2d[1] = tl_s1n_19_ds_h2d[2]; |
| assign tl_s1n_19_ds_d2h[2] = tl_sm1_17_us_d2h[1]; |
| |
| assign tl_sm1_18_us_h2d[1] = tl_s1n_19_ds_h2d[3]; |
| assign tl_s1n_19_ds_d2h[3] = tl_sm1_18_us_d2h[1]; |
| |
| assign tl_sm1_20_us_h2d[0] = tl_s1n_19_ds_h2d[4]; |
| assign tl_s1n_19_ds_d2h[4] = tl_sm1_20_us_d2h[0]; |
| |
| assign tl_sm1_21_us_h2d[0] = tl_s1n_19_ds_h2d[5]; |
| assign tl_s1n_19_ds_d2h[5] = tl_sm1_21_us_d2h[0]; |
| |
| assign tl_sm1_22_us_h2d[0] = tl_s1n_19_ds_h2d[6]; |
| assign tl_s1n_19_ds_d2h[6] = tl_sm1_22_us_d2h[0]; |
| |
| assign tl_sm1_23_us_h2d[0] = tl_s1n_19_ds_h2d[7]; |
| assign tl_s1n_19_ds_d2h[7] = tl_sm1_23_us_d2h[0]; |
| |
| assign tl_sm1_24_us_h2d[0] = tl_s1n_19_ds_h2d[8]; |
| assign tl_s1n_19_ds_d2h[8] = tl_sm1_24_us_d2h[0]; |
| |
| assign tl_sm1_25_us_h2d[0] = tl_s1n_19_ds_h2d[9]; |
| assign tl_s1n_19_ds_d2h[9] = tl_sm1_25_us_d2h[0]; |
| |
| assign tl_sm1_26_us_h2d[0] = tl_s1n_19_ds_h2d[10]; |
| assign tl_s1n_19_ds_d2h[10] = tl_sm1_26_us_d2h[0]; |
| |
| assign tl_sm1_15_us_h2d[2] = tl_s1n_27_ds_h2d[0]; |
| assign tl_s1n_27_ds_d2h[0] = tl_sm1_15_us_d2h[2]; |
| |
| assign tl_sm1_17_us_h2d[2] = tl_s1n_27_ds_h2d[1]; |
| assign tl_s1n_27_ds_d2h[1] = tl_sm1_17_us_d2h[2]; |
| |
| assign tl_sm1_18_us_h2d[2] = tl_s1n_27_ds_h2d[2]; |
| assign tl_s1n_27_ds_d2h[2] = tl_sm1_18_us_d2h[2]; |
| |
| assign tl_sm1_20_us_h2d[1] = tl_s1n_27_ds_h2d[3]; |
| assign tl_s1n_27_ds_d2h[3] = tl_sm1_20_us_d2h[1]; |
| |
| assign tl_sm1_21_us_h2d[1] = tl_s1n_27_ds_h2d[4]; |
| assign tl_s1n_27_ds_d2h[4] = tl_sm1_21_us_d2h[1]; |
| |
| assign tl_sm1_22_us_h2d[1] = tl_s1n_27_ds_h2d[5]; |
| assign tl_s1n_27_ds_d2h[5] = tl_sm1_22_us_d2h[1]; |
| |
| assign tl_sm1_23_us_h2d[1] = tl_s1n_27_ds_h2d[6]; |
| assign tl_s1n_27_ds_d2h[6] = tl_sm1_23_us_d2h[1]; |
| |
| assign tl_sm1_24_us_h2d[1] = tl_s1n_27_ds_h2d[7]; |
| assign tl_s1n_27_ds_d2h[7] = tl_sm1_24_us_d2h[1]; |
| |
| assign tl_sm1_25_us_h2d[1] = tl_s1n_27_ds_h2d[8]; |
| assign tl_s1n_27_ds_d2h[8] = tl_sm1_25_us_d2h[1]; |
| |
| assign tl_sm1_26_us_h2d[1] = tl_s1n_27_ds_h2d[9]; |
| assign tl_s1n_27_ds_d2h[9] = tl_sm1_26_us_d2h[1]; |
| |
| assign tl_s1n_14_us_h2d = tl_corei_i; |
| assign tl_corei_o = tl_s1n_14_us_d2h; |
| |
| assign tl_rom_o = tl_sm1_15_ds_h2d; |
| assign tl_sm1_15_ds_d2h = tl_rom_i; |
| |
| assign tl_debug_mem_o = tl_sm1_16_ds_h2d; |
| assign tl_sm1_16_ds_d2h = tl_debug_mem_i; |
| |
| assign tl_ram_main_o = tl_sm1_17_ds_h2d; |
| assign tl_sm1_17_ds_d2h = tl_ram_main_i; |
| |
| assign tl_eflash_o = tl_sm1_18_ds_h2d; |
| assign tl_sm1_18_ds_d2h = tl_eflash_i; |
| |
| assign tl_s1n_19_us_h2d = tl_cored_i; |
| assign tl_cored_o = tl_s1n_19_us_d2h; |
| |
| assign tl_uart_o = tl_sm1_20_ds_h2d; |
| assign tl_sm1_20_ds_d2h = tl_uart_i; |
| |
| assign tl_gpio_o = tl_sm1_21_ds_h2d; |
| assign tl_sm1_21_ds_d2h = tl_gpio_i; |
| |
| assign tl_spi_device_o = tl_sm1_22_ds_h2d; |
| assign tl_sm1_22_ds_d2h = tl_spi_device_i; |
| |
| assign tl_flash_ctrl_o = tl_sm1_23_ds_h2d; |
| assign tl_sm1_23_ds_d2h = tl_flash_ctrl_i; |
| |
| assign tl_rv_timer_o = tl_sm1_24_ds_h2d; |
| assign tl_sm1_24_ds_d2h = tl_rv_timer_i; |
| |
| assign tl_hmac_o = tl_sm1_25_ds_h2d; |
| assign tl_sm1_25_ds_d2h = tl_hmac_i; |
| |
| assign tl_rv_plic_o = tl_sm1_26_ds_h2d; |
| assign tl_sm1_26_ds_d2h = tl_rv_plic_i; |
| |
| assign tl_s1n_27_us_h2d = tl_dm_sba_i; |
| assign tl_dm_sba_o = tl_s1n_27_us_d2h; |
| |
| always_comb begin |
| // default steering to generate error response if address is not within the range |
| dev_sel_s1n_14 = 3'd4; |
| if ((tl_s1n_14_us_h2d.a_address & ~(ADDR_MASK_ROM)) == ADDR_SPACE_ROM) begin |
| dev_sel_s1n_14 = 3'd0; |
| end else if ((tl_s1n_14_us_h2d.a_address & ~(ADDR_MASK_DEBUG_MEM)) == ADDR_SPACE_DEBUG_MEM) begin |
| dev_sel_s1n_14 = 3'd1; |
| end else if ((tl_s1n_14_us_h2d.a_address & ~(ADDR_MASK_RAM_MAIN)) == ADDR_SPACE_RAM_MAIN) begin |
| dev_sel_s1n_14 = 3'd2; |
| end else if ((tl_s1n_14_us_h2d.a_address & ~(ADDR_MASK_EFLASH)) == ADDR_SPACE_EFLASH) begin |
| dev_sel_s1n_14 = 3'd3; |
| end |
| end |
| |
| always_comb begin |
| // default steering to generate error response if address is not within the range |
| dev_sel_s1n_19 = 4'd11; |
| if ((tl_s1n_19_us_h2d.a_address & ~(ADDR_MASK_ROM)) == ADDR_SPACE_ROM) begin |
| dev_sel_s1n_19 = 4'd0; |
| end else if ((tl_s1n_19_us_h2d.a_address & ~(ADDR_MASK_DEBUG_MEM)) == ADDR_SPACE_DEBUG_MEM) begin |
| dev_sel_s1n_19 = 4'd1; |
| end else if ((tl_s1n_19_us_h2d.a_address & ~(ADDR_MASK_RAM_MAIN)) == ADDR_SPACE_RAM_MAIN) begin |
| dev_sel_s1n_19 = 4'd2; |
| end else if ((tl_s1n_19_us_h2d.a_address & ~(ADDR_MASK_EFLASH)) == ADDR_SPACE_EFLASH) begin |
| dev_sel_s1n_19 = 4'd3; |
| end else if ((tl_s1n_19_us_h2d.a_address & ~(ADDR_MASK_UART)) == ADDR_SPACE_UART) begin |
| dev_sel_s1n_19 = 4'd4; |
| end else if ((tl_s1n_19_us_h2d.a_address & ~(ADDR_MASK_GPIO)) == ADDR_SPACE_GPIO) begin |
| dev_sel_s1n_19 = 4'd5; |
| end else if ((tl_s1n_19_us_h2d.a_address & ~(ADDR_MASK_SPI_DEVICE)) == ADDR_SPACE_SPI_DEVICE) begin |
| dev_sel_s1n_19 = 4'd6; |
| end else if ((tl_s1n_19_us_h2d.a_address & ~(ADDR_MASK_FLASH_CTRL)) == ADDR_SPACE_FLASH_CTRL) begin |
| dev_sel_s1n_19 = 4'd7; |
| end else if ((tl_s1n_19_us_h2d.a_address & ~(ADDR_MASK_RV_TIMER)) == ADDR_SPACE_RV_TIMER) begin |
| dev_sel_s1n_19 = 4'd8; |
| end else if ((tl_s1n_19_us_h2d.a_address & ~(ADDR_MASK_HMAC)) == ADDR_SPACE_HMAC) begin |
| dev_sel_s1n_19 = 4'd9; |
| end else if ((tl_s1n_19_us_h2d.a_address & ~(ADDR_MASK_RV_PLIC)) == ADDR_SPACE_RV_PLIC) begin |
| dev_sel_s1n_19 = 4'd10; |
| end |
| end |
| |
| always_comb begin |
| // default steering to generate error response if address is not within the range |
| dev_sel_s1n_27 = 4'd10; |
| if ((tl_s1n_27_us_h2d.a_address & ~(ADDR_MASK_ROM)) == ADDR_SPACE_ROM) begin |
| dev_sel_s1n_27 = 4'd0; |
| end else if ((tl_s1n_27_us_h2d.a_address & ~(ADDR_MASK_RAM_MAIN)) == ADDR_SPACE_RAM_MAIN) begin |
| dev_sel_s1n_27 = 4'd1; |
| end else if ((tl_s1n_27_us_h2d.a_address & ~(ADDR_MASK_EFLASH)) == ADDR_SPACE_EFLASH) begin |
| dev_sel_s1n_27 = 4'd2; |
| end else if ((tl_s1n_27_us_h2d.a_address & ~(ADDR_MASK_UART)) == ADDR_SPACE_UART) begin |
| dev_sel_s1n_27 = 4'd3; |
| end else if ((tl_s1n_27_us_h2d.a_address & ~(ADDR_MASK_GPIO)) == ADDR_SPACE_GPIO) begin |
| dev_sel_s1n_27 = 4'd4; |
| end else if ((tl_s1n_27_us_h2d.a_address & ~(ADDR_MASK_SPI_DEVICE)) == ADDR_SPACE_SPI_DEVICE) begin |
| dev_sel_s1n_27 = 4'd5; |
| end else if ((tl_s1n_27_us_h2d.a_address & ~(ADDR_MASK_FLASH_CTRL)) == ADDR_SPACE_FLASH_CTRL) begin |
| dev_sel_s1n_27 = 4'd6; |
| end else if ((tl_s1n_27_us_h2d.a_address & ~(ADDR_MASK_RV_TIMER)) == ADDR_SPACE_RV_TIMER) begin |
| dev_sel_s1n_27 = 4'd7; |
| end else if ((tl_s1n_27_us_h2d.a_address & ~(ADDR_MASK_HMAC)) == ADDR_SPACE_HMAC) begin |
| dev_sel_s1n_27 = 4'd8; |
| end else if ((tl_s1n_27_us_h2d.a_address & ~(ADDR_MASK_RV_PLIC)) == ADDR_SPACE_RV_PLIC) begin |
| dev_sel_s1n_27 = 4'd9; |
| end |
| end |
| |
| |
| // Instantiation phase |
| tlul_socket_1n #( |
| .HReqPass (1'b0), |
| .HRspPass (1'b0), |
| .N (4) |
| ) u_s1n_14 ( |
| .clk_i (clk_main_i), |
| .rst_ni (rst_main_ni), |
| .tl_h_i (tl_s1n_14_us_h2d), |
| .tl_h_o (tl_s1n_14_us_d2h), |
| .tl_d_o (tl_s1n_14_ds_h2d), |
| .tl_d_i (tl_s1n_14_ds_d2h), |
| .dev_select (dev_sel_s1n_14) |
| ); |
| tlul_socket_m1 #( |
| .M (3) |
| ) u_sm1_15 ( |
| .clk_i (clk_main_i), |
| .rst_ni (rst_main_ni), |
| .tl_h_i (tl_sm1_15_us_h2d), |
| .tl_h_o (tl_sm1_15_us_d2h), |
| .tl_d_o (tl_sm1_15_ds_h2d), |
| .tl_d_i (tl_sm1_15_ds_d2h) |
| ); |
| tlul_socket_m1 #( |
| .M (2) |
| ) u_sm1_16 ( |
| .clk_i (clk_main_i), |
| .rst_ni (rst_main_ni), |
| .tl_h_i (tl_sm1_16_us_h2d), |
| .tl_h_o (tl_sm1_16_us_d2h), |
| .tl_d_o (tl_sm1_16_ds_h2d), |
| .tl_d_i (tl_sm1_16_ds_d2h) |
| ); |
| tlul_socket_m1 #( |
| .M (3) |
| ) u_sm1_17 ( |
| .clk_i (clk_main_i), |
| .rst_ni (rst_main_ni), |
| .tl_h_i (tl_sm1_17_us_h2d), |
| .tl_h_o (tl_sm1_17_us_d2h), |
| .tl_d_o (tl_sm1_17_ds_h2d), |
| .tl_d_i (tl_sm1_17_ds_d2h) |
| ); |
| tlul_socket_m1 #( |
| .M (3) |
| ) u_sm1_18 ( |
| .clk_i (clk_main_i), |
| .rst_ni (rst_main_ni), |
| .tl_h_i (tl_sm1_18_us_h2d), |
| .tl_h_o (tl_sm1_18_us_d2h), |
| .tl_d_o (tl_sm1_18_ds_h2d), |
| .tl_d_i (tl_sm1_18_ds_d2h) |
| ); |
| tlul_socket_1n #( |
| .HReqPass (1'b0), |
| .HRspPass (1'b0), |
| .N (11) |
| ) u_s1n_19 ( |
| .clk_i (clk_main_i), |
| .rst_ni (rst_main_ni), |
| .tl_h_i (tl_s1n_19_us_h2d), |
| .tl_h_o (tl_s1n_19_us_d2h), |
| .tl_d_o (tl_s1n_19_ds_h2d), |
| .tl_d_i (tl_s1n_19_ds_d2h), |
| .dev_select (dev_sel_s1n_19) |
| ); |
| tlul_socket_m1 #( |
| .M (2) |
| ) u_sm1_20 ( |
| .clk_i (clk_main_i), |
| .rst_ni (rst_main_ni), |
| .tl_h_i (tl_sm1_20_us_h2d), |
| .tl_h_o (tl_sm1_20_us_d2h), |
| .tl_d_o (tl_sm1_20_ds_h2d), |
| .tl_d_i (tl_sm1_20_ds_d2h) |
| ); |
| tlul_socket_m1 #( |
| .M (2) |
| ) u_sm1_21 ( |
| .clk_i (clk_main_i), |
| .rst_ni (rst_main_ni), |
| .tl_h_i (tl_sm1_21_us_h2d), |
| .tl_h_o (tl_sm1_21_us_d2h), |
| .tl_d_o (tl_sm1_21_ds_h2d), |
| .tl_d_i (tl_sm1_21_ds_d2h) |
| ); |
| tlul_socket_m1 #( |
| .M (2) |
| ) u_sm1_22 ( |
| .clk_i (clk_main_i), |
| .rst_ni (rst_main_ni), |
| .tl_h_i (tl_sm1_22_us_h2d), |
| .tl_h_o (tl_sm1_22_us_d2h), |
| .tl_d_o (tl_sm1_22_ds_h2d), |
| .tl_d_i (tl_sm1_22_ds_d2h) |
| ); |
| tlul_socket_m1 #( |
| .M (2) |
| ) u_sm1_23 ( |
| .clk_i (clk_main_i), |
| .rst_ni (rst_main_ni), |
| .tl_h_i (tl_sm1_23_us_h2d), |
| .tl_h_o (tl_sm1_23_us_d2h), |
| .tl_d_o (tl_sm1_23_ds_h2d), |
| .tl_d_i (tl_sm1_23_ds_d2h) |
| ); |
| tlul_socket_m1 #( |
| .M (2) |
| ) u_sm1_24 ( |
| .clk_i (clk_main_i), |
| .rst_ni (rst_main_ni), |
| .tl_h_i (tl_sm1_24_us_h2d), |
| .tl_h_o (tl_sm1_24_us_d2h), |
| .tl_d_o (tl_sm1_24_ds_h2d), |
| .tl_d_i (tl_sm1_24_ds_d2h) |
| ); |
| tlul_socket_m1 #( |
| .M (2) |
| ) u_sm1_25 ( |
| .clk_i (clk_main_i), |
| .rst_ni (rst_main_ni), |
| .tl_h_i (tl_sm1_25_us_h2d), |
| .tl_h_o (tl_sm1_25_us_d2h), |
| .tl_d_o (tl_sm1_25_ds_h2d), |
| .tl_d_i (tl_sm1_25_ds_d2h) |
| ); |
| tlul_socket_m1 #( |
| .M (2) |
| ) u_sm1_26 ( |
| .clk_i (clk_main_i), |
| .rst_ni (rst_main_ni), |
| .tl_h_i (tl_sm1_26_us_h2d), |
| .tl_h_o (tl_sm1_26_us_d2h), |
| .tl_d_o (tl_sm1_26_ds_h2d), |
| .tl_d_i (tl_sm1_26_ds_d2h) |
| ); |
| tlul_socket_1n #( |
| .HReqPass (1'b0), |
| .HRspPass (1'b0), |
| .N (10) |
| ) u_s1n_27 ( |
| .clk_i (clk_main_i), |
| .rst_ni (rst_main_ni), |
| .tl_h_i (tl_s1n_27_us_h2d), |
| .tl_h_o (tl_s1n_27_us_d2h), |
| .tl_d_o (tl_s1n_27_ds_h2d), |
| .tl_d_i (tl_s1n_27_ds_d2h), |
| .dev_select (dev_sel_s1n_27) |
| ); |
| |
| endmodule |