REGION "MEDIA_RIGHT" "R102C92D" 13 75; # RIGHT is for PCSA/PCSC
LOCATE UGROUP "gen_PCSB.THE_MEDIA_PCSB/media_interface_group" REGION "MEDIA_LEFT";
-#LOCATE UGROUP "gen_PCSB.THE_MEDIA_PCSB/gen_control.3.gen_phaser.THE_PHASER/THE_PHASER_CORE/phaser_core_group" SITE "R111C77D"; #
+# read from SCI can be delayed due to long read strobe
+MULTICYCLE FROM ASIC gen_PCSB.THE_MEDIA_PCSB/THE_SERDES/PCSD_INST PIN SCIRDATA* 15 ns;
+# write strobe can be delayed due to A/D being stable after access
+MULTICYCLE TO ASIC gen_PCSB.THE_MEDIA_PCSB/THE_SERDES/PCSD_INST PIN SCIWSTN 15 ns;
-#LOCATE UGROUP "gen_PCSB.THE_MEDIA_PCSB/gen_control.3.gen_phaser.THE_PHASER/THE_PHASER_CORE/phaser_core_group" SITE "R101C87D"; #
+# SCI write signal problem...
+#BLOCK NET gen_PCSB.THE_MEDIA_PCSB/sci_write_i;
+#BLOCK INTERCLOCKDOMAIN PATHS;
+###################################################################################################################
+###################################################################################################################
+#### OLD constraints
BLOCK PATH FROM CELL THE_TDC/calibration_o*;
BLOCK PATH FROM CELL THE_CTS/TIME_REFERENCE_OUT TO CELL THE_TDC/ReferenceChannel/Channel200/SimAdderNo.FC/FF*;
BLOCK PATH FROM CELL THE_CTS/TIME_REFERENCE_OUT TO CELL THE_TDC/TheTriggerHandler/trg_in_r[0];
FREQUENCY NET "GBE/imp_gen.serdes_intclk_gen.PCS_SERDES/clk_int.SERDES_GBE/sd_rx_clk_1" 125.0 MHz;
FREQUENCY NET "GBE/clk_125_rx_from_pcs[3]" 125 MHz;
+PROHIBIT SECONDARY NET "THE_TOOLS/gen_STATISTICS.THE_STAT_LOGIC/reset_cnt" ;
+
+### DUMPING AREA
+
#MULTICYCLE TO CELL "gen_PCSB.THE_MEDIA_PCSB/sci*" 20 ns;
#MULTICYCLE FROM CELL "gen_PCSB.THE_MEDIA_PCSB/sci*" 20 ns;
#MULTICYCLE TO CELL "gen_PCSB.THE_MEDIA_PCSB/PROC_SCI_CTRL.wa*" 20 ns;
#MULTICYCLE TO ASIC gen_PCSC.THE_MEDIA_PCSC/THE_SERDES/PCSD_INST PIN SCIRD 15 ns;
#MAXDELAY TO ASIC gen_PCSC.THE_MEDIA_PCSC/THE_SERDES/PCSD_INST PIN SCIRD 15 ns;
-
-PROHIBIT SECONDARY NET "THE_TOOLS/gen_STATISTICS.THE_STAT_LOGIC/reset_cnt" ;
signal tx_rst_x : std_logic;
signal wap_requested_i : std_logic_vector(3 downto 0);
- signal rx_index_i : std_logic_vector(3 downto 0);
- signal phaser_data : std_logic_vector(31 downto 0);
- signal phaser_update : std_logic;
- signal coarse_counter : unsigned(15 downto 0);
- signal coarse_delay : std_logic_vector(15 downto 0);
signal slv_act_cnt : unsigned(7 downto 0);
signal slave_active_fake : std_logic;
DESTROY_LINK_IN(2) => '0',
DESTROY_LINK_IN(3) => destroy_link_i,
WAP_REQUESTED_IN => wap_requested_i,
- RX_INDEX_OUT => rx_index_i,
- DLM_RESULT_OUT(0*32+31 downto 0*32) => open,
- DLM_RESULT_OUT(1*32+31 downto 1*32) => open,
- DLM_RESULT_OUT(2*32+31 downto 2*32) => open,
- DLM_RESULT_OUT(3*32+31 downto 3*32) => phaser_data,
--SFP Connection
SD_PRSNT_N_IN(0) => '1',
SD_LOS_IN(0) => '1',
end if;
end process THE_RST_SEND_PROC;
+ -- send on rising edge of signal
tx_rst_x <= not pulse_detect(7) and pulse_detect(6);
end generate;
---------------------------------------------------------------------------
-- PCSC: not used
---------------------------------------------------------------------------
- bussci3_tx.data <= phaser_data;
- bussci3_tx.ack <= bussci3_rx.read or bussci3_rx.write when rising_edge(clk_sys);
+ bussci3_tx.data <= (others => '0');
+ bussci3_tx.ack <= '0';
bussci3_tx.nack <= '0';
- bussci3_tx.unknown <= '0';
+ bussci3_tx.unknown <= bussci3_rx.read or bussci3_rx.write when rising_edge(clk_sys);
--- bussci3_tx.data <= (others => '0');
--- bussci3_tx.ack <= '0';
+-- can be used for simple readback on debugging
+-- bussci3_tx.data <= phaser_data;
+-- bussci3_tx.ack <= bussci3_rx.read or bussci3_rx.write when rising_edge(clk_sys);
-- bussci3_tx.nack <= '0';
--- bussci3_tx.unknown <= bussci3_rx.read or bussci3_rx.write when rising_edge(clk_sys);
+-- bussci3_tx.unknown <= '0';
+
---------------------------------------------------------------------------
-- PCSD: GbE