编译开源软件vtr-verilog-to-routing遇到的一点问题

2023-11-08

vtr-verilog-to-routing介绍


       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 环境的问题,以下列出,以供参考。

does not appear to contain CMakeLists.txt.

       问题

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 文件。如果不存在,请创建一个新文件。

find_package(PkgConfig)

问题:

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

find_package(BISON)

问题:

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: not found

这个错误提示表明系统中缺少 clang 编译器。

要解决这个问题,可以按照以下步骤安装 clang 编译器:

1. 打开终端,使用以下命令更新软件包列表:

sudo apt update

2. 安装 clang 编译器:

   sudo apt install clang

3. 等待安装完成后,您可以使用以下命令检查 clang 编译器的版本:

clang --version

   如果看到了 clang 编译器的版本号,则表示已经成功安装。

readline/readline.h' file not found

这个错误提示表明在编译过程中缺少 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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

编译开源软件vtr-verilog-to-routing遇到的一点问题 的相关文章

随机推荐

  • 3D人体重建方法漫谈

    转自 https blog csdn net Asimov Liu article details 96442990 1 概述 2 模型匹配的方法 2 1SMPL Skinned Multi Person Linear model 模型 2
  • 过滤器Filter理解

    1 背景 在设计web应用的时候 用户登录 注册是必不可少的功能 对用户登录信息进行验证的方法也是多种多样 大致可以认为如下模式 前端验证 后台验证 根据笔者的经验 一般会在前端进行一些例如是否输入数据 输入的数据的格式是否正确等一系列的验
  • Java用poi导入导出Excel

    前言 1 将用户信息导出为excel表格 导出数据 2 将Excel表中的信息录入到网站数据库 习题上传 开发中经常会设计到excel的处理 如导出Excel 导入Excel到数据库中 操作Excel目前比较流行的就是 Apache POI
  • 小程序设置按钮分享功能

    一般小程序分享可以通过右上角的分享功能进行分享 如果想要在页面内进行按钮设置 可以这样子设置 效果图 WXML中 定义button按钮来触发分享事件 在button标签上写上 open type share 属性
  • 刷题之字符串的排列 以及双指针滑动窗口

    刷题 给你两个字符串 s1 和 s2 写一个函数来判断 s2 是否包含 s1 的排列 如果是 返回 true 否则 返回 false 换句话说 s1 的排列之一是 s2 的 子串 示例 1 输入 s1 ab s2 eidbaooo 输出 t
  • 力扣练习题之数组中找两个数之和等于目标数值详细讲解

    力扣练习题 1 0 题目 给定一个整数数组 nums 和一个整数目标值 target 请你在该数组中找出 和为目标值 target 的那 两个 整数 并返回它们的数组下标 你可以假设每种输入只会对应一个答案 但是 数组中同一个元素在答案里不
  • 图的深度优先遍历

    深度优先查找 原理 深度优先搜索可以从图的任意顶点开始 然后把该顶点标记为已经访问 每次迭代的时候 深度搜索紧接着处理与当前顶点邻接的未访问顶点 如果有若干个顶点 则任意选择一个 也可以按自己的条件选择 让这个过程一直持续 直到遇到一个终点
  • 2018年蓝桥杯第九届省赛b组第四题--测试次数

    第四题 标题 测试次数 x星球的居民脾气不太好 但好在他们生气的时候唯一的异常举动是 摔手机 各大厂商也就纷纷推出各种耐摔型手机 x星球的质监局规定了手机必须经过耐摔测试 并且评定出一个耐摔指数来 之后才允许上市流通 x星球有很多高耸入云的
  • 冯诺依曼体系结构、哈佛体系结构

    冯诺依曼体系结构 哈佛体系结构与改进型哈佛结构之间的区别 1 冯 诺依曼结构 冯 诺依曼结构又称作普林斯顿体系结构 Princetionarchitecture 1945年 冯 诺依曼首先提出了 存储程序 的概念和二进制原理 后来 人们把利
  • Vue之单文件组件和脚手架

    简介 主要介绍单文件组件的定义和编写方法和脚手架相关知识介绍 单文件组件的定义是一个文件只有一个组件 使用xxx vue文件 这个文件是vue团队定义的一种文件类型 xxx vue文件里面可以使用三个标签
  • SpringBoot 之AOP实现过滤器、拦截器、切面

    文章目录 AOP概述 AOP底层实现机制 过滤器 拦截器 切面区别 过滤器 Filter 使用过滤器统一请求耗时 拦截器 Interceptor 使用拦截器判断是否登录 AspectJ 简介 AspectJ 注解开发 AOP AOP 注解说
  • 【C语言进阶】文件操作

    博客主页 小王又困了 系列专栏 C语言 人之为学 不日近则日退 感谢大家点赞 收藏 评论 目录 一 什么是文件 1 1程序文件 1 2数据文件 1 3文件名 二 文件的打开和关闭 2 1文件指针 2 2文件的打开和关闭 三 文件的顺序读写
  • voc格式标签读写操作

    image load imagePath imageShape image height image width 1 if image isGrayscale else 3 writer PascalVocWriter imgFolderN
  • 使用51单片机ADC0808测量电压

    1 protues仿真图 程序 include
  • 第10篇:强化学习Q-learning求解迷宫问题 代码实现

    你好 我是郭震 zhenguo 今天重新发布强化学习第10篇 强化学习Q learning求解迷宫问题 代码实现 我想对此篇做一些更加详细的解释 1 创建地图 创建迷宫地图 包括墙网格 走到墙网格就是负奖励 注意 空白可行走网格奖励值设置为
  • 利用梳状函数求解周期函数傅里叶变换

    本文对梳状函数 1 单位冲激函数 2 梳状函数及其傅里叶变换 3 卷积和傅里叶变换 卷积是一种运算方式 针对线性时不变系统 最基础的应用就是 在时域中 一个输入 卷积上单位冲激响应 就可以得到输出 傅立叶变换的主要作用就是让函数在时域和频域
  • 在Ubuntu中配置中文输入法

    找到设置 选择区域和语言 点击Manage Installed Languagees 提示安装的话安装即可 4 点击图示内容 5 将Chinese simplified 勾选上 右键点击住 将汉语拖到第一位 重启Ubuntu 6 在输入源中
  • linux设备树节点添加新的复位属性之后设备驱动加载异常问题分析

    linux设备树节点添加新的复位属性之后设备驱动加载异常问题分析 1 linux原始设备驱动信息 1 1 设备树节点信息 1 2 linux设备驱动 1 3 makefile 1 4 Kconfig 1 5 对应的defconfig文件 2
  • Springboot ppt转pdf——aspose方式

    Springboot ppt转pdf aspose方式 1 下载ppt转pdf所需要的包 网盘地址 https pan baidu com s 1V CZ0zXcJzKofxr6qC1g8A 提取码 86lp 2 maven添加依赖 在项目
  • 编译开源软件vtr-verilog-to-routing遇到的一点问题

    vtr verilog to routing介绍 Verilog to Routing VTR 项目是一个全球性的合作项目 旨在提供一个开源框架 用于进行FPGA架构和CAD研究和开发 VTR设计流程以数字电路的Verilog描述和目标FP