电子说
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-certificate chmod +x /usr/bin/cpanm cpanm IPC::Cmd
安装openssl包:
yum install gcc libffi-devel zlib* openssl-devel wget https://www.openssl.org/source/openssl-3.1.1.tar.gz tar -zxvf openssl-3.1.1.tar.gz cd openssl-3.1.1/ ./config --prefix=/usr/local/openssl shared zl make & make install echo "/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.tgz tar -xvf Python-3.10.12.tgz cd Python-3.10.12 ./configure --prefix=/usr/local/python make & make install
设置环境变量,修改/etc/csh.cshrc文件,增加以下内容:
gvim /etc/csh.cshrc setenv /usr/local/python/bin/:$PATH setenv LD_LIBRARY_PATH /usr/local/openssl/lib64/:LD_LIBRARY_PATH setenv PATH /usr/local/openssl/bin/:$PATH
期间发现还依赖glibc更新版本,下载和安装方式如下:
wget http://ftp.gnu.org/gnu/glibc/glibc-2.17.tar.gz tar -xf glibc-2.17.tar.gz cd glibc-2.17 mkdir build cd build ../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin make -j 8 make install strings /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.rpm yum install /mnt/hgfs/share_linux/glibc-2.17.src.rpm
安装gcc高版本,可以在镜像中找安装包
及其关联安装包,然后./configure make & make install
./configure --disable-multilib ln -s /usr/local/lib/libmpc.so.3 /usr/lib/libmpc.so.3 ln -s /usr/local/lib/libmpfr.so.6 /usr/lib/libmpfr.so.6 ln -s /usr/local/lib/libgmp.so.10 /usr/lib/libgmp.so.10 make make install
安装iverlog
yum install gcc-c++.x86_64 yum install glibc-headers yum install autoconf yum install flex yum install bison wget http://ftp.gnu.org/pub/gnu/gperf/gperf-3.1.tar.gz unzip gperf-3.1 ./configure make & make install git clone https://github.com/steveicarus/iverilog.git unzip iverilog-master.zip cd iverilog-master sh autoconf.sh ./configure make make 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.sh sh 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使用及解析。
审核编辑:刘清
全部0条评论
快来发表一下你的评论吧 !