weiqi7777

如何向riscv-gcc中增加编译器内置宏

riscv-gcc工具,有内置的一些宏参数。我们可以根据这些内置的宏参数,判断编译器的行为。一、查看gcc内置宏参数这里以芯来科技发布的riscv-nuclei-elf-gcc工具链为例。使用以下命令,可以得到该工具的内置宏参数:riscv-nuclei-elf-gcc-E-dMa.h|grepriscv可以得到如下的

centos7安装visual code,并离线安装插件

centos7上,可以使用官方提供的yum安装命令进行安装,这里安装使用root用户安装:rpm--importhttps://packages.microsoft.com/keys/microsoft.ascsh-c'echo-e"[code]\nname=VisualStudioCode\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgc

sv利用fork join_none实现信号打拍操作

利用systemverilog的forkjoin_none,能够实现打拍操作。从而不需要写其他的逻辑来实现打拍操作。下面,介绍下,如何实现。有3个信号,a,b,c,现在需要实现,b是a的打拍,c是b的打拍。不能使用always来实现。对于这个问题,其实使用sv的forkjoin_none就可以做到。以下

c++ reference研究

c++相比于c语言,增加引用(reference)语法。这样的话,可以在函数调用,传引用,也可以实现函数内部修改外部参数值。而避免使用指针。之前,对这个引用,没有特别的理解,但是看了侯捷老师的视频之后,会这个突然就恍然大悟了。视频链接如下:https://www.bilibili.co

使用fsdbedit工具修改fsdb波形的层次结构

verdi工具有一个很强大的功能,可以将代码和波形对应起来,这样debug效率就很高。但是这需要有一个前提,代码的信号的层次路径,要和波形里面该信号的层次路径一致,这样verdi工具才能够进行对应。但是如果代码里面的信号层次路径,和波形里面的信号层次路径不一致,那v

verdi中如何查看force信号信息

在仿真中,我们会有对信号进行force的操作,从而实现某些特定的功能。但是在仿真波形中,不能直接从波形上看出,这些信号的驱动,是因为前级电路的驱动,还是因为force的原因的驱动。从而使debug非常的不友好。其实在verdi中,是可以直接看到force信号的信息的。这样的

riscv elf文件中插入section

对于一个elf文件,我们可以通过readelf命令,搭配-S选项,查看该elf的section。一、源代码比如对应如下的汇编文件,文件中定义了两个section。.text.global_start_start:lbx5,0(sp)lbx6,0(sp)lbx7,0(sp)lbx8,0(sp)lbx9,0(sp)lbx10,0(sp)lbx11,0(sp).data.word0x55555555

vcs产生code coverage与function coverage

vcs仿真中,可以产生以下两类coverage:codecoveragefunctioncoverage对于codecoverage,在编译和仿真需要加额外参数。对于functioncoverage,编译和仿真不需要加额外参数。一、codecoveragecodecoverage包含以下一些coverage:linecoveragetogglecoverageconditioncove

服务器集群yum安装软件方法

在一个服务器集群中,大多数服务器是不能联网的,因此不能直接使用yum安装软件。这样的话,就造成安装软件非常麻烦。如果服务器集群中,有一台服务器可以上网。那么,可以让这台可以上网的服务器作为代理,其他不能联网的服务器,通过这台代理服务器上网,实现yum安装软

UVM中如何让一个sequence发送两个包给两个sequencer

在验证中,可能会有如下一个需求。有两个sequencer,各自需要接收一个包。但是接收的包类型不一样。期望环境只有一个sequence,该sequence,同时发送两个包,给对应的两个sequencer对于这样的需求,如何在uvm中实现了?对于这个问题,就需要用到如下知识点:virtualsequ

交互式仿真下dve和verdi中查看二维数组值

在交互式仿真中,可以通过dve工具和verdi工具,查看二维数组的值。但是不能查看稀疏数组的值。什么是稀疏数组,类似于如下定义:reg[7:0]memory[bit[63:0]]一、dve工具启动dve工具,进行交互式仿真后。首先打开需要查看二维数组的源代码,然后选择该二维数组,右键选择s

linux源码安装m4,autoconf,automake,libtool工具

linux中,会有几个常用的工具:m4autoconfautomakelibtool下面介绍下,如何在linux中,源码安装这些工具。一、安装m4-1.4.18m4源代码地址:http://mirrors.kernel.org/gnu/m4/目前,最新版本1.4.18。安装命令wgethttp://mirrors.kernel.org/gnu/m4/m4-1.4.18.tar.gz&

jenkins _curses.error setupterm could not find terminal

在使用jenkins的pipeline时,如果执行的命令中,有用到nurse库,就有如下错误信息,造成pipeline失败。_curses.error:setupterm:couldnotfindterminal使用nurse库,会在终端界面,显示字符界面。如著名的menuconfig,就是用的nurse来实现的。但是jenkins执行pipeline时

vcs回退交互式仿真

vcs联和verdi,支持回退交互式仿真。使用交互式仿真,确保如下环境变量有设置VCS_HOMEVERDI_HOMEvcs在编译的时候,要加入如下选项-lca-kdb-debug_access+all+reverse仿真的时候,在simv可执行程序后面,加入-verdi选项。./simv-verdi启动verdi之后,需要打开verdi的回退

centos6.5 安装wps linux

wps现在有linux版本,linux里面自带的soffice工具,又感觉比较挫,因此考虑在linux中安装wps工具,来操作excel和work文档。安装的linux系统为64位系统的centos6.5,因为该系统没有联网,因此是离线安装。本来以为安装很容易,其实,在安装过程中,遇到了不少坑。特此进