]> jspc29.x-matter.uni-frankfurt.de Git - trb3.git/commitdiff
prj file is updated.
authorhadaq <hadaq>
Mon, 25 Jun 2012 09:09:45 +0000 (09:09 +0000)
committerhadaq <hadaq>
Mon, 25 Jun 2012 09:09:45 +0000 (09:09 +0000)
cbmrich/cbmrich.prj
cbmrich/compile_cbmrich_gsi_synonly.pl [new file with mode: 0755]

index a7f8d649e06a4c6441ed960c100a87d29a4e13f2..f1a8ca095acb7dd92a0f7d06542e8fc95b40b672 100644 (file)
@@ -140,13 +140,13 @@ add_file -vhdl -lib "work" "../base/cores/pll_in200_out100.vhd"
 
 add_file -vhdl -lib "work" "cbmrich.vhd"
 
-add_file -vhdl -lib "work" "tdc_source/Adder_304.vhd"
-add_file -vhdl -lib "work" "tdc_source/bit_sync.vhd"
-add_file -vhdl -lib "work" "tdc_source/Channel.vhd"
-add_file -vhdl -lib "work" "tdc_source/Encoder_304_Bit.vhd"
-add_file -vhdl -lib "work" "tdc_source/FIFO_32x512_OutReg.vhd"
-add_file -vhdl -lib "work" "tdc_source/Reference_channel.vhd"
-add_file -vhdl -lib "work" "tdc_source/ROM_encoder_3.vhd"
-add_file -vhdl -lib "work" "tdc_source/ROM_FIFO.vhd"
-add_file -vhdl -lib "work" "tdc_source/TDC.vhd"
-add_file -vhdl -lib "work" "tdc_source/up_counter.vhd"
+add_file -vhdl -lib "work" "../tdc_releases/tdc_v0.3/Adder_304.vhd"
+add_file -vhdl -lib "work" "../tdc_releases/tdc_v0.3/bit_sync.vhd"
+add_file -vhdl -lib "work" "../tdc_releases/tdc_v0.3/Channel.vhd"
+add_file -vhdl -lib "work" "../tdc_releases/tdc_v0.3/Encoder_304_Bit.vhd"
+add_file -vhdl -lib "work" "../tdc_releases/tdc_v0.3/FIFO_32x512_OutReg.vhd"
+add_file -vhdl -lib "work" "../tdc_releases/tdc_v0.3/Reference_channel.vhd"
+add_file -vhdl -lib "work" "../tdc_releases/tdc_v0.3/ROM_encoder_3.vhd"
+add_file -vhdl -lib "work" "../tdc_releases/tdc_v0.3/ROM_FIFO.vhd"
+add_file -vhdl -lib "work" "../tdc_releases/tdc_v0.3/TDC.vhd"
+add_file -vhdl -lib "work" "../tdc_releases/tdc_v0.3/up_counter.vhd"
diff --git a/cbmrich/compile_cbmrich_gsi_synonly.pl b/cbmrich/compile_cbmrich_gsi_synonly.pl
new file mode 100755 (executable)
index 0000000..d25e82a
--- /dev/null
@@ -0,0 +1,154 @@
+#!/usr/bin/perl
+use Data::Dumper;
+use warnings;
+use strict;
+
+
+
+
+###################################################################################
+#Settings for this project
+my $TOPNAME                      = "cbmrich";  #Name of top-level entity
+my $lattice_path                 = '/opt/lattice/diamond/1.4.2.105';
+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      = "1710\@cronos.e12.physik.tu-muenchen.de";
+###################################################################################
+
+
+
+
+
+
+
+
+use FileHandle;
+
+$ENV{'SYNPLIFY'}=$synplify_path;
+$ENV{'SYN_DISABLE_RAINBOW_DONGLE'}=1;
+$ENV{'LM_LICENSE_FILE'}=$lm_license_file_for_synplify;
+
+
+
+
+my $FAMILYNAME="LatticeECP3";
+my $DEVICENAME="LFE3-150EA";
+my $PACKAGE="FPBGA672";
+my $SPEEDGRADE="8";
+
+
+#create full lpf file
+system("cp ../base/$TOPNAME.lpf workdir/$TOPNAME.lpf");
+system("cat ".$TOPNAME."_constraints.lpf >> workdir/$TOPNAME.lpf");
+
+
+#set -e
+#set -o errexit
+
+#generate timestamp
+my $t=time;
+my $fh = new FileHandle(">version.vhd");
+die "could not open file" if (! defined $fh);
+print $fh <<EOF;
+
+--## attention, automatically generated. Don't change by hand.
+library ieee;
+USE IEEE.std_logic_1164.ALL;
+USE IEEE.std_logic_ARITH.ALL;
+USE IEEE.std_logic_UNSIGNED.ALL;
+use ieee.numeric_std.all;
+
+package version is
+
+    constant VERSION_NUMBER_TIME  : integer   := $t;
+
+end package version;
+EOF
+$fh->close;
+
+system("env| grep LM_");
+my $r = "";
+
+my $c="$synplify_path/bin/synplify_premier_dp -batch $TOPNAME.prj";
+$r=execute($c, "do_not_exit" );
+
+
+chdir "workdir";
+$fh = new FileHandle("<$TOPNAME".".srr");
+my @a = <$fh>;
+$fh -> close;
+
+
+
+foreach (@a)
+{
+    if(/\@E:/)
+    {
+       print "\n";
+       $c="cat $TOPNAME.srr | grep \"\@E\"";
+       system($c);
+        print "\n\n";
+       exit 129;
+    }
+}
+
+
+#$ENV{'LM_LICENSE_FILE'}=$lm_license_file_for_par;
+
+#$c=qq| $lattice_path/ispfpga/bin/lin/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"|;
+#execute($c);
+
+#$c=qq|$lattice_path/ispfpga/bin/lin/ngdbuild  -a $FAMILYNAME -d $DEVICENAME -p "$lattice_path/ispfpga/ep5c00/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"|;
+#execute($c);
+
+
+#system("rm $TOPNAME.ncd");
+
+#$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"|;
+#execute($c);
+
+## IOR IO Timing Report
+#$c=qq|$lattice_path/ispfpga/bin/lin/iotiming -s "$TOPNAME.ncd" "$TOPNAME.prf"|;
+#execute($c);
+
+## TWR Timing Report
+#$c=qq|$lattice_path/ispfpga/bin/lin/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"|;
+#execute($c);
+
+#$c=qq|$lattice_path/ispfpga/bin/lin/ltxt2ptxt $TOPNAME.ncd|;
+#execute($c);
+
+#$c=qq|$lattice_path/ispfpga/bin/lin/bitgen  -w "$TOPNAME.ncd"  "$TOPNAME.prf"|;
+#execute($c);
+
+chdir "..";
+
+exit;
+
+sub execute {
+    my ($c, $op) = @_;
+    #print "option: $op \n";
+    $op = "" if(!$op);
+    print "\n\ncommand to execute: $c \n";
+    $r=system($c);
+    if($r) {
+  print "$!";
+  if($op ne "do_not_exit") {
+      exit;
+  }
+    }
+
+    return $r;
+
+}