Verilog-to-Routing(VTR)项目是一个全球性的合作项目,旨在提供一个开源框架,用于进行FPGA架构和CAD研究和开发。 VTR设计流程以数字电路的Verilog描述和目标FPGA架构的描述作为输入。然后执行以下操作:
1、展开、综合和部分映射(PARMYS)
2、逻辑优化和技术映射(ABC)
3、打包、布局、路由和时间分析(VPR)
生成FPGA速度和面积结果。 VTR包括一组已知可与设计流程配合使用的基准设计。
以上摘自官网https://github.com/verilog-to-routing/vtr-verilog-to-routing/tree/master
有些同学在编译时遇到了一些问题,主要是cmake 环境的问题,以下列出,以供参考。
问题
CMake Warning:
No source or binary directory provided. Both will be assumed to be the
same as the current working directory, but note that this warning will
become a fatal error in future CMake releases.
CMake Error: The source directory "/vtr-verilog-to-routing/build" does not appear to contain CMakeLists.txt.
解决方法 :
1、指定源目录和二进制目录:在运行 CMake 命令时,指定源目录和二进制目录。例如,如果您的源代码位于 "/vtr-verilog-to-routing" 目录中,您可以在命令行中输入以下命令:cmake /vtr-verilog-to-routing -B /vtr-verilog-to-routing/build。这将指定源目录为 "/vtr-verilog-to-routing",指定二进制目录为 "/vtr-verilog-to-routing/build"。
2、在正确的目录中运行 CMake 命令:确保您在正确的目录中运行 CMake 命令。例如,如果您的 CMakeLists.txt 文件位于 "/vtr-verilog-to-routing/CMakeLists.txt",则应该在 "/vtr-verilog-to-routing" 目录中运行 CMake 命令。
3、检查 CMakeLists.txt 文件是否存在:确保您的源目录中包含 CMakeLists.txt 文件。如果不存在,请创建一个新文件。
问题:
CMake Error at /usr/share/cmake-3.25/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)
Call Stack (most recent call first):
/usr/share/cmake-3.25/Modules/FindPackageHandleStandardArgs.cmake:600 (_FPHSA_FAILURE_MESSAGE)
/usr/share/cmake-3.25/Modules/FindPkgConfig.cmake:99 (find_package_handle_standard_args)
CMakeLists.txt:387 (find_package)
解决方法:
1、确保 PkgConfig 工具已经安装:检查您的系统上是否已经安装了 PkgConfig 工具。如果未安装,请安装 PkgConfig 工具。
2、添加 PkgConfig 工具路径到 PATH:如果您已经安装了 PkgConfig 工具但仍然遇到此问题,请检查您的环境变量是否包含 PkgConfig 工具路径。如果不包含,请将 PkgConfig 工具路径添加到 PATH 环境变量中。
3、指定 PKG_CONFIG_EXECUTABLE 变量:如果您已经安装了 PkgConfig 工具但仍然遇到此问题,请尝试在 CMakeLists.txt 文件中添加以下行:set(PKG_CONFIG_EXECUTABLE /usr/bin/pkg-config),将 PKG_CONFIG_EXECUTABLE 变量设置为 PkgConfig 工具的路径。
Ubuntu 20 安装 PkgConfig 工具:
sudo apt install pkg-config
问题:
CMake Error at /usr/share/cmake-3.25/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
Could NOT find BISON (missing: BISON_EXECUTABLE)
Call Stack (most recent call first):
/usr/share/cmake-3.25/Modules/FindPackageHandleStandardArgs.cmake:600 (_FPHSA_FAILURE_MESSAGE)
/usr/share/cmake-3.25/Modules/FindBISON.cmake:306 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
libs/EXTERNAL/libsdcparse/CMakeLists.txt:16 (find_package)
解决方法:
1、确保 Bison 工具已经安装:检查您的系统上是否已经安装了 Bison 工具。如果未安装,请安装 Bison 工具。
2、添加 Bison 工具路径到 PATH:如果您已经安装了 Bison 工具但仍然遇到此问题,请检查您的环境变量是否包含 Bison 工具路径。如果不包含,请将 Bison 工具路径添加到 PATH 环境变量中。
3、指定 BISON_EXECUTABLE 变量:如果您已经安装了 Bison 工具但仍然遇到此问题,请尝试在 CMakeLists.txt 文件中添加以下行:set(BISON_EXECUTABLE /usr/bin/bison),将 BISON_EXECUTABLE 变量设置为 Bison 工具的路径。
安装 Bison 工具:
sudo apt install bison
这个错误提示表明系统中缺少 clang 编译器。
要解决这个问题,可以按照以下步骤安装 clang 编译器:
1. 打开终端,使用以下命令更新软件包列表:
sudo apt update
2. 安装 clang 编译器:
sudo apt install clang
3. 等待安装完成后,您可以使用以下命令检查 clang 编译器的版本:
clang --version
如果看到了 clang 编译器的版本号,则表示已经成功安装。
这个错误提示表明在编译过程中缺少 readline 库的头文件。
要解决这个问题,可以按照以下步骤操作:
1. 确认 readline 库已安装:使用以下命令检查 readline 库是否已经安装:
dpkg -s libreadline-dev
如果已经安装,可以看到关于 readline 库的信息。如果未安装,请执行以下命令安装 readline 库:
sudo apt-get install libreadline-dev
2. 确认头文件路径:检查编译命令是否正确指定了 readline 库的头文件路径。如果未正确指定,请在编译命令中添加以下参数:
-I /usr/include/readline
3. 确认库文件路径:检查链接命令是否正确指定了 readline 库的库文件路径。如果未正确指定,请在链接命令中添加以下参数:
-L /usr/lib/x86_64-linux-gnu -lreadline