搜文章
推荐 原创 视频 Java开发 iOS开发 前端开发 JavaScript开发 Android开发 PHP开发 数据库 开发工具 Python开发 Kotlin开发 Ruby开发 .NET开发 服务器运维 开放平台 架构师 大数据 云计算 人工智能 开发语言 其它开发
Lambda在线 > 硅农 > MacOS下也能做Verilog开发/仿真/综合

MacOS下也能做Verilog开发/仿真/综合

硅农 2020-06-28
全平台的EDA开源工具
代码编译icarus-verilog
http://iverilog.icarus.com/
代码编译仿真、Lint Verilator
https://www.veripool.org/wiki/verilator/Installing
仿真看波形gtkwave
http://gtkwave.sourceforge.net/
综合yosys
http://www.clifford.at/yosys/screenshots.html
我们都习惯了用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
有一个问题是我们设置好的命令,每次打开终端都需要重新 source ~/.bash_porfile才能使用
  
    
    
  
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. 生成波形文件 打开波形文件
然后添加波形就可以进行调试了
MacOS下也能做Verilog开发/仿真/综合
软件很小,运行起来速度也非常快,做个小练习足够了。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
图片打开显示
综合的例子
http://www.clifford.at/yosys/screenshots.html

最后

这篇文章并不是推荐大家去折腾这些。而是介绍Mac甚至于Apple生态是一个非常高效的平台,此外我们在购买设备前,也要明确的自己的需求,如果你有游戏娱乐的需求,是学生党,经常要使用各种EDA工具,并且主要生产力在Windows或Linux下,Mac当然不适合你。
工作之后,很多朋友在家的电脑使用场景,更多是做一些小练习,甚至于在家根本不会写代码,更甚者在家连电脑都不开。对于我的需求来说,主要是处理一些文案和视频的处理工作,偶尔做一些小练习,这几个开源EDA工具完全可以满足,甚至是在Apple生态中更擅长图文视频处理更高效。希望我们能抛开偏见,先去了解一件事情,然后在做出自己的判断,而不是妄下论断,人云亦云。

Reference

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

版权声明:本站内容全部来自于腾讯微信公众号,属第三方自助推荐收录。《MacOS下也能做Verilog开发/仿真/综合》的版权归原作者「硅农」所有,文章言论观点不代表Lambda在线的观点, Lambda在线不承担任何法律责任。如需删除可联系QQ:516101458

文章来源: 阅读原文

相关阅读

关注硅农微信公众号

硅农微信公众号:Silicon_Peasant

硅农

手机扫描上方二维码即可关注硅农微信公众号

硅农最新文章

精品公众号随机推荐