蜂鸟E203系列——Linux开发工具

摘要:
Md=e-06Icarus Verilog:https://www.cnblogs.com/whik/p/11980103.htmlIcarusVerilog+GTKWaveGuide:铬-extension://ibllepbpahcoppkjjllbabhnigcbffpi/http://inf-server.inf.uth.gr/~konstadel/resources/Icarus_Verilog_GTKWave_Guide.pdfgtkave安装GTKSave是一个使用GTK的WAV文件波形查看工具,支持Verilog VCD/EVCD文件格式。Bus001Device029:ID15ba:002aOlimexLtd.ARM-USB-TINY-HJTAGInterface使用以下命令设置udevrules,以便可以通过plugdevgroup sudogedit/etc/udev/rules.d/99-openocd.rules访问USB设备,然后保存以退出/Dev/ttyUSB0/Dev/ttyUSB1ls-l/Dev/ttyUSB//运行此命令后将显示以下信息。

欲观原文,请君移步

Vivado安装

vivado是运行工程的工具,所以必须安装

image

后台回复【vivado2017】可获取vivado 2017.4 | 后台回复【vivado2020】可获取vitis 2020.1

  1. 安装命令:打开一个终端,然后找到vivado下面的路径,执行如下命令

sudo ./xsetup

安装步骤跟windows系统下一样,将license复制进行破解,如果是vitis 2020版本,则无需解压。

  1. 安装JTAG驱动:在安装目录下,找到
    vivado/2017.4/data/xicom/cable_drivers/lin64/install_drivers

切记:此时不要插入JTAG cable,然后执行如下指令即可安装驱动

sudo ./install_drivers

  1. 设置环境变量
  • 在终端中,打开.bashrc文件

sudo gedit .bashrc

  • 在该文件末端,添加:

source /opt/Xilinx/Vivado/2017.4/settings64.sh

  • 关闭终端,并在你想创建vivado工程的目录下,右键打开终端,然后执行

vivado

iverilog安装

Icarus Verilog是一个轻量、免费、开源的Verilog编译器,基于C++实现,开发者是 Stephen Williams ,遵循 GNU GPL license 许可证,安装文件中已经包含 GTKWave支持Verilog/VHDL文件的编译和仿真,命令行操作方式,类似gcc编译器,通过testbench文件可以生成对应的仿真波形数据文件,通过自带的GTKWave可以查看仿真波形图,支持将Verilog转换为VHDL文件。

image

  1. 安装iverilog

后台回复【iverilog】可获取iverilog安装包

在有网的情况下也可以直接执行如下指令进行安装

sudo apt-get install iverilog

  1. 参考链接

iverilog官网:http://iverilog.icarus.com/

iverilog源码:https://github.com/steveicarus/iverilog

Icarus Verilog的工作原理:http://exasic.com/article/index.php?md=e-06

Icarus Verilog 实战:https://www.cnblogs.com/whik/p/11980103.html

Icarus Verilog + GTKWave Guide :chrome-extension://ibllepbpahcoppkjjllbabhnigcbffpi/http://inf-server.inf.uth.gr/~konstadel/resources/Icarus_Verilog_GTKWave_guide.pdf

gtkwave 安装

GTKWave是一个使用GTK的WAV文件波形查看工具,支持Verilog VCD/EVCD文件格式。

后台回复【gtkwave】可获取gtkwave安装包

  1. 安装gtkwave

sudo apt-get install gtkwave

  1. 参考链接

gtkwave 源码:https://github.com/gtkwave/gtkwave

安装iverilog_gtkwave实例

使用清华镜像站

蜂鸟E203系列——Linux开发工具第3张

安装 gtkwave

sudo apt-get install gtkwave

蜂鸟E203系列——Linux开发工具第4张

查看version

蜂鸟E203系列——Linux开发工具第5张

安装iverilog

sudo apt-get install iverilog

查看版本

iverilog -v

蜂鸟E203系列——Linux开发工具第6张

仿真实战

编译

iverilog -o wave test.v tb_test.v

生成波形文件

vvp -n wave -lxt2

打开波形文件

gtkwave testwave.vcd

生成文件如下

蜂鸟E203系列——Linux开发工具第7张

仿真结果

蜂鸟E203系列——Linux开发工具第8张

MCU JTAG安装

为了支持使用 GDB 进行交互式调试或者通过 GDB 动态下载程序到处理器中运行,需要为 FPGA 原型平台配备一个 JTAG 调试器(JTAG Debugger), E203 内核支持通过标准的 JTAG 接口对其进行调试,

参考文档:https://github.com/SI-RISCV/e200_opensource/blob/master/doc/蜂鸟E203快速上手介绍.pdf

  1. 使用“JTAG 调试器”将主机 PC 与 FPGA 开发板连接

  2. 使用如下命令查看 USB 设备的状态

lsusb // 运行该命令后会显示如下信息。

Bus 001 Device 029: ID 15ba:002a Olimex Ltd. ARM-USB-TINY-H JTAG interface

  1. 使用如下命令设置 udev rules 使得该 USB 设备能够被 plugdev group 所访问

sudo gedit /etc/udev/rules.d/99-openocd.rules

用 vi 打开该文件,然后添加以下内容至该文件中,然后保存退出。

SUBSYSTEM"usb", ATTR{idVendor}"15ba",
ATTR{idProduct}"002a", MODE="664", GROUP="plugdev"
SUBSYSTEM
"tty", ATTRS{idVendor}"15ba",
ATTRS{idProduct}
"002a", MODE="664", GROUP="plugdev"

  1. 使用如下命令查看该 USB 设备是否属于 plugdev group

ls /dev/ttyUSB* // 运行该命令后会显示类似如下信息。
/dev/ttyUSB0 /dev/ttyUSB1
ls -l /dev/ttyUSB1 // 运行该命令后会显示类似如下信息。
crw-rw-r-- 1 root plugdev 188, 1 Nov 28 12:53 /dev/ttyUSB1

切记:如果没有出现plugdev,则需要重启系统

  1. 将你自己的用户添加到 plugdev group 中

whoami
// 运行该命令能显示自己用户名,假设你的自己用户名显示为 your_user_name
// 运行如下命令将 your_user_name 添加到 plugdev group 中,比如小编的账户位anytao

sudo usermod -a -G plugdev anytao

  1. 确认自己的用户是否属于 plugdev group:

groups // 运行该命令后会显示类似如下信息。
... plugdev ...

只要从显示的 groups 中看到 plugdev 则意味着自己的用户属于该组,表示设置成功。

RISC-V工具链安装

参考文档:https://github.com/SI-RISCV/e200_opensource/blob/master/doc/蜂鸟E203快速上手介绍.pdf

后台回复【RISC-V Tools】可获取RISC-V Tools安装包

安装过程严格按照上述参考文档第5.2章节 《使用 HBird-E-SDK 开发和运行示例程序》即可。

免责声明:文章转载自《蜂鸟E203系列——Linux开发工具》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇python使用关键字爬取url迭代器和生成器下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

linux 更改mysql的数据库目录

MYSQL默认的数据文件存储目录为/var/lib/mysql。假如要把目录移到/home/data下需要进行下面几步:1、home目录下建立data目录cd /homemkdir data2、把MySQL服务进程停掉: mysqladmin -u root -p shutdown3、把/var/lib/mysql整个目录移到/home/datamv /...

【华为云技术分享】鲲鹏弹性云服务器GCC交叉编译环境搭建指南

南七技校林书豪 1、简介 交叉编译,简单地说,就是在一个平台上生成另一个平台上的可执行代码。本指南主要内容为在非ARM架构服务器环境下搭建ARM的GCC编译环境,编译基于ARM架构的应用软件。交叉编译工具链是为了编译、链接、处理和调试跨平台体系结构的程序代码。除了体系结构相关的编译选项以外,其使用方法与Linux主机上的GCC相同。 搭建交叉编译环境,即安...

RT-Thread 在stm小内存系列产品的nano+msh完整移植教程

本教程基于CUBE-MX,搭建环境方便快捷,把更多精力用在移植的实现上。 ps:本次移植基于stm32l151, 理论上和F1系列通用, 和F4系列区别开来。 ps:纯手工搭建环境也是可以,在一个可以输出hello world的demo上进行移植。 ps: 基于官方移植思路,简单快捷,但是要调整一些小细节。 源地址: https://www.rt-thre...

(转)linux shell 的here document 用法 (cat << EOF)

什么是Here Documen: Here Document 是在Linux Shell 中的一种特殊的重定向方式,它的基本的形式如下 cmd << delimiter Here Document Content delimiter 它的作用就是将两个 delimiter 之间的内容(Here Document Content 部分) 传...

LINUX环境下,达梦数据库8配置ODBC连接

1、检查gcc包 [root@localhost ~]#rpm -qa|grep gcc 如若没有安装,则使用如下方式安装。 安装gcc包 [root@localhost ~]#yum install -y gcc 2、cd到unixODBC安装包的目录 3、解压安装包,执行指令 [root@localhost home]#tar -xzvf unixO...

转:Nginx 日志文件切割

http://www.cnblogs.com/benio/archive/2010/10/13/1849935.html 偶然发现access.log有21G大,所以将其切割。 Nginx 是一个非常轻量的 Web 服务器,体积小、性能高、速度快等诸多优点。但不足的是也存在缺点,比如其产生的访问日志文件一直就是一个,不会自动地进行切割,如果访问量很大的话...