跳转到主要内容

【教程】:使用 InTime 在 Plunify Cloud 优化 FPGA 设计

judy 提交于

<strong>教程介绍</strong>
本教程旨在指导用户通过 Plunify Cloud 的云服务器,来使用 InTime 软件优化 FPGA 设计。如果您首次使用 InTime,请免费<a href="https://www.plunify.com/cn/free-evaluation/&quot; rel="nofollow">申请该软件的本地试用</a>。

本教程涵盖 "Hot Start" 配方、"InTime Default" 配方,以及 "Extra Opt Exploration" 配方。配方的流程以及它们的设置如下所示。

配方 1 : Hotstart
<li>每轮运行数: 2</li>
<li>轮数 : 1</li>
<li>并行运行数: 2</li>

配方 2 : InTime Default
<li>每轮运行数: 2</li>
<li>轮数 : 1</li>
<li>并行运行数: 2</li>

配方 3 : Extra Opt Exploration
<li>每轮运行数: 2</li>
<li>轮数 : 1</li>
<li>并行运行数: 2</li>

<strong>工具要求</strong>
<ol>
<li>InTime 软件版本2.6.8或更新版本 (<a href="https://www.plunify.com/en/free-evaluation/&quot; rel="nofollow">试用申请</a>)</li>
<li>Vivado 软件版本2017.2或更新版本</li>
<li>Plunify Cloud 账户 (<a href="https://cloud.plunify.com/register?lang=CN&quot; rel="nofollow">注册</a> 新账户以及邀请朋友都将获得免费云币)</li>
</ol>

<strong>步骤</strong>
1. 下载或克隆示例项目。
https://github.com/plunify/InTime-PlunifyCloud-Tutorial.git

2. 解压文件。 project/eight_bit_uc.xpr.zip

3. 启动 InTime,打开示例项目 eight_bit_uc。
<center><img src="http://xilinx.eetrend.com/files-eetrend-xilinx/article/201812/14019-415…; width="670"></center>

4. 选择目标工具。在本教程中,我们使用 Vivado 2017.2版本。
<center><img src="http://xilinx.eetrend.com/files-eetrend-xilinx/article/201812/14019-416…; alt=""></center>

5. 把 'Run Target' 设置成 'Plunify Cloud'。
<center><img src="http://xilinx.eetrend.com/files-eetrend-xilinx/article/201812/14019-416…; alt=""></center>

6. 把配方 ('Recipe')设置成 'Hot Start' ('Hot Start' 是默认配方)。
<center><img src="http://xilinx.eetrend.com/files-eetrend-xilinx/article/201812/14019-416…; alt=""></center>

7. 将每轮运行数('runs per round')、轮数('rounds')、并行运行数('concurrent runs')设置成教程介绍中的数值。
<center><img src="http://xilinx.eetrend.com/files-eetrend-xilinx/article/201812/14019-416…; alt=""></center>

8. 点击 'Start Recipe', 将任务提交到 Plunify Cloud 的云服务器。
<center><img src="http://xilinx.eetrend.com/files-eetrend-xilinx/article/201812/14019-416…; alt=""></center>

9. 输入 Plunify Cloud 账户信息。您只需输入这一次。
<center><img src="http://xilinx.eetrend.com/files-eetrend-xilinx/article/201812/14019-416…; alt=""></center>

10. 选择云端编译的服务器类别。本教程中使用 Class CA1。
<center><img src="http://xilinx.eetrend.com/files-eetrend-xilinx/article/201812/14019-416…; alt=""></center>

11. 选择服务器类别之后,InTime 会为本项目生成任务 ID (job ID),并将项目上传到 Plunify Cloud 以进行编译。 上传成功或失败,都会有通知显示。请记住您的任务 ID(本示例中为81181)。您可以使用这个 ID 在 Plunify Cloud 控制台查看任务进程。
<center><img src="http://xilinx.eetrend.com/files-eetrend-xilinx/article/201812/14019-416…; alt=""></center>

12. (选做) 在 Plunify Cloud 控制台,您可以在 'History'>'Usage History' 查看历史任务状态。
<center><img src="http://xilinx.eetrend.com/files-eetrend-xilinx/article/201812/14019-416…; width="670"></center>

13. 完成之后,您的注册邮箱会收到一封通知邮件。
<center><img src="http://xilinx.eetrend.com/files-eetrend-xilinx/article/201812/14019-416…; width="670"></center>
14. 回到 InTime 软件,右击'impl 1'的父版本,然后选择Job Action>Download Remote Results>Download Remote Results Without Project File 来下载结果。
<center><img src="http://xilinx.eetrend.com/files-eetrend-xilinx/article/201812/14019-416…; width="670"></center>
15. 将配方('Recipe')设置成 'InTime Default'。

16. 右击拥有最好 TNS 的版本,然后点击 'Set As Parent Revision' 将它设置成父版本。本示例中,"hotstart_1" 和 "hotstart_2" 拥有同样好的结果,所以在二者之间任选其一即可。
<center><img src="http://xilinx.eetrend.com/files-eetrend-xilinx/article/201812/14019-416…; width="670"></center>
17. 重复步骤7到14,运行 'InTime Default' 配方。

18. 将配方('Recipe')设置成 'Extra Opt Exploration'。

19. 右击拥有最好 TNS 的版本,然后点击 'Set As Parent Revision' 将它设置成父版本。本示例中,"calibrate_1" 拥有最好的 TNS。 注意 "calibrate_1" 版本已经达到时序要求,但是我们仍然使用它来完成这个教程。您可以在时序目标实现的时候停止运行,您只需将 'Stop When Goal Met' 设置成 'False' 即可。

20. 重复步骤7到14,运行 'Extra Opt Exploration' 配方。

21. 完成之后,InTime 结果应该如下图所示。
<center><img src="http://xilinx.eetrend.com/files-eetrend-xilinx/article/201812/14019-416…; width="670"></center>

云计算强大的计算能力,可以让机器学习在 FPGA 设计优化上充分发挥用途。如果您有任何疑问,可以通过发邮件至 tellus@plunify.com 与我们联系。

原文链接: https://github.com/plunify/InTime-PlunifyCloud-Tutorial/blob/master/lan…