编译开源软件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遇到的一点问题 的相关文章

  • IIS应用程序池回收+quartz调度

    我正在 IIS 7 5 上运行一个 Web 应用程序 它需要偶尔回收 否则内存使用情况会失控 这是我正在研究的问题 当它回收时 它实际上不会运行 直到另一个请求到来 而quartz不会运行 有没有办法让IIS在回收应用程序池后立即自动启动1
  • 删除是如何工作的? [复制]

    这个问题在这里已经有答案了 可能的重复 C 编程 free 如何知道要释放多少 https stackoverflow com questions 1518711 c programming how does free know how m
  • 将完整模板参数值映射到原始类型

    我想将数字映射到类型 在这个例子中 我将创建一个函数 将 sizeof 结果映射到有符号的原始类型 我想知道是否有更好的方法来完成我在现代 C 中所做的事情 即采用模板化值并将其转换为类型 现在 这可以将大小转换为已知类型 但我似乎无法在标
  • linq 中使用字符串数组 c# 的 'orderby'

    假设我有一个这样的方法定义 public CustomerOrderData GetCustomerOrderData string CustomerIDs var query from a in db Customer join b in
  • 从模板切换传递的类型

    在 C 中是否可以检查传递给模板函数的类型 例如 template
  • 计算另一个表达式中的 C# 表达式

    我想在另一个表达式中使用一个表达式 Expression
  • 使用 LINQ 更新 IEnumerable 对象的简单方法

    假设我有一个这样的业务对象 class Employee public string name public int id public string desgination public int grade List
  • 根据对象变量搜索对象列表

    我有一个对象列表 这些对象具有三个变量 ID 名称和值 这个列表中可能有很多对象 我需要根据ID或Name找到一个对象 并更改值 例子 class objec public string Name public int UID public
  • 如何对 NServiceBus.Configure.WithWeb() 进行单元测试?

    我正在构建一个 WCF 服务 该服务接收外部 IP 上的请求并将其转换为通过 NServiceBus 发送的消息 我的单元测试之一调用Global Application Start 它执行应用程序的配置 然后尝试将 Web 服务解析为 验
  • 在 asp.net MVC 中使用活动目录进行身份验证

    我想使用活动目录对我的 asp net mvc 项目中的用户进行身份验证 在网上冲浪了几个小时后 我没有找到任何对我有用的东西 我已经看到了所有结果 但什么也没有 我尝试按照许多帖子的建议编辑我的 web config 如果有人可以帮助我提
  • 搜索实体的所有字段

    我正在尝试在客户数据库上实现 多功能框 类型的搜索 其中单个查询应尝试匹配客户的任何属性 这是一些示例数据来说明我想要实现的目标 FirstName LastName PhoneNumber ZipCode Mary Jane 12345
  • 使用具有抗锯齿功能的 C# 更改抗锯齿图像的背景颜色

    我有一个图像需要更改背景颜色 例如 将下面示例图像的背景更改为蓝色 然而 图像是抗锯齿的 所以我不能简单地用不同的颜色替换背景颜色 我尝试过的一种方法是创建第二个图像 仅作为背景 并更改其颜色并将两个图像合并为一个图像 但是这不起作用 因为
  • Project Euler #8,我不明白我哪里出了问题[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我正在做项目欧拉第八题 https projecteuler net problem 8 其中我得到了这个大得离谱的数字 7316
  • 选择查询不适用于使用Parameters.AddWithValue 的参数

    C 中的以下查询不起作用 但我看不出问题所在 string Getquery select from user tbl where emp id emp id and birthdate birthdate cmdR Parameters
  • C++ 中 void(*)() 和 void(&)() 之间的区别[重复]

    这个问题在这里已经有答案了 在此示例代码中 func1是类型void int double and funky是类型void int double include
  • 如何得知客户端从服务器的下载速度?

    根据客户的下载速度 我想以低质量或高质量显示视频 任何 Javascript 或 C 解决方案都是可以接受的 Thanks 没有任何办法可以确定 您只能测量向客户端发送数据的速度 如果没有来自客户端的任何类型的输入来表明其获取信息的速度 您
  • 使用 using 声明时,非限定名称查找如何工作?

    根据 C 标准 这是格式错误还是格式良好 namespace M struct i namespace N static int i 1 using M i using N i int main sizeof i Clang 拒绝它 GCC
  • INotifyPropertyChanged 和 propertyName

    我一直不确定它的含义propertyName实施时INotifyPropertyChanged 所以一般来说你实现INotifyPropertyChanged as public class Data INotifyPropertyChan
  • 如何将 SQL“LIKE”与 LINQ to Entities 结合使用?

    我有一个文本框 允许用户指定搜索字符串 包括通配符 例如 Joh Johnson mit ack on 在使用 LINQ to Entities 之前 我有一个存储过程 该存储过程将该字符串作为参数并执行以下操作 SELECT FROM T
  • 使用未分配的局部变量

    我遇到了一个错误 尽管声明了变量 failturetext 和 userName 错误仍然出现 谁能帮帮我吗 Use of Unassigned local variable FailureText Use of Unassigned lo

随机推荐

  • 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