A License Plate Recognition (LPR) smart camera application example is provided to let you start with FoRTReSS methodology on a realistic example. Detailed application description is available in [1].
License Plate Recognition overview (Thales Research & Technology)
Download and extract the following archive:
Open FoRTReSS. In the main menu, select File → Open → Project, browse for example to Apps/TRT_XC6VLX240T_MB/1-LANE_LPR/TRT_XC6VLX240T_MB/
and select fortress.prj
. Everything is already set up to process a working simulation. However you can explore different parameters from menu FoRTReSS → Preferences such as:
xc6vlx240t
, xc7z020
and xc7z045
. EA3c
is the default heterogeneous Hw / Sw scheduler detailed in [1]. You may also use AMAP_EDF, which is a standard EDF scheduler, for comparison. To run simulation:
Simulation takes about half an hour. You can ignore the error code at the end of simulation.
To analyze the results:
sudo apt-get install gtkwave
)Apps/TRT_XC6VLX240T_MB/1-LANE_LPR/TRT_XC6VLX240T_MB/Config Seq/Solutions/solution_1_RZ_2.vcd
. This solution is based on 2 MicroBlaze cores and 1 Reconfigurable Region. TRT_XC6VLX240T_MB/1-LANE_LPR/TRT_XC6VLX240T_MB/Config Seq/gtk-trace.gtkw
. This configuration file is predefined to display a selection of meaningful signals. IMG_write
in the second hyperperiod denoting the termination of the last function in the second hyperperiod (then the system is idle until the activation of the next hyperperiod). The corresponding absolute time should indicate 44,713s
. Execution time is therefore 10,713s
(44,713s - 34s
) after removing the 34s
duration of the first hyperperiod, and the corresponding Hyper Instant Energy is 12,307J
. Previous exploration outputs various other DPR accelerated solutions for 2 MicroBlaze cores and a number of Reconfigurable Regions increasing from 1 to 11.
You may want to compare with a full software solution (based on 4 MicroBlaze cores):
Apps/TRT_XC6VLX240T_MB/1-LANE_LPR/TRT_XC6VLX240T_MB_SW/
Apps/TRT_XC6VLX240T_MB/1-LANE_LPR/TRT_XC6VLX240T_MB_SW/Config Seq/Solutions/solution_0_RZ_2.vcd
. The corresponding execution time should be 48,008s
and instant energy 52,219J
. The corresponding improvement factor in terms of energy delay product is (52,219*48,008)/(12,307*10,713) = 19
.
You can also compare against static hardware solutions (i.e. 2 cores + reconfigurable accelerators without DPR) with project Apps/TRT_XC6VLX240T_MB/1-LANE_LPR/TRT_XC6VLX240T_MB_STATIC/
Each time you want to run another simulation with a given FoRTReSS project, first go to FoRTReSS → Preferences → Clean All Generated Files → Current config to erase previous simulation files (simulations can generate several giga bytes of result data).
Details underlying the methodology can be found in the Publications section, in particular the License Plate Recognition (LPR) application example and corresponding analysis of results are discussed in [1].