diff --git a/libraries/technology/10gbase_r/tech_10gbase_r.vhd b/libraries/technology/10gbase_r/tech_10gbase_r.vhd index 16a0132b3a7b37c7697dfd6491ad8625293427e5..7fab2bd939e8399d333e4ae174be3edaf404488d 100644 --- a/libraries/technology/10gbase_r/tech_10gbase_r.vhd +++ b/libraries/technology/10gbase_r/tech_10gbase_r.vhd @@ -31,6 +31,7 @@ ENTITY tech_10gbase_r IS GENERIC ( g_technology : NATURAL := c_tech_select_default; g_sim : BOOLEAN := FALSE; + g_sim_level : NATURAL := 0; -- 0 = use IP; 1 = use fast serdes model g_nof_channels : NATURAL := 1 ); PORT ( @@ -55,10 +56,13 @@ END tech_10gbase_r; ARCHITECTURE str OF tech_10gbase_r IS + + CONSTANT c_use_technology : BOOLEAN := g_sim = FALSE OR g_sim_level = 0; + CONSTANT c_use_sim_model : BOOLEAN := NOT c_use_technology; BEGIN - gen_ip_arria10 : IF g_technology=c_tech_arria10 GENERATE + gen_ip_arria10 : IF c_use_technology=TRUE AND g_technology=c_tech_arria10 GENERATE u0 : ENTITY work.tech_10gbase_r_arria10 GENERIC MAP (g_sim, g_nof_channels) PORT MAP (tr_ref_clk_644, @@ -67,5 +71,14 @@ BEGIN tx_serial_arr, rx_serial_arr); END GENERATE; + gem_sim_10gbase_r : IF c_use_sim_model=TRUE GENERATE + u0 : ENTITY work.sim_10gbase_r + GENERIC MAP (g_sim, g_nof_channels) + PORT MAP (tr_ref_clk_644, + clk_156, rst_156, + xgmii_tx_ready_arr, xgmii_rx_ready_arr, xgmii_tx_dc_arr, xgmii_rx_dc_arr, + tx_serial_arr, rx_serial_arr); + END GENERATE; + END str;