Linux 安装 Nirgam

目录

  • Linux 安装 Nirgam
  • 声明
    • 安装
  • 错误修正
    • ⭐修正后需要重新编译
  • 参考资料

Linux 安装 Nirgam

声明

  1. ⭐make失败调整重试前一定先 make clean 一下!!!
  2. 特别感谢一篇博客园的博客(参考文献1),帮我解决了很多问题,没想到这个模拟器的官方文件错误居然这么多
  3. 本文安装NIRGAM是基于 SYSTEMC 3.0.1 版本!!

安装

  1. 首先下载安装包和用户手册,官网的那个点击下载没反应不知道为啥,然后我是去github上随便找了一个下载的
  2. 解压安装包。
  3. 修改解压目录下的Makefile.defs文件,将变量SYSTEMC的值修改为SYSTEMC的安装位置,将第25行和28行修改为(-o前加-fPIC关键字,以25行为例)
    $(CC) $(CFLAGS) $(INCDIR) -fPIC -o $@ -c $<

第31行和34行-W1修改为-Wl(已31行为例)

    $(CC) -shared -Wl,-soname,$@ -o $@ $<
  1. 修改解压目录下的Makefile文件,将变量TARGET_ARCH的值修改为linux64
    将原来的CFLAGS替换为$(DEBUG) $(OTHER) $(LDFLAG) -std=c++17 -fPIC
# architecture
TARGET_ARCH = linux64

# CFLAGS 包含 -std=c++17 以使用 C++ 17 标准
CFLAGS = $(DEBUG) $(OTHER) $(LDFLAG) -std=c++17 -fPIC

#CFLAGS = $(DEBUG) $(OTHER) $(LDFLAG)
#CFLAGS = $(DEBUG) $(LDFLAG)
  1. 编译时需要配置环境变量,每次运行nirgam之前都要配置环境变量
    或者写入~/.bashrc文件
export SYSTEMC_HOME=/home/opt/systemc
export LD_LIBRARY_PATH=$SYSTEMC_HOME/lib-linux64
# NIRGAM,关闭对信号写操作
export SC_SIGNAL_WRITE_CHECK=DISABLE
  1. 执行make生成Nirgam可执行文件,执行make的时候会有一些好像是报错的东西,但是好像对后面的执行没啥影响

在这里插入图片描述

  1. 每次执行./Nirgam时一定记得先设置环境变量,否则会有error

在这里插入图片描述

错误修正

根据论文“基于NIRGAM的片上网络性能仿真_王荣阳”,模拟器源代码有需要修改的问题

  1. application\src\Bursty.cppapplication\src\CBR.cpp中这行需要将+1改为-1
	// compute number of flits in packet (function of pkt size and flit size)
	num_flits = (int)((ceil)((double)(pkt_size - HEAD_PAYLOAD)/(DATA_PAYLOAD)) - 1);
  1. application\src\Bursty.cppapplication\src\CBR.cpp中这行需要将cell去掉
	// compute inter-packet interval
	pkt_interval = (int)((100.0/load) * num_flits * cycles_per_flit);

⭐修正后需要重新编译

参考资料

[1] Nirgam v2.1在ubuntu 14.04 64bit下的安装
[2] 王荣阳,王科. 基于NIRGAM的片上网络性能仿真[J]. 航空电子技术,2014(1):30-34. DOI:10.3969/j.issn.1006-141X.2014.01.07.
[3] Linux 环境变量配置的 6 种方法
[4] Linux中export命令介绍,三种方法设置环境变量

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/958951.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

分享一款开源好用的博客管理系统

ThriveX 现代化博客管理系统 &#x1f389; &#x1f525; 首先最重要的事情放第一 开源不易&#xff0c;麻烦占用 10 秒钟的时间帮忙点个免费的 Star&#xff0c;再此万分感谢&#xff01; 下面开始进入主题↓↓↓ &#x1f308; 项目介绍&#xff1a; Thrive 是一个简而不…

Kafka 深入服务端 — 时间轮

Kafka中存在大量的延迟操作&#xff0c;比如延时生产、延时拉取和延时删除等。Kafka基于时间轮概念自定义实现了一个用于延时功能的定时器&#xff0c;来完成这些延迟操作。 1 时间轮 Kafka没有使用基于JDK自带的Timer或DelayQueue来实现延迟功能&#xff0c;因为它们的插入和…

九、CSS工程化方案

一、PostCSS介绍 二、PostCSS插件的使用 项目安装 - npm install postcss-cli 全局安装 - npm install postcss-cli -g postcss-cli地址&#xff1a;GitHub - postcss/postcss-cli: CLI for postcss postcss地址&#xff1a;GitHub - postcss/postcss: Transforming styles…

FFPlay命令全集合

FFPlay是以FFmpeg框架为基础&#xff0c;外加渲染音视频的库libSDL构建的媒体文件播放器。 ffplay工具下载并播放视频&#xff0c;可以辅助卡看流信息。 官网下载地址&#xff1a;http://ffmpeg.org/download.html#build-windows 下载build好的exe程序&#xff1a; 此处下载…

wangEditor富文本编辑器,Laravel上传图片配置和使用

文章目录 前言步骤1. 构造好前端模版2. 搭建后端存储3. 调试 前言 由于最近写项目需要使用富文本编辑器&#xff0c;使用的是VUE3.0版本所以很多不兼容&#xff0c;实际测试以后推荐使用wangEditor 步骤 构造好前端模版搭建后端存储调试 1. 构造好前端模版 安装模版 模版安…

利用 SAM2 模型探测卫星图像中的农田边界

将 Segment Anything Model Version 2 应用于卫星图像以检测和导出农业地区田地边界的分步教程 &#x1f31f; 简介 手动绘制田地边界是最耗时的任务之一&#xff0c;其准确性取决于绘制者的表现。然而&#xff0c;精确的边界检测在很多领域都有应用。例如&#xff0c;假设您…

数据库管理-第287期 Oracle DB 23.7新特性一览(20250124)

数据库管理287期 20245-01-24 数据库管理-第287期 Oracle DB 23.7新特性一览&#xff08;20250124&#xff09;1 AI向量搜索&#xff1a;算术和聚合运算2 更改Compatible至23.6.0&#xff0c;以使用23.6或更高版本中的新AI向量搜索功能3 Cloud Developer包4 DBMS_DEVELOPER.GET…

第13章 深入volatile关键字(Java高并发编程详解:多线程与系统设计)

1.并发编程的三个重要特性 并发编程有三个至关重要的特性&#xff0c;分别是原子性、有序性和可见性 1.1 原子性 所谓原子性是指在一次的操作或者多次操作中&#xff0c;要么所有的操作全部都得到了执行并 且不会受到任何因素的干扰而中断&#xff0c;要么所有的操作都不执行…

mysql-06.JDBC

目录 什么是JDBC: 为啥存在JDBC: JDBC工作原理&#xff1a; JDBC的优势&#xff1a; 下载mysql驱动包&#xff1a; 用java程序操作数据库 1.创建dataSource: 2.与服务端建立连接 3.构造sql语句 4.执行sql 5.关闭连接&#xff0c;释放资源 参考代码&#xff1a; 插…

unity 粒子系统设置触发

1、勾选Triggers选项 2、将作为触发器的物体拉入队列当中&#xff0c;物体上必须挂载collider 3、将想要触发的方式&#xff08;Inide、Outside、Enter和Exit&#xff09;选择为”Callback“&#xff0c;其他默认为”Ignore“ 4、Collider Query Mode 设置为All&#xff1a…

LMI Gocator GO_SDK VS2019引用配置

LMI SDK在VS2019中的引用是真的坑爹,总结一下经验,希望后来的人能少走弯路.大致内容如下: &#xff08;1&#xff09; 环境变量 &#xff08;2&#xff09;C/C 附加包含目录 E:\GWQ\Gocator\GO_SDK\Gocator\GoSdk E:\GWQ\Gocator\GO_SDK\Platform\kApi &#xff08;3&#…

61,【1】BUUCTF WEB BUU XSS COURSE 11

进入靶场 左边是吐槽&#xff0c;右边是登录&#xff0c;先登录试试 admin 123456 admiin# 123456 admin"# 123456 不玩了&#xff0c;先去回顾下xss 回顾完就很尴尬了&#xff0c;我居然用SQL的知识去做xss的题 重来 吐槽这里有一个输入框&#xff0c;容易出现存储型…

EchoMimicV2的部署使用

最近有一个录课的需要&#xff0c;我不想浪费人力&#xff0c;只想用技术解决。需求很简单&#xff0c;就是用别人现成的录课视频中的形象和声线&#xff0c;再结合我提供的讲稿去生成一个新的录课视频。我觉得应该有现成的技术了&#xff0c;我想要免费大批量生产。最近看到这…

五、华为 RSTP

RSTP&#xff08;Rapid Spanning Tree Protocol&#xff0c;快速生成树协议&#xff09;是 STP 的优化版本&#xff0c;能实现网络拓扑的快速收敛。 一、RSTP 原理 快速收敛机制&#xff1a;RSTP 通过引入边缘端口、P/A&#xff08;Proposal/Agreement&#xff09;机制等&…

嵌入式知识点总结 ARM体系与架构 专题提升(四)-编程

针对于嵌入式软件杂乱的知识点总结起来&#xff0c;提供给读者学习复习对下述内容的强化。 目录 1.嵌人式编程中&#xff0c;什么是大端?什么是小端 ? 2.如何判断计算机处理器是大端&#xff0c;还是小端 ? 3.如何进行大小端的转换 ? 4.如何对绝对地址0x100000赋值? 1…

Ansys Thermal Desktop 概述

介绍 Thermal Desktop 是一种用于热分析和流体分析的通用工具。它可用于组件或系统级分析。 来源&#xff1a;CRTech 历史 Thermal Desktop 由 C&R Technologies (CR Tech) 开发。它采用了 SINDA/FLUINT 求解器。SINDA/FLUINT 最初由 CR Tech 的创始人为 NASA 的约翰逊航…

Python vLLM 实战应用指南

文章目录 1. vLLM 简介2. 安装 vLLM3. 快速开始3.1 加载模型并生成文本3.2 参数说明 4. 实战应用场景4.1 构建聊天机器人示例对话&#xff1a; 4.2 文本补全输出示例&#xff1a; 4.3 自定义模型服务启动服务调用服务 5. 性能优化5.1 GPU 加速5.2 动态批处理 6. 总结 vLLM 是一…

计算机网络 (60)蜂窝移动通信网

一、定义与原理 蜂窝移动通信网是指将一个服务区分为若干蜂窝状相邻小区并采用频率空间复用技术的移动通信网。其原理在于&#xff0c;将移动通信服务区划分成许多以正六边形为基本几何图形的覆盖区域&#xff0c;称为蜂窝小区。每个小区设置一个基站&#xff0c;负责本小区内移…

从63 秒到 0.482 秒:深入剖析 MySQL 分页查询优化

在日常开发中&#xff0c;数据库查询性能问题就像潜伏的“地雷”&#xff0c;总在高并发或数据量庞大的场景下引爆。尤其是当你运行一条简单的分页查询时&#xff0c;结果却让用户苦苦等待&#xff0c;甚至拖垮了系统。这种情况你是否遇到过&#xff1f; 你可能会想&#xff1…

Word 中实现方框内点击自动打 √ ☑

注&#xff1a; 本文为 “Word 中方框内点击打 √ ☑ / 打 ☒” 相关文章合辑。 对第一篇增加了打叉部分&#xff0c;第二篇为第一篇中方法 5 “控件” 实现的详解。 在 Word 方框内打 √ 的 6 种技巧 2020-03-09 12:38 使用 Word 制作一些调查表、检查表等&#xff0c;通常…