]> jspc29.x-matter.uni-frankfurt.de Git - trb3.git/commitdiff
Maybe this works better for timing
authorAndreas Neiser <neiser@kph.uni-mainz.de>
Wed, 17 Jun 2015 16:49:56 +0000 (18:49 +0200)
committerAndreas Neiser <neiser@kph.uni-mainz.de>
Wed, 17 Jun 2015 16:49:56 +0000 (18:49 +0200)
ADC/compile_constraints.pl
ADC/config.vhd
ADC/trb3_periph_adc_constraints.lpf

index d7a00c5cd1237ddccd5d7a94cd6813cdd56bc720..7f921b57b2a3b3c9ccd8011eb0507ba650f26440 100755 (executable)
@@ -70,13 +70,12 @@ close FILE;
 
 $lpf =~ s#THE_TDC/#GEN_TDC.THE_TDC/#g;
 
+# for TDC v1.6.3
+$lpf =~ s#ff_array_en#ff_array_en_i#g;
+$lpf =~ s#hit_mux_ch#hit_mux_ch/hit_i_5_u_0#g;
 
 # make the LPF diamond 2.1 compatible
 # we assume that generate loops are all named with "gen_"
-#$lpf =~ s#(gen_)(\w+?)\.#$1$2_#gi;
-#$lpf =~ s#(gen_)(\w+?)(\d+)\.#$1$2$3_#gi;
-#$lpf =~ s#(gen_)(\w+?)(\*)\.#$1$2$3_#gi;
-#$lpf =~ s#SimAdder##g;
 sub replace_dot {
   my @m = @_;
   $m[1] =~ s/\./_/g;
@@ -85,7 +84,6 @@ sub replace_dot {
 $lpf =~ s#(BLKNAME\s+)(.+?)([;\s])#replace_dot($1,$2,$3)#eg;
 $lpf =~ s#(CELL\s+")(.+?)(")#replace_dot($1,$2,$3)#eg;
 $lpf =~ s#(NET\s+")(.+?)(")#replace_dot($1,$2,$3)#eg;
-$lpf =~ s#ff_array_en#ff_array_en_i#g;
 
 
 open FILE, ">$workdir/$TOPNAME.lpf" or die "Couldnt open file: $!";
index 138db8d8da0e17f538d4e073d16b96739c43b38b..1a4c7bc0ca17b32a87d4ebbc0074fa2300015a26 100644 (file)
@@ -52,7 +52,7 @@ package config is
   --> change names in constraints file
   --ring buffer size: 32,64,96,128,dyn
   --for TDC v1.6.3, only 0,1,3 are valid
-  constant RING_BUFFER_SIZE : integer range 0 to 7 := 3; --ring buffer size:  0, 1, 2,  3,  7   
+  constant RING_BUFFER_SIZE : integer range 0 to 7 := 0; --ring buffer size:  0, 1, 2,  3,  7   
 
 
   constant TDC_CONTROL_REG_NR : integer := 6;
index 8531664318f79432c069c0b67fb01d8916f9a5de..b177f1ba5c3a4a801539fa179322acd0eba05016 100644 (file)
@@ -161,9 +161,9 @@ LOCATE UGROUP "THE_ADC_PROC_cfd_11_group" REGION "THE_ADC_PROC_cfd_11_region";
 
 UGROUP "EF_LT2" BBOX 10 51
        BLKNAME THE_TDC/ReferenceChannel/Channel200
-       BLKNAME THE_TDC/ReferenceChannel/Buffer_128.The_Buffer
+       BLKNAME THE_TDC/ReferenceChannel/Buffer_32.The_Buffer
        BLKNAME THE_TDC/GEN_Channels.1.Channels/Channel200
-       BLKNAME THE_TDC/GEN_Channels.1.Channels/Buffer_128.The_Buffer
+       BLKNAME THE_TDC/GEN_Channels.1.Channels/Buffer_32.The_Buffer
        ;
 LOCATE UGROUP "EF_LT2" SITE "R105C2D" ;
 
@@ -233,3 +233,56 @@ MULTICYCLE FROM CELL "tdc_ctrl_reg*" 4x;
 
 PROHIBIT SECONDARY NET "THE_TDC/ReferenceChannel/Channel200/ff_array_en";
 PROHIBIT SECONDARY NET "THE_TDC/GEN_Channels.1.Channels/Channel200/ff_array_en";
+
+
+### Additions for v1.6.3
+
+#############################################################################
+##                         Unimportant Data Lines                          ##
+#############################################################################
+MULTICYCLE FROM CELL "THE_TDC/reset_tdc*" TO CLKNET CLK_PCLK_LEFT_c 2x;
+
+MULTICYCLE FROM CELL "THE_TDC/reset_counters*" 4x;
+# 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;
+
+MULTICYCLE TO CELL "THE_TDC/GEN_Channels*Channels/sync_q*" 4 x;
+MULTICYCLE TO CELL "THE_TDC/ReferenceChannel/sync_q*" 4 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*" 2x;
+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/TheEpochCounter/counter*" TO CELL "THE_TDC/GEN_Channels*Channels/epoch_cntr_reg*" 3 X;
+MULTICYCLE FROM CELL "THE_TDC/TheEpochCounter/counter*" TO CELL "THE_TDC/ReferenceChannel/epoch_cntr_reg*" 3 X;
+
+MULTICYCLE TO CELL "THE_TDC/TheReadout/TW_pre*" 4 x;
+MULTICYCLE TO CELL "THE_TDC/TheReadout/TW_post*" 4 x;
+
+
+
+# #MAXDELAY FROM GROUP "hitBuf*" TO GROUP "FC*" 0.600000 nS;
+# #MAXDELAY FROM GROUP "hitBuf_ref*" TO GROUP "Ref_Ch" 0.600000 nS;
+
+MAXDELAY NET "THE_TDC/hit_in_i*" 0.600000 nS; #DATAPATH_ONLY ;
+
+
+## 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_i_*" ;
+# # BLOCK NET "THE_TDC/hit_latch*" ;
+# # BLOCK NET "THE_TDC/reset_counters_i*" ;
+
+
+
+# # PROHIBIT SECONDARY NET "THE_TDC/ReferenceChannel/Channel200/ff_array_en_i";
+# # PROHIBIT SECONDARY NET "THE_TDC/GEN_Channels*Channels/Channel200/ff_array_en_i";