目前,我们的系统支持多种优化选项。针对未出现时序拥塞的情况,我们有TIMING_1、TIMING_2和TIMING_3这三种优化策略。而当系统出现时序拥塞时,我们则使用CONGESTION_1、CONGESTION_2和CONGESTION_3来优化性能。
以下是一个优化策略扫描的详细步骤指南:
首先,打开命令提示符(cmd)。接着,进入Efinity安装目录下的bin文件夹。假设我的安装路径位于C盘,我会输入以下命令:
``` C:\Users\151351>cd C:\Efinity2021.2\bin ```
然后,运行setup.bat文件以初始化环境。
``` C:\Efinity2021.2\bin>setup.bat ```
接下来,进入您的工程目录。以我的工程为例,路径为D:\estge_example_file,所以我将输入:
``` C:\Efinity2021.2\bin>cd D:\estge_example_file ```
现在,运行策略扫描命令行efx_run_pnr_sweep.bat,后面跟上您的工程文件名(例如gshd_v1)和sweep_opt_levels参数。
``` >efx_run_pnr_sweep.bat gshd_v1.xml sweep_opt_levels ```
运行完成后,您会看到一系列结果提示。每个优化策略都会生成pnr和pgm文件,分别代表place and route(布局与布线)和program(编程)的结果。例如,`
优化策略的扫描结果包括多个方面。在timing.sum.rpt文件中,您可以查看每个时钟的运行频率。此外,每个运行结果中都包含了相应的bit和hex文件,这些文件可用于配置FPGA。
如果需要进行种子扫描,您可以在选择的优化级别上执行。例如,以下命令将在第2到第3个种子之间进行扫描:
``` D:\customer_Prj\novastar_example_file>efx_run_pnr_sweep.bat gshd_v1.xml sweep_seeds --start_seed 2 --end_seed 3 ```
或者,如果您只想扫描特定数量的种子,可以使用以下命令:
``` D:\customer_Prj\novastar_example_file>efx_run_pnr_sweep.bat gshd_v1.xml sweep_seeds --num_seeds 2 ```
请注意,使用end_seed参数时,不要与num_seeds参数同时使用。如果同时指定,系统会显示错误信息:“--end_seed: not allowed with argument --num_seeds”。
通过这些步骤,您可以轻松地执行优化策略扫描,并根据结果调整您的FPGA配置。这不仅有助于提高系统性能,还能确保工程的高效运行。如果您在操作过程中遇到任何疑问,请随时参考相关的命令解释或联系技术支持。
易灵思已经有专门的ppt把优化策略讲解完了。这里只是把操作再重新演示下,方便查阅用。
目前已经支持的优化选项如下图。其中为TIMING_1,TIMING_2,TIMING_3主要针对在没有发生时序拥塞的时候的优化。
CONGESTION_1,CONGESTION_2,CONGESTION_3是针对发时序拥塞时的优化选项。
下面我们来看优化策略的扫描过程。
优化策略扫描
(1)运行CMD
(2)cd 进入Efinity安装目录下的bin文件夹。例如我的路径安装在C盘
C:Users151351>cd C:Efinity2021.2in
(3)运行setup.bat
C:Efinity2021.2bin>setup.bat
(4)进入工程目录。我的工程路径为D: estge_exmaple_file
C:Efinity2021.2in>d:D:>cdD: estge_exmaple_file
(5)运行策略扫描命令行efx_run_pnr_sweep.bat .xml sweep_opt_levels.我的工程命名为gshd_v1.
>efx_run_pnr_sweep.bat gshd_v1.xml sweep_opt_levels
(6)查看运行结果提示
每个优化策略都会有pnr和pgm,分别指place and rounte和program,
< pnr : PASS>表示适配和布线完成 表示生成比特流完成
(7)查看扫描结果
timing.sum.rpt里面会有每个时钟的运行频率。在每个运行结果里面都有有相应的bit和hex文件可以配置FPGA.
种子的扫描是在选择的对应的--optimization_level上进行的。
D:customer_Prjnovastarge_exmaple_file>efx_run_pnr_sweep.bat gshd_v1.xml sweep_seeds --start_seed 2 --end_seed 3
D:customer_Prjnovastarge_exmaple_file>efx_run_pnr_sweep.bat gshd_v1.xml sweep_seeds --num_seeds 2
另外在使用end_seed时要注意,end_seed和num_seeds不能一起使用。这个可以查看具体的指令解释。
--end_seed: not allowed with argument --num_seeds