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命令介绍,三种方法设置环境变量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值