From 9e9a62c4033e89b518365649891acbd1287af51f Mon Sep 17 00:00:00 2001
From: Erik Kooistra <kooistra@astron.nl>
Date: Wed, 11 Jun 2014 10:48:03 +0000
Subject: [PATCH] Renamed *_generic into *32b_generic.vhd.. Only need to
 provide the ip_stratixiv_gxb_reconfig.vhd with generics.

---
 .../tech_transceiver_component_pkg.vhd        | 105 ++++++++++++------
 1 file changed, 74 insertions(+), 31 deletions(-)

diff --git a/libraries/technology/transceiver/tech_transceiver_component_pkg.vhd b/libraries/technology/transceiver/tech_transceiver_component_pkg.vhd
index b33b43c3a0..038f41b11c 100644
--- a/libraries/technology/transceiver/tech_transceiver_component_pkg.vhd
+++ b/libraries/technology/transceiver/tech_transceiver_component_pkg.vhd
@@ -30,7 +30,7 @@ PACKAGE tech_transceiver_component_pkg IS
   -- ip_stratixiv
   ------------------------------------------------------------------------------
   
-  COMPONENT ip_stratixiv_hssi_gx_generic IS
+  COMPONENT ip_stratixiv_hssi_gx_32b_generic IS
   GENERIC (
     g_mbps                    : NATURAL;
     starting_channel_number   : NATURAL := 0
@@ -65,7 +65,7 @@ PACKAGE tech_transceiver_component_pkg IS
   );
   END COMPONENT;
 
-  COMPONENT ip_stratixiv_hssi_tx_generic IS
+  COMPONENT ip_stratixiv_hssi_tx_32b_generic IS
   GENERIC(
     g_mbps : NATURAL
   );
@@ -83,7 +83,7 @@ PACKAGE tech_transceiver_component_pkg IS
   );
   END COMPONENT;
   
-  COMPONENT ip_stratixiv_hssi_rx_generic IS
+  COMPONENT ip_stratixiv_hssi_rx_32b_generic IS
   GENERIC (
     g_mbps                  : NATURAL;
     starting_channel_number : NATURAL := 0
@@ -110,41 +110,84 @@ PACKAGE tech_transceiver_component_pkg IS
   );
   END COMPONENT;
   
-  
-  COMPONENT ip_stratixiv_gxb_reconfig_12 IS
-  PORT (
-    reconfig_clk     : IN STD_LOGIC ;
-    reconfig_fromgxb : IN STD_LOGIC_VECTOR (203 DOWNTO 0);
-    busy             : OUT STD_LOGIC ;
-    reconfig_togxb   : OUT STD_LOGIC_VECTOR (3 DOWNTO 0)
+  COMPONENT ip_stratixiv_hssi_gx_16b IS
+  GENERIC
+  (
+    starting_channel_number   : NATURAL := 0
+  );
+  PORT
+  (
+    cal_blk_clk   : IN STD_LOGIC ;
+    pll_inclk   : IN STD_LOGIC ;
+    pll_powerdown   : IN STD_LOGIC_VECTOR (0 DOWNTO 0);
+    reconfig_clk    : IN STD_LOGIC ;
+    reconfig_togxb    : IN STD_LOGIC_VECTOR (3 DOWNTO 0);
+    rx_analogreset    : IN STD_LOGIC_VECTOR (0 DOWNTO 0);
+    rx_datain   : IN STD_LOGIC_VECTOR (0 DOWNTO 0);
+    rx_digitalreset   : IN STD_LOGIC_VECTOR (0 DOWNTO 0);
+    tx_ctrlenable   : IN STD_LOGIC_VECTOR (1 DOWNTO 0);
+    tx_datain   : IN STD_LOGIC_VECTOR (15 DOWNTO 0);
+    tx_digitalreset   : IN STD_LOGIC_VECTOR (0 DOWNTO 0);
+    pll_locked    : OUT STD_LOGIC_VECTOR (0 DOWNTO 0);
+    reconfig_fromgxb    : OUT STD_LOGIC_VECTOR (16 DOWNTO 0);
+    rx_clkout   : OUT STD_LOGIC_VECTOR (0 DOWNTO 0);
+    rx_ctrldetect   : OUT STD_LOGIC_VECTOR (1 DOWNTO 0);
+    rx_dataout    : OUT STD_LOGIC_VECTOR (15 DOWNTO 0);
+    rx_freqlocked   : OUT STD_LOGIC_VECTOR (0 DOWNTO 0);
+    tx_clkout   : OUT STD_LOGIC_VECTOR (0 DOWNTO 0);
+    tx_dataout    : OUT STD_LOGIC_VECTOR (0 DOWNTO 0)
   );
   END COMPONENT;
   
-  COMPONENT ip_stratixiv_gxb_reconfig_8 IS
-  PORT (
-    reconfig_clk     : IN STD_LOGIC ;
-    reconfig_fromgxb : IN STD_LOGIC_VECTOR (135 DOWNTO 0);
-    busy             : OUT STD_LOGIC ;
-    reconfig_togxb   : OUT STD_LOGIC_VECTOR (3 DOWNTO 0)
+  COMPONENT ip_stratixiv_hssi_tx_16b IS
+  PORT
+  (
+    cal_blk_clk   : IN STD_LOGIC ;
+    pll_inclk   : IN STD_LOGIC ;
+    pll_powerdown   : IN STD_LOGIC_VECTOR (0 DOWNTO 0);
+    tx_ctrlenable   : IN STD_LOGIC_VECTOR (1 DOWNTO 0);
+    tx_datain   : IN STD_LOGIC_VECTOR (15 DOWNTO 0);
+    tx_digitalreset   : IN STD_LOGIC_VECTOR (0 DOWNTO 0);
+    pll_locked    : OUT STD_LOGIC_VECTOR (0 DOWNTO 0);
+    tx_clkout   : OUT STD_LOGIC_VECTOR (0 DOWNTO 0);
+    tx_dataout    : OUT STD_LOGIC_VECTOR (0 DOWNTO 0)
   );
-  END COMPONENT;
+  END COMPONENT;  
+  
+  COMPONENT ip_stratixiv_hssi_rx_16b IS
+  GENERIC
+  (
+    starting_channel_number   : NATURAL := 0
+  );
+  PORT
+  (
+    cal_blk_clk   : IN STD_LOGIC ;
+    reconfig_clk    : IN STD_LOGIC ;
+    reconfig_togxb    : IN STD_LOGIC_VECTOR (3 DOWNTO 0);
+    rx_analogreset    : IN STD_LOGIC_VECTOR (0 DOWNTO 0);
+    rx_cruclk   : IN STD_LOGIC_VECTOR (0 DOWNTO 0) :=  (OTHERS => '0');
+    rx_datain   : IN STD_LOGIC_VECTOR (0 DOWNTO 0);
+    rx_digitalreset   : IN STD_LOGIC_VECTOR (0 DOWNTO 0);
+    reconfig_fromgxb    : OUT STD_LOGIC_VECTOR (16 DOWNTO 0);
+    rx_clkout   : OUT STD_LOGIC_VECTOR (0 DOWNTO 0);
+    rx_ctrldetect   : OUT STD_LOGIC_VECTOR (1 DOWNTO 0);
+    rx_dataout    : OUT STD_LOGIC_VECTOR (15 DOWNTO 0);
+    rx_freqlocked   : OUT STD_LOGIC_VECTOR (0 DOWNTO 0)
+  );
+  END COMPONENT;  
 
-  COMPONENT ip_stratixiv_gxb_reconfig_4 IS
-  PORT (
-    reconfig_clk     : IN STD_LOGIC ;
-    reconfig_fromgxb : IN STD_LOGIC_VECTOR (67 DOWNTO 0);
-    busy             : OUT STD_LOGIC ;
-    reconfig_togxb   : OUT STD_LOGIC_VECTOR (3 DOWNTO 0)
+  COMPONENT ip_stratixiv_gxb_reconfig IS
+  GENERIC (
+    g_nof_gx        : NATURAL;
+    g_fromgxb_bus_w : NATURAL := 17;
+    g_togxb_bus_w   : NATURAL := 4
   );
-  END COMPONENT;
-  
-  COMPONENT ip_stratixiv_gxb_reconfig_2 IS
   PORT (
-    reconfig_clk     : IN STD_LOGIC ;
-    reconfig_fromgxb : IN STD_LOGIC_VECTOR (33 DOWNTO 0);
-    busy             : OUT STD_LOGIC ;
-    reconfig_togxb   : OUT STD_LOGIC_VECTOR (3 DOWNTO 0)
+    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 COMPONENT;
-
+  
 END tech_transceiver_component_pkg;
-- 
GitLab