From 11aa3de5fc39f9f77a32753dc265b7ae38848c8b Mon Sep 17 00:00:00 2001 From: Andreas Neiser Date: Wed, 27 May 2015 22:38:47 +0200 Subject: [PATCH] Switching back to Lattice 2.1, since some Pins are not available in newer versions arrrrg --- ADC/compile_constraints.pl | 6 +- ADC/compile_periph_gsi.pl | 4 +- ADC/trb3_periph_adc_constraints.lpf | 88 ++++++++++++++++++++++------- 3 files changed, 72 insertions(+), 26 deletions(-) diff --git a/ADC/compile_constraints.pl b/ADC/compile_constraints.pl index 92ece83..7435546 100755 --- a/ADC/compile_constraints.pl +++ b/ADC/compile_constraints.pl @@ -59,16 +59,16 @@ 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 +# channel placements and unimportant lines already added in $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: $!"; my $lpf = join('', ); close FILE; -$lpf =~ s#THE_TDC/#GEN_TDC.THE_TDC/#g; +$lpf =~ s#THE_TDC/#GEN_TDC_THE_TDC/#g; open FILE, ">$workdir/$TOPNAME.lpf" or die "Couldnt open file: $!"; print FILE $lpf; diff --git a/ADC/compile_periph_gsi.pl b/ADC/compile_periph_gsi.pl index 6d90947..91ce8fa 100755 --- a/ADC/compile_periph_gsi.pl +++ b/ADC/compile_periph_gsi.pl @@ -9,9 +9,9 @@ use FileHandle; ################################################################################### #Settings for this project my $TOPNAME = "trb3_periph_adc"; #Name of top-level entity -my $lattice_path = '/opt/lattice/diamond/3.4_x64'; +my $lattice_path = '/opt/lattice/diamond/2.1_x64'; my $lattice_bin_path = "$lattice_path/bin/lin64"; # note the lin/lin64 at the end, no isfgpa needed -my $synplify_path = '/opt/synplicity/J-2014.09-SP2'; +my $synplify_path = '/opt/synplicity/F-2012.03-SP1'; my $lm_license_file_for_synplify = '27000@lxcad01.gsi.de'; my $lm_license_file_for_par = '1702@hadeb05.gsi.de'; ################################################################################### diff --git a/ADC/trb3_periph_adc_constraints.lpf b/ADC/trb3_periph_adc_constraints.lpf index f058627..2f500dd 100644 --- a/ADC/trb3_periph_adc_constraints.lpf +++ b/ADC/trb3_periph_adc_constraints.lpf @@ -96,60 +96,60 @@ MULTICYCLE FROM CELL "gen_reallogic*THE_ADC/gen_readout_cfd*gen_processors*THE_A MULTICYCLE FROM CELL "gen_reallogic*THE_ADC/THE_ADC_*/state_q_*" TO CELL "gen_reallogic*THE_ADC/THE_ADC_*/state_qq_*" 2 X; # left are ADCs 0-5 and 7 (counted from 0) -UGROUP "THE_ADC_LEFT_group" BLKNAME gen_reallogic.THE_ADC/THE_ADC_LEFT; +UGROUP "THE_ADC_LEFT_group" BLKNAME gen_reallogic_THE_ADC/THE_ADC_LEFT; REGION "THE_ADC_LEFT_region" "R57C2D" 9 55; LOCATE UGROUP "THE_ADC_LEFT_group" REGION "THE_ADC_LEFT_region"; -UGROUP "THE_ADC_PROC_cfd_0_group" BLKNAME gen_reallogic.THE_ADC/gen_readout_cfd.gen_processors.0.THE_ADC_PROC; +UGROUP "THE_ADC_PROC_cfd_0_group" BLKNAME gen_reallogic_THE_ADC/gen_readout_cfd_gen_processors_0_THE_ADC_PROC; REGION "THE_ADC_PROC_cfd_0_region" "R7C2D" 49 27; LOCATE UGROUP "THE_ADC_PROC_cfd_0_group" REGION "THE_ADC_PROC_cfd_0_region"; -UGROUP "THE_ADC_PROC_cfd_1_group" BLKNAME gen_reallogic.THE_ADC/gen_readout_cfd.gen_processors.1.THE_ADC_PROC; +UGROUP "THE_ADC_PROC_cfd_1_group" BLKNAME gen_reallogic_THE_ADC/gen_readout_cfd_gen_processors_1_THE_ADC_PROC; REGION "THE_ADC_PROC_cfd_1_region" "R7C29D" 49 27; LOCATE UGROUP "THE_ADC_PROC_cfd_1_group" REGION "THE_ADC_PROC_cfd_1_region"; -UGROUP "THE_ADC_PROC_cfd_2_group" BLKNAME gen_reallogic.THE_ADC/gen_readout_cfd.gen_processors.2.THE_ADC_PROC; +UGROUP "THE_ADC_PROC_cfd_2_group" BLKNAME gen_reallogic_THE_ADC/gen_readout_cfd_gen_processors_2_THE_ADC_PROC; REGION "THE_ADC_PROC_cfd_2_region" "R7C56D" 49 27; LOCATE UGROUP "THE_ADC_PROC_cfd_2_group" REGION "THE_ADC_PROC_cfd_2_region"; -UGROUP "THE_ADC_PROC_cfd_3_group" BLKNAME gen_reallogic.THE_ADC/gen_readout_cfd.gen_processors.3.THE_ADC_PROC; +UGROUP "THE_ADC_PROC_cfd_3_group" BLKNAME gen_reallogic_THE_ADC/gen_readout_cfd_gen_processors_3_THE_ADC_PROC; REGION "THE_ADC_PROC_cfd_3_region" "R7C83D" 49 27; LOCATE UGROUP "THE_ADC_PROC_cfd_3_group" REGION "THE_ADC_PROC_cfd_3_region"; -UGROUP "THE_ADC_PROC_cfd_4_group" BLKNAME gen_reallogic.THE_ADC/gen_readout_cfd.gen_processors.4.THE_ADC_PROC; +UGROUP "THE_ADC_PROC_cfd_4_group" BLKNAME gen_reallogic_THE_ADC/gen_readout_cfd_gen_processors_4_THE_ADC_PROC; REGION "THE_ADC_PROC_cfd_4_region" "R66C2D" 39 26; LOCATE UGROUP "THE_ADC_PROC_cfd_4_group" REGION "THE_ADC_PROC_cfd_4_region"; -UGROUP "THE_ADC_PROC_cfd_5_group" BLKNAME gen_reallogic.THE_ADC/gen_readout_cfd.gen_processors.5.THE_ADC_PROC; +UGROUP "THE_ADC_PROC_cfd_5_group" BLKNAME gen_reallogic_THE_ADC/gen_readout_cfd_gen_processors_5_THE_ADC_PROC; REGION "THE_ADC_PROC_cfd_5_region" "R66C29D" 39 26; LOCATE UGROUP "THE_ADC_PROC_cfd_5_group" REGION "THE_ADC_PROC_cfd_5_region"; -UGROUP "THE_ADC_PROC_cfd_7_group" BLKNAME gen_reallogic.THE_ADC/gen_readout_cfd.gen_processors.7.THE_ADC_PROC; +UGROUP "THE_ADC_PROC_cfd_7_group" BLKNAME gen_reallogic_THE_ADC/gen_readout_cfd_gen_processors_7_THE_ADC_PROC; REGION "THE_ADC_PROC_cfd_7_region" "R66C56D" 49 27; LOCATE UGROUP "THE_ADC_PROC_cfd_7_group" REGION "THE_ADC_PROC_cfd_7_region"; # right are ADCs 6 and 8-11 (counted from 0) -UGROUP "THE_ADC_RIGHT_group" BLKNAME gen_reallogic.THE_ADC/THE_ADC_RIGHT; +UGROUP "THE_ADC_RIGHT_group" BLKNAME gen_reallogic_THE_ADC/THE_ADC_RIGHT; REGION "THE_ADC_RIGHT_region" "R57C137D" 9 45; LOCATE UGROUP "THE_ADC_RIGHT_group" REGION "THE_ADC_RIGHT_region"; -UGROUP "THE_ADC_PROC_cfd_6_group" BLKNAME gen_reallogic.THE_ADC/gen_readout_cfd.gen_processors.6.THE_ADC_PROC; +UGROUP "THE_ADC_PROC_cfd_6_group" BLKNAME gen_reallogic_THE_ADC/gen_readout_cfd_gen_processors_6_THE_ADC_PROC; REGION "THE_ADC_PROC_cfd_6_region" "R66C101D" 49 27; LOCATE UGROUP "THE_ADC_PROC_cfd_6_group" REGION "THE_ADC_PROC_cfd_6_region"; -UGROUP "THE_ADC_PROC_cfd_8_group" BLKNAME gen_reallogic.THE_ADC/gen_readout_cfd.gen_processors.8.THE_ADC_PROC; +UGROUP "THE_ADC_PROC_cfd_8_group" BLKNAME gen_reallogic_THE_ADC/gen_readout_cfd_gen_processors_8_THE_ADC_PROC; REGION "THE_ADC_PROC_cfd_8_region" "R66C128D" 49 27; LOCATE UGROUP "THE_ADC_PROC_cfd_8_group" REGION "THE_ADC_PROC_cfd_8_region"; -UGROUP "THE_ADC_PROC_cfd_9_group" BLKNAME gen_reallogic.THE_ADC/gen_readout_cfd.gen_processors.9.THE_ADC_PROC; +UGROUP "THE_ADC_PROC_cfd_9_group" BLKNAME gen_reallogic_THE_ADC/gen_readout_cfd_gen_processors_9_THE_ADC_PROC; REGION "THE_ADC_PROC_cfd_9_region" "R66C155D" 49 27; LOCATE UGROUP "THE_ADC_PROC_cfd_9_group" REGION "THE_ADC_PROC_cfd_9_region"; -UGROUP "THE_ADC_PROC_cfd_10_group" BLKNAME gen_reallogic.THE_ADC/gen_readout_cfd.gen_processors.10.THE_ADC_PROC; +UGROUP "THE_ADC_PROC_cfd_10_group" BLKNAME gen_reallogic_THE_ADC/gen_readout_cfd_gen_processors_10_THE_ADC_PROC; REGION "THE_ADC_PROC_cfd_10_region" "R7C128D" 49 27; LOCATE UGROUP "THE_ADC_PROC_cfd_10_group" REGION "THE_ADC_PROC_cfd_10_region"; -UGROUP "THE_ADC_PROC_cfd_11_group" BLKNAME gen_reallogic.THE_ADC/gen_readout_cfd.gen_processors.11.THE_ADC_PROC; +UGROUP "THE_ADC_PROC_cfd_11_group" BLKNAME gen_reallogic_THE_ADC/gen_readout_cfd_gen_processors_11_THE_ADC_PROC; REGION "THE_ADC_PROC_cfd_11_region" "R7C155D" 49 27; LOCATE UGROUP "THE_ADC_PROC_cfd_11_group" REGION "THE_ADC_PROC_cfd_11_region"; @@ -161,14 +161,14 @@ 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/GEN_Channels.1.Channels/Channel200 - BLKNAME THE_TDC/GEN_Channels.1.Channels/Buffer_128.The_Buffer + BLKNAME THE_TDC/ReferenceChannel/Buffer_128_The_Buffer + BLKNAME THE_TDC/GEN_Channels_1_Channels/Channel200 + BLKNAME THE_TDC/GEN_Channels_1_Channels/Buffer_128_The_Buffer ; LOCATE UGROUP "EF_LT2" SITE "R105C2D" ; UGROUP "Ref_Ch" BBOX 1 51 - BLKNAME THE_TDC/ReferenceChannel/Channel200/SimAdderNo.FC; + BLKNAME THE_TDC/ReferenceChannel/Channel200/SimAdderNo_FC; LOCATE UGROUP "Ref_Ch" SITE "R111C2D" ; UGROUP "hitBuf_ref" BBOX 1 1 BLKNAME THE_TDC/hit_mux_ref; @@ -178,11 +178,57 @@ UGROUP "Ref_ff_en" BBOX 1 1 LOCATE UGROUP "Ref_ff_en" SITE "R111C27D" ; # UGROUP "FC_1" BBOX 1 51 - BLKNAME THE_TDC/GEN_Channels.1.Channels/Channel200/SimAdderNo.FC; + BLKNAME THE_TDC/GEN_Channels_1_Channels/Channel200/SimAdderNo_FC; LOCATE UGROUP "FC_1" SITE "R113C2D" ; UGROUP "hitBuf_1" BBOX 1 1 - BLKNAME THE_TDC/GEN_hit_mux.1.hit_mux_ch; + BLKNAME THE_TDC/GEN_hit_mux_1_hit_mux_ch; 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; + 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_counters*" 4 X; + +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 X ; + +MULTICYCLE TO CELL "THE_TDC/TheChannelDebugBus/data_out_reg[*]" 4 X; + +#MULTICYCLE FROM CLKNET "clk_100_i" TO CLKNET "CLK_OSC_c" 4 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"; -- 2.43.0