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';
###################################################################################
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;
--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;
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
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
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;
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 ;
#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;
# 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" ;