pyverilog是一个非常强大的verilog分析工具,本节介绍pyverilog的使用
工作久了,还是习惯linux系统,还是有必要在笔记本上装个虚拟机,这样try脚本更方便。
1 分享一些虚拟机软件
vmware17版本,15版本貌似和win系统有兼容问题,不推荐,
redhat6.8 ios镜像文件
2 安装python3.10方式1
在安装python前需要安装相关的第三方依赖库:
yum install zlib-devel bzip2-devel opssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc libffi-devel
perl脚本执行过程中会报相关cpan库找不到,使用以下命令安装:
wget http://xrl.us/cpanm -o /usr/bin/cpanm --no-check-certificatechmod +x /usr/bin/cpanmcpanm ipc::cmd
安装openssl包:
yum install gcc libffi-devel zlib* openssl-develwget https://www.openssl.org/source/openssl-3.1.1.tar.gztar -zxvf openssl-3.1.1.tar.gzcd openssl-3.1.1/./config --prefix=/usr/local/openssl shared zlmake & make installecho /usr/local/openssl/lib64/ > /etc/ld.so.conf.d/openssl3.0.2.conf
下载python安装文件,
wget https://www.python.org/ftp/python/3.10.12/python-3.10.12.tgztar -xvf python-3.10.12.tgzcd python-3.10.12./configure --prefix=/usr/local/pythonmake & make install
设置环境变量,修改/etc/csh.cshrc文件,增加以下内容:
gvim /etc/csh.cshrcsetenv /usr/local/python/bin/:$pathsetenv ld_library_path /usr/local/openssl/lib64/:ld_library_pathsetenv path /usr/local/openssl/bin/:$path
期间发现还依赖glibc更新版本,下载和安装方式如下:
wget http://ftp.gnu.org/gnu/glibc/glibc-2.17.tar.gztar -xf glibc-2.17.tar.gzcd glibc-2.17mkdir buildcd build../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/binmake -j 8make installstrings /lib64/libc.so.6 | grep glibc
大量的第三方软件需要安装,这里推荐以下网址,可以找到很多安装包以及github上的原始安装包。
https://pkgs.org/http://ftp.gnu.org/gnu/gcc/https://gcc.gnu.org/https://mirror.tuna.tsinghua.edu.cn/gnu/
描述如下:
下载链接如下:
其实rpm可以用两种方式安装
rpm -ivh /mnt/hgfs/share_linux/glibc-2.17.src.rpmyum install /mnt/hgfs/share_linux/glibc-2.17.src.rpm
安装gcc高版本,可以在镜像中找安装包
及其关联安装包,然后./configure make & make install
./configure --disable-multilibln -s /usr/local/lib/libmpc.so.3 /usr/lib/libmpc.so.3ln -s /usr/local/lib/libmpfr.so.6 /usr/lib/libmpfr.so.6ln -s /usr/local/lib/libgmp.so.10 /usr/lib/libgmp.so.10makemake install
安装iverlog
yum install gcc-c++.x86_64yum install glibc-headersyum install autoconfyum install flexyum install bisonwget http://ftp.gnu.org/pub/gnu/gperf/gperf-3.1.tar.gzunzip gperf-3.1./configuremake & make installgit clone https://github.com/steveicarus/iverilog.gitunzip iverilog-master.zipcd iverilog-mastersh autoconf.sh./configuremakemake install# 在以上安装过程中,configure这一步卡了很久,原因是gcc版本太老的缘故,导致交叉编译始终过不了# 可以在清华开源镜像网站下载gcc及其相关包,然后按顺序安装# 根据config.log中的错误信息进行就debug,方法用对。# 根据提示下载安装mpc-1.3.1/mpfr-4.1.1/gmp-5.01/gcc-7.5.0./contrib/download_prerequisites
2 安装python3.10方式2
python使用原始tar.gz包安装很依赖第三方库,非常繁琐,这里推荐使用anaconda来安装python
wget https://repo.anaconda.com/archive/anaconda3-2023.07-1-linux-x86_64.shsh anaconda3-2023.07-1-linux-x86_64.sh
3 安装pyverilog
pip install pyverilog
pyverilog安装说明
https://pypi.org/project/pyverilog/pip3 install jinja2 pytest pytest-pythonpath
4 pyverilog使用
在pyverilog安装包中给出了一些示例脚本,可以参考。
-rw-r--r--. 1 root root 3153 dec 23 2022 example_active_analyzer.py-rw-r--r--. 1 root root 2996 dec 23 2022 example_active_range.py-rw-r--r--. 1 root root 2227 dec 23 2022 example_ast_code.py-rw-r--r--. 1 root root 1749 dec 23 2022 example_codegen.py-rw-r--r--. 1 root root 3648 dec 23 2022 example_controlflow_analyzer.py-rw-r--r--. 1 root root 3176 dec 23 2022 example_dataflow_analyzer.py-rw-r--r--. 1 root root 3952 dec 23 2022 example_dataflow_codegen.py-rw-r--r--. 1 root root 4555 dec 23 2022 example_graphgen.py-rw-r--r--. 1 root root 560 dec 23 2022 example_identifierreplace.py-rw-r--r--. 1 root root 508 dec 23 2022 example_identifiervisitor.py-rw-r--r--. 1 root root 1549 dec 23 2022 example_lexer.py-rw-r--r--. 1 root root 3199 dec 23 2022 example_merge.py-rw-r--r--. 1 root root 2230 dec 23 2022 example_optimizer.py-rw-r--r--. 1 root root 1599 dec 23 2022 example_parser.py-rw-r--r--. 1 root root 1441 dec 23 2022 example_preprocessor.py-rw-r--r--. 1 root root 4210 dec 23 2022 example_subset.py-rw-r--r--. 1 root root 3138 dec 23 2022 example_walker.py-rw-r--r--. 1 root root 2130 dec 23 2022 makefile
安装环境确实很折腾,本文到此为止,后续再编写pyverilog使用及解析。
三星S8的谍照,透露了一股什么味道?
CS Show 2018即将开启 五株科技将携最新产品亮相
电机保护控制器的接线方法和注意事项
拓维信息与湖南工商大学签署校企战略合作协议
科学家研发获突破,可降低回收锂电池成本
介绍pyverilog分析工具的使用
美行科技高管专访:承上启下,把握方向展望未来
基于全稀疏的单阶段3D目标检测器优化方案
PCB板的堆叠与分层解析
索尼X8500G电视评测 无疑是万元左右价位中一个极具性价比的选择
IGBT在控制极上加正电压可以控制导通,电压为0时可以让其关断,那么加一个反压呢?IGBT会是什么情况?
关于充电桩的发展现状应用以及未来市场的展望介绍
Fluke 572-2高温红外测温仪的特性和应用范围
树莓派与nanopi的对比
苹果取消打赏抽成!苹果取消微信内容打赏抽成的背后,是屈服还是套路?
人工智能会有意识吗
混合硬盘介绍
EMI实际应用解决方案的学习
开关电源TL431环路接法及传递函数推导
Microchip PIC系列8位单片机入门教程(2):点亮LED灯