aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/synth-ssh.sh
diff options
context:
space:
mode:
authorYann Herklotz <git@yannherklotz.com>2022-03-17 14:57:23 +0000
committerYann Herklotz <git@yannherklotz.com>2022-03-17 14:57:23 +0000
commit314592d5593faa02a0330451a22fd9b8cc251b8d (patch)
treecc82d540a3982a18893b3423c77b904746373df3 /scripts/synth-ssh.sh
parentc897f9ab9c515501f88199003bd3e696bf7b9692 (diff)
downloadvericert-314592d5593faa02a0330451a22fd9b8cc251b8d.tar.gz
vericert-314592d5593faa02a0330451a22fd9b8cc251b8d.zip
Add synthesis bash scripts
Diffstat (limited to 'scripts/synth-ssh.sh')
-rwxr-xr-xscripts/synth-ssh.sh27
1 files changed, 27 insertions, 0 deletions
diff --git a/scripts/synth-ssh.sh b/scripts/synth-ssh.sh
new file mode 100755
index 0000000..fffb9f9
--- /dev/null
+++ b/scripts/synth-ssh.sh
@@ -0,0 +1,27 @@
+#!/usr/bin/bash
+
+# Assumes that the Verilog is passed on the command line, that the tcl file is in synth.tcl and
+# returns encode_report.xml.
+
+scriptsdir=$(dirname "$(readlink -f "$BASH_SOURCE")")
+
+bench=$1
+output=$2
+machine=ee-beholder1.ee.ic.ac.uk
+user=ymh15
+files="$scriptsdir/synth.tcl $output/$bench.v"
+log="$output/${bench}_synth.log"
+
+date >$log
+
+temp=$(ssh $user@$machine "mktemp -d" 2>>$log)
+
+>&2 echo "synthesising $bench $temp"
+rsync $files $user@$machine:$temp/ >>$log 2>&1
+ssh $user@$machine \
+ "bash -lc 'cd $temp && cp $(basename $bench).v main.v && vivado -mode batch -source synth.tcl'" \
+ >>$log 2>&1
+rsync $user@$machine:$temp/encode_report.xml $output/${bench}_report.xml >>$log 2>&1
+ssh $user@$machine "rm -rf '$temp'" >>$log 2>&1
+rm -f main.v >>$log 2>&1
+>&2 echo "done $bench"