-
Notifications
You must be signed in to change notification settings - Fork 45
/
debug_timing
executable file
·28 lines (28 loc) · 1.72 KB
/
debug_timing
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/bin/bash
FILE="./hardware/build/Reports/timing_summary.rpt"
if [ -f $FILE ]; then \
TEXT="Timing constraints are not met"
MAX_VIOLATION=`grep -B3 "$TEXT" "$FILE" | awk '{print $1}' | head -n 1`
LINE=`grep -A1 -n VIOL "$FILE"|grep -m1 -e "$MAX_VIOLATION" | cut -d ':' -f 1`
echo "-------------------------------------------------------------------"
echo "-------------- DISPLAY the 10 worst timing violations -------------"
echo "-------------------------------------------------------------------"
#grep -A1 -m10 VIOL hardware/build/Reports/timing_summary.rpt
tail -n +"$LINE" "$FILE" | grep -A1 -m10 VIOL
echo "-------------------------------------------------------------------"
echo "- => Few options to solve these timing violations <= -"
echo "- => Identify and then correct the Source of the violation <= -"
echo "- bsp signals are related to PSL/BSP/TLx/DLx logic -"
echo "- There is not a lot you can do in the logic, but .... -"
echo "- Not a FPGA expert? => it's worth retrying a make image -"
echo "- FPGA expert? => change placement constraints of the PSL/BSP -"
echo "- oc_func/../hls_action signals are related to OC-Accel or Action logic"
echo "- There should be a way to solve that in the logic -"
echo "- You can first retry a make image (a new placement may work) -"
echo "- Try changing the way you have coded the logic of your action -"
echo "- or use Kconfig menu to try and decrease the HLS clock period -"
echo "- The path listed above should show you the function to change -"
echo "-------------------------------------------------------------------"
else
echo "This script needs a timing report generated with a make image";
fi