Skip to content

Q&A 0510

Jianfeng An edited this page May 10, 2017 · 11 revisions

1.gtkWave默认显示值是十六进制

而观察的存储器下标是十进制,所以要注意转换。 例如想观察目的寄存器地址显示为11,对应十进制为17,所以要看regFile(17)的值。
在gtkWave信号上点击右键,可以改为十进制显示,这样就不容易弄混。

2.如何在虚拟机中安装软件

sudo apt install 软件名称

3.运行./run-bak.sh Top报错:Cannot run program verilator

这是因为未安装verilator软件,无法产生VCD文件,请参考实验指导安装verilator。

4.如何拷贝语法加亮的scala代码到word?

需要在sublime中安装highlight插件,然后可以在菜单中选择Edit->Highlight->Copy to clipboard as RTL.

5.一些易错的运算

比较相等,在Chisel中使用===和!=分别表示相等和不等; &表示按位与操作,例如val hiBits = x & "h_ffff_000".U;
&&表示逻辑与,例如val hit = tagMatch & valid;
>>是逻辑右移,最高位补零;
>>>是算术右移,最高位补符号位;

6.一个时钟内对同一信号多次赋值会怎么样?

仅最后一次赋值有效,会覆盖前面所有的赋值。
例如你写了这样的代码:
pc:=pc+1
……
pc:=pc+1
这个周期pc只会+1而不是+2.

7.