]> jspc29.x-matter.uni-frankfurt.de Git - ctsaddon.git/commitdiff
More update / fixes needed for recompile - Fpga1 doesn't compile yet master
authorJan Michel <j.michel@gsi.de>
Thu, 31 Aug 2017 09:49:40 +0000 (11:49 +0200)
committerJan Michel <j.michel@gsi.de>
Thu, 31 Aug 2017 09:49:40 +0000 (11:49 +0200)
compile1_frankfurt.pl
compile2_frankfurt.pl
constraints_cts_fpga1.lpf
cts_fpga1.lpf
cts_fpga1.p2t

index dd3c91ce7631a2e0386cae05779fe7c3ca4a0861..e150a5800fdc35f356dfce6b6f88b3687482e692 100755 (executable)
@@ -13,15 +13,18 @@ use Data::Dumper;
 use warnings;
 use strict;
 
-my $lattice_path = '/d/sugar/lattice/ispLEVER8.0/isptools/';
-#my $synplify_path = '/d/sugar/lattice/synplify/syn96L3/synplify_linux/';
-my $synplify_path = '/d/sugar/lattice/synplify/D-2010.03/';
+#my $lattice_path = '/d/jspc29/lattice/ispLEVER8.1/isptools/';
+#my $synplify_path = '/d/jspc29/lattice/synplify/D-2010.03/';
+#my $lattice_path                 = '/d/jspc29/lattice/diamond/3.6_x64';
+#my $synplify_path                = '/d/jspc29/lattice/synplify/K-2015.09/';
+my $lattice_path                 = '/d/jspc29/lattice/diamond/3.9_x64';
+my $synplify_path                = '/d/jspc29/lattice/synplify/M-2017.03/';
 
 use FileHandle;
 
 $ENV{'SYNPLIFY'}=$synplify_path;
 $ENV{'SYN_DISABLE_RAINBOW_DONGLE'}=1;
-$ENV{'LM_LICENSE_FILE'}="27000\@localhost";
+$ENV{'LM_LICENSE_FILE'}="27020\@jspc29";
 
 
 my $TOPNAME="cts_fpga1";
@@ -33,7 +36,7 @@ my $SPEEDGRADE="7";
 
 
 #create full lpf file
-system("cp ../trbnet/pinout/$TOPNAME.lpf workdir/$TOPNAME.lpf");
+system("cp $TOPNAME.lpf workdir/$TOPNAME.lpf");
 system("cat constraints_$TOPNAME.lpf >> workdir/$TOPNAME.lpf");
 
 #set -e
@@ -92,20 +95,20 @@ foreach (@a)
 }
 #if (0){
 
-$ENV{'LM_LICENSE_FILE'}="1710\@cronos.e12.physik.tu-muenchen.de";
+$ENV{'LM_LICENSE_FILE'}="1702\@hadeb05.gsi.de";
 
-$c=qq| $lattice_path/ispfpga/bin/lin/edif2ngd  -l $FAMILYNAME -d $DEVICENAME "$TOPNAME.edf" "$TOPNAME.ngo" |;
+$c=qq| $lattice_path/ispfpga/bin/lin64/edif2ngd  -l $FAMILYNAME -d $DEVICENAME "$TOPNAME.edf" "$TOPNAME.ngo" |;
 execute($c);
 
-$c=qq|$lattice_path/ispfpga/bin/lin/edfupdate   -t "$TOPNAME.tcy" -w "$TOPNAME.ngo" -m "$TOPNAME.ngo" "$TOPNAME.ngx"|;
+$c=qq|$lattice_path/ispfpga/bin/lin64/edfupdate   -t "$TOPNAME.tcy" -w "$TOPNAME.ngo" -m "$TOPNAME.ngo" "$TOPNAME.ngx"|;
 execute($c);
 
-$c=qq|$lattice_path/ispfpga/bin/lin/ngdbuild  -a $FAMILYNAME -d $DEVICENAME -p "$lattice_path/ispfpga/or5s00/data" -dt "$TOPNAME.ngo" "$TOPNAME.ngd"|;
+$c=qq|$lattice_path/ispfpga/bin/lin64/ngdbuild  -a $FAMILYNAME -d $DEVICENAME -p "$lattice_path/ispfpga/or5s00/data" -dt "$TOPNAME.ngo" "$TOPNAME.ngd"|;
 execute($c);
 
 my $tpmap = $TOPNAME . "_map" ;
 
-$c=qq|$lattice_path/ispfpga/bin/lin/map  -retime -split_node -a $FAMILYNAME -p $DEVICENAME -t $PACKAGE -s $SPEEDGRADE "$TOPNAME.ngd" -o "$tpmap.ncd"  -mp "$TOPNAME.mrp" "$TOPNAME.lpf"|;
+$c=qq|$lattice_path/ispfpga/bin/lin64/map  -retime -split_node -a $FAMILYNAME -p $DEVICENAME -t $PACKAGE -s $SPEEDGRADE "$TOPNAME.ngd" -o "$tpmap.ncd"  -mp "$TOPNAME.mrp" "$TOPNAME.lpf"|;
 execute($c);
 
 
@@ -113,23 +116,24 @@ system("rm $TOPNAME.ncd");
 
 #$c=qq|$lattice_path/ispfpga/bin/lin/par -w -y -l 4 -i 15 "$tpmap.ncd" "$TOPNAME.ncd" "$TOPNAME.prf" |;
 #$c=qq|$lattice_path/ispfpga/bin/lin/par -f $TOPNAME.p2t  "$tpmap.ncd" "$TOPNAME.ncd" "$TOPNAME.prf" |;
-$c=qq|$lattice_path/ispfpga/bin/lin/multipar -pr "$TOPNAME.prf" -o "mpar_$TOPNAME.rpt" -log "mpar_$TOPNAME.log" -p "../$TOPNAME.p2t"  "$tpmap.ncd" "$TOPNAME.ncd"|;
+#$c=qq|$lattice_path/ispfpga/bin/lin64/par -pr "$TOPNAME.prf" -o "mpar_$TOPNAME.rpt" -log "mpar_$TOPNAME.log" -p "../$TOPNAME.p2t"  "$tpmap.ncd" "$TOPNAME.ncd"|;
+$c=qq|LC_ALL=en_US.UTF-8; par -f "../$TOPNAME.p2t" $tpmap.ncd $TOPNAME.dir $TOPNAME.prf;|;
 execute($c);
 
 # IOR IO Timing Report
-$c=qq|$lattice_path/ispfpga/bin/lin/iotiming -s "$TOPNAME.ncd" "$TOPNAME.prf"|;
+$c=qq|$lattice_path/ispfpga/bin/lin64/iotiming -s "$TOPNAME.ncd" "$TOPNAME.prf"|;
 execute($c);
 
 # TWR Timing Report
 #$c=qq|$lattice_path/ispfpga/bin/lin/tg "$TOPNAME.ncd" "$TOPNAME.prf"|;
-$c=qq|$lattice_path/ispfpga/bin/lin/trce -c -v 15 -o "$TOPNAME.twr.setup" "$TOPNAME.ncd" "$TOPNAME.prf"|;
+$c=qq|$lattice_path/ispfpga/bin/lin64/trce -c -v 15 -o "$TOPNAME.twr.setup" "$TOPNAME.ncd" "$TOPNAME.prf"|;
 execute($c);
 
-$c=qq|$lattice_path/ispfpga/bin/lin/trce -hld -c -v 5 -o "$TOPNAME.twr.hold"  "$TOPNAME.ncd" "$TOPNAME.prf"|;
+$c=qq|$lattice_path/ispfpga/bin/lin64/trce -hld -c -v 5 -o "$TOPNAME.twr.hold"  "$TOPNAME.ncd" "$TOPNAME.prf"|;
 execute($c);
 
 
-$c=qq|$lattice_path/ispfpga/bin/lin/bitgen  -w "$TOPNAME.ncd" -f "$TOPNAME.t2b" "$TOPNAME.prf"|;
+$c=qq|$lattice_path/ispfpga/bin/lin64/bitgen  -w "$TOPNAME.ncd" -f "$TOPNAME.t2b" "$TOPNAME.prf"|;
 execute($c);
 
 chdir "..";
index 48c2bf4c8641f3d89d4872cb1f33402aefc9ed92..f865df26ecb9783a99724a472d60267b2fca44c3 100644 (file)
@@ -13,15 +13,18 @@ use Data::Dumper;
 use warnings;
 use strict;
 
-my $lattice_path = '/d/sugar/lattice/ispLEVER8.1/isptools/';
+#my $lattice_path = '/d/sugar/lattice/ispLEVER8.1/isptools/';
 #my $synplify_path = '/d/sugar/lattice/synplify/syn96L3/synplify_linux/';
-my $synplify_path = '/d/sugar/lattice/synplify/D-2010.03/';
+#my $synplify_path = '/d/sugar/lattice/synplify/D-2010.03/';
+my $lattice_path                 = '/d/jspc29/lattice/diamond/3.6_x64';
+my $synplify_path                = '/d/jspc29/lattice/synplify/K-2015.09/';
+
 
 use FileHandle;
 
 $ENV{'SYNPLIFY'}=$synplify_path;
 $ENV{'SYN_DISABLE_RAINBOW_DONGLE'}=1;
-$ENV{'LM_LICENSE_FILE'}="27000\@localhost";
+$ENV{'LM_LICENSE_FILE'}="27020\@jspc29";
 
 
 my $TOPNAME="cts_fpga2";
@@ -33,7 +36,7 @@ my $SPEEDGRADE="5";
 
 
 #create full lpf file
-system("cp ../trbnet/pinout/$TOPNAME.lpf workdir/$TOPNAME.lpf");
+system("cp $TOPNAME.lpf workdir/$TOPNAME.lpf");
 system("cat constraints_$TOPNAME.lpf >> workdir/$TOPNAME.lpf");
 
 #set -e
@@ -92,20 +95,20 @@ foreach (@a)
 }
 #if (0){
 
-$ENV{'LM_LICENSE_FILE'}="1710\@cronos.e12.physik.tu-muenchen.de";
+$ENV{'LM_LICENSE_FILE'}="1702\@hadeb05.gsi.de";
 
-$c=qq| $lattice_path/ispfpga/bin/lin/edif2ngd  -l $FAMILYNAME -d $DEVICENAME "$TOPNAME.edf" "$TOPNAME.ngo" |;
+$c=qq| $lattice_path/ispfpga/bin/lin64/edif2ngd  -l $FAMILYNAME -d $DEVICENAME "$TOPNAME.edf" "$TOPNAME.ngo" |;
 execute($c);
 
-$c=qq|$lattice_path/ispfpga/bin/lin/edfupdate   -t "$TOPNAME.tcy" -w "$TOPNAME.ngo" -m "$TOPNAME.ngo" "$TOPNAME.ngx"|;
+$c=qq|$lattice_path/ispfpga/bin/lin64/edfupdate   -t "$TOPNAME.tcy" -w "$TOPNAME.ngo" -m "$TOPNAME.ngo" "$TOPNAME.ngx"|;
 execute($c);
 
-$c=qq|$lattice_path/ispfpga/bin/lin/ngdbuild  -a $FAMILYNAME -d $DEVICENAME -p "$lattice_path/ispfpga/or5s00/data" -dt "$TOPNAME.ngo" "$TOPNAME.ngd"|;
+$c=qq|$lattice_path/ispfpga/bin/lin64/ngdbuild  -a $FAMILYNAME -d $DEVICENAME -p "$lattice_path/ispfpga/or5s00/data" -dt "$TOPNAME.ngo" "$TOPNAME.ngd"|;
 execute($c);
 
 my $tpmap = $TOPNAME . "_map" ;
 
-$c=qq|$lattice_path/ispfpga/bin/lin/map  -retime -split_node -a $FAMILYNAME -p $DEVICENAME -t $PACKAGE -s $SPEEDGRADE "$TOPNAME.ngd" -o "$tpmap.ncd"  -mp "$TOPNAME.mrp" "$TOPNAME.lpf"|;
+$c=qq|$lattice_path/ispfpga/bin/lin64/map  -retime -split_node -a $FAMILYNAME -p $DEVICENAME -t $PACKAGE -s $SPEEDGRADE "$TOPNAME.ngd" -o "$tpmap.ncd"  -mp "$TOPNAME.mrp" "$TOPNAME.lpf"|;
 execute($c);
 
 
@@ -113,23 +116,24 @@ system("rm $TOPNAME.ncd");
 
 #$c=qq|$lattice_path/ispfpga/bin/lin/par -w -y -l 4 -i 15 "$tpmap.ncd" "$TOPNAME.ncd" "$TOPNAME.prf" |;
 #$c=qq|$lattice_path/ispfpga/bin/lin/par -f $TOPNAME.p2t  "$tpmap.ncd" "$TOPNAME.ncd" "$TOPNAME.prf" |;
-$c=qq|$lattice_path/ispfpga/bin/lin/multipar -pr "$TOPNAME.prf" -o "mpar_$TOPNAME.rpt" -log "mpar_$TOPNAME.log" -p "../$TOPNAME.p2t"  "$tpmap.ncd" "$TOPNAME.ncd"|;
+# $c=qq|$lattice_path/ispfpga/bin/lin64/multipar -pr "$TOPNAME.prf" -o "mpar_$TOPNAME.rpt" -log "mpar_$TOPNAME.log" -p "../$TOPNAME.p2t"  "$tpmap.ncd" "$TOPNAME.ncd"|;
+$c=qq|LC_ALL=en_US.UTF-8; par -f "../$TOPNAME.p2t" $tpmap.ncd $TOPNAME.dir $TOPNAME.prf;|;
 execute($c);
 
 # IOR IO Timing Report
-$c=qq|$lattice_path/ispfpga/bin/lin/iotiming -s "$TOPNAME.ncd" "$TOPNAME.prf"|;
+$c=qq|$lattice_path/ispfpga/bin/lin64/iotiming -s "$TOPNAME.ncd" "$TOPNAME.prf"|;
 execute($c);
 
 # TWR Timing Report
 #$c=qq|$lattice_path/ispfpga/bin/lin/tg "$TOPNAME.ncd" "$TOPNAME.prf"|;
-$c=qq|$lattice_path/ispfpga/bin/lin/trce -c -v 15 -o "$TOPNAME.twr.setup" "$TOPNAME.ncd" "$TOPNAME.prf"|;
+$c=qq|$lattice_path/ispfpga/bin/lin64/trce -c -v 15 -o "$TOPNAME.twr.setup" "$TOPNAME.ncd" "$TOPNAME.prf"|;
 execute($c);
 
-$c=qq|$lattice_path/ispfpga/bin/lin/trce -hld -c -v 5 -o "$TOPNAME.twr.hold"  "$TOPNAME.ncd" "$TOPNAME.prf"|;
+$c=qq|$lattice_path/ispfpga/bin/lin64/trce -hld -c -v 5 -o "$TOPNAME.twr.hold"  "$TOPNAME.ncd" "$TOPNAME.prf"|;
 execute($c);
 
 
-$c=qq|$lattice_path/ispfpga/bin/lin/bitgen  -w "$TOPNAME.ncd" -f "$TOPNAME.t2b" "$TOPNAME.prf"|;
+$c=qq|$lattice_path/ispfpga/bin/lin64/bitgen  -w "$TOPNAME.ncd" -f "$TOPNAME.t2b" "$TOPNAME.prf"|;
 execute($c);
 
 chdir "..";
index e74b8041f0c182f0b311e132f5cd3a7ab86accf7..d07f88c350abf1d601ca0cfe3f28c0df4f22cbc3 100644 (file)
@@ -8,8 +8,7 @@ BLOCK RD_DURING_WR_PATHS ;
 #########################################
   FREQUENCY PORT CLK_200_IN       200.000000 MHz  HOLD_MARGIN 0.100000 nS ;
 
-
-
-
+MULTICYCLE FROM CELL "reset_i_100*" 20 ns;
+MULTICYCLE FROM CLKNET "clk_100" TO CLKNET "THE_DDR2_BUSSES/ddr_div_out_clk[0]" 20 ns;
 
 
index 3632bc013fb98327467ab916475ee7c0dcee2080..feaf6676afee0cab212e1d6aef5682d1b1d9963c 100644 (file)
@@ -7,12 +7,14 @@ BLOCK RESETPATHS ;
 BLOCK ASYNCPATHS ;
 
 IOBUF ALLPORTS IO_TYPE=LVTTL33 PULLMODE=DOWN ;
+IOBUF ALLPORTS SLEWRATE="FAST";
 
 #################################################################
 # SPI CLK
 #################################################################
 
-SYSCONFIG MCCLK_FREQ = 20;
+SYSCONFIG MCCLK_FREQ = 33;
+
 
 #################################################################
 # Clock I/O
@@ -23,9 +25,8 @@ LOCATE COMP  "CLK_200_IN"     SITE "L1";
 IOBUF PORT "ADO_CLKOUT"       IO_TYPE=LVDS ;
 IOBUF PORT "CLK_200_IN"       IO_TYPE=LVDS ;
 
-FREQUENCY PORT CLK_200_IN 200.000000 MHz;
+#FREQUENCY PORT CLK_200_IN 200.000000 MHz;
 
-#USE PRIMARY NET "";
 #################################################################
 # Reset
 #################################################################
@@ -39,9 +40,13 @@ FREQUENCY PORT CLK_200_IN 200.000000 MHz;
 # DLL for edge clokcs
 #################################################################
 
-LOCATE COMP "the_ddr2_buses/MAKE_DDR_CONNECTIONS_0_DLL_EDGE_INJECTION_COMPENSATE" SITE "DLL_URCC";
+LOCATE COMP "THE_DDR2_BUSSES/MAKE_DDR_CONNECTIONS.0.DLL_EDGE_INJECTION_COMPENSATE" SITE "DLL_URCC";
+LOCATE COMP "THE_DDR2_BUSSES/MAKE_DDR_CONNECTIONS.1.DLL_EDGE_INJECTION_COMPENSATE" SITE "DLL_LRCD";
+LOCATE COMP "THE_DDR2_BUSSES/MAKE_DDR_CONNECTIONS.2.DLL_EDGE_INJECTION_COMPENSATE" SITE "DLL_LLCE";
+LOCATE COMP "THE_DDR2_BUSSES/MAKE_DDR_CONNECTIONS.3.DLL_EDGE_INJECTION_COMPENSATE" SITE "DLL_ULCC";
 
 
 #################################################################
 # To TRB
 #################################################################
@@ -175,7 +180,7 @@ LOCATE COMP  "ONEWIRE_MONITOR_IN"   SITE "AF17";    #"FFC_N__11"
 
 DEFINE PORT GROUP "FFC_group" "FFC*" ;
 IOBUF GROUP "FFC_group"              IO_TYPE=LVCMOS25 PULLMODE=DOWN DRIVE=16;
-IOBUF PORT "ONEWIRE_MONITOR_IN"      IO_TYPE=LVCMOS25 PULLMODE=UP ;
+#IOBUF PORT "ONEWIRE_MONITOR_IN"      IO_TYPE=LVCMOS25 PULLMODE=UP ;
 
 #################################################################
 # Display / LED
@@ -230,11 +235,14 @@ LOCATE COMP  "LVDS_OUT_14"          SITE "AB29";
 #LOCATE COMP  "LVDS_OUT_15"      SITE "AB32";
 
 LOCATE COMP  "LVDS_IN"           SITE "AB32";
-IOBUF PORT "LVDS_IN" IO_TYPE=LVDS25;
+IOBUF PORT "LVDS_IN" IO_TYPE=LVDS;
 
 DEFINE PORT GROUP "LVDS_group" "LVDS*" ;
 IOBUF GROUP "LVDS_group"       IO_TYPE=LVDS;
 
+DEFINE PORT GROUP "LVDS_group2" "buf_Q*" ;
+IOBUF GROUP "LVDS_group2"       IO_TYPE=LVDS;
+
 LOCATE COMP  "PECL_OUT_0"     SITE "M4";
 LOCATE COMP  "PECL_OUT_1"     SITE "M3";
 LOCATE COMP  "PECL_OUT_2"     SITE "L2";
@@ -363,7 +371,7 @@ LOCATE COMP  "TRIG_IN_62"     SITE "D32";
 LOCATE COMP  "TRIG_IN_63"        SITE "K25";
 DEFINE PORT GROUP "TRIG_group" "TRIG*" ;
 IOBUF GROUP "TRIG_group"       IO_TYPE=LVDS;
-INPUT "TRIG_group" SETUP 1 ns CLKPORT="clk_400"
+
 #################################################################
 # Pins not needed in lpf
 #################################################################
index 762eeb07b99dce2b2066aff9060fb19bf5770a73..90fdd572e59d0013de17a045a1e97bdf1be6e426 100644 (file)
@@ -4,7 +4,7 @@
 -n 1
 -y
 -s 12
--t 1
+-t 3
 -c 1
 -e 2
 #-m nodelist.txt