verilog设置24进制计数器_全平台开源EDA工具——MacOS下也能做Verilog开发/仿真/综合

全平台的EDA开源工具

代码编译icarus-verilog

http://iverilog.icarus.com/​iverilog.icarus.com

代码编译仿真、Lint Verilator

https://www.veripool.org/wiki/verilator/Installing​www.veripool.org

仿真看波形gtkwave

http://gtkwave.sourceforge.net/​gtkwave.sourceforge.net

综合yosys

http://www.clifford.at/yosys/screenshots.html​www.clifford.at

我们都习惯了用Windows和Linux进行开发,对于IC工程师的生产力工具,一提到Mac很多人就摇摇头。不过请不要忘了MacOS是基于Unix开发的,而作为生产力工具,Mac也一点不比Windows和Linux差,只不过因为很多EDA工具都是Linux和Windows下独有,生产力这个东西,你首先要思考的是你的生产力是什么,同样的在MacOS下也可以做Verilog代码练习开发,更重要的是这几个工具是开源而且是全平台。你要切换Windows或Linux也可以。

安装开发环境

首先在Mac上推荐先安装homebrew软件工具包。由于国内用户访问GitHub速度十分慢所以下面这个链接的主人把所有的安装源都换成国内的,而且做成了脚本可以一键安装。直接运行,awesome!

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

安装iverilog

brew install icarus-verilog

安装verilator

brew install verilator

安装gtkwave

brew cask install xquartz
brew cask insatll gtkwave

如果想使用命令行运行gtkwave则需要进行一些配置,gtkwave安装好后可以一般直接运行gtkwave命令,但是如果安装Perl的Switch模块,会遇到错误。

cpan install Switch
perl -V:'installsitelib'

第二条命令将打印出Switch的安装位置。如果是/usr/local/Cellar/perl/...,则必须将Switch复制到以下位置/Library/Perl/5.*/

sudo cp /usr/local/Cellar/perl/5.*/lib/perl5/site_perl/5.*/Switch.pm /Library/Perl/5.*/

配置好后直接运行gtkwave的命令行工具不会出现错误

/Applications/gtkwave.app/Contents/Resources/bin/gtkwave

把这条命令添加到~/.bash_profile

alias gtkwave = /Applications/gtkwave.app/Contents/Resources/bin/gtkwave

然后在命令行输入gtkwave直接打开gtkwave

af0e17bbf7280d171b29d589104f7211.png

有一个问题是我们设置好的命令,每次打开终端都需要重新source ~/.bash_porfile才能使用

打开~/.zshrc在最后一行添加上即可

source ~/.bash_porfile

编译仿真

接下来写一段小代码来试一下。

echo "开始编译"
iverilog -o wave ../src/I2C_Ctrl_EEPROM.v I2C_Ctrl_EEPROM_tb.v
echo "编译完成"
vvp -n wave -lxt2
echo "生成波形文件"
cp wave.vcd wave.lxt
echo "打开波形文件"
gtkwave wave.lxt

新建一个脚本文件,把这段代码复制进去,保存问run.sh

在terminal下运行source run.sh,一键仿真跑起来,会打印出如下信息

开始编译
编译完成
LXT2 info: dumpfile wave.vcd opened for output.
生成波形文件
打开波形文件

然后添加波形就可以进行调试了

2a6db5262f29335210630ea7bfacd754.png

软件很小,运行起来速度也非常快,做个小练习足够了。Verilator的使用可以自行查看官网。

综合

安装综合工具yosys。

brew install yosys

一段计数器代码

module counter (clk, rst, en, count);
   input clk, rst, en;
   output reg [3:0] count;
   always @(posedge clk)
      if (rst)
         count <= 4'd0;
      else if (en)
         count <= count + 4'd1;
endmodule

综合命令

# read design
read_verilog counter.v
hierarchy -top counter
# high-level synthesis
proc; opt; fsm; opt; memory; opt; #techmap; opt;
write_verilog synth.v

将上述命令保存为show_rtl.ys文件,在终端下执行命令进行综合。

yosys show_rtl.ys

综合完成后会生成synth.v文件,这是综合后的网表。

使用Graphviz来查看电路原理图,需要确保已经安装。用homebrew安装。

brew install graphviz

生成dot文件

yosys -p "prep; show -stretch -prefix counter -format dot" counter.v

生成png图片

dot counter.dot -T png -o counter.png

图片打开显示

7d7caaed6837650bb02c681f797fded9.png

综合的例子

http://www.clifford.at/yosys/screenshots.html​www.clifford.at

最后

这篇文章并不是推荐大家去折腾这些。而是介绍Mac甚至于生态是一个非常高效的平台,此外我们在购买设备前,也要明确的自己的需求,如果你有游戏娱乐的需求,是学生党,经常要使用各种EDA工具,并且主要生产力在Windows或Linux下,Mac当然不适合你。

工作之后,很多朋友在家的电脑使用场景,更多是做一些小练习,甚至于在家根本不会写代码,更甚者在家连电脑都不开。对于我的需求来说,主要是处理一些文案和视频的处理工作,偶尔做一些小练习,这几个开源EDA工具完全可以满足,甚至是在生态中更擅长图文视频处理更高效。希望我们能抛开偏见,先去了解一件事情,然后在做出自己的判断,而不是妄下论断,人云亦云。

Reference

https://ughe.github.io/2018/11/06/gtkwave-osx​ughe.github.io https://stackoverflow.com/questions/36240998/visualizing-yosys-output-not-working​stackoverflow.com

http://weixin.qq.com/r/1UQnPyLEKH9XrWZc9xHH (二维码自动识别)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值