- 博客(20)
- 收藏
- 关注
原创 Windows下高效Verilog/System Verilog 开发环境搭建
Windows下高效Verilog/System Verilog 开发环境搭建0. 前言 在我们工程设计的过程中,经常会存在不直接跑EDA软件(如Vivado Quartus)编写Verilog 以及SV代码的情景 。 今天我就来安利大家一个小巧的Verilog/System Verilog 开发环境,你想要的它都有。同时它还具备代码提示,语法检查功能,代码跳转,自动生成Verilog Testbench 等功能,极大的提高我们编写代码的效率。当然vsim和emacs的死忠粉可以跳过这篇文章(●
2021-07-25 21:22:06
10322
15
原创 JAVA自定义注解
JAVA自定义注解以Student注解举例@Target({ElementType.FIELD,ElementType.TYPE})@Retention(RetentionPolicy.RUNTIME)@interface Student { String coloumname() default ""; String type() default "varchar"; int len() default 10;}@Target里指注解的应用范围,多选用逗号隔开,花
2021-06-13 00:54:56
242
原创 Java类加载链接初始化过程
Java类加载链接初始化过程类加载类加载器继承关系(如图1所示)BootStarp 根类加载器,无法直接获得ExtClassLoader 拓展类加载器SystemclassLoader(AppClassLoader) 系统类加载器 为所有自定义类加载器的父类,自己写的Java类一般由该加载器加载图1:类加载器继承关系双亲委派机制双亲委托模型的工作过程是:如果一个类加载器收到了类加载的请求,它首先不会自己去尝试加载这个类,而是把这个请求委托给父类加载器去完成,每
2021-06-12 12:30:17
1912
2
原创 代理模式学习
代理模式学习采用动态代理以房东租房为例首先得定义一个接口public interface Rent { public void rent(); public void sell(); public void rise();}定义一个房东类实现具体得接口public class Landlord implements Rent{ @Override public void rent(){ System.out.println("
2021-06-11 00:13:53
183
原创 FPGA从入门到精通(番外篇1)-AXI VIP的使用
所使用EDA软件:VIVADO2018.3FPGA型号:xc7a35tcsg325-2注意:看懂这篇文章的某些概念可能需要一点点systemverilog的基础在上一节中我大概讲了下有关BRAM的内容,不过翻回那篇文章,一行代码都木有,不太像我的风格( •̀ ω •́ )y。恰好有小伙伴私信我有关AXI IP验证的有关内容,我就大概结合下BRAM 的AXI IP 来讲讲相关内容。通常情况下,我们要验AXI的IP都不会一步步的去搭激励,而是用官方提供给我们的AXI VIP(A...
2021-01-24 15:24:07
4256
13
原创 FPGA从入门到精通(8)-BRAM
所使用EDA软件:VIVADO2018.3FPGA型号:xc7a35tcsg325-2很久没写了,随便写一篇BRAM的吧。说到BRAM ,很多人都喜欢拿它来DRAM比较 ,两者都有啥优缺点,其实我也拿不准。不过一般来说,存储较大的数据时用BRAM,存储较小的数据时用DRAM。 多大为大,多小为小,这个不用care。 一句话,你能让时序跑过,功能没毛病的前提下,最后总体资源还OK就行了,不用纠结。BRAM的一些概念,如单口(Single Port ,简称SP),简单双端口(SDP,Si..
2021-01-24 15:22:25
12106
2
原创 FPGA入门指引
很久没更新了,今天不谈FPGA器件特性,出一篇对广大初学者们友好点的入门指引。首先强调一点,初学FPGA不需要买开发板!但必须要会仿真调试!初学FPGA不需要买开发板!但必须要会仿真调试!初学FPGA不需要买开发板!但必须要会仿真调试!重要的事情说三遍首先国际惯例,先上一张FPGA入门的思维导图FPGA入门思维导图一、Verilog1.理解input、output、 wire、 reg、inout、parameter 这些声明在代码中的作用。 input ,.
2020-09-26 12:39:06
1588
原创 FPGA从入门到精通(7)-DSP48E1(理论篇)
所使用EDA软件:VIVADO2018.3FPGA型号:xc7a35tcsg325-2DSP48E1的内容比较多,但是我们实际运用它的时候不会去刻意的去调动它的原语。所以对于DSP48E1,我们只需要知道它内部的基本架构,能实现哪些具体的功能,以及它级联后的作用即可。在实际的编码过程中,合理充分的利用DSP48E1不仅可以节约不少CLB资源,还能提高整个FPGA系统的性能。学习完本章你将会收获以下内容: 了解DSP48E1的内部大概的结构,知道里面每个模块的作用。 了解乘法、乘加
2020-08-09 12:17:35
4957
3
原创 FPGA从入门到精通(6) - 存储单元&CLB总结
所使用EDA软件:VIVADO2019.1.3FPGA型号:xc7a35tcsg325-2看完这篇文章你将收获以下内容: 理解XILINX中存储单元的结构 结合前面章节,理解CLB的整体结构 在数字电路中存储单元有两种,一种是触发器,一种是锁存器。它们两者最大的区别是 前者通过时钟沿到来改变存储的输出状态,后者是通过电平变换来改变存储的输出状态。 在FPGA中我们用的还是触发器居多,锁存器在很多情况下都是要避免的所以今天我主要还是讲触发器。首先简单说明触发器特性(图
2020-06-21 22:47:20
2086
原创 FPGA从入门到精通(5) - 进位链
所使用EDA软件:VIVADO2019.1.3FPGA型号:xc7a35tcsg325-2看完这篇文章你将收获以下内容: 理解什么是加法器,内容包括半加器,全加器,多位加法器。 联系多位加法器来理解XILINX FPGA进位链的结构以及功能。 在讲加法器之前,我们先来看个有关二进制加法的例子我们先关注两个1位二进制数进行相加的情况,它最后只有4中结果(图1)。0+0=0,0+1=1,1+0=0,1+1=10标题图1:1位二进制数进行相加我们可以观察得到以下3点.
2020-06-14 13:26:37
5152
1
原创 FPGA从入门到精通(4) - MUX
所使用EDA软件:VIVADO2019.1.3FPGA型号:xc7a35tcsg325-2看完这篇文章你将收获以下内容:理解MUX中输出与地址码,数据输入的关系。 理解硬件描述语言与MUX的对应关系。 理解FPGA中用LUT6组成的MUX4:1。LUT6和MUXF7,MUXF8组成的MUX8:1,MUX16:1。 说实话上一节课的DRAM,移位寄存器的确是让有些同学脑阔疼滴。那么这一节我们学点简单点的内容放松下----MUX(多路数据选择器),其基本结构如图1。图1:多路数...
2020-06-07 21:18:53
5972
1
原创 FPGA从入门到精通(3) - DRAM
所使用EDA软件:VIVADO2019.1.3FPGA型号:xc7a35tcsg325-2看完这篇文章你将收获以下内容:理解SLICEL,SLICEM最本质的区别。 理解什么是单端口DRAM,双端口DRAM,简单双端口DRAM,以及四端口DRAM,SRL。 理解FPGA中硬件描述语言与DRAM,SRL的映射关系。 通过仿真来加深对DRAM的理解。今天我来带大家认识LUT的另一种形态,DRAM(Distributed RAM,翻译为分布式随机存储器,而不是我们平时看到的动态随机存储器)。在
2020-06-05 22:31:46
4559
5
原创 FPGA从入门到精通(2) - LUT
LUT:(look up table) 查找表今天我要讲的与FPGA CLB相关的第一节LUT。根据上一节课的课程大纲,讲CLB应该是讲SLICEL(SLICEM)。不过当我打开用户手册,看了一下SLICE的结构(图一),一眼望去,这是分分钟会劝退入门者。为了让读者更好的接受以及理解,所以我打算先讲清楚它里面的每一个基本单元(LUT, 进位链,MUX,寄存器,几乎所有的FPGA器件的SLICE都是这四大件组成,只是组合不太一样而已),然后再将他们联系在一起,和读者一步步推倒出SLICE的结构。图1
2020-05-28 00:49:10
11020
15
原创 FPGA从入门到精通(1) - 前序
毕业后,从一个嵌入式硬件狗转做FPGA工程师,从中兜兜转转绕了不少弯路,为了给后人避坑,所以今天开始写有关FPGA从入门到精通的教程吧,这也算是给我国集成电路的发展做出微薄的贡献吧。 本门课程主要是针对有一定数电基础的人看的。所以不会不像其他教程那样,上来就跟你讲verilog,跑马灯,按键,计数器等等。因为这么学,最后只会越来越让自己感觉所做的事情和个程序猿无差,与我的初心不符。所以我会更加偏向于从硬件设计的角度向读者加以讲解FPGA,这样才会在FPGA这条道路上越走越远,越...
2020-05-24 22:28:12
3842
4
原创 Anaconda无法更新包(numpy,tensorflow,opencv)
今天折腾了一天Numpy一直是13.1 ,更不到16.1.但Pip可以更新到。然后看到了某张图片原理很简单,把国内的镜像源去掉就好。举例Windows系统,去掉源打开C:\Users\jasper\.condarc(不一定是jasper,这是你当前所在的用户)把所有源去掉 留下default 就好。channels: - defaultss...
2019-05-11 22:24:08
2611
1
原创 ESP32联网-MQTT-连接到本地服务器(LInux)
上一篇说到用JAVA写Linstener 。很多人会问网上有很多现成的(可视化的),为啥要自己写呢?我想说自己写的话对MQTT协议会更加的了解,而且得到的数据到时候会更加好处理,现成的东西不带这功能。作为一个准电子工程师,必要的编程(Ctrl-C 、Ctrl-V)技能还是要有的。所需工具:Apache Apollo(已运行的登录,参考上一篇)...
2019-03-07 01:35:54
2127
原创 ESP32联网-MQTT-服务器搭建(LInux)
由于毕业课设需要,最近选用ESP32连接本地服务器。MQTT服务器:Apache Apollo下载地址http://activemq.apache.org/apollo/download.html下载相应版本之后解压 (右键解压也好,tar -zxvf也行 在这不累赘)好解压完成如下为啥要截取两张呢。 最主要到这篇文章的搭建过程就在readme.html,我顶多做个搬运工的...
2019-03-07 00:02:42
1451
原创 Android Studio 无法更新解决方案
寒假回来了,这学期打算作一点物联网相关的玩意(暂时没想到做啥)。第一步将ESP32先作为AP模式,手机端连接上后输入WIFI账号密码后,ESP32再作为Station模式连路由器,再上传数据。(其实想了下用蓝牙也行,下次再想方案呗)。将Android Studio 2.2删了 升级为Android Studio 3.2没想到会有那么一堆BUG。其中一个,无法找到相关的SDK(无法更新)...
2019-03-05 00:17:31
3134
原创 ESP32环境搭建linux篇
工具:淘宝nodemcu esp32 1个 数据线1条 装有32位ubuntu12.04(辣鸡电脑强烈推荐32位,64位贼卡)虚拟机的PC一台全过程参照esp32快速入门手册 首先安装软件支持包sudo apt-get install gcc git wget make libncurses-dev flex bison gperf python ...
2018-07-13 01:55:08
8922
1
原创 将示波器数据传入电脑用matlab作FFT
首先,电脑与示波器(固纬GDS-1102C)连接。失败,电脑Win8.1 示波器驱动只支持到XP。算了还是用U盘直接传。用U盘传出来的数据有屏幕图像(-。-;)额 解释下 这是一个1Khz自检方波。 为了降低采样率只能把时间间隔弄长点,FFT才好办。这图并不是重点接下来我们看一下data1.CSV文件主要用到的参数第一行 Memory Length 4000 (也就是说4000个点 N=4000,...
2018-07-11 00:22:40
6554
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人