Skip to content
Snippets Groups Projects
Commit 0dbec7f5 authored by Eric Kooistra's avatar Eric Kooistra
Browse files

Instantiate ip_stratixiv/ip_stratixiv_gxb_reconfig_*.vhd in one...

Instantiate ip_stratixiv/ip_stratixiv_gxb_reconfig_*.vhd in one ip_stratixiv_gxb_reconfig.vhd with g_nof_gx s parameter.
parent 6f877db1
No related branches found
No related tags found
No related merge requests found
......@@ -26,6 +26,7 @@ synth_files =
ip_stratixiv_gxb_reconfig_4.vhd
ip_stratixiv_gxb_reconfig_8.vhd
ip_stratixiv_gxb_reconfig_12.vhd
ip_stratixiv_gxb_reconfig.vhd
ip_stratixiv_hssi_gx_generic.vhd
ip_stratixiv_hssi_tx_generic.vhd
......
-------------------------------------------------------------------------------
--
-- Copyright (C) 2014
-- ASTRON (Netherlands Institute for Radio Astronomy) <http://www.astron.nl/>
-- P.O.Box 2, 7990 AA Dwingeloo, The Netherlands
--
-- This program is free software: you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
-- the Free Software Foundation, either version 3 of the License, or
-- (at your option) any later version.
--
-- This program is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with this program. If not, see <http://www.gnu.org/licenses/>.
--
-------------------------------------------------------------------------------
-- Purpose : Create one reconfig module for all ALTGX instances.
LIBRARY ieee;
USE ieee.std_logic_1164.all;
ENTITY ip_stratixiv_gxb_reconfig IS
GENERIC (
g_nof_gx : NATURAL;
g_fromgxb_bus_w : NATURAL := 17;
g_togxb_bus_w : NATURAL := 4
);
PORT (
reconfig_clk : IN STD_LOGIC;
reconfig_fromgxb : IN STD_LOGIC_VECTOR(g_nof_gx*g_fromgxb_bus_w-1 DOWNTO 0);
busy : OUT STD_LOGIC;
reconfig_togxb : OUT STD_LOGIC_VECTOR(g_togxb_bus_w-1 DOWNTO 0)
);
END ip_stratixiv_gxb_reconfig;
ARCHITECTURE str OF ip_stratixiv_gxb_reconfig IS
BEGIN
gen_gxb_reconfig_2 : IF g_nof_gx = 2 GENERATE
u_gxb_reconfig_2 : ENTITY ip_stratixiv_lib.ip_stratixiv_gxb_reconfig_2
PORT MAP (
reconfig_clk => cal_rec_clk,
reconfig_fromgxb => reconfig_fromgxb,
busy => rec_busy,
reconfig_togxb => reconfig_togxb
);
END GENERATE;
gen_gxb_reconfig_4 : IF g_nof_gx = 4 GENERATE
u_gxb_reconfig_4 : ENTITY ip_stratixiv_lib.ip_stratixiv_gxb_reconfig_4
PORT MAP (
reconfig_clk => cal_rec_clk,
reconfig_fromgxb => reconfig_fromgxb,
busy => rec_busy,
reconfig_togxb => reconfig_togxb
);
END GENERATE;
gen_gxb_reconfig_8 : IF g_nof_gx = 8 GENERATE
u_gxb_reconfig_8 : ENTITY ip_stratixiv_lib.ip_stratixiv_gxb_reconfig_8
PORT MAP (
reconfig_clk => cal_rec_clk,
reconfig_fromgxb => reconfig_fromgxb,
busy => rec_busy,
reconfig_togxb => reconfig_togxb
);
END GENERATE;
gen_gxb_reconfig_12 : IF g_nof_gx = 12 GENERATE
u_gxb_reconfig_12 : ENTITY ip_stratixiv_lib.ip_stratixiv_gxb_reconfig_12
PORT MAP (
reconfig_clk => cal_rec_clk,
reconfig_fromgxb => reconfig_fromgxb,
busy => rec_busy,
reconfig_togxb => reconfig_togxb
);
END GENERATE;
END str;
......@@ -486,45 +486,18 @@ BEGIN
-- ALTGX_RECONFIG Megafunction
------------------------------------------------------------------------------
gen_cond_reconfig : IF g_nof_gx = 12 GENERATE
u_reconfig : ENTITY ip_stratixiv_lib.ip_stratixiv_gxb_reconfig_12 --Create one reconfig module for all ALTGX instances
PORT MAP (
reconfig_clk => cal_rec_clk,
reconfig_fromgxb => reconfig_fromgxb,
busy => rec_busy,
reconfig_togxb => reconfig_togxb
);
END GENERATE;
gen_cond_reconfig_8 : IF g_nof_gx = 8 GENERATE
u_reconfig : ENTITY ip_stratixiv_lib.ip_stratixiv_gxb_reconfig_8 --Create one reconfig module for all ALTGX instances
PORT MAP (
reconfig_clk => cal_rec_clk,
reconfig_fromgxb => reconfig_fromgxb,
busy => rec_busy,
reconfig_togxb => reconfig_togxb
);
END GENERATE;
gen_cond_reconfig_4 : IF g_nof_gx = 4 GENERATE
u_reconfig : ENTITY ip_stratixiv_lib.ip_stratixiv_gxb_reconfig_4 --Create one reconfig module for all ALTGX instances
PORT MAP (
reconfig_clk => cal_rec_clk,
reconfig_fromgxb => reconfig_fromgxb,
busy => rec_busy,
reconfig_togxb => reconfig_togxb
);
END GENERATE;
gen_cond_reconfig_sim : IF g_nof_gx = 2 GENERATE
u_reconfig_sim : ENTITY ip_stratixiv_lib.ip_stratixiv_gxb_reconfig_2 -- The sim version is meant for 2 transceivers
PORT MAP (
reconfig_clk => cal_rec_clk,
reconfig_fromgxb => reconfig_fromgxb,
busy => rec_busy,
reconfig_togxb => reconfig_togxb
);
END GENERATE;
u_gxb_reconfig : ENTITY ip_stratixiv_lib.ip_stratixiv_gxb_reconfig -- Create one gxb_reconfig module for all ALTGX instances
GENERIC MAP (
g_nof_gx => g_nof_gx,
g_fromgxb_bus_w => c_reconf_fromgxb_bus_w, -- = 17
g_togxb_bus_w => c_reconf_togxb_bus_w -- = 4
)
PORT MAP (
reconfig_clk => cal_rec_clk,
reconfig_fromgxb => reconfig_fromgxb,
busy => rec_busy,
reconfig_togxb => reconfig_togxb
);
END str;
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment