全部产品
弹性计算 会员服务 网络 安全 移动云 数加·大数据分析及展现 数加·大数据应用 管理与监控 云通信 阿里云办公 培训与认证 智能硬件
存储与CDN 数据库 域名与网站(万网) 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 更多
云服务器 ECS

f3 RTL开发最佳实践

更新时间:2018-07-08 21:28:04

本文描述基于f3的RTL(Register Transfer Level)开发流程。

说明

  • 本文所述所有操作必须由同一个账号在同一个地域执行。
  • 强烈建议您使用RAM用户操作FPGA实例。为了防止意外操作,您需要让RAM用户仅执行必要的操作。在操作及下载FPGA镜像时,因为您需要从指定的OSS存储空间下载原始DCP工程,所以您需要为FaaS账号创建一个角色,并授予临时权限,让FaaS管理账号可以访问指定的OSS存储空间。如果需要对IP加密,必须授予RAM用户KMS相关的权限。如果需要做权限检查,必须授予查看用户资源的权限。

前提条件

操作步骤

  1. 远程连接Linux实例

    说明:编译工程时需要2 ~ 3小时。建议您使用nohup或者VNC连接实例,以免编译时意外退出。

  2. 下载 RTL参考设计

  3. 解压文件。

  4. 运行以下脚本配置f3环境。

    1. source /root/xbinst_oem/F3_env_setup.sh

    说明:每打开一个terminal窗口都需要运行此命令。

  5. 指定OSS存储空间。

    1. faascmd config --id=hereIsYourSecretId --key=hereIsYourSecretKey #将hereIsYourSecretId和hereIsYourSecretKey替换为您的RAM用户AK信息
    2. faascmd auth --bucket=hereIsYourBucket # 将hereIsYourBucket替换为您创建的OSS Bucket名称
  6. 运行以下命令编译RTL工程。

    1. cd /root/f3/examples/rel_faas_f3/hw/
    2. sh compiling.sh

    说明:编译工程需要2 ~ 3小时。

  7. 上传网表文件,并下载FPGA镜像:您可以采用 单步操作流程 或者 脚本化流程 完成该步骤。

    • 单步操作流程:

      1. 运行以下命令,将压缩包上传到您个人的OSS Bucket,再将存放在您个人OSS Bucket中的gbs上传到FaaS管理单元的OSS Bucket中。

        1. faascmd upload_object --object=bit.tar.gz --file=bit.tar.gz
        2. faascmd create_image --object=bit.tar.gz --fpgatype=xilinx --name=hereIsFPGAImageName --tags=hereIsFPGAImageTag --encrypted=false --shell=f30001

        upload_object示例

        create_image

      2. 运行命令查看FPGA镜像是否处于可下载状态。

        1. faascmd list_images

        在返回结果中,如果看到 "State":"success",表示FPGA镜像已经可以下载。找到并记录FpgaImageUUID。

        list_images返回结果

      3. 运行以下命令,在返回结果中,找到并记录FpgaUUID。

        1. faascmd list_instances --instanceId=hereIsYourInstanceId # hereIsYourInstanceId替换为f3实例ID
      4. 运行以下命令下载FPGA镜像。

        1. faascmd download_image --instanceId=hereIsYourInstanceId --fpgauuid=hereIsFpgaUUID --fpgatype=xilinx --imageuuid=hereIsFpgaImageUUID --imagetype=afu --shell=f30001 # hereIsYourInstanceId替换为f3实例ID,hereIsFpgaUUID替换为您获取的FpgaUUID,hereIsImageUUID替换为您获取的FpgaImageUUID

        下载镜像

      5. 运行以下命令查看镜像是否下载成功。

        1. faascmd fpga_status --fpgauuid=hereIsFpgaUUID --instanceId=hereIsYourInstanceId # hereIsFpgaUUID替换为您获取的FpgaUUID,hereIsYourInstanceId替换为f3实例ID。

        以下为返回结果示例。如果显示的FpgaImageUUID与您获取的FpgaImageUUID一致,并且显示 "TaskStatus":"valid",说明镜像下载成功。

        镜像下载成功

    • 脚本化流程:仅适用于配备单块FPGA卡的f3实例。

      1. 运行以下命令上传并生成镜像文件。

        1. cd /root/xbinst_oem/tool
        2. ./faas_upload_and_create_image.sh bit.tar.gz

        上传并生成镜像文件脚本运行结果

      2. 下载镜像文件。

        1. ./faas_download_image.sh
本文导读目录