From 9750639486171d734e8e0bcaff1b7bbd5d1cd34c Mon Sep 17 00:00:00 2001 From: Jan Michel Date: Fri, 2 Jul 2021 19:48:11 +0200 Subject: [PATCH] constraints for temporary MDC MBO TDC --- releases/tdc_v2.3/mdctdc_tdc_constraints.lpf | 605 ++++++++++++++++++ .../tdc_v2.3/mdctdc_trbnet_constraints.lpf | 51 ++ 2 files changed, 656 insertions(+) create mode 100644 releases/tdc_v2.3/mdctdc_tdc_constraints.lpf create mode 100644 releases/tdc_v2.3/mdctdc_trbnet_constraints.lpf diff --git a/releases/tdc_v2.3/mdctdc_tdc_constraints.lpf b/releases/tdc_v2.3/mdctdc_tdc_constraints.lpf new file mode 100644 index 0000000..6911463 --- /dev/null +++ b/releases/tdc_v2.3/mdctdc_tdc_constraints.lpf @@ -0,0 +1,605 @@ +################################################################# +# TDC Constraints +################################################################# +############################################################################## +## DELAY LINE and HIT BUFFER PLACEMENTS ## +############################################################################## +############################################################################## +UGROUP "Ref_Ch" BBOX 1 36 + BLKNAME THE_TDC/ReferenceChannel/Channel200/SimAdderNo5.FC + ; +LOCATE UGROUP "Ref_Ch" SITE "R8C2D" ; +UGROUP "hitBuf_ref" BBOX 1 1 + BLKNAME THE_TDC/hit_mux_ref + ; +LOCATE UGROUP "hitBuf_ref" SITE "R9C3D" ; +UGROUP "Ref_ff_en" BBOX 1 1 + BLKNAME THE_TDC/ReferenceChannel/Channel200/ff_array_en_1_i + ; +LOCATE UGROUP "Ref_ff_en" SITE "R9C20D" ; +# +UGROUP "FC_1" BBOX 1 36 + BLKNAME THE_TDC/GEN_Channels.1.Channels/Channel200/SimAdderNo5.FC + ; +LOCATE UGROUP "FC_1" SITE "R23C2D" ; +UGROUP "hitBuf_1" BBOX 1 1 + BLKNAME THE_TDC/GEN_hit_mux.1.hit_mux_ch + ; +LOCATE UGROUP "hitBuf_1" SITE "R24C3D" ; +UGROUP "ff_en_1" BBOX 1 1 + BLKNAME THE_TDC/GEN_Channels.1.Channels/Channel200/ff_array_en_1_i + ; +LOCATE UGROUP "ff_en_1" SITE "R24C20D" ; +# +UGROUP "FC_2" BBOX 1 36 + BLKNAME THE_TDC/GEN_Channels.2.Channels/Channel200/SimAdderNo5.FC + ; +LOCATE UGROUP "FC_2" SITE "R25C2D" ; +UGROUP "hitBuf_2" BBOX 1 1 + BLKNAME THE_TDC/GEN_hit_mux.2.hit_mux_ch + ; +LOCATE UGROUP "hitBuf_2" SITE "R26C3D" ; +UGROUP "ff_en_2" BBOX 1 1 + BLKNAME THE_TDC/GEN_Channels.2.Channels/Channel200/ff_array_en_1_i + ; +LOCATE UGROUP "ff_en_2" SITE "R26C20D" ; +# +UGROUP "FC_3" BBOX 1 36 + BLKNAME THE_TDC/GEN_Channels.3.Channels/Channel200/SimAdderNo5.FC + ; +LOCATE UGROUP "FC_3" SITE "R42C2D" ; +UGROUP "hitBuf_3" BBOX 1 1 + BLKNAME THE_TDC/GEN_hit_mux.3.hit_mux_ch + ; +LOCATE UGROUP "hitBuf_3" SITE "R43C3D" ; +UGROUP "ff_en_3" BBOX 1 1 + BLKNAME THE_TDC/GEN_Channels.3.Channels/Channel200/ff_array_en_1_i + ; +LOCATE UGROUP "ff_en_3" SITE "R43C20D" ; +# +UGROUP "FC_4" BBOX 1 36 + BLKNAME THE_TDC/GEN_Channels.4.Channels/Channel200/SimAdderNo5.FC + ; +LOCATE UGROUP "FC_4" SITE "R44C2D" ; +UGROUP "hitBuf_4" BBOX 1 1 + BLKNAME THE_TDC/GEN_hit_mux.4.hit_mux_ch + ; +LOCATE UGROUP "hitBuf_4" SITE "R45C3D" ; +UGROUP "ff_en_4" BBOX 1 1 + BLKNAME THE_TDC/GEN_Channels.4.Channels/Channel200/ff_array_en_1_i + ; +LOCATE UGROUP "ff_en_4" SITE "R45C20D" ; +# +UGROUP "FC_5" BBOX 1 36 + BLKNAME THE_TDC/GEN_Channels.5.Channels/Channel200/SimAdderNo5.FC + ; +LOCATE UGROUP "FC_5" SITE "R47C2D" ; +UGROUP "hitBuf_5" BBOX 1 1 + BLKNAME THE_TDC/GEN_hit_mux.5.hit_mux_ch + ; +LOCATE UGROUP "hitBuf_5" SITE "R48C3D" ; +UGROUP "ff_en_5" BBOX 1 1 + BLKNAME THE_TDC/GEN_Channels.5.Channels/Channel200/ff_array_en_1_i + ; +LOCATE UGROUP "ff_en_5" SITE "R48C20D" ; +# +UGROUP "FC_6" BBOX 1 36 + BLKNAME THE_TDC/GEN_Channels.6.Channels/Channel200/SimAdderNo5.FC + ; +LOCATE UGROUP "FC_6" SITE "R49C2D" ; +UGROUP "hitBuf_6" BBOX 1 1 + BLKNAME THE_TDC/GEN_hit_mux.6.hit_mux_ch + ; +LOCATE UGROUP "hitBuf_6" SITE "R50C3D" ; +UGROUP "ff_en_6" BBOX 1 1 + BLKNAME THE_TDC/GEN_Channels.6.Channels/Channel200/ff_array_en_1_i + ; +LOCATE UGROUP "ff_en_6" SITE "R50C20D" ; +# +UGROUP "FC_7" BBOX 1 36 + BLKNAME THE_TDC/GEN_Channels.7.Channels/Channel200/SimAdderNo5.FC + ; +LOCATE UGROUP "FC_7" SITE "R66C2D" ; +UGROUP "hitBuf_7" BBOX 1 1 + BLKNAME THE_TDC/GEN_hit_mux.7.hit_mux_ch + ; +LOCATE UGROUP "hitBuf_7" SITE "R67C3D" ; +UGROUP "ff_en_7" BBOX 1 1 + BLKNAME THE_TDC/GEN_Channels.7.Channels/Channel200/ff_array_en_1_i + ; +LOCATE UGROUP "ff_en_7" SITE "R67C20D" ; +# +UGROUP "FC_8" BBOX 1 36 + BLKNAME THE_TDC/GEN_Channels.8.Channels/Channel200/SimAdderNo5.FC + ; +LOCATE UGROUP "FC_8" SITE "R68C2D" ; +UGROUP "hitBuf_8" BBOX 1 1 + BLKNAME THE_TDC/GEN_hit_mux.8.hit_mux_ch + ; +LOCATE UGROUP "hitBuf_8" SITE "R69C3D" ; +UGROUP "ff_en_8" BBOX 1 1 + BLKNAME THE_TDC/GEN_Channels.8.Channels/Channel200/ff_array_en_1_i + ; +LOCATE UGROUP "ff_en_8" SITE "R69C20D" ; +# # +# UGROUP "FC_9" BBOX 1 36 +# BLKNAME THE_TDC/GEN_Channels.9.Channels/Channel200/SimAdderNo5.FC +# ; +# LOCATE UGROUP "FC_9" SITE "R59C2D" ; +# UGROUP "hitBuf_9" BBOX 1 1 +# BLKNAME THE_TDC/GEN_hit_mux.9.hit_mux_ch +# ; +# LOCATE UGROUP "hitBuf_9" SITE "R60C3D" ; +# UGROUP "ff_en_9" BBOX 1 1 +# BLKNAME THE_TDC/GEN_Channels.9.Channels/Channel200/ff_array_en_1_i +# ; +# LOCATE UGROUP "ff_en_9" SITE "R60C20D" ; +# # +# UGROUP "FC_10" BBOX 1 36 +# BLKNAME THE_TDC/GEN_Channels.10.Channels/Channel200/SimAdderNo5.FC +# ; +# LOCATE UGROUP "FC_10" SITE "R61C2D" ; +# UGROUP "hitBuf_10" BBOX 1 1 +# BLKNAME THE_TDC/GEN_hit_mux.10.hit_mux_ch +# ; +# LOCATE UGROUP "hitBuf_10" SITE "R62C3D" ; +# UGROUP "ff_en_10" BBOX 1 1 +# BLKNAME THE_TDC/GEN_Channels.10.Channels/Channel200/ff_array_en_1_i +# ; +# LOCATE UGROUP "ff_en_10" SITE "R62C20D" ; +# # +# UGROUP "FC_11" BBOX 1 36 +# BLKNAME THE_TDC/GEN_Channels.11.Channels/Channel200/SimAdderNo5.FC +# ; +# LOCATE UGROUP "FC_11" SITE "R78C2D" ; +# UGROUP "hitBuf_11" BBOX 1 1 +# BLKNAME THE_TDC/GEN_hit_mux.11.hit_mux_ch +# ; +# LOCATE UGROUP "hitBuf_11" SITE "R79C3D" ; +# UGROUP "ff_en_11" BBOX 1 1 +# BLKNAME THE_TDC/GEN_Channels.11.Channels/Channel200/ff_array_en_1_i +# ; +# LOCATE UGROUP "ff_en_11" SITE "R79C20D" ; +# # +# UGROUP "FC_12" BBOX 1 36 +# BLKNAME THE_TDC/GEN_Channels.12.Channels/Channel200/SimAdderNo5.FC +# ; +# LOCATE UGROUP "FC_12" SITE "R80C2D" ; +# UGROUP "hitBuf_12" BBOX 1 1 +# BLKNAME THE_TDC/GEN_hit_mux.12.hit_mux_ch +# ; +# LOCATE UGROUP "hitBuf_12" SITE "R81C3D" ; +# UGROUP "ff_en_12" BBOX 1 1 +# BLKNAME THE_TDC/GEN_Channels.12.Channels/Channel200/ff_array_en_1_i +# ; +# LOCATE UGROUP "ff_en_12" SITE "R81C20D" ; +# # +# UGROUP "FC_13" BBOX 1 36 +# BLKNAME THE_TDC/GEN_Channels.13.Channels/Channel200/SimAdderNo5.FC +# ; +# LOCATE UGROUP "FC_13" SITE "R90C2D" ; +# UGROUP "hitBuf_13" BBOX 1 1 +# BLKNAME THE_TDC/GEN_hit_mux.13.hit_mux_ch +# ; +# LOCATE UGROUP "hitBuf_13" SITE "R91C3D" ; +# UGROUP "ff_en_13" BBOX 1 1 +# BLKNAME THE_TDC/GEN_Channels.13.Channels/Channel200/ff_array_en_1_i +# ; +# LOCATE UGROUP "ff_en_13" SITE "R91C20D" ; +# # +# UGROUP "FC_14" BBOX 1 36 +# BLKNAME THE_TDC/GEN_Channels.14.Channels/Channel200/SimAdderNo5.FC +# ; +# LOCATE UGROUP "FC_14" SITE "R92C2D" ; +# UGROUP "hitBuf_14" BBOX 1 1 +# BLKNAME THE_TDC/GEN_hit_mux.14.hit_mux_ch +# ; +# LOCATE UGROUP "hitBuf_14" SITE "R93C3D" ; +# UGROUP "ff_en_14" BBOX 1 1 +# BLKNAME THE_TDC/GEN_Channels.14.Channels/Channel200/ff_array_en_1_i +# ; +# LOCATE UGROUP "ff_en_14" SITE "R93C20D" ; +# # +# UGROUP "FC_15" BBOX 1 36 +# BLKNAME THE_TDC/GEN_Channels.15.Channels/Channel200/SimAdderNo5.FC +# ; +# LOCATE UGROUP "FC_15" SITE "R90C86D" ; +# UGROUP "hitBuf_15" BBOX 1 1 +# BLKNAME THE_TDC/GEN_hit_mux.15.hit_mux_ch +# ; +# LOCATE UGROUP "hitBuf_15" SITE "R91C87D" ; +# UGROUP "ff_en_15" BBOX 1 1 +# BLKNAME THE_TDC/GEN_Channels.15.Channels/Channel200/ff_array_en_1_i +# ; +# LOCATE UGROUP "ff_en_15" SITE "R91C104D" ; +# # +# UGROUP "FC_16" BBOX 1 36 +# BLKNAME THE_TDC/GEN_Channels.16.Channels/Channel200/SimAdderNo5.FC +# ; +# LOCATE UGROUP "FC_16" SITE "R92C86D" ; +# UGROUP "hitBuf_16" BBOX 1 1 +# BLKNAME THE_TDC/GEN_hit_mux.16.hit_mux_ch +# ; +# LOCATE UGROUP "hitBuf_16" SITE "R93C87D" ; +# UGROUP "ff_en_16" BBOX 1 1 +# BLKNAME THE_TDC/GEN_Channels.16.Channels/Channel200/ff_array_en_1_i +# ; +# LOCATE UGROUP "ff_en_16" SITE "R93C104D" ; +# # +# UGROUP "FC_17" BBOX 1 36 +# BLKNAME THE_TDC/GEN_Channels.17.Channels/Channel200/SimAdderNo5.FC +# ; +# LOCATE UGROUP "FC_17" SITE "R11C86D" ; +# UGROUP "hitBuf_17" BBOX 1 1 +# BLKNAME THE_TDC/GEN_hit_mux.17.hit_mux_ch +# ; +# LOCATE UGROUP "hitBuf_17" SITE "R12C87D" ; +# UGROUP "ff_en_17" BBOX 1 1 +# BLKNAME THE_TDC/GEN_Channels.17.Channels/Channel200/ff_array_en_1_i +# ; +# LOCATE UGROUP "ff_en_17" SITE "R12C104D" ; +# # +# UGROUP "FC_18" BBOX 1 36 +# BLKNAME THE_TDC/GEN_Channels.18.Channels/Channel200/SimAdderNo5.FC +# ; +# LOCATE UGROUP "FC_18" SITE "R13C86D" ; +# UGROUP "hitBuf_18" BBOX 1 1 +# BLKNAME THE_TDC/GEN_hit_mux.18.hit_mux_ch +# ; +# LOCATE UGROUP "hitBuf_18" SITE "R14C87D" ; +# UGROUP "ff_en_18" BBOX 1 1 +# BLKNAME THE_TDC/GEN_Channels.18.Channels/Channel200/ff_array_en_1_i +# ; +# LOCATE UGROUP "ff_en_18" SITE "R14C104D" ; +# # +# UGROUP "FC_19" BBOX 1 36 +# BLKNAME THE_TDC/GEN_Channels.19.Channels/Channel200/SimAdderNo5.FC +# ; +# LOCATE UGROUP "FC_19" SITE "R30C86D" ; +# UGROUP "hitBuf_19" BBOX 1 1 +# BLKNAME THE_TDC/GEN_hit_mux.19.hit_mux_ch +# ; +# LOCATE UGROUP "hitBuf_19" SITE "R31C87D" ; +# UGROUP "ff_en_19" BBOX 1 1 +# BLKNAME THE_TDC/GEN_Channels.19.Channels/Channel200/ff_array_en_1_i +# ; +# LOCATE UGROUP "ff_en_19" SITE "R31C104D" ; +# # +# UGROUP "FC_20" BBOX 1 36 +# BLKNAME THE_TDC/GEN_Channels.20.Channels/Channel200/SimAdderNo5.FC +# ; +# LOCATE UGROUP "FC_20" SITE "R32C86D" ; +# UGROUP "hitBuf_20" BBOX 1 1 +# BLKNAME THE_TDC/GEN_hit_mux.20.hit_mux_ch +# ; +# LOCATE UGROUP "hitBuf_20" SITE "R33C87D" ; +# UGROUP "ff_en_20" BBOX 1 1 +# BLKNAME THE_TDC/GEN_Channels.20.Channels/Channel200/ff_array_en_1_i +# ; +# LOCATE UGROUP "ff_en_20" SITE "R33C104D" ; +# # +# UGROUP "FC_21" BBOX 1 36 +# BLKNAME THE_TDC/GEN_Channels.21.Channels/Channel200/SimAdderNo5.FC +# ; +# LOCATE UGROUP "FC_21" SITE "R35C86D" ; +# UGROUP "hitBuf_21" BBOX 1 1 +# BLKNAME THE_TDC/GEN_hit_mux.21.hit_mux_ch +# ; +# LOCATE UGROUP "hitBuf_21" SITE "R36C87D" ; +# UGROUP "ff_en_21" BBOX 1 1 +# BLKNAME THE_TDC/GEN_Channels.21.Channels/Channel200/ff_array_en_1_i +# ; +# LOCATE UGROUP "ff_en_21" SITE "R36C104D" ; +# # +# UGROUP "FC_22" BBOX 1 36 +# BLKNAME THE_TDC/GEN_Channels.22.Channels/Channel200/SimAdderNo5.FC +# ; +# LOCATE UGROUP "FC_22" SITE "R37C86D" ; +# UGROUP "hitBuf_22" BBOX 1 1 +# BLKNAME THE_TDC/GEN_hit_mux.22.hit_mux_ch +# ; +# LOCATE UGROUP "hitBuf_22" SITE "R38C87D" ; +# UGROUP "ff_en_22" BBOX 1 1 +# BLKNAME THE_TDC/GEN_Channels.22.Channels/Channel200/ff_array_en_1_i +# ; +# LOCATE UGROUP "ff_en_22" SITE "R38C104D" ; +# # +# UGROUP "FC_23" BBOX 1 36 +# BLKNAME THE_TDC/GEN_Channels.23.Channels/Channel200/SimAdderNo5.FC +# ; +# LOCATE UGROUP "FC_23" SITE "R54C86D" ; +# UGROUP "hitBuf_23" BBOX 1 1 +# BLKNAME THE_TDC/GEN_hit_mux.23.hit_mux_ch +# ; +# LOCATE UGROUP "hitBuf_23" SITE "R55C87D" ; +# UGROUP "ff_en_23" BBOX 1 1 +# BLKNAME THE_TDC/GEN_Channels.23.Channels/Channel200/ff_array_en_1_i +# ; +# LOCATE UGROUP "ff_en_23" SITE "R55C104D" ; +# # +# UGROUP "FC_24" BBOX 1 36 +# BLKNAME THE_TDC/GEN_Channels.24.Channels/Channel200/SimAdderNo5.FC +# ; +# LOCATE UGROUP "FC_24" SITE "R56C86D" ; +# UGROUP "hitBuf_24" BBOX 1 1 +# BLKNAME THE_TDC/GEN_hit_mux.24.hit_mux_ch +# ; +# LOCATE UGROUP "hitBuf_24" SITE "R57C87D" ; +# UGROUP "ff_en_24" BBOX 1 1 +# BLKNAME THE_TDC/GEN_Channels.24.Channels/Channel200/ff_array_en_1_i +# ; +# LOCATE UGROUP "ff_en_24" SITE "R57C104D" ; +# # +# UGROUP "FC_25" BBOX 1 36 +# BLKNAME THE_TDC/GEN_Channels.25.Channels/Channel200/SimAdderNo5.FC +# ; +# LOCATE UGROUP "FC_25" SITE "R59C86D" ; +# UGROUP "hitBuf_25" BBOX 1 1 +# BLKNAME THE_TDC/GEN_hit_mux.25.hit_mux_ch +# ; +# LOCATE UGROUP "hitBuf_25" SITE "R60C87D" ; +# UGROUP "ff_en_25" BBOX 1 1 +# BLKNAME THE_TDC/GEN_Channels.25.Channels/Channel200/ff_array_en_1_i +# ; +# LOCATE UGROUP "ff_en_25" SITE "R60C104D" ; +# # +# UGROUP "FC_26" BBOX 1 36 +# BLKNAME THE_TDC/GEN_Channels.26.Channels/Channel200/SimAdderNo5.FC +# ; +# LOCATE UGROUP "FC_26" SITE "R61C86D" ; +# UGROUP "hitBuf_26" BBOX 1 1 +# BLKNAME THE_TDC/GEN_hit_mux.26.hit_mux_ch +# ; +# LOCATE UGROUP "hitBuf_26" SITE "R62C87D" ; +# UGROUP "ff_en_26" BBOX 1 1 +# BLKNAME THE_TDC/GEN_Channels.26.Channels/Channel200/ff_array_en_1_i +# ; +# LOCATE UGROUP "ff_en_26" SITE "R62C104D" ; +# # +# UGROUP "FC_27" BBOX 1 36 +# BLKNAME THE_TDC/GEN_Channels.27.Channels/Channel200/SimAdderNo5.FC +# ; +# LOCATE UGROUP "FC_27" SITE "R78C86D" ; +# UGROUP "hitBuf_27" BBOX 1 1 +# BLKNAME THE_TDC/GEN_hit_mux.27.hit_mux_ch +# ; +# LOCATE UGROUP "hitBuf_27" SITE "R79C87D" ; +# UGROUP "ff_en_27" BBOX 1 1 +# BLKNAME THE_TDC/GEN_Channels.27.Channels/Channel200/ff_array_en_1_i +# ; +# LOCATE UGROUP "ff_en_27" SITE "R79C104D" ; +# # +# UGROUP "FC_28" BBOX 1 36 +# BLKNAME THE_TDC/GEN_Channels.28.Channels/Channel200/SimAdderNo5.FC +# ; +# LOCATE UGROUP "FC_28" SITE "R80C86D" ; +# UGROUP "hitBuf_28" BBOX 1 1 +# BLKNAME THE_TDC/GEN_hit_mux.28.hit_mux_ch +# ; +# LOCATE UGROUP "hitBuf_28" SITE "R81C87D" ; +# UGROUP "ff_en_28" BBOX 1 1 +# BLKNAME THE_TDC/GEN_Channels.28.Channels/Channel200/ff_array_en_1_i +# ; +# LOCATE UGROUP "ff_en_28" SITE "R81C104D" ; +# +UGROUP "FC_9" BBOX 1 36 + BLKNAME THE_TDC/GEN_Channels.9.Channels/Channel200/SimAdderNo5.FC + ; +LOCATE UGROUP "FC_9" SITE "R11C2D" ; +UGROUP "hitBuf_9" BBOX 1 1 + BLKNAME THE_TDC/GEN_hit_mux.9.hit_mux_ch + ; +LOCATE UGROUP "hitBuf_9" SITE "R12C3D" ; +UGROUP "ff_en_9" BBOX 1 1 + BLKNAME THE_TDC/GEN_Channels.9.Channels/Channel200/ff_array_en_1_i + ; +LOCATE UGROUP "ff_en_9" SITE "R12C20D" ; +# +UGROUP "FC_10" BBOX 1 36 + BLKNAME THE_TDC/GEN_Channels.10.Channels/Channel200/SimAdderNo5.FC + ; +LOCATE UGROUP "FC_10" SITE "R13C2D" ; +UGROUP "hitBuf_10" BBOX 1 1 + BLKNAME THE_TDC/GEN_hit_mux.10.hit_mux_ch + ; +LOCATE UGROUP "hitBuf_10" SITE "R14C3D" ; +UGROUP "ff_en_10" BBOX 1 1 + BLKNAME THE_TDC/GEN_Channels.10.Channels/Channel200/ff_array_en_1_i + ; +LOCATE UGROUP "ff_en_10" SITE "R14C20D" ; +# # +# UGROUP "FC_31" BBOX 1 36 +# BLKNAME THE_TDC/GEN_Channels.31.Channels/Channel200/SimAdderNo5.FC +# ; +# LOCATE UGROUP "FC_31" SITE "R78C44D" ; +# UGROUP "hitBuf_31" BBOX 1 1 +# BLKNAME THE_TDC/GEN_hit_mux.31.hit_mux_ch +# ; +# LOCATE UGROUP "hitBuf_31" SITE "R79C45D" ; +# UGROUP "ff_en_31" BBOX 1 1 +# BLKNAME THE_TDC/GEN_Channels.31.Channels/Channel200/ff_array_en_1_i +# ; +# LOCATE UGROUP "ff_en_31" SITE "R79C62D" ; +# # +# UGROUP "FC_32" BBOX 1 36 +# BLKNAME THE_TDC/GEN_Channels.32.Channels/Channel200/SimAdderNo5.FC +# ; +# LOCATE UGROUP "FC_32" SITE "R80C44D" ; +# UGROUP "hitBuf_32" BBOX 1 1 +# BLKNAME THE_TDC/GEN_hit_mux.32.hit_mux_ch +# ; +# LOCATE UGROUP "hitBuf_32" SITE "R81C45D" ; +# UGROUP "ff_en_32" BBOX 1 1 +# BLKNAME THE_TDC/GEN_Channels.32.Channels/Channel200/ff_array_en_1_i +# ; +# LOCATE UGROUP "ff_en_32" SITE "R81C62D" ; +############################################################################## +## CHANNEL PLACEMENTS ## +############################################################################## +UGROUP "EF_LT1" BBOX 23 42 + BLKNAME THE_TDC/GEN_Channels.1.Channels/Channel200 + BLKNAME THE_TDC/GEN_Channels.1.Channels/Buffer_128.The_Buffer + BLKNAME THE_TDC/GEN_Channels.2.Channels/Channel200 + BLKNAME THE_TDC/GEN_Channels.2.Channels/Buffer_128.The_Buffer + BLKNAME THE_TDC/GEN_Channels.3.Channels/Channel200 + BLKNAME THE_TDC/GEN_Channels.3.Channels/Buffer_128.The_Buffer + BLKNAME THE_TDC/GEN_Channels.4.Channels/Channel200 + BLKNAME THE_TDC/GEN_Channels.4.Channels/Buffer_128.The_Buffer + ; +LOCATE UGROUP "EF_LT1" SITE "R23C2D" ; +UGROUP "EF_LT2" BBOX 23 42 + BLKNAME THE_TDC/GEN_Channels.5.Channels/Channel200 + BLKNAME THE_TDC/GEN_Channels.5.Channels/Buffer_128.The_Buffer + BLKNAME THE_TDC/GEN_Channels.6.Channels/Channel200 + BLKNAME THE_TDC/GEN_Channels.6.Channels/Buffer_128.The_Buffer + BLKNAME THE_TDC/GEN_Channels.7.Channels/Channel200 + BLKNAME THE_TDC/GEN_Channels.7.Channels/Buffer_128.The_Buffer + BLKNAME THE_TDC/GEN_Channels.8.Channels/Channel200 + BLKNAME THE_TDC/GEN_Channels.8.Channels/Buffer_128.The_Buffer + ; +LOCATE UGROUP "EF_LT2" SITE "R47C2D" ; +# UGROUP "EF_LB2" BBOX 23 42 +# BLKNAME THE_TDC/GEN_Channels.9.Channels/Channel200 +# BLKNAME THE_TDC/GEN_Channels.9.Channels/Buffer_128.The_Buffer +# BLKNAME THE_TDC/GEN_Channels.10.Channels/Channel200 +# BLKNAME THE_TDC/GEN_Channels.10.Channels/Buffer_128.The_Buffer +# BLKNAME THE_TDC/GEN_Channels.11.Channels/Channel200 +# BLKNAME THE_TDC/GEN_Channels.11.Channels/Buffer_128.The_Buffer +# BLKNAME THE_TDC/GEN_Channels.12.Channels/Channel200 +# BLKNAME THE_TDC/GEN_Channels.12.Channels/Buffer_128.The_Buffer +# ; +# LOCATE UGROUP "EF_LB2" SITE "R59C2D" ; +# UGROUP "EF_LB1" BBOX 13 42 +# BLKNAME THE_TDC/GEN_Channels.13.Channels/Channel200 +# BLKNAME THE_TDC/GEN_Channels.13.Channels/Buffer_128.The_Buffer +# BLKNAME THE_TDC/GEN_Channels.14.Channels/Channel200 +# BLKNAME THE_TDC/GEN_Channels.14.Channels/Buffer_128.The_Buffer +# ; +# LOCATE UGROUP "EF_LB1" SITE "R81C2D" ; +# UGROUP "EF_RT1" BBOX 23 42 +# BLKNAME THE_TDC/GEN_Channels.17.Channels/Channel200 +# BLKNAME THE_TDC/GEN_Channels.17.Channels/Buffer_128.The_Buffer +# BLKNAME THE_TDC/GEN_Channels.18.Channels/Channel200 +# BLKNAME THE_TDC/GEN_Channels.18.Channels/Buffer_128.The_Buffer +# BLKNAME THE_TDC/GEN_Channels.19.Channels/Channel200 +# BLKNAME THE_TDC/GEN_Channels.19.Channels/Buffer_128.The_Buffer +# BLKNAME THE_TDC/GEN_Channels.20.Channels/Channel200 +# BLKNAME THE_TDC/GEN_Channels.20.Channels/Buffer_128.The_Buffer +# ; +# LOCATE UGROUP "EF_RT1" SITE "R11C83D" ; +# UGROUP "EF_RT2" BBOX 23 42 +# BLKNAME THE_TDC/GEN_Channels.21.Channels/Channel200 +# BLKNAME THE_TDC/GEN_Channels.21.Channels/Buffer_128.The_Buffer +# BLKNAME THE_TDC/GEN_Channels.22.Channels/Channel200 +# BLKNAME THE_TDC/GEN_Channels.22.Channels/Buffer_128.The_Buffer +# BLKNAME THE_TDC/GEN_Channels.23.Channels/Channel200 +# BLKNAME THE_TDC/GEN_Channels.23.Channels/Buffer_128.The_Buffer +# BLKNAME THE_TDC/GEN_Channels.24.Channels/Channel200 +# BLKNAME THE_TDC/GEN_Channels.24.Channels/Buffer_128.The_Buffer +# ; +# LOCATE UGROUP "EF_RT2" SITE "R35C83D" ; +# UGROUP "EF_RB2" BBOX 23 42 +# BLKNAME THE_TDC/GEN_Channels.25.Channels/Channel200 +# BLKNAME THE_TDC/GEN_Channels.25.Channels/Buffer_128.The_Buffer +# BLKNAME THE_TDC/GEN_Channels.26.Channels/Channel200 +# BLKNAME THE_TDC/GEN_Channels.26.Channels/Buffer_128.The_Buffer +# BLKNAME THE_TDC/GEN_Channels.27.Channels/Channel200 +# BLKNAME THE_TDC/GEN_Channels.27.Channels/Buffer_128.The_Buffer +# BLKNAME THE_TDC/GEN_Channels.28.Channels/Channel200 +# BLKNAME THE_TDC/GEN_Channels.28.Channels/Buffer_128.The_Buffer +# ; +# LOCATE UGROUP "EF_RB2" SITE "R59C83D" ; +# UGROUP "EF_RB1" BBOX 13 42 +# BLKNAME THE_TDC/GEN_Channels.15.Channels/Channel200 +# BLKNAME THE_TDC/GEN_Channels.15.Channels/Buffer_128.The_Buffer +# BLKNAME THE_TDC/GEN_Channels.16.Channels/Channel200 +# BLKNAME THE_TDC/GEN_Channels.16.Channels/Buffer_128.The_Buffer +# ; +# LOCATE UGROUP "EF_RB1" SITE "R81C83D" ; +# UGROUP "EF_CB1" BBOX 13 39 +# BLKNAME THE_TDC/GEN_Channels.31.Channels/Channel200 +# BLKNAME THE_TDC/GEN_Channels.31.Channels/Buffer_128.The_Buffer +# BLKNAME THE_TDC/GEN_Channels.32.Channels/Channel200 +# BLKNAME THE_TDC/GEN_Channels.32.Channels/Buffer_128.The_Buffer +# ; +LOCATE UGROUP "EF_CB1" SITE "R69C44D" ; +UGROUP "EF_CT1" BBOX 21 39 + BLKNAME THE_TDC/ReferenceChannel/Channel200 + BLKNAME THE_TDC/ReferenceChannel/Buffer_128.The_Buffer + BLKNAME THE_TDC/GEN_Channels.9.Channels/Channel200 + BLKNAME THE_TDC/GEN_Channels.9.Channels/Buffer_128.The_Buffer + BLKNAME THE_TDC/GEN_Channels.10.Channels/Channel200 + BLKNAME THE_TDC/GEN_Channels.10.Channels/Buffer_128.The_Buffer + ; +LOCATE UGROUP "EF_CT1" SITE "R2C2D" ; +############################################################################# +## Stretcher +############################################################################# +UGROUP "Stretcher_A" BBOX 6 8 + BLKNAME THE_TDC/gen_double_withStretcher.The_Stretcher/Stretcher_A_1; +LOCATE UGROUP "Stretcher_A" SITE "R2C81D" ; +UGROUP "Stretcher_B" BBOX 6 8 + BLKNAME THE_TDC/gen_double_withStretcher.The_Stretcher/Stretcher_B_1; +LOCATE UGROUP "Stretcher_B" SITE "R2C2D" ; +############################################################################# +## Coarse counter register placement +############################################################################# + +############################################################################# +## Other Logic Placements +############################################################################# + +############################################################################# +## Unimportant Data Lines ## +############################################################################# + +#MULTICYCLE TO CELL "THE_TDC/ReferenceChannel/sync_q*" 4.000000 X ; +#MULTICYCLE TO CELL "THE_TDC/GEN_Channels*Channels/sync_q*" 4.000000 X ; +#MULTICYCLE FROM CELL "THE_TDC/ReferenceChannel/Channel200/RingBuffer*FIFO/FF*" TO CELL "THE_TDC/ReferenceChannel/Channel200/ringBuffer_almost_full_sync*" 2.000000 X ; +#MULTICYCLE FROM CELL "THE_TDC/GEN_Channels*Channels/Channel200/RingBuffer*FIFO/FF*" TO CELL "THE_TDC/GEN_Channels*Channels/Channel200/ringBuffer_almost_full_sync*" 2.000000 X ; +#BLOCK NET "THE_TDC/pulse[*]" ; +#BLOCK NET "THE_TDC/hit_in_s*" ; +#BLOCK NET "THE_TDC/edge_rising[*]" ; +#BLOCK NET "THE_TDC/edge_falling[*]" ; +# MULTICYCLE FROM CELL "PROC_TDC_CTRL_REG*tdc_ctrl_reg*" 4x; +# MULTICYCLE TO CELL "THE_TDC/GEN_Channels*Channels/Channel200/SimAdderNo5*FC/FF*" 4x; +# MULTICYCLE TO CELL "THE_TDC/ReferenceChannel/Channel200/SimAdderNo5*FC/FF*" 4x; +## Maybe effective +# MULTICYCLE FROM CELL "THE_TDC/GEN_Channels*Channels/The_Buffer/*" TO CELL "THE_TDC/TheReadout/rd_en*" 2 X; +# # BLOCK NET "THE_TDC/reset_tdc*" ; +# # BLOCK NET "THE_TDC/reset_rdo*" ; +# # #BLOCK NET "THE_TDC/hit_in_*" ; +# # BLOCK NET "THE_TDC/hit_latch*" ; +# # BLOCK NET "THE_TDC/reset_counters*" ; + +USE PRIMARY NET "THE_TDC/coarse_cntr_reset" ; +USE PRIMARY NET "THE_TDC/trg_win_end_tdc" ; + +BLOCK PATH FROM CLKNET "THE_TDC/hit_in_s*" ; +BLOCK PATH FROM CLKNET "TRIG_IN_c" ; +BLOCK PATH FROM CLKNET "THE_TDC/edge_rising[*]" ; +BLOCK PATH FROM CLKNET "CLOCK_CAL_c" ; +BLOCK PATH FROM GROUP "INP_group" ; +BLOCK PATH TO GROUP "LED_group" ; +BLOCK NET "THE_TDC/edge_falling_3r[*]" ; +BLOCK NET "THE_TDC/edge_rising_3r[*]" ; +BLOCK NET "TRIG_IN_c" ; +BLOCK PATH FROM CELL "THE_TDC/calibration_on*" TO CELL "THE_TDC/ReferenceChannel/Channel200/SimAdderNo5.FC/FF*" ; +BLOCK PATH FROM CELL "THE_TDC/calibration_on*" TO CELL "THE_TDC/GEN_Channels.*.Channels/Channel200/SimAdderNo5.FC/FF*" ; + +MULTICYCLE FROM CELL "THE_TDC/reset_counters" 30.000000 ns ; +MULTICYCLE FROM CELL "THE_TDC/reset_tdc*" TO CLKNET "CLOCK_IN_c" 4.000000 X ; +MULTICYCLE TO CELL "THE_TDC/TheReadout/TW_pre*" 4.000000 X ; +MULTICYCLE TO CELL "THE_TDC/TheReadout/TW_post*" 4.000000 X ; +MULTICYCLE FROM CELL "THE_TDC/TheSlowcontrolBus/DATA_OUT*" 20.000000 ns ; +MULTICYCLE TO CELL "THE_TDC/TheHitCounterBus/BUS_TX[data][*]" 20.000000 ns ; +MULTICYCLE TO CELL "THE_TDC/TheStatusRegisterBus/BUS_TX[data][*]" 20.000000 ns ; +MULTICYCLE TO CELL "THE_TDC/TheChannelDebugBus/BUS_TX[data][*]" 20.000000 ns ; +MULTICYCLE FROM CELL "THE_TDC/TheTriggerHandler/TRG_TIME_OUT[*]" TO CELL "THE_TDC/status_registers_bus[*]" 2.000000 X ; +MULTICYCLE FROM CELL "THE_TDC/TheEpochCounter/counter*" TO CELL "THE_TDC/ReferenceChannel/Channel200/epoch_cntr*" 3.000000 X ; +MULTICYCLE FROM CELL "THE_TDC/TheEpochCounter/counter*" TO CELL "THE_TDC/GEN_Channels*Channels/Channel200/epoch_cntr*" 3.000000 X ; +MULTICYCLE FROM CELL "THE_ENDPOINT/THE_ENDPOINT/genbuffers.0.geniobuf.gentrgapi.the_trigger_apl/reg_TRG_TYPE_OUT[*]" TO CELL "THE_TDC/TheTriggerHandler/STATE_TW_CURRENT[*]" 2.000000 X ; +#MULTICYCLE FROM CELL "THE_TDC/calibration_on*" TO CELL "THE_TDC/ReferenceChannel/Channel200/SimAdderNo5.FC/FF*" 3.000000 X ; +#MULTICYCLE FROM CELL "THE_TDC/calibration_on*" TO CELL "THE_TDC/GEN_Channels.*.Channels/Channel200/SimAdderNo5.FC/FF*" 3.000000 X ; + +MAXDELAY NET "THE_TDC/hit_in_i*" 1.000000 nS ; diff --git a/releases/tdc_v2.3/mdctdc_trbnet_constraints.lpf b/releases/tdc_v2.3/mdctdc_trbnet_constraints.lpf new file mode 100644 index 0000000..1d5dc0d --- /dev/null +++ b/releases/tdc_v2.3/mdctdc_trbnet_constraints.lpf @@ -0,0 +1,51 @@ +################################################################# +# Reset Nets +################################################################# +GSR_NET NET "reset_i"; + +################################################################# +# Locate Serdes and media interfaces +################################################################# + +MULTICYCLE TO CELL "THE_MEDIA_DOWNLINK/SCI_DATA_OUT*" 50 ns; +MULTICYCLE TO CELL "THE_MEDIA_UPLINK/SCI_DATA_OUT*" 50 ns; +MULTICYCLE TO CELL "THE_CLOCK_RESET/THE_RESET_HANDLER/final_reset*" 30.000000 ns ; +MULTICYCLE TO CELL "gen_SPI_DAC_SPI_*io*" 20 ns; +MULTICYCLE TO CELL "THE_SPI_MASTER_THE_SPI_SLIM_tx_sreg_oregio*" 20 ns; + +BLOCK PATH TO CELL "gen_TRIGGER_LOGIC_THE_TRIG_LOGIC/out_*"; + +#Jan: Placement of TrbNet components (at least, most of them) + +MULTICYCLE FROM CELL "THE_CLOCK_RESET/THE_RESET_HANDLER/final_reset*" 30.000000 ns ; + + + +REGION "REGION_SPI" "R21C60D" 8 18 DEVSIZE; +LOCATE UGROUP "THE_SPI_RELOAD/THE_SPI_MASTER/SPI_group" REGION "REGION_SPI"; +LOCATE UGROUP "THE_SPI_RELOAD/THE_SPI_MEMORY/SPI_group" REGION "REGION_SPI"; + + + +REGION "REGION_TRBNET" "R23C44D" 46 39 DEVSIZE; +LOCATE UGROUP "THE_ENDPOINT/THE_ENDPOINT/MPLEX/MUX_group" REGION "REGION_TRBNET"; + +#LOCATE UGROUP "THE_ENDPOINT/THE_ENDPOINT/genbuffers.0.geniobuf.IOBUF/GEN_IBUF.THE_IBUF/IBUF_group" REGION "REGION_TRBNET"; +#LOCATE UGROUP "THE_ENDPOINT/THE_ENDPOINT/genbuffers.1.geniobuf.IOBUF/GEN_IBUF.THE_IBUF/IBUF_group" REGION "REGION_TRBNET"; +#LOCATE UGROUP "THE_ENDPOINT/THE_ENDPOINT/genbuffers.3.geniobuf.IOBUF/GEN_IBUF.THE_IBUF/IBUF_group" REGION "REGION_TRBNET"; +LOCATE UGROUP "THE_ENDPOINT/THE_ENDPOINT/genbuffers.0.geniobuf.IOBUF/genREPLYOBUF1.REPLYOBUF/OBUF_group" REGION "REGION_TRBNET"; +LOCATE UGROUP "THE_ENDPOINT/THE_ENDPOINT/genbuffers.1.geniobuf.IOBUF/genREPLYOBUF1.REPLYOBUF/OBUF_group" REGION "REGION_TRBNET"; +LOCATE UGROUP "THE_ENDPOINT/THE_ENDPOINT/genbuffers.3.geniobuf.IOBUF/genREPLYOBUF1.REPLYOBUF/OBUF_group" REGION "REGION_TRBNET"; +LOCATE UGROUP "THE_ENDPOINT/THE_ENDPOINT/genbuffers.0.geniobuf.IOBUF/genINITOBUF2.gen_INITOBUF3.INITOBUF/OBUF_group" REGION "REGION_TRBNET"; +LOCATE UGROUP "THE_ENDPOINT/THE_ENDPOINT/genbuffers.1.geniobuf.IOBUF/genINITOBUF2.gen_INITOBUF3.INITOBUF/OBUF_group" REGION "REGION_TRBNET"; +LOCATE UGROUP "THE_ENDPOINT/THE_ENDPOINT/genbuffers.3.geniobuf.IOBUF/genINITOBUF2.gen_INITOBUF3.INITOBUF/OBUF_group" REGION "REGION_TRBNET"; + +#LOCATE UGROUP "THE_ENDPOINT/THE_ENDPOINT/genbuffers.1.geniobuf.gen_api.DAT_PASSIVE_API/API_group" REGION "REGION_TRBNET"; +#LOCATE UGROUP "THE_ENDPOINT/THE_ENDPOINT/genbuffers.3.geniobuf.gen_api.DAT_PASSIVE_API/API_group" REGION "REGION_TRBNET"; +LOCATE UGROUP "THE_ENDPOINT/THE_ENDPOINT/genbuffers.2.gentermbuf.termbuf/TRMBUF_group" REGION "REGION_TRBNET"; +LOCATE UGROUP "THE_ENDPOINT/THE_ENDPOINT/genbuffers.3.geniobuf.gen_regio.regIO/the_addresses/HUBLOGIC_group" REGION "REGION_TRBNET"; +LOCATE UGROUP "THE_ENDPOINT/THE_ENDPOINT/genbuffers.3.geniobuf.gen_regio.regIO/RegIO_group" REGION "REGION_TRBNET"; + +LOCATE UGROUP "THE_BUS_HANDLER/Bus_handler_group" REGION "REGION_TRBNET"; +LOCATE UGROUP "THE_ENDPOINT/THE_INTERNAL_BUS_HANDLER/Bus_handler_group" REGION "REGION_TRBNET"; + -- 2.43.0