【教程】f4pga-arch-defs 配置及操作手册
参考文档
环境准备
下载
通过git下载源码
# 官方仓库
git clone https://github.com/f4pga/f4pga-arch-defs.git --recursive
编译环境
完成后,安装编译工具make(已有可跳过此步)
sudo apt-get install make -y
进入项目路径,利用makefile编译所需环境
# 此处需要有魔法上网
# 第一次执行时较慢
cd f4pga-arch-defs
make env
# 若没有C++编译环境则:
sudo apt-get install build-essential
# 若提示版本冲突,可以尝试更换镜像源
# 进入网址:https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/
# 选择系统版本,如:ubuntu 20.04
# 将系统镜像配置作备份,之后更换镜像源。
# 系统镜像源位置:/etc/apt/sources.list
注意事项:
- 注意1:
- 执行mk的过程中,会下载miniconda,如果本机已有conda环境,可以修改mk文件,指定使用本机的conda,mk文件在
f4pga-arch-defs/third_party/make-env/conda.mk
- 注意2:
- 如果网络连接不畅(比如我),那么可以拷贝他人已配置好的env,之后需要将conda.sh、activate、conda这三个文件中的他人路径修改为本机的conda路径
测试环境
环境编译完成后,在f4pga-arch-defs路径下将产生build文件夹
进入build路径,用35t架构文件测试counter实例
# f4pga-arch-defs/build/xilinx/xc7/tests/counter
make counter_arty_bit
- 注意:
- 如果make过程中提示如下信息,需要安装包管理工具pip以及fasm依赖后重新make
# 报错信息
required dependencies and then reinstalling the fasm package with:
pip uninstall
pip install -v fasm
# pip安装
sapt isntall python3-pip
# fasm安装
pip install fasm
完成。
生成 arch.timing.xml
arch.timing.xml用于描述 FPGA 架构中的时序信息。其提供了关于不同逻辑元件、时钟信号以及各种时序约束的详细信息,主要供布局(placement)和布线(routing)阶段使用。
# f4pga-arch-defs/build/xilinx/xc7/archs/artix7/devices/xc7a50t-virt
cd f4pga-arch-defs/build/xilinx/xc7/archs/artix7/devices/xc7a50t-virt
make file_xilinx_xc7_archs_artix7_devices_xc7a50t-virt_arch.timing.xml
生成 rr_graph.bin 和 grid_map 文件
到 f4pga-arch-defs 的 xc7 系列对应的 devices 目录
cd f4pga-arch-defs/build/xilinx/xc7/archs/artix7/devices
make file_xilinx_xc7_archs_artix7_devices_rr_graph_xc7a50t_test.rr_graph.real.bin
主要输出文件:
- arch.timing.xml
- rr_graph_xc7a50t_test.lookahead.bin
- rr_graph_xc7a50t_test.place_delay.bin
- rr_graph_xc7a50t_test.rr_graph.real.bin
- vpr_grid_map.csv