基于安卓平台(AidLux)的System Verilog(FPGA)学习(一)

基于安卓平台(AidLux)的System Verilog(FPGA)学习(一)

详细步骤链接
在这里插入图片描述

本教程旨在利用安卓设备学习Verilog。现在Verilog的开发主要在linux平台完成,常用的开发平台vivado在window系统上的计算耗时就要高于linux系统,而安卓平台上有着便捷的linux开发环境。熟悉使用linux系统也是学习system verilog中必不可少的一部分。本教程将从简单的操作入手,利用安卓设备的性能,充分发挥安卓平板和安卓手机的生产力作用。
System Verilog是当前IC设计中应用最广泛的语言,是Verilog语言的拓展和延伸。Verilog适合系统级,算法级,寄存器级,逻辑级,门级,电路开关级设计;而System Verilog更适合于可重用的可综合IP和可重用的验证用IP设计,以及特大型基于IP的系统级设计和验证。System Verilog主要定位在芯片的实现和验证流程上。其拥有芯片设计及验证工程师所需的全部结构,它集成了面向对象编程、动态线程和线程间通信等特性,作为一种工业标准语言,SV全面综合了RTL设计、测试平台、断言和覆盖率,为系统级的设计及验证提供强大的支持作用。

Part.1 安卓平台安装linux终端

不同于iOS系统的封闭环境,安卓平台的开放环境为其带来了诸多生产力开发特性。安卓平台通过安装termux应用就可以获取linux平台的诸多开发工具。但是termux很难安装图形界面,并且安装成功的图形界面也较为卡顿,使用体验较差。而国内团队开发的AidLux应用就完美解决了这些问题,画面精美无卡顿。
在这里插入图片描述

Part.2 AidLux开启linux原生桌面

linux原生桌面对linux开发更加友好,对linux平台应用的兼容性也会更好。aidlux内部集成了xfce4桌面环境,点击应用图标就能直接通过vnc连接到xfce4桌面。
在这里插入图片描述但是在开启xfce4桌面之前,我们需要先修改xfce4应用的显示分辨率。

`nano /usr/local/bin/vncserver-start`

在这里插入图片描述export USER=root
export HOME=/root
vncserver -geometry 1024x768 -depth 24 -name remote-desktop :1
将1024x768更改为1920x1080,如下所示
在这里插入图片描述 第二步:运行xfce4应用。
在这里插入图片描述

Part.3 AidLux安装Verilog套件


apt install iverilog gtkwave

在这里插入图片描述

Part.4 AidLux安装Vscode

利用浏览器打开vscode官方网站,下载vscode arm64 Debian版本
在这里插入图片描述 在终端中输入如下命令:

       cd  /root/Downloads

       dpkg -i code_

                   (按住Tab键就可以自动补全文件名)

为此必须执行如下命令:

         code --no-sandbox --user-data-dir

即可打开vscode:
在这里插入图片描述

Part.4 iverilog + gtkwave 测试Verilog程序(纯命令行)

以简单计数器为例
创建源代码文件counter.v

module counter(irst, iclk, ocnt );
input irst, iclk;
output reg [3:0] ocnt;
always @ (posedge iclk)
    if(irst)
       ocnt <= 4'b0000;
    else
       ocnt <= ocnt + 1'b1;
endmodule

创建testbench文件:counter_tb.v

module counter_tb;
   reg irst = 0;
   reg iclk = 0;
   wire [3:0] ocnt;
   initial begin
      irst = 1; #100;
      irst = 0; #300;
     $stop;
     #1000;
     $finish;
   end
   always begin #5 iclk = !iclk; end
   counter counter_test(
     .irst(irst),
     .iclk(iclk),
     .ocnt(ocnt)
    );
    initial
    $monitor("At time %t, ocnt = %d", $time, ocnt);
    initial
    begin
       $dumpfile("counter_test.vcd");
       $dumpvars(0, counter_test);
    end
endmodule

编写自动执行脚本。
创建可执行脚本 zhixing.sh
添加如下内容

iverilog -o counter_test counter_tb.v counter.v
vvp -n counter_test -lxt2
cp counter_test.vcd counter_test.lxt
gtkwave counter_test.lxt

执行脚本zhixing.sh
在这里插入图片描述该脚本会自动调用iverilog和gtkwave

在这里插入图片描述 同vivado一样,在左侧添加信号即可查看仿真波形。

在这里插入图片描述
大家可以关注笔者的公众号:通信雷达园地 查看具体操作步骤,公众号中的文章写得更加清楚。

在这里插入图片描述链接:https://mp.weixin.qq.com/s?__biz=Mzg3NTgzNTA1MQ==&mid=2247483735&idx=1&sn=9a962fe1ac27fe880055eedeeb2653ad&chksm=cf3a3a93f84db385c4875213b84bfe2bf9b0ee92a653327419f353326bb7d67cf97674d6e372#rd
文章链接

公众号文章截图

在这里插入图片描述

:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值