more bug fixes on fp-synth

This commit is contained in:
Kevin Kim 2023-10-21 09:50:04 -07:00
parent dad199753a
commit 87e9dbe1fd

View File

@ -2,62 +2,82 @@
# RADIX 2
setRADIXeq2 () {
sed -i "157s/RADIX.*/RADIX = 32\'h2;/" $WALLY/config/rv64gc/config.vh
sed -i "157s/RADIX.*/RADIX = 32\'h2;/" $WALLY/config/rv32gc/config.vh
n64=$(grep -n "RADIX" $WALLY/config/rv64gc/config.vh | cut -d: -f1)
n32=$(grep -n "RADIX" $WALLY/config/rv32gc/config.vh | cut -d: -f1)
sed -i "${n64}s/RADIX.*/RADIX = 32\'h2;/" $WALLY/config/rv64gc/config.vh
sed -i "${n32}s/RADIX.*/RADIX = 32\'h2;/" $WALLY/config/rv32gc/config.vh
}
# RADIX 4
setRADIXeq4 () {
sed -i "157s/RADIX.*/RADIX = 32\'h4;/" $WALLY/config/rv64gc/config.vh
sed -i "157s/RADIX.*/RADIX = 32\'h4;/" $WALLY/config/rv32gc/config.vh
n64=$(grep -n "RADIX" $WALLY/config/rv64gc/config.vh | cut -d: -f1)
n32=$(grep -n "RADIX" $WALLY/config/rv32gc/config.vh | cut -d: -f1)
sed -i "${n64}s/RADIX.*/RADIX = 32\'h4;/" $WALLY/config/rv64gc/config.vh
sed -i "${n32}s/RADIX.*/RADIX = 32\'h4;/" $WALLY/config/rv32gc/config.vh
}
# K = 1
setKeq1 () {
sed -i "158s/DIVCOPIES.*/DIVCOPIES = 32\'h1;/" $WALLY/config/rv64gc/config.vh
sed -i "158s/DIVCOPIES.*/DIVCOPIES = 32\'h1;/" $WALLY/config/rv32gc/config.vh
n64=$(grep -n "DIVCOPIES" $WALLY/config/rv64gc/config.vh | cut -d: -f1)
n32=$(grep -n "DIVCOPIES" $WALLY/config/rv32gc/config.vh | cut -d: -f1)
sed -i "${n64}s/DIVCOPIES.*/DIVCOPIES = 32\'h1;/" $WALLY/config/rv64gc/config.vh
sed -i "${n32}s/DIVCOPIES.*/DIVCOPIES = 32\'h1;/" $WALLY/config/rv32gc/config.vh
}
# K = 2
setKeq2 () {
sed -i "158s/DIVCOPIES.*/DIVCOPIES = 32\'h2;/" $WALLY/config/rv64gc/config.vh
sed -i "158s/DIVCOPIES.*/DIVCOPIES = 32\'h2;/" $WALLY/config/rv32gc/config.vh
n64=$(grep -n "DIVCOPIES" $WALLY/config/rv64gc/config.vh | cut -d: -f1)
n32=$(grep -n "DIVCOPIES" $WALLY/config/rv32gc/config.vh | cut -d: -f1)
sed -i "${n64}s/DIVCOPIES.*/DIVCOPIES = 32\'h2;/" $WALLY/config/rv64gc/config.vh
sed -i "${n32}s/DIVCOPIES.*/DIVCOPIES = 32\'h2;/" $WALLY/config/rv32gc/config.vh
}
# K = 4
setKeq4 () {
sed -i "158s/DIVCOPIES.*/DIVCOPIES = 32\'h4;/" $WALLY/config/rv64gc/config.vh
sed -i "158s/DIVCOPIES.*/DIVCOPIES = 32\'h4;/" $WALLY/config/rv32gc/config.vh
n64=$(grep -n "DIVCOPIES" $WALLY/config/rv64gc/config.vh | cut -d: -f1)
n32=$(grep -n "DIVCOPIES" $WALLY/config/rv32gc/config.vh | cut -d: -f1)
sed -i "${n64}s/DIVCOPIES.*/DIVCOPIES = 32\'h4;/" $WALLY/config/rv64gc/config.vh
sed -i "${n32}s/DIVCOPIES.*/DIVCOPIES = 32\'h4;/" $WALLY/config/rv32gc/config.vh
}
# IDIVBITS = 1
setIDIVBITSeq1 () {
sed -i "80s/IDIV_BITSPERCYCLE.*/IDIV_BITSPERCYCLE = 32;\'d1/" $WALLY/config/rv64gc/config.vh
sed -i "80s/IDIV_BITSPERCYCLE.*/IDIV_BITSPERCYCLE = 32;\'d1/" $WALLY/config/rv32gc/config.vh
n64=$(grep -n "IDIV_BITSPERCYCLE" $WALLY/config/rv64gc/config.vh | cut -d: -f1)
n32=$(grep -n "IDIV_BITSPERCYCLE" $WALLY/config/rv32gc/config.vh | cut -d: -f1)
sed -i "${n64}s/IDIV_BITSPERCYCLE.*/IDIV_BITSPERCYCLE = 32;\'d1/" $WALLY/config/rv64gc/config.vh
sed -i "${n32}s/IDIV_BITSPERCYCLE.*/IDIV_BITSPERCYCLE = 32;\'d1/" $WALLY/config/rv32gc/config.vh
}
# IDIVBITS = 2
setIDIVBITSeq2 () {
sed -i "80s/IDIV_BITSPERCYCLE.*/IDIV_BITSPERCYCLE = 32;\'d2/" $WALLY/config/rv64gc/config.vh
sed -i "80s/IDIV_BITSPERCYCLE.*/IDIV_BITSPERCYCLE = 32;\'d2/" $WALLY/config/rv32gc/config.vh
n64=$(grep -n "IDIV_BITSPERCYCLE" $WALLY/config/rv64gc/config.vh | cut -d: -f1)
n32=$(grep -n "IDIV_BITSPERCYCLE" $WALLY/config/rv32gc/config.vh | cut -d: -f1)
sed -i "${n64}s/IDIV_BITSPERCYCLE.*/IDIV_BITSPERCYCLE = 32;\'d2/" $WALLY/config/rv64gc/config.vh
sed -i "${n32}s/IDIV_BITSPERCYCLE.*/IDIV_BITSPERCYCLE = 32;\'d2/" $WALLY/config/rv32gc/config.vh
}
# IDIVBITS = 4
setIDIVBITSeq4 () {
sed -i "80s/IDIV_BITSPERCYCLE.*/IDIV_BITSPERCYCLE = 32;\'d4/" $WALLY/config/rv64gc/config.vh
sed -i "80s/IDIV_BITSPERCYCLE.*/IDIV_BITSPERCYCLE = 32;\'d4/" $WALLY/config/rv32gc/config.vh
n64=$(grep -n "IDIV_BITSPERCYCLE" $WALLY/config/rv64gc/config.vh | cut -d: -f1)
n32=$(grep -n "IDIV_BITSPERCYCLE" $WALLY/config/rv32gc/config.vh | cut -d: -f1)
sed -i "${n64}s/IDIV_BITSPERCYCLE.*/IDIV_BITSPERCYCLE = 32;\'d4/" $WALLY/config/rv64gc/config.vh
sed -i "${n32}s/IDIV_BITSPERCYCLE.*/IDIV_BITSPERCYCLE = 32;\'d4/" $WALLY/config/rv32gc/config.vh
}
# IDIV ON FPU
setIDIVeq1 () {
sed -i "81s/IDIV_ON_FPU.*/IDIV_ON_FPU = 1;/" $WALLY/config/rv64gc/config.vh
sed -i "81s/IDIV_ON_FPU.*/IDIV_ON_FPU = 1;/" $WALLY/config/rv32gc/config.vh
n64=$(grep -n "IDIV_ON_FPU" $WALLY/config/rv64gc/config.vh | cut -d: -f1)
n32=$(grep -n "IDIV_ON_FPU" $WALLY/config/rv32gc/config.vh | cut -d: -f1)
sed -i "${n64}s/IDIV_ON_FPU.*/IDIV_ON_FPU = 1;/" $WALLY/config/rv64gc/config.vh
sed -i "${n32}s/IDIV_ON_FPU.*/IDIV_ON_FPU = 1;/" $WALLY/config/rv32gc/config.vh
}
# IDIV NOT ON FPU
setIDIVeq0 () {
sed -i "81s/IDIV_ON_FPU.*/IDIV_ON_FPU = 0;/" $WALLY/config/rv64gc/config.vh
sed -i "81s/IDIV_ON_FPU.*/IDIV_ON_FPU = 0;/" $WALLY/config/rv32gc/config.vh
n64=$(grep -n "IDIV_ON_FPU" $WALLY/config/rv64gc/config.vh | cut -d: -f1)
n32=$(grep -n "IDIV_ON_FPU" $WALLY/config/rv32gc/config.vh | cut -d: -f1)
sed -i "${n64}s/IDIV_ON_FPU.*/IDIV_ON_FPU = 0;/" $WALLY/config/rv64gc/config.vh
sed -i "${n32}s/IDIV_ON_FPU.*/IDIV_ON_FPU = 0;/" $WALLY/config/rv32gc/config.vh
}
# Synthesize Integer Divider
@ -141,6 +161,7 @@ go() {
setKeq1
setRADIXeq4
synthAll
wait
setKeq2
setRADIXeq2
synthAll