FPGA——WS2812B彩灯点亮 本篇博客是记录WS2812手册的学习,实现FPGA驱动WS2812B的器件去显示F P G A四个字母,每隔1秒变化一个字母,循环显示。由于此项目十分简单,因此就直接上代码了,代码中最主要的就是三个计数器的设计,分别是每个bit的计数器,每个led灯有24bit,一个是64个led灯。然后要显示的F P G A四个字母的RGB数据是直接存在了ROM的IP核里面,只需要通过计数器将对应的数据读出来就可以了。
FPGA——UART串口通信 本篇博客的实验内容是实现uart串口通信发送数据和接收数据,并加入按键模块调整波特率,数码管模块显示波特率,实现不同波特率下的PC端与FPGA板子的数据回环,并加入FIFO IP核对数据进行缓存,当数据大于等于8个的时候,一次性发送8个数据出去。实验环境:quartus 18.1 modelsim Cyclone IV开发板因为该工程是分模块化的设计,因此如果只需要串口的发送和接收功能就只需要将这两个模块直接拿去用就可以了,大大方便了之后其他工程的设计。
FPGA——verilog实现格雷码与二进制的转换 格雷码是一种循环二进制码或者叫作反射二进制码。跨时钟域会产生亚稳态问题(CDC问题):从时钟域A过来的信号难以满足时钟域B中触发器的建立时间和保持时间,输入与clk的变化不同步而导致了亚稳态。此时触发器输出端Q在有效时钟沿之后比较长的一段时间处于不确定的状态,在这段时间里Q端在0和1之间处于振荡状态,而不是等于数据输入端D的值。而格雷码的每次变化位数只有一位,因此使用格雷码可以有效避免这种情况。所以格雷码常用于通信,FIFO 或者 RAM 地址寻址计数器中。
FPGA——PLD的区别以及各自的特点 可编程逻辑器件(PLD-Programmable Logic Device):器件的功能不是固定不变的,而是可根据用户的需要进行改变 ,即由编程的方法来确定器件的逻辑功能。
FPGA——pwm呼吸灯 本次实验主要是需要理解呼吸灯实现的原理,这里我们采用了三个计数寄存器,从us计到ms再到s,最后通过判断s计数器大于ms计数器的时间来决定led亮的时间,这样就可以实现led由暗到亮的效果。
FPGA——点亮led灯 本次实验主要是学习verilog的基础语法,掌握计数器的编写以及时序逻辑的设计方法。另外在进行仿真的时候需要修改计数器的大小,因为我们仿真设计的是延时1000ns,如果不把计数器改小的话就只能看到最开始的0001的状态,就无法判断逻辑是否出错。
3-8译码器设计与仿真 3-8译码器,就是把3种输入状态翻译成8种输出状态,译码器是将输入的具有特定含义的二进制代码翻译成输出信号的不同组合,实现电路控制功能的逻辑电路。译码器在数字系统中应用广泛,可用于代码的转换、终端数字的显示、数据的分配等等。3-8译码器的设计原理还是非常简单易懂的,就是通过3个输入来输出8个信号。主要还是理解verilog的语法,掌握组合逻辑的设计。
基于卷积神经网络的狗猫数据集分类实验 1、解释什么是overfit(过拟合)简单理解就是训练样本得到的输出和期望输出过于一致,而测试样本输出与期望输出相差却很大。为了得到一致假设而使假设变得过度复杂称为过拟合。想像某种学习算法产生了一个过拟合的分类器,这个分类器能够百分之百的正确分类样本数据(即再拿样本中的文档来给它,它绝对不会分错),但也就为了能够对样本完全正确的分类,使得它的构造如此精细复杂,规则如此严格,以至于任何与样本数据稍有不同的文档它全都认为不属于这个类别!2、什么是数据增强?
支持向量机 在本练习中,我们将使用支持向量机(SVM)来构建垃圾邮件分类器。在开始练习前,需要下载如下的文件进行数据上传data.tgz -包含本练习中所需要用的数据文件ex5data1.mat -数据集示例1ex5data2.mat -数据集示例2ex5data3.mat -数据集示例 3spamTrain.mat -垃圾邮件训练集spamTest.mat -垃圾邮件测试集emailSample1.txt -电子邮件示例1emailSample2.txt -电子邮件示例2。
多分类问题 在本练习中,我们将使用逻辑回归来识别手写数字(0到9)。我们将扩展在练习2中对逻辑回归的实现,并将其应用于一对多的分类问题。在开始练习前,需要下载如下的文件进行数据上传ex3data1.mat -手写数字训练集在整个练习中,涉及如下的必做作业实现逻辑回归向量化----(40分)训练一对多的多分类器----(40分)使用多分类器进行预测----(20分)
HLS入门实践 软件工具:vs2010版本(别用2019,会出现出现找不到路径并且无法添加路径使用的问题)HLS就是从高层次描述,之后综合成可用的网表文件的技术。这里的“高”指采用C、C++等编写程序,而不是传统的HDL语言。然而,实际上Vivado套件中是预先采用Vivado HLS这个软件将C程序转换成为Verilog HDL或者VHDL代码,之后进行下一步操作的,并不是直接综合C代码。本次学习了HLS的基本原理,了解了HLS基本实践流程。通过软件语言封装IP然后调用来实现硬件描述,感觉非常神奇。