易灵思已经有专门的ppt把优化策略讲解完了。这里只是把操作再重新演示下,方便查阅用。
目前已经支持的优化选项如下图。其中为TIMING_1,TIMING_2,TIMING_3主要针对在没有发生时序拥塞的时候的优化。
CONGESTION_1,CONGESTION_2,CONGESTION_3是针对发时序拥塞时的优化选项。
![图片[1]-Efinity优化策略-易灵思(Elitestek)社区-FPGA CPLD-ChipDebug](http://chipdebug.com/wp-content/uploads/2024/10/20241019144247686-61729320167.png?v=1729320167)
下面我们来看优化策略的扫描过程。
优化策略扫描
(1)运行cmd
(2)cd 进入Efinity安装目录下的bin文件夹。例如我的路径安装在C盘
C:Users151351>cd C:Efinity2021.2bin
(3)运行setup.bat
C:Efinity2021.2bin>setup.bat
(4)进入工程目录。我的工程路径为D:testge_exmaple_file
C:Efinity2021.2bin>d:
D:>cd D:testge_exmaple_file
(5)运行策略扫描命令行efx_run_pnr_sweep.bat <project name>.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>表示适配和布线完成
<pgm : PASS>表示生成比特流完成
![图片[2]-Efinity优化策略-易灵思(Elitestek)社区-FPGA CPLD-ChipDebug](http://chipdebug.com/wp-content/uploads/2024/10/20241019144248971-41729320168.png?v=1729320168)
![图片[3]-Efinity优化策略-易灵思(Elitestek)社区-FPGA CPLD-ChipDebug](http://chipdebug.com/wp-content/uploads/2024/10/20241019144249428-61729320169.png?v=1729320170)
(7)查看扫描结果
timing.sum.rpt里面会有每个时钟的运行频率。在每个运行结果里面都有有相应的bit和hex文件可以配置FPGA.
![图片[4]-Efinity优化策略-易灵思(Elitestek)社区-FPGA CPLD-ChipDebug](http://chipdebug.com/wp-content/uploads/2024/10/20241019144251181-101729320171.png?v=1729320171)
![图片[5]-Efinity优化策略-易灵思(Elitestek)社区-FPGA CPLD-ChipDebug](http://chipdebug.com/wp-content/uploads/2024/10/20241019144252846-101729320172.png?v=1729320172)
种子的扫描是在选择的对应的–optimization_level上进行的。
![图片[6]-Efinity优化策略-易灵思(Elitestek)社区-FPGA CPLD-ChipDebug](http://chipdebug.com/wp-content/uploads/2024/10/20241019144253493-41729320173.png?v=1729320173)
D:customer_Prjnovastarge_exmaple_file>efx_run_pnr_sweep.bat gshd_v1.xml sweep_seeds --start_seed 2 --end_seed 3
![图片[7]-Efinity优化策略-易灵思(Elitestek)社区-FPGA CPLD-ChipDebug](http://chipdebug.com/wp-content/uploads/2024/10/20241019144254330-81729320174.png?v=1729320174)
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





没有回复内容