From 11c1bf18c81301576face790e021f0a5932674d6 Mon Sep 17 00:00:00 2001 From: Roberto Hexsel <roberto@inf.ufpr.br> Date: Tue, 4 Apr 2017 18:12:15 -0300 Subject: [PATCH] fixed build/compile scripts for simulation/synthesis versions --- cMIPS/bin/assemble.sh | 9 +++++++-- cMIPS/bin/build.sh | 11 +++++++++-- cMIPS/bin/compile.sh | 7 ++++++- 3 files changed, 22 insertions(+), 5 deletions(-) diff --git a/cMIPS/bin/assemble.sh b/cMIPS/bin/assemble.sh index a17fad6..b48464b 100755 --- a/cMIPS/bin/assemble.sh +++ b/cMIPS/bin/assemble.sh @@ -54,6 +54,7 @@ exit 1 if [ $# = 0 ] ; then usage ; exit 1 ; fi miffile=false +pacMem_changed=false verbose=false names=false unset mem_map @@ -86,8 +87,10 @@ while true ; do ;; -n) names=true ;; - -mif | -m | -syn ) miffile=true + -mif | -syn ) miffile=true ;; + -new ) pacMem_changed=true + ;; -x) set -x ;; *) inp=${1%.s} @@ -118,7 +121,9 @@ else fi -if [ $pkg_vhd -nt $c_ld -o $pkg_vhd -nt $c_s ] ; then +if [ $pacMem_changed -o\ + $pkg_vhd -nt $c_ld -o\ + $pkg_vhd -nt $c_s ] ; then "${bin}"/edMemory.sh -v || errorED || exit 1 fi diff --git a/cMIPS/bin/build.sh b/cMIPS/bin/build.sh index 47c5025..45e0942 100755 --- a/cMIPS/bin/build.sh +++ b/cMIPS/bin/build.sh @@ -43,18 +43,22 @@ usage: $0 [options] OPTIONS: -h Show this message -syn Compile for Macnica's board, else for simulation + -new Automagically update all addresses (packageMemory.vhd changed) -x turn on "set -x" EOF } synth=false +pacMem_changed=false while true ; do case "$1" in -h) usage ; exit 1 ;; - -mif | -syn ) synth=true + -syn | -mif ) synth=true + ;; + -new ) pacMem_changed=true ;; -x) set -x ;; @@ -85,7 +89,7 @@ c_s="${include}"/cMIPS.s c_h="${include}"/cMIPS.h -if [ $synth = tree ] ; then +if [ $synth = true ] ; then pkg_vhd="$srcVHDL/packageMemory_fpga.vhd" (cd $srcVHDL ; ln -s -f packageMemory_fpga.vhd packageMemory.vhd) else @@ -100,6 +104,9 @@ if [ $pkg_vhd -nt $c_ld -o\ "${bin}"/edMemory.sh -v || errorED || exit 1 fi +if [ $pacMem_changed ] ; then + "${bin}"/edMemory.sh -v || errorED || exit 1 +fi cd "${srcVHDL}" diff --git a/cMIPS/bin/compile.sh b/cMIPS/bin/compile.sh index de5a4d3..2168113 100755 --- a/cMIPS/bin/compile.sh +++ b/cMIPS/bin/compile.sh @@ -37,6 +37,7 @@ OPTIONS: -W Pass -Wall on to GCC -mif Generate output file ROM.mif for Altera's FPGAs -syn Compile for synthesis, else for simulation + -new Automagically update all addresses (packageMemory.vhd changed) EOF } @@ -57,6 +58,7 @@ if [ $# = 0 ] ; then usage ; exit 1 ; fi miffile=false synth=false +pacMem_changed=false verbose=false names=true unset memory_map @@ -87,6 +89,8 @@ while true ; do -mif | -syn ) synth=true miffile=true ;; + -new ) pacMem_changed=true + ;; -x) set -x ;; *) inp=${1%.c} @@ -128,7 +132,8 @@ else (cd $srcVHDL ; ln -s -f packageMemory_simu.vhd packageMemory.vhd) fi -if [ $pkg_vhd -nt $c_h -o\ +if [ $pacMem_changed -o\ + $pkg_vhd -nt $c_h -o\ $pkg_vhd -nt $c_ld -o\ $pkg_vhd -nt $c_s ] ; then "${bin}"/edMemory.sh -v || errorED || exit 1 -- GitLab