本教程旨在利用安卓设备学习Verilog。现在Verilog的开发主要在linux平台完成,常用的开发平台vivado在window系统上的计算耗时就要高于linux系统,而安卓平台上有着便捷的linux开发环境。熟悉使用linux系统也是学习system verilog中必不可少的一部分。本教程将从简单的操作入手,利用安卓设备的性能,充分发挥安卓平板和安卓手机的生产力作用。
System Verilog是当前IC设计中应用最广泛的语言,是Verilog语言的拓展和延伸。Verilog适合系统级,算法级,寄存器级,逻辑级,门级,电路开关级设计;而System Verilog更适合于可重用的可综合IP和可重用的验证用IP设计,以及特大型基于IP的系统级设计和验证。System Verilog主要定位在芯片的实现和验证流程上。其拥有芯片设计及验证工程师所需的全部结构,它集成了面向对象编程、动态线程和线程间通信等特性,作为一种工业标准语言,SV全面综合了RTL设计、测试平台、断言和覆盖率,为系统级的设计及验证提供强大的支持作用。
不同于iOS系统的封闭环境,安卓平台的开放环境为其带来了诸多生产力开发特性。安卓平台通过安装termux应用就可以获取linux平台的诸多开发工具。但是termux很难安装图形界面,并且安装成功的图形界面也较为卡顿,使用体验较差。而国内团队开发的AidLux应用就完美解决了这些问题,画面精美无卡顿。

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应用。

apt install iverilog gtkwave

利用浏览器打开vscode官方网站,下载vscode arm64 Debian版本
在终端中输入如下命令:
cd /root/Downloads
dpkg -i code_
(按住Tab键就可以自动补全文件名)
为此必须执行如下命令:
code --no-sandbox --user-data-dir
即可打开vscode:

以简单计数器为例
创建源代码文件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
文章链接

:
导读:随着叮咚买菜业务的发展,不同的业务场景对数据分析提出了不同的需求,他们希望引入一款实时OLAP数据库,构建一个灵活的多维实时查询和分析的平台,统一数据的接入和查询方案,解决各业务线对数据高效实时查询和精细化运营的需求。经过调研选型,最终引入ApacheDoris作为最终的OLAP分析引擎,Doris作为核心的OLAP引擎支持复杂地分析操作、提供多维的数据视图,在叮咚买菜数十个业务场景中广泛应用。作者|叮咚买菜资深数据工程师韩青叮咚买菜创立于2017年5月,是一家专注美好食物的创业公司。叮咚买菜专注吃的事业,为满足更多人“想吃什么”而努力,通过美好食材的供应、美好滋味的开发以及美食品牌的孵
C#实现简易绘图工具一.引言实验目的:通过制作窗体应用程序(C#画图软件),熟悉基本的窗体设计过程以及控件设计,事件处理等,熟悉使用C#的winform窗体进行绘图的基本步骤,对于面向对象编程有更加深刻的体会.Tutorial任务设计一个具有基本功能的画图软件**·包括简单的新建文件,保存,重新绘图等功能**·实现一些基本图形的绘制,包括铅笔和基本形状等,学习橡皮工具的创建**·设计一个合理舒适的UI界面**注明:你可能需要先了解一些关于winform窗体应用程序绘图的基本知识,以及关于GDI+类和结构的知识二.实验环境Windows系统下的visualstudio2017C#窗体应用程序三.
目录前言滤波电路科普主要分类实际情况单位的概念常用评价参数函数型滤波器简单分析滤波电路构成低通滤波器RC低通滤波器RL低通滤波器高通滤波器RC高通滤波器RL高通滤波器部分摘自《LC滤波器设计与制作》,侵权删。前言最近需要学习放大电路和滤波电路,但是由于只在之前做音乐频谱分析仪的时候简单了解过一点点运放,所以也是相当从零开始学习了。滤波电路科普主要分类滤波器:主要是从不同频率的成分中提取出特定频率的信号。有源滤波器:由RC元件与运算放大器组成的滤波器。可滤除某一次或多次谐波,最普通易于采用的无源滤波器结构是将电感与电容串联,可对主要次谐波(3、5、7)构成低阻抗旁路。无源滤波器:无源滤波器,又称
最近在学习CAN,记录一下,也供大家参考交流。推荐几个我觉得很好的CAN学习,本文也是在看了他们的好文之后做的笔记首先是瑞萨的CAN入门,真的通透;秀!靠这篇我竟然2天理解了CAN协议!实战STM32F4CAN!原文链接:https://blog.csdn.net/XiaoXiaoPengBo/article/details/116206252CAN详解(小白教程)原文链接:https://blog.csdn.net/xwwwj/article/details/105372234一篇易懂的CAN通讯协议指南1一篇易懂的CAN通讯协议指南1-知乎(zhihu.com)视频推荐CAN总线个人知识总
深度学习部署:Windows安装pycocotools报错解决方法1.pycocotools库的简介2.pycocotools安装的坑3.解决办法更多Ai资讯:公主号AiCharm本系列是作者在跑一些深度学习实例时,遇到的各种各样的问题及解决办法,希望能够帮助到大家。ERROR:Commanderroredoutwithexitstatus1:'D:\Anaconda3\python.exe'-u-c'importsys,setuptools,tokenize;sys.argv[0]='"'"'C:\\Users\\46653\\AppData\\Local\\Temp\\pip-instal
需求:要创建虚拟机,就需要给他提供一个虚拟的磁盘,我们就在/opt目录下创建一个10G大小的raw格式的虚拟磁盘CentOS-7-x86_64.raw命令格式:qemu-imgcreate-f磁盘格式磁盘名称磁盘大小qemu-imgcreate-f磁盘格式-o?1.创建磁盘qemu-imgcreate-fraw/opt/CentOS-7-x86_64.raw10G执行效果#ls/opt/CentOS-7-x86_64.raw2.安装虚拟机使用virt-install命令,基于我们提供的系统镜像和虚拟磁盘来创建一个虚拟机,另外在创建虚拟机之前,提前打开vnc客户端,在创建虚拟机的时候,通过vnc
最近因为项目需要,需要将Android手机系统自带的某个系统软件反编译并更改里面某个资源,并重新打包,签名生成新的自定义的apk,下面我来介绍一下我的实现过程。APK修改,分为以下几步:反编译解包,修改,重打包,修改签名等步骤。安卓apk修改准备工作1.系统配置好JavaJDK环境变量2.需要root权限的手机(针对系统自带apk,其他软件免root)3.Auto-Sign签名工具4.apktool工具安卓apk修改开始反编译本文拿Android系统里面的Settings.apk做demo,具体如何将apk获取出来在此就不过多介绍了,直接进入主题:按键win+R输入cmd,打开命令窗口,并将路
我完全不是程序员,正在学习使用Ruby和Rails框架进行编程。我目前正在使用Ruby1.8.7和Rails3.0.3,但我想知道我是否应该升级到Ruby1.9,因为我真的没有任何升级的“遗留”成本。缺点是什么?我是否会遇到与普通gem的兼容性问题,或者甚至其他我不太了解甚至无法预料的问题? 最佳答案 你应该升级。不要坚持从1.8.7开始。如果您发现不支持1.9.2的gem,请避免使用它们(因为它们很可能不被维护)。如果您对gem是否兼容1.9.2有任何疑问,您可以在以下位置查看:http://www.railsplugins.or
我正在寻找用于Rails的优质管理插件。似乎大多数现有的插件/gem(例如“restful_authentication”、“acts_as_authenticated”)都围绕着self注册等展开。但是,我正在寻找一种功能齐全的基于管理/管理角色的解决方案——但不是简单地附加到另一个非基于角色的解决方案。如果我找不到,我想我会自己动手......只是不想重新发明轮子。 最佳答案 RyanBates最近做了两个关于授权的railscast(注意身份验证和授权之间的区别;身份验证检查用户是否如她所说的那样,授权检查用户是否有权访问资源
如何学习ruby的正则表达式?(对于假人) 最佳答案 http://www.rubular.com/在Ruby中使用正则表达式时是一个很棒的工具,因为它可以立即将结果可视化。 关于ruby-我如何学习ruby的正则表达式?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1881231/