macOS下进行Verilog仿真(Sublime Text3配置verilog代码环境)

sublime text3 夸就完事了 多么小巧强大又好看的ide啊


1.在sublime text3中安装Package Control

没装Package Control的先去装一个,我之前装过了,操作如下:

或者「View-show console」打开命令行,输入如下代码即可

1
import urllib.request,os; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); open(os.path.join(ipp, pf), 'wb').write(urllib.request.urlopen( 'http://sublime.wbond.net/' + pf.replace(' ','%20')).read())

要是无法通过代码安装成功的话还有手动安装的方法,见官网 -> https://packagecontrol.io/installation#st3

安装好了就可以在「preferences」下找到如下最后两个选项

2.下载安装Verilog编译器Icarus Verilog

提供两种方法,一种是通过brew安装,只需要命令行输入下面这句即可,brew install icarus-verilog,另一种是通过源代码编译安装,具体如下:

下载地址:https://sourceforge.net/projects/iverilog/

Icarus Verilog是一个开源的Verilog编译器,支持IEEE-1364 Verilog HDL,包括IEEE1364-2005 plus扩展

下载完后解压,在解压出的文件夹处打开终端,从源代码处编译安装Icarus Verilog

依次输入:(ps:第二步需要不少时间。。)

1
2
3
4
./configure
make
make check
make install

如下,安装完成

然后在命令行输入iverilog检测一下,如果显示如下图:no source files,那么我们就可以顺利用它编译verilog源文件了,否则的话需要在~/.bash_profile里自行配置一下环境变量

3.安装波形查看软件Scansion

mac OS下用来看vcd文件的

下载链接:http://www.logicpoet.com/downloads/

一个安装包,一路快乐安装即可

4.在sublime text3中配置Verilog语法环境

在sublimecommand+shift+p打开package control界面

输入install然后回车,没出来不要急,状态栏是在动的

等待片刻,会出现如下界面,继续在框中输入verilog,然后选择Verilog也就是第一项,回车

然后就可以拥有verilog的语法环境了,选择语法环境的步骤如下:

「view-syntax(语法)-verilog」

5.尝试编译verilog代码

(chao)一段verilog代码,代码来自:Mac上进行Verilog仿真

「123.v」

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
module vaddsws( vra, vrb, vrt, sat );

input [31 : 0] vra;
input [31 : 0] vrb;
output [31 : 0] vrt;
output sat;

wire [31 : 0] sum;
wire [31 : 0] vrt;
wire sat;

assign {sat, sum} = vra + vrb;
assign vrt = (vra[31]^vrb[31]) ? sum : (vra[31]&&vrb[31] ? (sum[31] ? sum : 32'h80000000) : (sum[31] ? 32'h7fffffff : sum));

endmodule

「a.v」

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
`timescale 1ns/100ps
`include "123.v"

module vaddsws_tb;

reg [31: 0] vra;
reg [31: 0] vrb;
wire [31: 0] vrt;
wire sat;

initial
begin
$dumpfile("test.vcd");
$dumpvars(0, vaddsws_tb);
assign vra=32'hffffffff;
assign vrb=32'hffffffff;
#100
assign vra=32'h01234567;
assign vrb=32'h76543210;
#100
$finish;
end

vaddsws add( .vra(vra), .vrb(vrb), .vrt(vrt), .sat(sat) );

endmodule

然后把123.va.v放入一个文件夹,然后在该文件夹终端输入iverilog -o b.vvp a.v,编译成功后文件夹内就会出现一个b.vvp,如图:

然后在命令行输入./b.vvp(名字可以不对应),就会多一个如下图的文件,用来看波形的

然后继续输入open -a Scansion test.vcd,用Scansion查看波形

完结撒花~学verilog去了

打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2018-2020 LeFlacon

奶茶一杯 快乐起飞

支付宝
微信