From 08506f4f0d4c7003b9bb97847f0de57a8634cdb3 Mon Sep 17 00:00:00 2001 From: Pepping <pepping> Date: Mon, 17 Aug 2015 13:28:49 +0000 Subject: [PATCH] - Updated settings for requantizer. - Changed mmm and ctrl instances. --- .../src/vhdl/apertif_unb1_correlator.vhd | 325 +++++++++--------- 1 file changed, 165 insertions(+), 160 deletions(-) diff --git a/applications/apertif/designs/apertif_unb1_correlator/src/vhdl/apertif_unb1_correlator.vhd b/applications/apertif/designs/apertif_unb1_correlator/src/vhdl/apertif_unb1_correlator.vhd index fe54479020..ef5288f2e9 100644 --- a/applications/apertif/designs/apertif_unb1_correlator/src/vhdl/apertif_unb1_correlator.vhd +++ b/applications/apertif/designs/apertif_unb1_correlator/src/vhdl/apertif_unb1_correlator.vhd @@ -61,7 +61,7 @@ USE bf_lib.bf_pkg.ALL; ENTITY apertif_unb1_correlator IS GENERIC ( g_design_name : STRING := "apertif_unb1_correlator"; - g_use_bg : BOOLEAN := FALSE; -- Overridden (TRUE) by TB but still a valid synthesis option; this replaces the 10GbE input stage with block gens. + g_use_bg : BOOLEAN := TRUE; -- Overridden (TRUE) by TB but still a valid synthesis option; this replaces the 10GbE input stage with block gens. g_sim : BOOLEAN := FALSE; -- Overridden by TB g_sim_fast : BOOLEAN := TRUE; -- TRUE = fast accumulator model and no inter-channel delay in the correlator output stream. g_sim_unb_nr : NATURAL := 0; @@ -169,19 +169,20 @@ ARCHITECTURE str OF apertif_unb1_correlator IS -- . 8192 channels/sec = 128 * 64 channels * 300 visibilities -- . No inter channel delay: 128 * (19200 valid cycles + 1543300 invalid cycles =) 1562500 cycles/sec = 200M cycles/sec -- . With inter channel delay: 128 * 64 channels * (300 valid cycles + 24114 invalid cycles =) 24414 cycles/sec = 199.999.488 cycles/sec (less than 200M so we're fast enough) - CONSTANT c_inter_channel_delay : NATURAL := sel_a_b(g_sim, sel_a_b(g_sim_fast, 0, 4400), 24114); -- ^^^^^--- 24414= 2*integration period. - -- 4400=~5.5x faster than 157Mbps = 860Mbps burst for sim (but still 157Mbps on average) - -- WPFB - CONSTANT c_wpfb_wb_factor : NATURAL := 1; -- = default 1, wideband factor - CONSTANT c_wpfb_nof_wb_streams : NATURAL := c_nof_input_streams; -- = 1, the number of parallel wideband streams. The fi - CONSTANT c_wpfb_nof_chan : NATURAL := 1; -- = default 0, defines the number of channels (=time-m - CONSTANT c_wpfb_nof_points : NATURAL := 64; -- = 1024, N point FFT - CONSTANT c_wpfb_nof_taps : NATURAL := 8; -- = 8 nof taps n the filter - CONSTANT c_wpfb_coef_w : NATURAL := 16; --FIXME: 9b does not work; needs updated coefficient files. - CONSTANT c_wpfb_in_dat_w : NATURAL := 8; --FIXME: should be 6b at some point - CONSTANT c_wpfb_out_dat_w : NATURAL := 16; --FIXME: Could be wider but is currently 9b to avoid the need for quantization: 9b -> mult -> 18b -> accu -> 32b at the corr output. - CONSTANT c_wpfb_use_separate : BOOLEAN := FALSE; -- = false for complex input, true for two real inputs - CONSTANT c_wpfb_use_reorder : BOOLEAN := FALSE; + CONSTANT c_inter_channel_delay : NATURAL := sel_a_b(g_sim, sel_a_b(g_sim_fast, 0, 4400), 24114); -- ^^^^^--- 24414= 2*integration period. + -- 4400=~5.5x faster than 157Mbps = 860Mbps burst for sim (but still 157Mbps on average) + -- WPFB + CONSTANT c_wpfb_wb_factor : NATURAL := 1; -- = default 1, wideband factor + CONSTANT c_wpfb_nof_wb_streams : NATURAL := c_nof_input_streams; -- = 1, the number of parallel wideband streams. The fi + CONSTANT c_wpfb_nof_chan : NATURAL := 1; -- = default 0, defines the number of channels (=time-m + CONSTANT c_wpfb_nof_points : NATURAL := 64; -- = 1024, N point FFT + CONSTANT c_wpfb_nof_taps : NATURAL := 8; -- = 8 nof taps n the filter + CONSTANT c_wpfb_coef_w : NATURAL := 16; --FIXME: 9b does not work; needs updated coefficient files. + CONSTANT c_wpfb_in_dat_w : NATURAL := 8; --FIXME: should be 6b at some point + CONSTANT c_wpfb_out_dat_significant_w : NATURAL := sel_a_b(c_wpfb_in_dat_w = 6, 10, 12); + CONSTANT c_wpfb_out_dat_w : NATURAL := 16; --FIXME: Could be wider but is currently 9b to avoid the need for quantization: 9b -> mult -> 18b -> accu -> 32b at the corr output. + CONSTANT c_wpfb_use_separate : BOOLEAN := FALSE; -- = false for complex input, true for two real inputs + CONSTANT c_wpfb_use_reorder : BOOLEAN := FALSE; CONSTANT c_wpfb : t_wpfb := (c_wpfb_wb_factor, c_wpfb_nof_points, c_wpfb_nof_chan, c_wpfb_nof_wb_streams, c_wpfb_nof_taps, c_wpfb_in_dat_w, 16, c_wpfb_coef_w, @@ -248,68 +249,77 @@ ARCHITECTURE str OF apertif_unb1_correlator IS SIGNAL mm_clk : STD_LOGIC; SIGNAL mm_locked : STD_LOGIC; SIGNAL mm_rst : STD_LOGIC; + SIGNAL cal_clk : STD_LOGIC; + SIGNAL epcs_clk : STD_LOGIC; SIGNAL dp_rst : STD_LOGIC; - SIGNAL dp_clk : STD_LOGIC; + SIGNAL dp_clk : STD_LOGIC; + SIGNAL dp_pps : STD_LOGIC; SIGNAL sa_rst : STD_LOGIC; - + + SIGNAL eth1g_tse_clk : STD_LOGIC; + SIGNAL eth1g_mm_rst : STD_LOGIC; + SIGNAL eth1g_reg_interrupt : STD_LOGIC; -- Interrupt + -- PIOs SIGNAL pout_wdi : STD_LOGIC; - - -- MM WDI override + + -- MM Register interfaces SIGNAL reg_wdi_mosi : t_mem_mosi; SIGNAL reg_wdi_miso : t_mem_miso; - - -- MM PPSH - SIGNAL reg_ppsh_mosi : t_mem_mosi; - SIGNAL reg_ppsh_miso : t_mem_miso; - - -- MM UniBoard system info SIGNAL reg_unb_system_info_mosi : t_mem_mosi; SIGNAL reg_unb_system_info_miso : t_mem_miso; SIGNAL rom_unb_system_info_mosi : t_mem_mosi; SIGNAL rom_unb_system_info_miso : t_mem_miso; - - -- MM UniBoard I2C sens SIGNAL reg_unb_sens_mosi : t_mem_mosi; SIGNAL reg_unb_sens_miso : t_mem_miso; - - -- MM eth1g - SIGNAL eth1g_tse_clk : STD_LOGIC; - SIGNAL eth1g_mm_rst : STD_LOGIC; - SIGNAL eth1g_tse_mosi : t_mem_mosi; -- ETH TSE MAC registers - SIGNAL eth1g_tse_miso : t_mem_miso; - SIGNAL eth1g_reg_mosi : t_mem_mosi; -- ETH control and status registers - SIGNAL eth1g_reg_miso : t_mem_miso; - SIGNAL eth1g_reg_interrupt : STD_LOGIC; -- Interrupt - SIGNAL eth1g_ram_mosi : t_mem_mosi; -- ETH rx frame and tx frame memory + SIGNAL reg_ppsh_mosi : t_mem_mosi; + SIGNAL reg_ppsh_miso : t_mem_miso; + SIGNAL eth1g_ram_mosi : t_mem_mosi; SIGNAL eth1g_ram_miso : t_mem_miso; - - -- Block generator - SIGNAL reg_diag_bg_mosi : t_mem_mosi; - SIGNAL reg_diag_bg_miso : t_mem_miso; - - -- MM DP offload RX - SIGNAL reg_dp_offload_rx_hdr_dat_mosi : t_mem_mosi; - SIGNAL reg_dp_offload_rx_hdr_dat_miso : t_mem_miso; - - -- BSN monitors - SIGNAL reg_bsn_monitor_mosi : t_mem_mosi; - SIGNAL reg_bsn_monitor_miso : t_mem_miso; - - -- MM Filterbank + SIGNAL eth1g_reg_mosi : t_mem_mosi; + SIGNAL eth1g_reg_miso : t_mem_miso; + SIGNAL eth1g_tse_mosi : t_mem_mosi; + SIGNAL eth1g_tse_miso : t_mem_miso; + SIGNAL reg_diag_bg_input_mosi : t_mem_mosi; + SIGNAL reg_diag_bg_input_miso : t_mem_miso; + SIGNAL reg_diag_bg_mesh_mosi : t_mem_mosi; + SIGNAL reg_diag_bg_mesh_miso : t_mem_miso; + SIGNAL ram_diag_bg_mesh_mosi : t_mem_mosi; + SIGNAL ram_diag_bg_mesh_miso : t_mem_miso; + SIGNAL reg_diagnostics_mosi : t_mem_mosi; + SIGNAL reg_diagnostics_miso : t_mem_miso; + SIGNAL reg_tr_nonbonded_mosi : t_mem_mosi; + SIGNAL reg_tr_nonbonded_miso : t_mem_miso; + SIGNAL reg_diag_data_buf_input_mosi : t_mem_mosi; + SIGNAL reg_diag_data_buf_input_miso : t_mem_miso; + SIGNAL ram_diag_data_buf_input_mosi : t_mem_mosi; + SIGNAL ram_diag_data_buf_input_miso : t_mem_miso; + SIGNAL reg_diag_data_buf_mesh_mosi : t_mem_mosi; + SIGNAL reg_diag_data_buf_mesh_miso : t_mem_miso; + SIGNAL ram_diag_data_buf_mesh_mosi : t_mem_mosi; + SIGNAL ram_diag_data_buf_mesh_miso : t_mem_miso; SIGNAL ram_fil_coefs_mosi : t_mem_mosi; SIGNAL ram_fil_coefs_miso : t_mem_miso; - - -- MM Databuffer - SIGNAL ram_diag_data_buf_mosi : t_mem_mosi; - SIGNAL ram_diag_data_buf_miso : t_mem_miso; - SIGNAL reg_diag_data_buf_mosi : t_mem_mosi; - SIGNAL reg_diag_data_buf_miso : t_mem_miso; - - -- MM 1GbE visibility offload TX + SIGNAL reg_mdio_0_mosi : t_mem_mosi; + SIGNAL reg_mdio_0_miso : t_mem_miso; + SIGNAL reg_mdio_1_mosi : t_mem_mosi; + SIGNAL reg_mdio_1_miso : t_mem_miso; + SIGNAL reg_mdio_2_mosi : t_mem_mosi; + SIGNAL reg_mdio_2_miso : t_mem_miso; + SIGNAL reg_dp_offload_rx_hdr_dat_mosi : t_mem_mosi; + SIGNAL reg_dp_offload_rx_hdr_dat_miso : t_mem_miso; SIGNAL reg_dp_offload_tx_hdr_dat_mosi : t_mem_mosi; - SIGNAL reg_dp_offload_tx_hdr_dat_miso : t_mem_miso; + SIGNAL reg_dp_offload_tx_hdr_dat_miso : t_mem_miso; + SIGNAL reg_tr_10gbe_mosi : t_mem_mosi; + SIGNAL reg_tr_10gbe_miso : t_mem_miso; + SIGNAL reg_tr_xaui_mosi : t_mem_mosi; + SIGNAL reg_tr_xaui_miso : t_mem_miso; + SIGNAL reg_bsn_monitor_mosi : t_mem_mosi; + SIGNAL reg_bsn_monitor_miso : t_mem_miso; + + SIGNAL reg_mdio_mosi_arr : t_mem_mosi_arr(c_unb1_board_nof_mdio-1 DOWNTO 0); + SIGNAL reg_mdio_miso_arr : t_mem_miso_arr(c_unb1_board_nof_mdio-1 DOWNTO 0); -- Interface: 10GbE SIGNAL xaui_tx_arr : t_xaui_arr(c_nof_10GbE_streams-1 DOWNTO 0); @@ -319,12 +329,6 @@ ARCHITECTURE str OF apertif_unb1_correlator IS SIGNAL mdio_mdc_arr : STD_LOGIC_VECTOR(c_nof_10GbE_streams-1 DOWNTO 0); SIGNAL mdio_mdat_in_arr : STD_LOGIC_VECTOR(c_nof_10GbE_streams-1 DOWNTO 0); SIGNAL mdio_mdat_oen_arr : STD_LOGIC_VECTOR(c_nof_10GbE_streams-1 DOWNTO 0); - SIGNAL reg_tr_10GbE_mosi : t_mem_mosi; - SIGNAL reg_tr_10GbE_miso : t_mem_miso; - SIGNAL reg_tr_xaui_mosi : t_mem_mosi; - SIGNAL reg_tr_xaui_miso : t_mem_miso; - SIGNAL reg_mdio_mosi_arr : t_mem_mosi_arr(c_unb1_board_nof_mdio-1 DOWNTO 0); - SIGNAL reg_mdio_miso_arr : t_mem_miso_arr(c_unb1_board_nof_mdio-1 DOWNTO 0); -- DP offload RX SIGNAL dp_offload_rx_snk_in_arr : t_dp_sosi_arr(c_nof_10GbE_streams-1 DOWNTO 0); @@ -406,8 +410,8 @@ BEGIN dp_rst => dp_rst, dp_clk => dp_clk, - reg_bg_ctrl_mosi => reg_diag_bg_mosi, - reg_bg_ctrl_miso => reg_diag_bg_miso, + reg_bg_ctrl_mosi => reg_diag_bg_input_mosi, + reg_bg_ctrl_miso => reg_diag_bg_input_miso, out_sosi_arr => interleaved_arr ); @@ -690,10 +694,10 @@ BEGIN dp_rst => dp_rst, dp_clk => dp_clk, - ram_data_buf_mosi => ram_diag_data_buf_mosi, - ram_data_buf_miso => ram_diag_data_buf_miso, - reg_data_buf_mosi => reg_diag_data_buf_mosi, --FIXME address space is wrong (1 bit) - reg_data_buf_miso => reg_diag_data_buf_miso, + ram_data_buf_mosi => ram_diag_data_buf_input_mosi, + ram_data_buf_miso => ram_diag_data_buf_input_miso, + reg_data_buf_mosi => reg_diag_data_buf_input_mosi, --FIXME address space is wrong (1 bit) + reg_data_buf_miso => reg_diag_data_buf_input_miso, in_sync => diag_data_buf_snk_in_arr(0).sync, in_sosi_arr => diag_data_buf_snk_in_arr @@ -1025,7 +1029,7 @@ BEGIN GENERIC MAP ( g_complex => TRUE, g_representation => "SIGNED", - g_lsb_w => c_wpfb_out_dat_w-c_cor_in_dat_w, + g_lsb_w => c_wpfb_out_dat_significant_w-c_cor_in_dat_w, g_lsb_round => FALSE, g_lsb_round_clip => FALSE, g_msb_clip => FALSE, @@ -1187,26 +1191,33 @@ BEGIN g_udp_offload_nof_streams => 1, g_use_phy => c_use_phy, g_aux => c_unb1_board_aux, - g_dp_clk_use_pll => TRUE + g_dp_clk_use_pll => TRUE, + g_xo_clk_use_pll => TRUE ) PORT MAP ( - -- Clock an reset signals + -- Clock and reset signals cs_sim => cs_sim, xo_clk => xo_clk, xo_rst => xo_rst, xo_rst_n => xo_rst_n, + mm_clk_out => mm_clk, mm_clk => mm_clk, - mm_locked => mm_locked, mm_rst => mm_rst, - epcs_clk => '0', - + mm_locked => mm_locked, + mm_locked_out => mm_locked, + + epcs_clk => epcs_clk, + epcs_clk_out => epcs_clk, + dp_rst => dp_rst, dp_clk => dp_clk, - dp_pps => OPEN, + dp_pps => dp_pps, dp_rst_in => dp_rst, dp_clk_in => dp_clk, + + cal_rec_clk => cal_clk, -- Toggle WDI pout_wdi => pout_wdi, @@ -1231,7 +1242,8 @@ BEGIN reg_ppsh_miso => reg_ppsh_miso, -- eth1g - eth1g_tse_clk => eth1g_tse_clk, -- 125 MHz from xo_clk PLL in SOPC system + eth1g_tse_clk_out => eth1g_tse_clk, + eth1g_tse_clk => eth1g_tse_clk, eth1g_mm_rst => eth1g_mm_rst, eth1g_tse_mosi => eth1g_tse_mosi, eth1g_tse_miso => eth1g_tse_miso, @@ -1240,7 +1252,8 @@ BEGIN eth1g_reg_interrupt => eth1g_reg_interrupt, eth1g_ram_mosi => eth1g_ram_mosi, eth1g_ram_miso => eth1g_ram_miso, - -- eth1g UDP streaming ports + + -- eth1g UDP streaming ports udp_tx_sosi_arr => dp_offload_tx_src_out_arr, udp_tx_siso_arr => dp_offload_tx_src_in_arr, @@ -1267,88 +1280,80 @@ BEGIN ----------------------------------------------------------------------------- -- MM master ----------------------------------------------------------------------------- - u_mmm : ENTITY work.mmm_apertif_unb1_correlator - GENERIC MAP ( - g_sim => g_sim, - g_sim_unb_nr => g_sim_unb_nr, - g_sim_node_nr => g_sim_node_nr, - g_wpfb => c_wpfb, - g_hdr_field_arr => c_apertif_udp_offload_hdr_field_arr - ) - PORT MAP( - xo_clk => xo_clk, - xo_rst_n => xo_rst_n, - xo_rst => xo_rst, - - mm_rst => mm_rst, - mm_clk => mm_clk, - mm_locked => mm_locked, - - -- PIOs - pout_wdi => pout_wdi, - - -- Manual WDI override - reg_wdi_mosi => reg_wdi_mosi, - reg_wdi_miso => reg_wdi_miso, - - -- system_info - reg_unb_system_info_mosi => reg_unb_system_info_mosi, - reg_unb_system_info_miso => reg_unb_system_info_miso, - rom_unb_system_info_mosi => rom_unb_system_info_mosi, - rom_unb_system_info_miso => rom_unb_system_info_miso, - - -- UniBoard I2C sensors - reg_unb_sens_mosi => reg_unb_sens_mosi, - reg_unb_sens_miso => reg_unb_sens_miso, - - -- PPSH - reg_ppsh_mosi => reg_ppsh_mosi, - reg_ppsh_miso => reg_ppsh_miso, - - -- Block generator - reg_diag_bg_mosi => reg_diag_bg_mosi, - reg_diag_bg_miso => reg_diag_bg_miso, + u_mmm_apertif_unb1_correlator : ENTITY work.mmm_apertif_unb1_correlator + GENERIC MAP( + g_sim => g_sim, + g_sim_unb_nr => g_sim_unb_nr, + g_sim_node_nr => g_sim_node_nr + ) + PORT MAP( + mm_clk => mm_clk, + mm_rst => mm_rst, + pout_wdi => pout_wdi, + reg_wdi_mosi => reg_wdi_mosi, + reg_wdi_miso => reg_wdi_miso, + reg_unb_system_info_mosi => reg_unb_system_info_mosi, + reg_unb_system_info_miso => reg_unb_system_info_miso, + rom_unb_system_info_mosi => rom_unb_system_info_mosi, + rom_unb_system_info_miso => rom_unb_system_info_miso, + reg_unb_sens_mosi => reg_unb_sens_mosi, + reg_unb_sens_miso => reg_unb_sens_miso, + reg_ppsh_mosi => reg_ppsh_mosi, + reg_ppsh_miso => reg_ppsh_miso, + eth1g_mm_rst => eth1g_mm_rst, + eth1g_reg_interrupt => eth1g_reg_interrupt, + eth1g_ram_mosi => eth1g_ram_mosi, + eth1g_ram_miso => eth1g_ram_miso, + eth1g_reg_mosi => eth1g_reg_mosi, + eth1g_reg_miso => eth1g_reg_miso, + eth1g_tse_mosi => eth1g_tse_mosi, + eth1g_tse_miso => eth1g_tse_miso, + reg_diag_bg_input_mosi => reg_diag_bg_input_mosi, + reg_diag_bg_input_miso => reg_diag_bg_input_miso, + reg_diag_bg_mesh_mosi => reg_diag_bg_mesh_mosi, + reg_diag_bg_mesh_miso => reg_diag_bg_mesh_miso, + ram_diag_bg_mesh_mosi => ram_diag_bg_mesh_mosi, + ram_diag_bg_mesh_miso => ram_diag_bg_mesh_miso, + reg_diagnostics_mosi => reg_diagnostics_mosi, + reg_diagnostics_miso => reg_diagnostics_miso, + reg_tr_nonbonded_mosi => reg_tr_nonbonded_mosi, + reg_tr_nonbonded_miso => reg_tr_nonbonded_miso, + reg_diag_data_buf_input_mosi => reg_diag_data_buf_input_mosi, + reg_diag_data_buf_input_miso => reg_diag_data_buf_input_miso, + ram_diag_data_buf_input_mosi => ram_diag_data_buf_input_mosi, + ram_diag_data_buf_input_miso => ram_diag_data_buf_input_miso, + reg_diag_data_buf_mesh_mosi => reg_diag_data_buf_mesh_mosi, + reg_diag_data_buf_mesh_miso => reg_diag_data_buf_mesh_miso, + ram_diag_data_buf_mesh_mosi => ram_diag_data_buf_mesh_mosi, + ram_diag_data_buf_mesh_miso => ram_diag_data_buf_mesh_miso, + ram_fil_coefs_mosi => ram_fil_coefs_mosi, + ram_fil_coefs_miso => ram_fil_coefs_miso, + reg_mdio_0_mosi => reg_mdio_0_mosi, + reg_mdio_0_miso => reg_mdio_0_miso, + reg_mdio_1_mosi => reg_mdio_1_mosi, + reg_mdio_1_miso => reg_mdio_1_miso, + reg_mdio_2_mosi => reg_mdio_2_mosi, + reg_mdio_2_miso => reg_mdio_2_miso, + reg_dp_offload_rx_hdr_dat_mosi => reg_dp_offload_rx_hdr_dat_mosi, + reg_dp_offload_rx_hdr_dat_miso => reg_dp_offload_rx_hdr_dat_miso, + reg_dp_offload_tx_hdr_dat_mosi => reg_dp_offload_tx_hdr_dat_mosi, + reg_dp_offload_tx_hdr_dat_miso => reg_dp_offload_tx_hdr_dat_miso, + reg_tr_10gbe_mosi => reg_tr_10gbe_mosi, + reg_tr_10gbe_miso => reg_tr_10gbe_miso, + reg_tr_xaui_mosi => reg_tr_xaui_mosi, + reg_tr_xaui_miso => reg_tr_xaui_miso, + reg_bsn_monitor_mosi => reg_bsn_monitor_mosi, + reg_bsn_monitor_miso => reg_bsn_monitor_miso + ); - -- 10 GbE - reg_tr_10GbE_mosi => reg_tr_10GbE_mosi, - reg_tr_10GbE_miso => reg_tr_10GbE_miso, - reg_tr_xaui_mosi => reg_tr_xaui_mosi, - reg_tr_xaui_miso => reg_tr_xaui_miso, - reg_mdio_mosi_arr => reg_mdio_mosi_arr, - reg_mdio_miso_arr => reg_mdio_miso_arr, - - -- DP offload RX - reg_dp_offload_rx_hdr_dat_mosi => reg_dp_offload_rx_hdr_dat_mosi, - reg_dp_offload_rx_hdr_dat_miso => reg_dp_offload_rx_hdr_dat_miso, - - reg_bsn_monitor_mosi => reg_bsn_monitor_mosi, - reg_bsn_monitor_miso => reg_bsn_monitor_miso, - - -- . Data buffers - reg_diag_data_buf_mosi => reg_diag_data_buf_mosi, - reg_diag_data_buf_miso => reg_diag_data_buf_miso, - ram_diag_data_buf_mosi => ram_diag_data_buf_mosi, - ram_diag_data_buf_miso => ram_diag_data_buf_miso, - - -- 1GbE visibility offload TX - reg_dp_offload_tx_hdr_dat_mosi => reg_dp_offload_tx_hdr_dat_mosi, - reg_dp_offload_tx_hdr_dat_miso => reg_dp_offload_tx_hdr_dat_miso, - - -- Filter coefficients - ram_fil_coefs_mosi => ram_fil_coefs_mosi, - ram_fil_coefs_miso => ram_fil_coefs_miso, - -- eth1g - eth1g_tse_clk => eth1g_tse_clk, - eth1g_mm_rst => eth1g_mm_rst, - eth1g_tse_mosi => eth1g_tse_mosi, - eth1g_tse_miso => eth1g_tse_miso, - eth1g_reg_mosi => eth1g_reg_mosi, - eth1g_reg_miso => eth1g_reg_miso, - eth1g_reg_interrupt => eth1g_reg_interrupt, - eth1g_ram_mosi => eth1g_ram_mosi, - eth1g_ram_miso => eth1g_ram_miso - ); + reg_mdio_mosi_arr(0) <= reg_mdio_0_mosi; + reg_mdio_mosi_arr(1) <= reg_mdio_1_mosi; + reg_mdio_mosi_arr(2) <= reg_mdio_2_mosi; + + reg_mdio_0_miso <= reg_mdio_miso_arr(0); + reg_mdio_1_miso <= reg_mdio_miso_arr(1); + reg_mdio_2_miso <= reg_mdio_miso_arr(2); END str; -- GitLab