- 博客(57)
- 资源 (11)
- 收藏
- 关注
原创 基于FPGA的LSTM加速器设计(MNIST数据集为例)
摘要本文以MNIST手写数字识别任务为例,使用FPGA搭建了一个LSTM网络加速器,并选取MNIST数据集中的10张图片,通过vivado软件进行仿真验证。实验结果表明,本文设计的基于FPGA的LSTM网络加速器可以完成图片分类任务,其准确率为90%(10张图片,1张分类错误)。本文主要分为四部分,第一章为LSTM硬件加速器的原理介绍,第二章为软件部分的程序设计思路,第三章为FPGA硬件部分的设计思路,第四章对全文进行总结。本文所设计的LSTM硬件加速器的完整的工程文件已上传,并在文末对工程文件进行了简单
2022-02-02 21:52:40 9195 316
原创 Vp9解码方式概述 -- Parsing Process
本文是对vp9协议第9章,解析字符串函数的一个梳理,主要对几张解析类型(Type)的流程进行梳理
2024-01-25 22:17:58 1122
原创 数字ic设计技巧:添加debug信号
在数字ic设计的过程中,我们常常通过添加一些debug信号来调试代码,以便快速定位问题,本文介绍了一些简单的debug信号添加逻辑
2023-12-05 21:28:25 489
原创 了解Verilog中‘signed‘的作用:处理有符号数
在Verilog中,数据类型'signed'扮演着重要的角色。它用于处理有符号数,为设计者提供了更丰富的表达能力和灵活性。本文将深入探讨Verilog中'signed'在乘法和加法运算中的作用及其用法,并使用无符号器件,搭建一个有符号的乘法器和加法器;
2023-09-04 22:49:37 1601
原创 从学校到职场
与在学校不同,在职场中,我们可能每天要和很多人打交道,同时负责着很多个不同的事情。本文主要是介绍职场上的一些合作沟通等技巧,以便于帮我们更好的做好本质工作
2023-05-20 21:58:33 784 4
原创 H.265/HEVC编码原理及其处理流程的分析
H.265/HEVC编码的框架图,查了很多资料都没搞明白,各个模块的处理的分析网上有很多,很少有把这个流程串起来的。本文的主要目的是讲清楚H.265/HEVC视频编码的处理流程,不涉及复杂的计算过程。
2023-05-19 21:33:09 3573 2
原创 H265/HEVC名词解释-- CTU,CTB,CU,CB,TU,PU,TB,PB,LCU,Slice,Tile,Chroma,Luma,I帧,B帧,P帧
学H265的时候,一堆名词 CTU,CTB,CU,CB,TU,PU,TB,PB,LCU,Slice,Tile,Chroma,Luma,I帧,B帧,P帧,绕的头疼,写篇博客汇总一下
2023-04-23 14:20:25 2345 4
原创 数字IC设计工程师一般都干什么
简单来说,数字IC设计工程师一般就是负责写verilog代码(当然,不是仅仅写个代码)。本文主要对数字IC设计的工作流程进行简单的介绍,也算是对我从业一年来的总结
2023-01-31 21:45:32 4620 8
原创 为什么数字IC的模块输出要尽量写成寄存器(reg)类型?
数字IC设计中,我们通常要求模块的输出为寄存器类型,本文主要讲讲为什么输出需要设计成寄存器类型
2022-08-19 18:46:23 2221 4
原创 数字IC设计中的握手与反压
数字IC设计中的握手与反压 本文的主要目的是介绍清楚数字IC设计中握手和反压的原理和意义如图所示,信号从输入端到A,经过模块A处理后,再送入到B模块进行处理。为了防止B错误读取A中的数据,A与B之间添加了信号Valid,只有当Valid信号为真时,A输出的数据才是有效数据,同时,为了防止B出现问题,A与B之间还加入了一个引脚Ready,B拉高该电平时,表明当前B模块可以接收、处理信号。只有当A送给B的信号有效(Valid为真),B此时做好的准备可以接收A的数据了(Ready为真),此时,数据才被顺利的
2022-05-08 22:45:37 4977 6
原创 如何用Latex写一篇小论文
如何用Latex写一篇小论文Latex是目前常用的一种写科研论文的工具,只需要按照提出的模板写,latex会自动编译出符合论文格式的PDF文件。这篇博客从Latex工具的简介,安装到一篇小论文的完成,对Latex的基础指令进行了详细的介绍。文章目录如何用Latex写一篇小论文1. Latex运行环境2. Latex基本操作和指令介绍2.1 Latex文件介绍2.2 加载模板2.3 参考文献的引用2.4 图片,公式和表格1. Latex运行环境使用Latex写论文,首先要安装latex文件的运行
2021-11-24 18:52:16 9592
原创 Latex编译报错 “Undefined control sequence. \chapter“
问题描述:用Latex写大论文时,\chapter{} 编译不了,或者编译出来有问题。报错信息:“Undefined control sequence. \chapter{XX}”解决方案:应该是texlive版本的问题,我用texlive2021编译不了,报错,但是重新下载安装texlive2020版就编译成功了。texlive和teXstudio的安装下载及配置可以参考这篇博客:LaTeX-TeXlive和TeXstudio的下载、安装配置及使用...
2021-10-19 17:28:26 5088 1
原创 数字电路设计: FPGA实现倍频
FPGA实现倍频(含完整思路,代码)# 学习目标:这篇博客讲怎么用D触发器和同或门组成的倍频器,并用Verilog实现验证;1. 原理:CLK时钟要想实现倍频,那么CLK每变化一次,对应的CLK_out就必须变化两次;因此采用D触发器,且CLK的上升沿,下降沿均有效,且均会因此CLK_out两次的变化;因此,需要在加入一个组合逻辑电路,CLK变化时,时序逻辑引起CLK_out从0->1,时序逻辑部分的输出作为输入,通过组合逻辑使CLK_out从1->0, 这样每次CLK变化时,CLK_
2021-07-18 21:07:58 19032 33
原创 基于51单片机的多功能温度监测系统(附代码)
基于51单片机的多功能温度监测系统这篇博客用HC6800-EM3开发板(一种普中科技的51单片机开发板)搭建了一个多功能的温度监测系统,具体功能如下:按键key1为系统开关,key1按下时,单片机开始工作,再按一下,系统停止工作;按键key2按下时,开启实时检测温度模式,每秒检测一次DS18B20温度传感器的温度,并将温度显示在LCD1602显示屏上;按键key3按下时,每秒记录存储一次温度值,连续存储十次,即存储下这十秒的温度值;按键key4,key5按下时,读取按下key3时存储的温度,k
2021-07-01 18:13:32 7741 24
原创 使用argparse改变python文件中的变量
使用argparse改变python文件中的变量这篇博客主要讲怎么改变python文件中的变量值假设我们有一个python程序,名为1.py, 我们想得到python程序里某个变量aada分别为1,5, 7时的运行结果。1.py :import argparseparser = argparse.ArgumentParser()parser.add_argument('-a', '--aada', type=int, default=100) #该变量default默认值为100,缩写为
2021-06-28 11:43:04 803
原创 pytorch下可训练分段函数的写法
pytorch下可训练分段函数的写法这篇博客主要讲如何写一个可训练求导的分段函数,并通过代码验证其可行性假设我们要实现这样一个分段函数:F(a)={+1a>2.50.25∗a+0.3750.5<a≤2.5a−0.5<a≤0.50.25∗a−0.375−2.5<a≤−0.5−1a≤−2.5 F(a)=\left\{\begin{array}{rcl}+1 & & {a > 2.5}\\0.25*a + 0.375 & & {0.
2021-06-24 11:58:40 2990 6
原创 基于单片机的智能电饭煲控制系统的设计(附代码)
基于单片机的智能电饭煲控制系统的设计这篇博客主要是用15单片机(和51单片机差不多)做一个智能电饭煲系统。文章目录基于单片机的智能电饭煲控制系统的设计一、整体功能二、米粒识别三、FSR400压力传感器四、主程序需要注意的地方程序一、整体功能本篇博客介绍的系统功能如下:根据放入电饭煲谷物的类型和数量,计算出进水量和最佳工作温度,并计算出加热时间,最后将谷物类型,重量,和当前系统工作的温度和当前剩余的加热时间显示出来。如图所示:摄像头和K60芯片来对谷物拍照,并将照片以串口通信的
2021-06-11 16:50:56 6267 4
原创 RNN和LSTM的反向传播公式推导
RNN和LSTM的反向传播公式推导这篇博客主要推导RNN和LSTM的反向传播公式,以便更好的理解RNN和LSTM的运算文章目录RNN和LSTM的反向传播公式推导一. RNN1. RNN正向传播2. RNN梯度计算二. LSTM1. LSTM正向传播2. LSTM反向传播总结一. RNN1. RNN正向传播h~t=Wxt+Uht−1+b\widetilde h_{t}=Wx_{t}+Uh_{t-1}+bht=Wxt+Uht−1+bht=tanh(h~t)h_{t}= \tanh(\wi
2021-06-07 13:25:35 622
原创 ubuntu系统设置快捷指令
ubuntu系统设置快捷指令Ubuntu下进入spyder就感觉很麻烦,先进入目录anaconda3/bin,在激活环境,在进入spyder。每次都要输三条指令。这篇博客以打开软件spyder为例子,写如何在Ubuntu系统下设置快捷指令先打开环境变量文件vi ~/.bashrc刚进入时,默认进入命令行模式,因此需要先按 i 键,进入插入模式不进入插入模式的话,很难正常编辑插入想要设置的快捷指令alias command1='command2' 这样输入command1时,
2021-05-25 11:14:16 832
原创 python:flatten()参数详解
python:flatten()参数详解这篇博客主要写flatten()作用,及其参数的含义flatten()是对多维数据的降维函数。flatten(),默认缺省参数为0,也就是说flatten()和flatte(0)效果一样。python里的flatten(dim)表示,从第dim个维度开始展开,将后面的维度转化为一维.也就是说,只保留dim之前的维度,其他维度的数据全都挤在dim这一维。比如一个数据的维度是(S1,S2,S3.........,Sn)(S1,S2,S3........
2021-05-18 14:34:49 87201 28
原创 PyTorch定义新的自动求导(Autograd) 函数
PyTorch定义新的自动求导(Autograd) 函数pytorch官网提供了定义新的求导函数的方法(链接放在文章末尾了),官网举得例子,可能我比较笨,愣是反应了好一会儿才理解。这篇博客主要讲 PyTorch求导的计算,以及定义新的自动求导函数,它怎么用。pytorch求导时,用的是链式求导法则,例如:y=k∗fun1(c∗x)+by = k* fun1(c * x) + by=k∗fun1(c∗x)+b,其中fun1(p)=p2fun1(p) = p^{2}fun1(p)=p2 (yyy的表达式
2021-05-12 17:49:54 708 8
原创 文献综述:基于FPGA的RNN硬件加速
文献综述:基于FPGA的RNN硬件加速这篇博客是基于一些文献对RNN硬件加速的各个模块的总结文章目录文献综述:基于FPGA的RNN硬件加速一. 剪枝1. 稀疏剪枝2. Top-k剪枝3. Circulant矩阵4. 三种剪枝方式的对比二. 量化1. 线性量化2. 非线性量化(对数量化)3. 两种量化方式的对比三. 激活函数1. 查找表的方式(LUT)2. 分段线性函数替代非线性函数参考文献一. 剪枝LSTM虽然解决了梯度消失的问题,但由于引入了很多门控单元,导致参数量很大。然而由于神经网络的鲁
2021-05-10 17:02:37 1453 2
原创 从MLP,DNN到LSTM
LSTM学习序列信息的原理这篇博客从简单的多层感知机(MLP)讲起,讲述了RNN网络如何发展到现在的LSTM结构,以便充分了解LSTM中各个门控单元的作用以及LSTM为何能学习到序列信息文章目录LSTM学习序列信息的原理一、感知机(Perceptron)1.矩阵向量乘法运算(MVMs)2.添加偏置(bias)3. 激活函数二、多层感知机(MLP,Multilayer Perceptron)三、RNN(Recurrence Neural Network)四、LSTM1. LSTM without a
2021-05-05 18:57:18 2036
基于FPGA的LSTM加速器设计(MNIST数据集为例)
2022-02-02
pytorch分块循环矩阵压缩(block-circulant)的实现.py
2021-07-20
基于51单片机的多功能温度监测系统.zip
2021-07-01
基于单片机的智能电饭煲控制系统的设计.zip
2021-06-11
pytorch框架下模型的LSTM层的自定义量化
2021-05-31
TIMIT-preprocess.zip
2021-04-07
pytorch自定义RNN.zip
2021-03-11
FPGA实现FIFO结构
2021-01-07
pytorch-topk.py
2020-12-25
将pytorch的权值矩阵导入FPGA中
2020-12-01
pytorch量化意识训练程序(notebook打开)
2020-11-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人