From 81827f330fc7e4cc9ea52e4f5bfbc145784cf88d Mon Sep 17 00:00:00 2001 From: Jan Michel Date: Thu, 31 Jan 2019 15:18:12 +0100 Subject: [PATCH] update CTS with mux output option on RJ and new toolchain --- cts/compile_central_frankfurt.pl | 4 ++-- cts/config_default.vhd | 9 ++++++--- cts/trb3_central.prj | 1 + cts/trb3_central.vhd | 6 +++++- cts/trb3_central_constraints_3.lpf | 22 ++++++++++++---------- 5 files changed, 26 insertions(+), 16 deletions(-) diff --git a/cts/compile_central_frankfurt.pl b/cts/compile_central_frankfurt.pl index 238dc45..6678525 100755 --- a/cts/compile_central_frankfurt.pl +++ b/cts/compile_central_frankfurt.pl @@ -16,8 +16,8 @@ my $CbmNetPath = "../../cbmnet"; my $lm_license_file_for_synplify = "27020\@jspc29"; #"27000\@lxcad01.gsi.de"; my $lm_license_file_for_par = "1702\@hadeb05.gsi.de"; -my $lattice_path = '/d/jspc29/lattice/diamond/3.9_x64'; -my $synplify_path = '/d/jspc29/lattice/synplify/K-2015.09/'; +my $lattice_path = '/d/jspc29/lattice/diamond/3.10_x64'; +my $synplify_path = '/d/jspc29/lattice/synplify/O-2018.09-SP1'; ################################################################################### diff --git a/cts/config_default.vhd b/cts/config_default.vhd index fd14080..c25b484 100644 --- a/cts/config_default.vhd +++ b/cts/config_default.vhd @@ -37,7 +37,7 @@ package config is constant USE_EXTERNAL_CLOCK : integer range c_NO to c_YES := c_YES; --Which external trigger module (ETM) to use? - constant INCLUDE_ETM : integer range c_NO to c_YES := c_YES; + constant INCLUDE_ETM : integer range c_NO to c_YES := c_NO; type ETM_CHOICE_type is (ETM_CHOICE_MBS_VULOM, ETM_CHOICE_MAINZ_A2, ETM_CHOICE_CBMNET, ETM_CHOICE_M26); constant ETM_CHOICE : ETM_CHOICE_type := ETM_CHOICE_MBS_VULOM; @@ -45,12 +45,15 @@ package config is --output busy signal on pair 4 of Trigger RJ45? constant GEN_BUSY_OUTPUT : integer := c_NO; + +--CLK RJ 3&4 can be used as output multiplexers? + constant USE_CLKRJ_AS_OUTMUX : integer := c_NO; constant TRIGGER_COIN_COUNT : integer := 2; constant TRIGGER_PULSER_COUNT : integer := 2; constant TRIGGER_RAND_PULSER : integer := 1; - constant TRIGGER_ADDON_COUNT : integer := 8; - constant PERIPH_TRIGGER_COUNT : integer := 2; + constant TRIGGER_ADDON_COUNT : integer := 7; + constant PERIPH_TRIGGER_COUNT : integer := 4; constant ADDON_LINE_COUNT : integer := 38; constant CTS_OUTPUT_MULTIPLEXERS : integer := 8; diff --git a/cts/trb3_central.prj b/cts/trb3_central.prj index 5cdd9b1..fd565be 100644 --- a/cts/trb3_central.prj +++ b/cts/trb3_central.prj @@ -91,6 +91,7 @@ add_file -vhdl -lib work "../../trbnet/special/uart.vhd" add_file -vhdl -lib work "../../trbnet/special/uart_rec.vhd" add_file -vhdl -lib work "../../trbnet/special/uart_trans.vhd" add_file -vhdl -lib work "../../trbnet/lattice/ecp3/fifo/fifo_9x2k_oreg.vhd" +add_file -vhdl -lib work "../../trbnet/special/bus_register_handler.vhd" #GbE diff --git a/cts/trb3_central.vhd b/cts/trb3_central.vhd index ae6e133..3ab183f 100644 --- a/cts/trb3_central.vhd +++ b/cts/trb3_central.vhd @@ -766,7 +766,7 @@ begin FEE_DATA_FINISHED_OUT => cts_rdo_finished ); -gen_trigger_in_nombsmaster : if INCLUDE_MBS_MASTER = c_NO generate +gen_trigger_in_nombsmaster : if INCLUDE_MBS_MASTER = c_NO and USE_CLKRJ_AS_OUTMUX = c_NO generate cts_addon_triggers_in(1 downto 0) <= CLK_EXT; -- former trigger inputs end generate; cts_addon_triggers_in(3 downto 2) <= TRIGGER_EXT_3 & TRIGGER_EXT_2; -- former trigger inputs @@ -805,6 +805,10 @@ end generate; JOUT1 <= cts_output_multiplexers_i(3 downto 0); JOUT2 <= cts_output_multiplexers_i(7 downto 4); JOUTLVDS <= cts_output_multiplexers_i(7 downto 0); + + GEN_RJOUTS : if USE_CLKRJ_AS_OUTMUX = c_YES generate + CLK_TEST_OUT <= cts_output_multiplexers_i(1 downto 0); + end generate; --LED_BANK <= cts_output_multiplexers_i(7 downto 0); end generate; diff --git a/cts/trb3_central_constraints_3.lpf b/cts/trb3_central_constraints_3.lpf index 56d2cc0..c7a112c 100644 --- a/cts/trb3_central_constraints_3.lpf +++ b/cts/trb3_central_constraints_3.lpf @@ -52,7 +52,7 @@ LOCATE COMP "GBE/physical_impl_gen.physical/impl_gen.gbe_serdes/PCSD_INST" SITE LOCATE COMP "gen_single_sfp_THE_MEDIA_UPLINK/gen_serdes_0_200_ctc_THE_SERDES/PCSD_INST" SITE "PCSA" ; LOCATE COMP "gen_four_sfp_THE_MEDIA_UPLINK/gen_serdes_200_THE_SERDES/PCSD_INST" SITE "PCSA" ; LOCATE COMP "THE_MEDIA_ONBOARD/gen_serdes_200.THE_SERDES/PCSD_INST" SITE "PCSC" ; -LOCATE COMP "THE_MEDIA_ONBOARD/gen_serdes_125_THE_SERDES/PCSD_INST" SITE "PCSC" ; +LOCATE COMP "THE_MEDIA_ONBOARD/gen_serdes_125.THE_SERDES/PCSD_INST" SITE "PCSC" ; UGROUP "THE_RESET_HANDLER_GRP" BLKNAME THE_RESET_HANDLER; MULTICYCLE TO CELL "THE_RESET_HANDLER/final_reset[*]" 30.000000 ns ; @@ -72,8 +72,8 @@ MULTICYCLE FROM CELL "THE_RESET_HANDLER/final_reset*" 30.000000 ns ; #REGION "MEDIA_ONBOARD" "R90C122" 20 40; #MULTICYCLE TO CELL "THE_MEDIA_DOWNLINK/SCI_DATA_OUT*" 50 ns; -MULTICYCLE TO CELL "gen_single_sfp_THE_MEDIA_UPLINK/SCI_DATA_OUT*" 50.000000 ns ; -MULTICYCLE TO CELL "gen_four_sfp_THE_MEDIA_UPLINK/SCI_DATA_OUT*" 50.000000 ns ; +MULTICYCLE TO CELL "gen_single_sfp.THE_MEDIA_UPLINK/SCI_DATA_OUT*" 50.000000 ns ; +MULTICYCLE TO CELL "gen_four_sfp.THE_MEDIA_UPLINK/SCI_DATA_OUT*" 50.000000 ns ; #SPI Interface REGION "REGION_SPI" "R9C95D" 20 20 DEVSIZE; @@ -250,13 +250,15 @@ LOCATE UGROUP "THE_HUB/THE_HUB/gen_bufs.2.gen_iobufs.0.gen_iobuf.IOBUF/GEN_IBUF. # PRIORITIZE NET "GBE/pcs_rxd_q[0]" 100 ; # PRIORITIZE NET "GBE/serdes_rx_clk_c" 80 ; +# +# LOCATE UGROUP "CBMNET_PHY_GROUP" SITE "R100C118D"; +# LOCATE UGROUP "CBMNET_BRIDGE_GROUP" SITE "R42C106D"; +# LOCATE COMP "THE_CBM_BRIDGE/THE_CBM_PHY/THE_SERDES/PCSD_INST" SITE "PCSA" ; -LOCATE UGROUP "CBMNET_PHY_GROUP" SITE "R100C118D"; -LOCATE UGROUP "CBMNET_BRIDGE_GROUP" SITE "R42C106D"; -LOCATE COMP "THE_CBM_BRIDGE/THE_CBM_PHY/THE_SERDES/PCSD_INST" SITE "PCSA" ; - -UGROUP "THE_MEDIA_ONBOARD_GROUP" BBOX 25 45 - BLKNAME THE_MEDIA_ONBOARD; -LOCATE UGROUP "THE_MEDIA_ONBOARD_GROUP" SITE "R98C75D" ; +# UGROUP "THE_MEDIA_ONBOARD_GROUP" BBOX 25 45 +# BLKNAME THE_MEDIA_ONBOARD; +REGION "MEDIA_REGION" "R95C40D" 20 100; +LOCATE UGROUP "THE_MEDIA_ONBOARD/media_interface_group" REGION "MEDIA_REGION" ; +LOCATE UGROUP "gen_four_sfp.THE_MEDIA_UPLINK/media_interface_group" REGION "MEDIA_REGION" ; -- 2.43.0