]> jspc29.x-matter.uni-frankfurt.de Git - TOMcat.git/commitdiff
pinout adjusted to PCB, small cleanups
authorMichael Boehmer <mboehmer@ph.tum.de>
Sat, 14 May 2022 06:05:18 +0000 (08:05 +0200)
committerMichael Boehmer <mboehmer@ph.tum.de>
Sat, 14 May 2022 06:05:18 +0000 (08:05 +0200)
pinout/basic_constraints.lpf
pinout/tomcat_prototype.lpf
prototype/tdc_release [new symlink]
prototype/tomcat_template.prj
prototype/tomcat_template.vhd

index 31e33303fc97430d17922b18f637fb8acda8077a..1614d21e48b40b0322a6fb8717379c3eff30245a 100644 (file)
@@ -7,8 +7,6 @@ BLOCK RD_DURING_WR_PATHS ;
 # Basic Settings
 #################################################################
 
-SYSCONFIG MCCLK_FREQ = 20;
-
 FREQUENCY PORT "CLK_200"            200.000 MHz ;
 FREQUENCY PORT "CLK_125"            125.000 MHz ;
 FREQUENCY NET  "clk_sys"            100.000 MHz ;
index ce73aaf5f250929ff648f8041a0b20601fc7b9d5..9c13e0c84314400fd3503c46d4b3692a22a100b8 100644 (file)
@@ -3,148 +3,148 @@ BLOCK RESETPATHS ;
 BLOCK ASYNCPATHS ;
 
 SYSCONFIG MCCLK_FREQ=38.8 CONFIG_IOVOLTAGE=3.3 ;
-BANK 0 VCCIO 2.5 V;
-BANK 1 VCCIO 2.5 V;
-BANK 2 VCCIO 2.5 V;
-BANK 3 VCCIO 2.5 V;
-BANK 6 VCCIO 3.3 V;
-BANK 7 VCCIO 3.3 V;
-BANK 8 VCCIO 3.3 V;
+BANK 0 VCCIO 2.5 V ;
+BANK 1 VCCIO 2.5 V ;
+BANK 2 VCCIO 2.5 V ;
+BANK 3 VCCIO 2.5 V ;
+BANK 6 VCCIO 3.3 V ;
+BANK 7 VCCIO 3.3 V ;
+BANK 8 VCCIO 3.3 V ;
 
 #################################################################
 # Clock I/O
 #################################################################
-LOCATE COMP  "CLK_125"          SITE "A4" ;
-IOBUF  PORT  "CLK_125"          IO_TYPE="LVDS" DIFFRESISTOR="100";
-LOCATE COMP  "CLK_200"          SITE "C18" ;
-IOBUF  PORT  "CLK_200"          IO_TYPE="LVDS" DIFFRESISTOR="100";
+LOCATE COMP  "CLK_125"         SITE "A4" ;
+IOBUF  PORT  "CLK_125"         IO_TYPE="LVDS" DIFFRESISTOR="100" ;
+LOCATE COMP  "CLK_200"         SITE "C18" ;
+IOBUF  PORT  "CLK_200"         IO_TYPE="LVDS" DIFFRESISTOR="100" ;
 
 #################################################################
 # SFP
 #################################################################
 LOCATE COMP  "SFP_TX_DIS"      SITE "N3";
-IOBUF  PORT  "SFP_TX_DIS"      IO_TYPE=LVTTL33 PULLMODE=NONE ;
+IOBUF  PORT  "SFP_TX_DIS"      IO_TYPE=LVCMOS33 PULLMODE=NONE ;
 LOCATE COMP  "SFP_LOS"         SITE "N2";
-IOBUF  PORT  "SFP_LOS"         IO_TYPE=LVTTL33 PULLMODE=NONE ;
+IOBUF  PORT  "SFP_LOS"         IO_TYPE=LVCMOS33 PULLMODE=NONE ;
 LOCATE COMP  "SFP_MOD_0"       SITE "P1";
-IOBUF  PORT  "SFP_MOD_0"       IO_TYPE=LVTTL33 PULLMODE=NONE ;
-LOCATE COMP  "SFP_RATE_SEL"    SITE "N1";
-IOBUF  PORT  "SFP_RATE_SEL"    IO_TYPE=LVTTL33 PULLMODE=NONE ;
-LOCATE COMP  "SFP_TX_FAULT"    SITE "P2";
-IOBUF  PORT  "SFP_TX_FAULT"    IO_TYPE=LVTTL33 PULLMODE=NONE ;
+IOBUF  PORT  "SFP_MOD_0"       IO_TYPE=LVCMOS33 PULLMODE=NONE ;
+LOCATE COMP  "SFP_RATESEL"     SITE "N1";
+IOBUF  PORT  "SFP_RATESEL"     IO_TYPE=LVCMOS33 PULLMODE=NONE ;
+LOCATE COMP  "SFP_TX_FAULT"    SITE "P3";
+IOBUF  PORT  "SFP_TX_FAULT"    IO_TYPE=LVCMOS33 PULLMODE=NONE ;
 LOCATE COMP  "SFP_MOD_1"       SITE "M1";
-IOBUF  PORT  "SFP_MOD_1"       IO_TYPE=LVTTL33 PULLMODE=NONE ;
-LOCATE COMP  "SFP_MOD_2"       SITE "P3";
-IOBUF  PORT  "SFP_MOD_2"       IO_TYPE=LVTTL33 PULLMODE=NONE ;
+IOBUF  PORT  "SFP_MOD_1"       IO_TYPE=LVCMOS33 PULLMODE=NONE ;
+LOCATE COMP  "SFP_MOD_2"       SITE "P2";
+IOBUF  PORT  "SFP_MOD_2"       IO_TYPE=LVCMOS33 PULLMODE=NONE ;
+
+LOCATE COMP  "LED_SFP_YELLOW"  SITE "K3";
+IOBUF  PORT  "LED_SFP_YELLOW"  IO_TYPE=LVCMOS33 DRIVE="8" ;
+LOCATE COMP  "LED_SFP_GREEN"   SITE "L3";
+IOBUF  PORT  "LED_SFP_GREEN"   IO_TYPE=LVCMOS33 DRIVE="8" ;
+LOCATE COMP  "LED_SFP_RED"     SITE "J3";
+IOBUF  PORT  "LED_SFP_RED"     IO_TYPE=LVCMOS33 DRIVE="8" ;
 
 #################################################################
 # Temperature, Flash & ID
 #################################################################
-LOCATE COMP  "I2C_SDA"          SITE "L2" ;
-IOBUF  PORT  "I2C_SDA"          IO_TYPE=LVCMOS33 ;
-LOCATE COMP  "I2C_SCL"          SITE "L1" ;
-IOBUF  PORT  "I2C_SCL"          IO_TYPE=LVCMOS33 ;
+LOCATE COMP  "I2C_SDA"         SITE "L2" ;
+IOBUF  PORT  "I2C_SDA"         IO_TYPE=LVCMOS33 ;
+LOCATE COMP  "I2C_SCL"         SITE "L1" ;
+IOBUF  PORT  "I2C_SCL"         IO_TYPE=LVCMOS33 ;
 
-LOCATE COMP  "PROGRAMN"         SITE "V1";
-IOBUF  PORT  "PROGRAMN"         IO_TYPE=LVTTL33 PULLMODE=UP DRIVE=8 ;
+LOCATE COMP  "PROGRAMN"        SITE "V1";
+IOBUF  PORT  "PROGRAMN"        IO_TYPE=LVCMOS33 PULLMODE=UP DRIVE="8" ;
 
-LOCATE COMP  "FLASH_HOLD"        SITE "W1" ;
-IOBUF  PORT  "FLASH_HOLD"        IO_TYPE=LVTTL33 PULLMODE=NONE ;
-LOCATE COMP  "FLASH_MISO"        SITE "V2" ;
-IOBUF  PORT  "FLASH_MISO"        IO_TYPE=LVTTL33 PULLMODE=NONE ;
-LOCATE COMP  "FLASH_MOSI"        SITE "W2" ;
-IOBUF  PORT  "FLASH_MOSI"        IO_TYPE=LVTTL33 PULLMODE=NONE ;
-LOCATE COMP  "FLASH_NCS"         SITE "R2" ;
-IOBUF  PORT  "FLASH_NCS"         IO_TYPE=LVTTL33 PULLMODE=NONE ;
-LOCATE COMP  "FLASH_SCLK"        SITE "U2" ;
-IOBUF  PORT  "FLASH_SCLK"        IO_TYPE=LVTTL33 PULLMODE=NONE ;
-LOCATE COMP  "FLASH_WP"          SITE "Y2" ;
-IOBUF  PORT  "FLASH_WP"          IO_TYPE=LVTTL33 PULLMODE=NONE ;
-LOCATE COMP  "FLASH_SELECT"      SITE "T3" ;
-IOBUF  PORT  "FLASH_SELECT"      IO_TYPE=LVTTL33 PULLMODE=NONE ;
-LOCATE COMP  "FLASH_OVERRIDE"    SITE "U1" ;
-IOBUF  PORT  "FLASH_OVERRIDE"    IO_TYPE=LVTTL33 PULLMODE=NONE ;
+LOCATE COMP  "FLASH_HOLD"      SITE "W1" ;
+IOBUF  PORT  "FLASH_HOLD"      IO_TYPE=LVCMOS33 PULLMODE=NONE ;
+LOCATE COMP  "FLASH_MISO"      SITE "V2" ;
+IOBUF  PORT  "FLASH_MISO"      IO_TYPE=LVCMOS33 PULLMODE=NONE ;
+LOCATE COMP  "FLASH_MOSI"      SITE "W2" ;
+IOBUF  PORT  "FLASH_MOSI"      IO_TYPE=LVCMOS33 PULLMODE=NONE ;
+LOCATE COMP  "FLASH_NCS"       SITE "R2" ;
+IOBUF  PORT  "FLASH_NCS"       IO_TYPE=LVCMOS33 PULLMODE=NONE ;
+LOCATE COMP  "FLASH_SCLK"      SITE "U2" ;
+IOBUF  PORT  "FLASH_SCLK"      IO_TYPE=LVCMOS33 PULLMODE=NONE ;
+LOCATE COMP  "FLASH_WP"        SITE "Y2" ;
+IOBUF  PORT  "FLASH_WP"        IO_TYPE=LVCMOS33 PULLMODE=NONE ;
+LOCATE COMP  "FLASH_SELECT"    SITE "T3" ;
+IOBUF  PORT  "FLASH_SELECT"    IO_TYPE=LVCMOS33 PULLMODE=NONE ;
+LOCATE COMP  "FLASH_OVERRIDE"  SITE "U1" ;
+IOBUF  PORT  "FLASH_OVERRIDE"  IO_TYPE=LVCMOS33 PULLMODE=NONE ;
 
 #################################################################
 # GPIO
 #################################################################
 LOCATE COMP  "GPIO_15"         SITE "A3" ;
-IOBUF  PORT  "GPIO_15"         IO_TYPE=LVTTL33 PULLMODE=NONE ;
+IOBUF  PORT  "GPIO_15"         IO_TYPE=LVCMOS33 PULLMODE=NONE ;
 LOCATE COMP  "GPIO_14"         SITE "B3" ;
-IOBUF  PORT  "GPIO_14"         IO_TYPE=LVTTL33 PULLMODE=NONE ;
+IOBUF  PORT  "GPIO_14"         IO_TYPE=LVCMOS33 PULLMODE=NONE ;
 LOCATE COMP  "GPIO_13"         SITE "A2" ;
-IOBUF  PORT  "GPIO_13"         IO_TYPE=LVTTL33 PULLMODE=NONE ;
+IOBUF  PORT  "GPIO_13"         IO_TYPE=LVCMOS33 PULLMODE=NONE ;
 LOCATE COMP  "GPIO_12"         SITE "B2" ;
-IOBUF  PORT  "GPIO_12"         IO_TYPE=LVTTL33 PULLMODE=NONE ;
+IOBUF  PORT  "GPIO_12"         IO_TYPE=LVCMOS33 PULLMODE=NONE ;
 LOCATE COMP  "GPIO_11"         SITE "B1" ;
-IOBUF  PORT  "GPIO_11"         IO_TYPE=LVTTL33 PULLMODE=NONE ;
+IOBUF  PORT  "GPIO_11"         IO_TYPE=LVCMOS33 PULLMODE=NONE ;
 LOCATE COMP  "GPIO_10"         SITE "C2" ;
-IOBUF  PORT  "GPIO_10"         IO_TYPE=LVTTL33 PULLMODE=NONE ;
+IOBUF  PORT  "GPIO_10"         IO_TYPE=LVCMOS33 PULLMODE=NONE ;
 LOCATE COMP  "GPIO_9"          SITE "C1" ;
-IOBUF  PORT  "GPIO_9"          IO_TYPE=LVTTL33 PULLMODE=NONE ;
+IOBUF  PORT  "GPIO_9"          IO_TYPE=LVCMOS33 PULLMODE=NONE ;
 LOCATE COMP  "GPIO_8"          SITE "D2" ;
-IOBUF  PORT  "GPIO_8"          IO_TYPE=LVTTL33 PULLMODE=NONE ;
+IOBUF  PORT  "GPIO_8"          IO_TYPE=LVCMOS33 PULLMODE=NONE ;
 LOCATE COMP  "GPIO_7"          SITE "D1" ;
-IOBUF  PORT  "GPIO_7"          IO_TYPE=LVTTL33 PULLMODE=NONE ;
+IOBUF  PORT  "GPIO_7"          IO_TYPE=LVCMOS33 PULLMODE=NONE ;
 LOCATE COMP  "GPIO_6"          SITE "E2" ;
-IOBUF  PORT  "GPIO_6"          IO_TYPE=LVTTL33 PULLMODE=NONE ;
+IOBUF  PORT  "GPIO_6"          IO_TYPE=LVCMOS33 PULLMODE=NONE ;
 LOCATE COMP  "GPIO_5"          SITE "E1" ;
-IOBUF  PORT  "GPIO_5"          IO_TYPE=LVTTL33 PULLMODE=NONE ;
+IOBUF  PORT  "GPIO_5"          IO_TYPE=LVCMOS33 PULLMODE=NONE ;
 LOCATE COMP  "GPIO_4"          SITE "F2" ;
-IOBUF  PORT  "GPIO_4"          IO_TYPE=LVTTL33 PULLMODE=NONE ;
+IOBUF  PORT  "GPIO_4"          IO_TYPE=LVCMOS33 PULLMODE=NONE ;
 LOCATE COMP  "GPIO_3"          SITE "F1" ;
-IOBUF  PORT  "GPIO_3"          IO_TYPE=LVTTL33 PULLMODE=NONE ;
+IOBUF  PORT  "GPIO_3"          IO_TYPE=LVCMOS33 PULLMODE=NONE ;
 LOCATE COMP  "GPIO_2"          SITE "G2" ;
-IOBUF  PORT  "GPIO_2"          IO_TYPE=LVTTL33 PULLMODE=NONE ;
+IOBUF  PORT  "GPIO_2"          IO_TYPE=LVCMOS33 PULLMODE=NONE ;
 LOCATE COMP  "GPIO_1"          SITE "G1" ;
-IOBUF  PORT  "GPIO_1"          IO_TYPE=LVTTL33 PULLMODE=NONE ;
+IOBUF  PORT  "GPIO_1"          IO_TYPE=LVCMOS33 PULLMODE=NONE ;
 LOCATE COMP  "GPIO_0"          SITE "J4" ;
-IOBUF  PORT  "GPIO_0"          IO_TYPE=LVTTL33 PULLMODE=NONE ;
+IOBUF  PORT  "GPIO_0"          IO_TYPE=LVCMOS33 PULLMODE=NONE ;
 LOCATE COMP  "TIMING_TEST"     SITE "H1" ;
-IOBUF  PORT  "TIMING_TEST"     IO_TYPE=LVTTL33 PULLMODE=NONE ;
+IOBUF  PORT  "TIMING_TEST"     IO_TYPE=LVCMOS33 PULLMODE=NONE ;
 
 #################################################################
 # LVDS interface
 #################################################################
 LOCATE COMP  "INTCOM_9"        SITE "D18" ;
-IOBUF  PORT  "INTCOM_9"        IO_TYPE=LVDS  DIFFRESISTOR=100;
+IOBUF  PORT  "INTCOM_9"        IO_TYPE=LVDS ; # DIFFRESISTOR="100" ;
 LOCATE COMP  "INTCOM_8"        SITE "F17" ;
-IOBUF  PORT  "INTCOM_8"        IO_TYPE=LVDS  DIFFRESISTOR=100;
+IOBUF  PORT  "INTCOM_8"        IO_TYPE=LVDS ; # DIFFRESISTOR="100" ;
 LOCATE COMP  "INTCOM_7"        SITE "H18" ;
-IOBUF  PORT  "INTCOM_7"        IO_TYPE=LVDS  DIFFRESISTOR=100;
+IOBUF  PORT  "INTCOM_7"        IO_TYPE=LVDS ; # DIFFRESISTOR="100" ;
 LOCATE COMP  "INTCOM_6"        SITE "K16" ;
-IOBUF  PORT  "INTCOM_6"        IO_TYPE=LVDS  DIFFRESISTOR=100;
+IOBUF  PORT  "INTCOM_6"        IO_TYPE=LVDS ; # DIFFRESISTOR="100" ;
 LOCATE COMP  "INTCOM_5"        SITE "N19" ;
-IOBUF  PORT  "INTCOM_5"        IO_TYPE=LVDS  DIFFRESISTOR=100;
+IOBUF  PORT  "INTCOM_5"        IO_TYPE=LVDS ; # DIFFRESISTOR="100" ;
 LOCATE COMP  "INTCOM_4"        SITE "C20" ;
-IOBUF  PORT  "INTCOM_4"        IO_TYPE=LVDS  DIFFRESISTOR=100;
+IOBUF  PORT  "INTCOM_4"        IO_TYPE=LVDS ; # DIFFRESISTOR="100" ;
 LOCATE COMP  "INTCOM_3"        SITE "E20" ;
-IOBUF  PORT  "INTCOM_3"        IO_TYPE=LVDS  DIFFRESISTOR=100;
+IOBUF  PORT  "INTCOM_3"        IO_TYPE=LVDS ; # DIFFRESISTOR="100" ;
 LOCATE COMP  "INTCOM_2"        SITE "G19" ;
-IOBUF  PORT  "INTCOM_2"        IO_TYPE=LVDS  DIFFRESISTOR=100;
+IOBUF  PORT  "INTCOM_2"        IO_TYPE=LVDS ; # DIFFRESISTOR="100" ;
 LOCATE COMP  "INTCOM_1"        SITE "J19" ;
-IOBUF  PORT  "INTCOM_1"        IO_TYPE=LVDS  DIFFRESISTOR=100;
+IOBUF  PORT  "INTCOM_1"        IO_TYPE=LVDS ; # DIFFRESISTOR="100" ;
 LOCATE COMP  "INTCOM_0"        SITE "L20" ;
-IOBUF  PORT  "INTCOM_0"        IO_TYPE=LVDS  DIFFRESISTOR=100;
+IOBUF  PORT  "INTCOM_0"        IO_TYPE=LVDS ; # DIFFRESISTOR="100" ;
 
 #################################################################
 # LED
 #################################################################
-LOCATE COMP  "LED_SFP_YELLOW"     SITE "L3";
-IOBUF  PORT  "LED_SFP_YELLOW"     IO_TYPE=LVTTL33 ;
-LOCATE COMP  "LED_SFP_GREEN"      SITE "J3";
-IOBUF  PORT  "LED_SFP_GRENN"      IO_TYPE=LVTTL33 ;
-LOCATE COMP  "LED_SFP_RED"        SITE "K3";
-IOBUF  PORT  "LED_SFP_RED"        IO_TYPE=LVTTL33 ;
-
-LOCATE COMP  "LED_0"    SITE "K1";
-IOBUF  PORT  "LED_0"    IO_TYPE=LVCMOS33 DRIVE=8;
-LOCATE COMP  "LED_1"    SITE "K2";
-IOBUF  PORT  "LED_1"    IO_TYPE=LVCMOS33 DRIVE=8;
-LOCATE COMP  "LED_2"    SITE "J1";
-IOBUF  PORT  "LED_2"    IO_TYPE=LVCMOS33 DRIVE=8;
-LOCATE COMP  "LED_3"    SITE "H2";
-IOBUF  PORT  "LED_3"    IO_TYPE=LVCMOS33 DRIVE=8;
+LOCATE COMP  "LED_0"           SITE "K1";
+IOBUF  PORT  "LED_0"           IO_TYPE=LVCMOS33 DRIVE="8" ;
+LOCATE COMP  "LED_1"           SITE "K2";
+IOBUF  PORT  "LED_1"           IO_TYPE=LVCMOS33 DRIVE="8" ;
+LOCATE COMP  "LED_2"           SITE "J1";
+IOBUF  PORT  "LED_2"           IO_TYPE=LVCMOS33 DRIVE="8" ;
+LOCATE COMP  "LED_3"           SITE "H2";
+IOBUF  PORT  "LED_3"           IO_TYPE=LVCMOS33 DRIVE="8" ;
 
 #################################################################
 #################################################################
diff --git a/prototype/tdc_release b/prototype/tdc_release
new file mode 120000 (symlink)
index 0000000..6a654d0
--- /dev/null
@@ -0,0 +1 @@
+../../tdc/releases/tdc_v2.3
\ No newline at end of file
index 5da9436f9f636fe4a8937f44e271c5bf470d0f38..4ff4008f90a6b76875e28507ce9c5524094be497 100644 (file)
@@ -132,24 +132,10 @@ add_file -vhdl -lib work "../../trbnet/media_interfaces/sync/sci_reader.vhd"
 add_file -vhdl -lib work "../../trbnet/media_interfaces/sync/med_sync_control.vhd"
 add_file -vhdl -lib work "../../trbnet/media_interfaces/med_ecp5_sfp_sync.vhd"
 
-
-#########################################
-#channel 0, backplane
-#add_file -vhdl -lib work "../../dirich/cores/serdes_sync_0.vhd"      
-#add_file -verilog -lib work "../../dirich/cores/serdes_sync_0_softlogic.v"
-
-#channel 1, SFP
-#add_file -vhdl -lib work "../cores/serdes_sync_0/serdes_sync_0.vhd"
-#add_file -verilog -lib work "../cores/serdes_sync_0/serdes_sync_0_softlogic.v"
-##########################################
-
-
 #########################################
-#channel 0, backplane
-#add_file -vhdl -lib work "../../trbnet/media_interfaces/ecp5/chan0_0/serdes_sync_0.vhd"      
-
 #channel 1, SFP
-add_file -vhdl -lib work "../../trbnet/media_interfaces/ecp5/chan0_1/serdes_sync_0.vhd"
+#add_file -vhdl -lib work "../../trbnet/media_interfaces/ecp5/chan0_1/serdes_sync_0.vhd"
+add_file -vhdl -lib work "../../trbnet/media_interfaces/ecp5/chan0_0_inv/serdes_sync_0.vhd"
 ##########################################
 
 add_file -vhdl -lib work "../../trbnet/media_interfaces/ecp5/pcs.vhd"
index dfcdee47136f6bee31482f788f27431eb8ce3704..bf7a0cebe7ec3e13ce38291b769bd3221b7bcf3f 100644 (file)
@@ -42,6 +42,8 @@ entity tomcat_template is
     LED_SFP_RED    : out   std_logic;
     -- LVDS intercom
     INTCOM         : inout std_logic_vector(9 downto 0);
+    -- timing measurements
+    TIMING_TEST    : out   std_logic;
     -- GPIO
     GPIO           : out   std_logic_vector(15 downto 0)
   );
@@ -55,8 +57,8 @@ entity tomcat_template is
 end entity;
 
 architecture arch of tomcat_template is
-  attribute syn_keep     : boolean;
-  attribute syn_preserve : boolean;
+  attribute syn_keep                 : boolean;
+  attribute syn_preserve             : boolean;
 
   signal clk_sys                     : std_logic;
   signal clk_full                    : std_logic;
@@ -74,9 +76,6 @@ architecture arch of tomcat_template is
   signal med2int                     : med2int_array_t(0 to 0);
   signal int2med                     : int2med_array_t(0 to 0);
   signal med_stat_debug              : std_logic_vector (1*64-1 downto 0);
-  signal sfp_los_i                   : std_logic;
-  signal sfp_txdis_i                 : std_logic;
-  signal sfp_prsnt_i                 : std_logic;
   
   signal readout_rx                  : READOUT_RX;
   signal readout_tx                  : readout_tx_array_t(0 to 0);
@@ -92,14 +91,32 @@ architecture arch of tomcat_template is
   signal timer                       : TIMERS;
   signal led_off                     : std_logic;
 
-  attribute syn_keep of GSR_N     : signal is true;
-  attribute syn_preserve of GSR_N : signal is true;  
+  signal link_stat_in_reg            : std_logic;
+
+  attribute syn_keep of GSR_N        : signal is true;
+  attribute syn_preserve of GSR_N    : signal is true;  
+  
+  signal testctr                     : unsigned(31 downto 0);
   
-  signal link_stat_in_reg : std_logic;
+begin
 
+-------------------------------------------------------------------------------
+-------------------------------------------------------------------------------
+THE_TESTCTR_PROC: process( clk_cal ) 
 begin
+  if( rising_edge(clk_cal) ) then
+    testctr <= testctr + 1;
+  end if;
+end process THE_TESTCTR_PROC;
 
-trigger_in_i <= INTCOM(0); -- BUG: we need a "timing trigger"
+-------------------------------------------------------------------------------
+-------------------------------------------------------------------------------
+trigger_in_i       <= INTCOM(0); -- BUG: we need a "timing trigger" 
+-- at least 100ns!
+
+INTCOM(9 downto 1) <= std_logic_vector(testctr(8 downto 0));
+
+TIMING_TEST        <= std_logic(testctr(31));
 
 -------------------------------------------------------------------------------
 -- Clock & Reset Handling
@@ -149,9 +166,9 @@ trigger_in_i <= INTCOM(0); -- BUG: we need a "timing trigger"
       TX_DLM            => open,
       TX_DLM_WORD       => open,
       --SFP Connection
-      SD_PRSNT_N_IN     => sfp_prsnt_i,
-      SD_LOS_IN         => sfp_los_i,
-      SD_TXDIS_OUT      => sfp_txdis_i,
+      SD_PRSNT_N_IN     => SFP_MOD_0,
+      SD_LOS_IN         => SFP_LOS,
+      SD_TXDIS_OUT      => SFP_TX_DIS,
       --Control Interface
       BUS_RX            => bussci_rx,
       BUS_TX            => bussci_tx,      
@@ -159,10 +176,6 @@ trigger_in_i <= INTCOM(0); -- BUG: we need a "timing trigger"
       STAT_DEBUG    => med_stat_debug(63 downto 0),
       CTRL_DEBUG    => open
     );
-
-  sfp_los_i   <= SFP_LOS;
-  sfp_prsnt_i <= SFP_MOD_0; 
-  SFP_TX_DIS  <= sfp_txdis_i;
         
 -------------------------------------------------------------------------------
 -- Endpoint
@@ -284,19 +297,23 @@ trigger_in_i <= INTCOM(0); -- BUG: we need a "timing trigger"
 
   FLASH_HOLD     <= '1';
   FLASH_WP       <= '1';
-  FLASH_OVERRIDE <= 'Z';
+  FLASH_OVERRIDE <= '1'; -- do nothing
 
 -------------------------------------------------------------------------------
 -- I/O
 -------------------------------------------------------------------------------
+  GPIO            <= std_logic_vector(testctr(15 downto 0));
 
 -------------------------------------------------------------------------------
 -- LED
 -------------------------------------------------------------------------------
-  LED_SFP_GREEN  <= not med2int(0).stat_op(9) or led_off;
-  LED_SFP_RED    <= not (med2int(0).stat_op(10) or med2int(0).stat_op(11)) or led_off;
-  LED_SFP_YELLOW <= not med2int(0).stat_op(8) or led_off;
-  LED            <= (others => '0');
+  LED_SFP_GREEN   <= not med2int(0).stat_op(9) or led_off;
+  LED_SFP_RED     <= not (med2int(0).stat_op(10) or med2int(0).stat_op(11)) or led_off;
+  LED_SFP_YELLOW  <= not med2int(0).stat_op(8) or led_off;
+  LED(3)          <= not std_logic(testctr(27));
+  LED(2)          <= not std_logic(testctr(26));
+  LED(1)          <= not std_logic(testctr(25));
+  LED(0)          <= not std_logic(testctr(24));
 
 -------------------------------------------------------------------------------
 -- No trigger/data endpoint included