From: Andreas Neiser Date: Thu, 28 May 2015 10:10:17 +0000 (+0200) Subject: Adding more TDC constraints manually X-Git-Url: https://jspc29.x-matter.uni-frankfurt.de/git/?a=commitdiff_plain;h=122740181ec040d3ab38031fa3cf3321863af27e;p=trb3.git Adding more TDC constraints manually --- diff --git a/ADC/compile_constraints.pl b/ADC/compile_constraints.pl index 92ece83..5c0b8c8 100755 --- a/ADC/compile_constraints.pl +++ b/ADC/compile_constraints.pl @@ -59,9 +59,9 @@ symlink "$back/../tdc_release/Adder_304.ngo", "Adder_304.ngo"; chdir($script_dir); system("cp ../base/$TOPNAME.lpf $workdir/$TOPNAME.lpf"); -# channel placements already added in $TOPNAME_constraints.lpf file +# modified TDC constraints $TOPNAME_constraints.lpf file #system("cat tdc_release/tdc_constraints_64.lpf >> $workdir/$TOPNAME.lpf") if $configSettings{'INCLUDE_TDC'}; -system("cat tdc_release/unimportant_lines_constraints.lpf >> $workdir/$TOPNAME.lpf") if $configSettings{'INCLUDE_TDC'}; +#system("cat tdc_release/unimportant_lines_constraints.lpf >> $workdir/$TOPNAME.lpf") if $configSettings{'INCLUDE_TDC'}; system("cat ".$TOPNAME."_constraints.lpf >> $workdir/$TOPNAME.lpf"); open FILE, "<$workdir/$TOPNAME.lpf" or die "Couldnt open file: $!"; diff --git a/ADC/trb3_periph_adc_constraints.lpf b/ADC/trb3_periph_adc_constraints.lpf index f058627..e809504 100644 --- a/ADC/trb3_periph_adc_constraints.lpf +++ b/ADC/trb3_periph_adc_constraints.lpf @@ -157,7 +157,7 @@ LOCATE UGROUP "THE_ADC_PROC_cfd_11_group" REGION "THE_ADC_PROC_cfd_11_region"; # TDC stuff, adapted from the original 64ch version # used Floorplanner to ensure overlap-free placement # with ADC entities -# the GEN_TDC prefix will be added by compile_constraints.pl +# the necessary GEN_TDC prefix will be added by compile_constraints.pl UGROUP "EF_LT2" BBOX 10 51 BLKNAME THE_TDC/ReferenceChannel/Channel200 @@ -186,3 +186,49 @@ LOCATE UGROUP "hitBuf_1" SITE "R114C4D" ; 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 "R113C27D" ; + +############################################################################# +## Unimportant Data Lines ## +############################################################################# +#MULTICYCLE FROM CELL "THE_TDC/reset_tdc*" TO CLKNET CLK_PCLK_LEFT_c 2x; +MULTICYCLE FROM CELL "THE_TDC/reset_tdc*" TO CLKNET CLK_PCLK_RIGHT_c 2x; +MULTICYCLE FROM CELL "THE_TDC/reset_counters*" 4x; + +MULTICYCLE FROM CELL "THE_TDC/ReferenceChannel/Channel200/RingBuffer*FIFO/FF*" TO CELL "THE_TDC/ReferenceChannel/Channel200/ringBuffer_almost_full_sync*" 2x; +MULTICYCLE FROM CELL "THE_TDC/GEN_Channels*Channels/Channel200/RingBuffer*FIFO/FF*" TO CELL "THE_TDC/GEN_Channels*Channels/Channel200/ringBuffer_almost_full_sync*" 2x; + +MULTICYCLE FROM CELL "THE_TDC/TheEpochCounter/counter*" TO CELL "THE_TDC/ReferenceChannel/Channel200/epoch_cntr[*]" 4 X; +MULTICYCLE FROM CELL "THE_TDC/TheEpochCounter/counter*" TO CELL "THE_TDC/GEN_Channels*Channels/Channel200/epoch_cntr[*]" 4 X; + +MULTICYCLE TO CELL "THE_TDC/TheReadout/TW_pre*" 4 x; +MULTICYCLE TO CELL "THE_TDC/TheReadout/TW_post*" 4 x; + +MULTICYCLE FROM CELL "THE_TDC/hit_edge[*]" TO CELL "THE_TDC/GEN_Channels.*.Channels/Channel200/memory[*]" 2.000000 X ; + +MULTICYCLE TO CELL "THE_TDC/TheChannelDebugBus/data_out_reg[*]" 4 x; + +#MULTICYCLE FROM CLKNET "clk_100_i" TO CLKNET "CLK_OSC_c" 4.000000 X ; + + +BLOCK NET "THE_TDC/pulse[*]"; +BLOCK NET "THE_TDC/hit_in_s*"; + +MAXDELAY NET "THE_TDC/hit_in_i*" 0.600000 nS; #DATAPATH_ONLY ; + + + + + + +# MULTICYCLE FROM CELL "PROC_TDC_CTRL_REG*tdc_ctrl_reg*" 4x; +# MULTICYCLE TO CELL "THE_TDC/GEN_Channels*Channels/Channel200/SimAdderNo*FC/FF*" 4x; +# MULTICYCLE TO CELL "THE_TDC/ReferenceChannel/Channel200/SimAdderNo*FC/FF*" 4x; + +## Maybe effective + +# MULTICYCLE FROM CELL "THE_TDC/GEN_Channels*Channels/The_Buffer/*" TO CELL "THE_TDC/TheReadout/rd_en*" 2 X; + + + +PROHIBIT SECONDARY NET "THE_TDC/ReferenceChannel/Channel200/ff_array_en"; +PROHIBIT SECONDARY NET "THE_TDC/GEN_Channels.1.Channels/Channel200/ff_array_en";