From 43cac20949c751421fec566658d66add257ae64d Mon Sep 17 00:00:00 2001 From: hadaq Date: Mon, 25 Jun 2012 09:09:45 +0000 Subject: [PATCH] prj file is updated. --- cbmrich/cbmrich.prj | 20 ++-- cbmrich/compile_cbmrich_gsi_synonly.pl | 154 +++++++++++++++++++++++++ 2 files changed, 164 insertions(+), 10 deletions(-) create mode 100755 cbmrich/compile_cbmrich_gsi_synonly.pl diff --git a/cbmrich/cbmrich.prj b/cbmrich/cbmrich.prj index a7f8d64..f1a8ca0 100644 --- a/cbmrich/cbmrich.prj +++ b/cbmrich/cbmrich.prj @@ -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 index 0000000..d25e82a --- /dev/null +++ b/cbmrich/compile_cbmrich_gsi_synonly.pl @@ -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 <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; + +} -- 2.43.0