自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(119)
  • 资源 (5)
  • 问答 (10)
  • 收藏
  • 关注

原创 DNN硬件加速器设计4 -- Co-Design and Benchmarking Metrics(MIT)

4. Network and Hardware Co-Design4.1 Network Optimization对于网络算法的优化主要采用以下两种思路:(1)减小计算精度和对参数进行低位宽量化:参数类型为定点数与浮点数的比较,数据位宽对精度的影响(2)减少计算量和参数存储量:参数压缩(Compression),网络裁剪(Pruning)下图1所示为FP32, FP16, INT32, INT16, INT8五种数据类型,位宽表示含义,取值范围以及精度的表示。图 ...

2022-04-02 11:43:47 2885 1

原创 DNN硬件加速器设计3 -- DNN Accelerators(MIT)

3.1 Highly-Parallel Compute Paradigms并行计算架构分为以下两类:(1)Temporal Architecture (SIMD/SIMT)图 1 Temporal Architecture图1所示为Temporal Architecture的基本结构。该结构的特点是有个公用的Register File, 统一的控制单元,用于并行计算的多条数据路径。(2)Spatial Architecture (Dataflow ...

2022-04-01 19:15:48 2741

原创 DNN硬件加速器设计2 -- Survey of DNN Development Resouces and DNN Hardware(MIT)

2.1 Survey of DNN Development Resources这里介绍一些基本的神经网络结构。它们是:在1998年提出的LeNet, 在2012年提出的AlexNet, 在2013年提出的OverFeat, 在2014年提出的VGGNet 和 GoogleNet, 在2015年提出的 ResNet。(1) LeNet-5 -- 卷积神经网络的开山之作图 1 LeNet-5图1所示为LeNet-5的网络结构图,LeNet-5应用于数字图像识别...

2022-04-01 15:46:54 5525

原创 DNN硬件加速器设计1 -- 序(MIT)

参考MIT的DNN硬件加速器设计课程和自己之前在设计CNN硬件加速器课题中的理解,梳理了自己对DNN硬件加速器设计的基本理解框架,整个知识框架如下所列:1. Overview of Deep Neural Networks2. Survey of DNN Development Resouces and DNN Hardware3. DNN Accelerators4. Network and Hardware Co-Design5. Benchmarking Metri...

2022-04-01 10:48:58 3437

原创 FPGA设计进阶3--FPGA物理约束

Reference: Xilinx FPGA权威设计指南Xilinx Vivado集成开发环境为设计者提供了通过设置FPGA内对象的属性实现对FPGA内对象进行约束的物理约束。这些约束包括:(1)I/O约束,如位置和I/O标准(2)布局约束,如单元的位置(3)布线约束,如固定的布线(4)配置约束,如配置模式对于大多数的物理约束,其语法格式表示为:set_property <property><value><object_list&g...

2022-03-22 16:14:11 7029 2

原创 FPGA设计进阶2--FPGA时序约束

Reference:1,xilinx FPGA权威设计指南;2, ASIC集成电路设计;3,综合与时序分析的设计约束实用指南1.时序检查概念1.1 基本术语(1) 发送沿(Launch Edge):指发送数据的源时钟的活动边沿。(2) 捕获边沿(Capture Edge):指捕获数据的目的时钟的活动边沿。(3) 源时钟(Source Clock):指发送数据的时钟。(4) 目的时钟(Destination clock):指捕获数据的时钟。(5) 建立要求(Setup Requir

2022-03-21 20:04:25 3030

原创 FPGA设计进阶1--XilineFPGA结构(UltraScale)

Reference:xilinx FPGA权威设计指南1. UltraScale结构特点UltraScale结构能从20nm平面的FET结构扩展到16nm鳍式的FET晶体管,甚至更高的技术,同时还能够从单芯片扩展到3D IC。UltraScale架构不仅能够解决系统总吞吐量扩展和时延方面的局限性,而且还能解决直接应用先进工艺节点上的头号系统性能瓶颈,即互联问题。UltraScale新一代互联架构的推出体现了可编程逻辑布线技术的真正突破。Xili...

2022-03-19 10:20:27 5107

原创 HDMI设计9--Video Mixer IP

Reference:https://china.xilinx.com/content/dam/xilinx/support/documentation/ip_documentation/v_mix/v5_2/pg243-v-mix.pdf对于图层叠加的需求,可以选择使用xilinx的OSD和Mixer IP,但是,Xilinx的vivado工具在2020后便不再支持OSD IP而是支持Mixer IP了。而且需要大家注意的时,Video Mixer IP这里有个坑,在我使用Mixer IP的过程中,发现

2022-03-18 15:43:57 3682 2

原创 HDMI设计8--Video In to AXI4-Stream and AXI4-Stream to Video Out

Reference1:https://china.xilinx.com/content/dam/xilinx/support/documentation/ip_documentation/v_vid_in_axi4s/v5_0/pg043_v_vid_in_axi4s.pdfReference2:https://china.xilinx.com/content/dam/xilinx/support/documentation/ip_documentation/v_axi4s_vid_out/v4_0/p

2022-03-18 12:04:32 3879 2

原创 HDMI设计7--AXI Video Direct Memory Access

Reference:https://china.xilinx.com/content/dam/xilinx/support/documentation/ip_documentation/axi_vdma/v6_3/pg020_axi_vdma.pdf1. 序AXI VDMA core是专门针对视频流的直接存储器,以视频帧为单位。1.1 支持的功能(1)兼容AXI4接口协议;(2)AXI4接口的数据位宽支持32,64,128,256,512和1024 bits;...

2022-03-09 18:11:37 2336

原创 HDMI设计6--Video PHY Controller IP

Reference:https://china.xilinx.com/content/dam/xilinx/support/documentation/ip_documentation/vid_phy_controller/v2_2/pg230-vid-phy-controller.pdf1. 序Video PHY Controller IP是为实现与视频(DisplayPort和HDMI™技术)MAC传输或接收子系统的即插即用连接而设计的。视频MAC层和PHY层的接口是标准化的,能...

2022-03-06 10:29:47 4392 3

原创 HDMI设计5--GT Transceiver的总体架构整理

Reference:https://china.xilinx.com/content/dam/xilinx/support/documentation/user_guides/ug476_7Series_Transceivers.pdf1. Xilinx 7系列FPGA高速收发器GTX/GTH的一些基本概念1.1 GTP, GTX, GTH, GTZ这四个是Xilinx 7系列FPGA全系所支持的GT, GT的意思是Gigabyte Transceiver(G比特收发器)。通常称...

2022-02-27 11:43:08 3420

原创 HDMI设计4--HDMI 1.4/2.0 Receiver Subsystem IP

Reference:https://china.xilinx.com/content/dam/xilinx/support/documentation/ip_documentation/v_hdmi_rx_ss/v3_2/pg236-v-hdmi-rx-ss.pdf对于HDMI 1.4/2.0 Receiver Subsystem IP在不细究具体实现的情况,可以简单的把其当成就是HDMI 1.4/2.0 Transmitter Subsystem IP的各种信号方向由输入变成输出,由输出变成输入。H.

2022-02-26 15:54:43 5195

原创 HDMI设计3--HDMI 1.4/2.0 Transmitter Subsystem IP

Reference: https://china.xilinx.com/content/dam/xilinx/support/documentation/ip_documentation/v_hdmi_tx_ss/v3_2/pg235-v-hdmi-tx-ss.pdf对于支持4K视频的HDMI接口,可以参考Xilinx给出的HDMI1.4/2.0 Transmitter Subsystem, HDMI1.4/2.0 Receiver Subsystem, Video PHY Controller这三个.

2022-02-19 16:50:49 12137

原创 基于FPGA的图像处理6--形态学滤波(腐蚀,膨胀,开运算,闭运算)-最大值,最小值滤波

Github:https://github.com/zgw598243565/Maxmin-filter6.1 背景介绍数学形态学是一门建立在集论基础上的学科,是几何形态学分析和描述的有利工具。数学形态学的历史可回溯到19世纪。1964年法国的Matheron和Serra在积分几何的研究成果上,将数学形态学引入图像处理邻域,并研制了基于数学形态学的图像处理系统。1982年出版的专著Image Analysis and Mathematical Morphology是数学形态学发展的重...

2022-02-08 21:15:11 4379

原创 基于FPGA的图像处理5--非线性滤波-统计排序滤波

Github:https://github.com/zgw598243565/Order-Statistics-Filters非线性滤波器在通常情况下没有特定的转移函数。一类比较重要的非线性滤波就是统计排序滤波器。统计排序滤波器对窗口内的像素值进行排序并通过多路选择器使用排序后的值。例如中值滤波,最大/最小值滤波等。排序滤波器或者其组合,可以在很多图像处理的场合得到应用。用接近中间位置的排序值作为输出,进行图像的平滑滤波,能得到很好的噪声平滑性质。中值滤波对去除椒盐噪声十分有用,而形态学滤波中主

2022-02-08 21:00:41 1380 2

原创 基于FPGA的图像处理4--线性滤波-均值滤波

Github:https://github.com/zgw598243565/AverageFliter在图像预处理中,最基础也最重要的处理方法是图像滤波与增强。图像滤波可以很好地消除测量成像或者环境带来的随机噪声,高斯噪声和椒盐噪声等。图像增强可以增强图像细节,提高图像对比度。滤波器的种类有很多种。按照输出和输入之间是否有唯一且确定的传递函数,我们可以把滤波器分为线性滤波器和非线性滤波器两种。我们介绍线性滤波器中的均值滤波器。均值滤波器是典型的线性滤波算法,主要方法为邻域平均法,即用一个图像区

2022-02-08 20:55:59 2691 5

原创 基于FPGA的图像处理3--直方图操作IP的设计

Github:https://github.com/zgw598243565/HistogramCnt3.1 灰度直方图统计灰度直方图描述了一幅图像的灰度级统计信息,主要应用于图像分割,图像增强及图像灰度变化等处理过程。从数学上来说,图像直方图描述的图像各个灰度级的统计特性,它是用灰度值的一个函数来统计一幅图像中各个灰度级出现的次数或频率,其数学定义如下所示:图像的直方图中往往包含很多有效的信息,一个很明显的信息就是图像的亮度和对比度信息。若图像亮度较亮...

2022-02-08 20:47:14 2590

原创 基于FPGA的图像处理2--图像时序产生IP

Github代码地址:https://github.com/zgw598243565/ImageCreate为了在testbench中产生真实的图像时序,因此,我们设计一个图像时序产生Module。为了产生图像时序,我们需要先知道一帧数据的信号是怎么样的。图 1图1所示为图像分辨率大小为720x480的一帧数据的格式。可以看到,行同步HSYNC和场同步信号VSYNC分别经过对应的horizontal blanking(138 pixels)和vertical blanking...

2022-02-08 20:26:43 2329

原创 基于FPGA的图像处理1--图像处理基础IP设计

Github代码地址:https://github.com/zgw598243565/MapTec41.1 图像行列计数 Module图像行列计数在图像处理中非常常见。大部分算法都需要做到精准的像素定位,行列计数法是像素定位的基本方法。另外一个方法是像素计数,通常不会这样做,因为它将会给调试工作带来不便(庞大的像素计数当然没有较小的行列计数来得直观些)。行列计数的最简单的方法是通过输入场行同步信号和像素有效信号进行计数。设计原则如下:(1)每一场信号到来时清空...

2022-02-08 20:21:12 5447 4

原创 VHDL实现生命游戏

之前,帮别人用VHDL实现了一个生命游戏的逻辑电路,觉得很有意思,所以分享出来大家一起学习。1,github代码地址:https://github.com/zgw598243565/Game_of_Life2,B站代码详解地址:生命游戏(Game of Life)是由英国数学家John Horton Conway于1970年发明的细胞单元自动机模型。该模型中,每个细胞单元cell具有2个状态(活着alive或者死亡dead),通常由一个2状态状态机来表示,而宇宙u...

2022-01-31 11:26:10 3066

原创 HDMI设计2----EDID and E-EDID

1,EDID是什么?有什么用?图1 应用场景如图1所示的应用场景,PC将视频信号发送 到我们的设备上,经过一系列的传输和切换,设备将视频信号发送到显示器或者投影机上,也就是说,我们的设备位于PC和显示器之间。首先,在输入端,设备需要让PC知道自己是能够接受输入视频信号的,让PC认为自己是一台显示器。如果不这样做的话,PC可能会拒绝输出任何视频信号的(VGA接口不需要EDID也能输出)。除此之外,设备还要告诉PC自己支持的显示时序。而在输出端,当设备需要自建输出时序而不是简单的复制...

2022-01-30 23:22:00 5254

原创 HDMI设计1--HDMI 1.4b SPEC的阅读个人总结

工作需要设计HDMI1.4/2.0 IP,支持4K视频的需求。因此,近期对HDMI的相关SPEC进行了阅读,在这里进行总结,记录个人的知识成长的过程。本文将从一下7个方面,讲述自己对HDMI 1.4b spec相关内容的理解。因为,工作需求是只需要支持4K视频的接受和传输,不涉及音频,所以略去了HDMI中Audio部分的内容。1, Overview2, Signaling and Encoding3, Video4, Control and Configu...

2022-01-30 15:36:13 5450

转载 学习笔记:FPGA学习之generate语句的基本知识

一,为什么要学习generate?在设计中,很多情况下,需要编写很多结构相同而参数不同的赋值语句或者逻辑语句,如果参数量很大的情况下,原本的列举就会显得心有余而力不足。c语言中常用for语句来解决此类问题,verilog则为我们提供了generate语句。二,generate的基本概念及语法generate语句的最主要功能就是对module,reg,assign,always,task...

2019-11-17 15:18:01 4245

原创 c实现LM最小二乘法及矩阵运算函数库的实现

因为实习工作需要使用到LM最小二乘法进行风场反演,所以我用c实现了矩阵相关运算的函数库,并实现了LM最小二乘法。一,LM最小二乘法的实现理论步骤二,矩阵运算相关函数的实现/**************************************************************//********************** Matrix_functions....

2019-06-26 09:38:42 1595 1

翻译 遗传算法学习笔记一之遗传算法工作原理

参考内容原址:https://www.analyticsvidhya.com/blog/2017/07/introduction-to-genetic-algorithm/1,遗传算法理论的由来我们先从查尔斯达尔文的一句名言开始:能够生存下来的往往不是最强大的物种,也不是最聪明的物种,而是最能适应环境的物种。2,生物学的启发相信你还记得这句话:细胞是所有生物的基石。由此可知,在...

2019-06-13 14:54:22 493

原创 Zynq学习笔记三之zynq_axi4_lite从机编写(gpio)

定义了reg0(数据寄存器),reg1(控制寄存器),reg2(输入/输出)`timescale 1ns / 1psmodule axi_gpio_my( input S_AXI_ACLK, input S_AXI_ARESETN, inout [3:0]gpio, //AR channel input S_AXI_ARVAL...

2019-03-11 15:15:34 849 1

原创 Zynq学习笔记二之zynq_axi4_lite从机编写

//注意:1,axi_lite是一个字符一个字符传输;2,保证先锁地址再写数据module dut_axi_lite_slave #( parameter integer C_S_AXI_DATA_WIDTH=32, parameter integer C_S_AXI_ADD_WIDTH=6)(//时钟和复位信号 input wire S_AXI_ACLK,...

2019-03-11 09:56:54 934

原创 Zynq学习笔记之zynq_AXI4_Lite总线详解

1,AXI总线与AXI接口以及AXI协议总线,接口和协议,总线是一组传输通道,是各种逻辑器件构成的传输数据的通道,一般由数据线,地址线,控制线等组成。接口是一种连接标准,有常常被称之为物理接口。协议就是传输数据的规则。1.1 AXI总线概述在ZYNQ中支持三种AXI总线,拥有三种AXI接口,当然用的都是AXI协议。其中三种AXI总线分别为:AXI4:(For high-perfor...

2019-02-25 14:53:37 3901 3

原创 ARM学习笔记之驱动程序篇八----LED设备驱动

一,字符设备控制技术1.2 设备控制-应用函数在用户空间,使用ioctl系统调用来控制设备,原型如下:int ioctl(int fd,unsigned long cmd)//fd:要控制的设备文件描述符//cmd:发送给设备的控制命令//...:第三个参数是可选的参数,存在与否是依赖于控制命令(第二个参数)1.3 设备控制-驱动函数当应用程序使用ioctl系统调用时...

2019-02-03 18:28:37 410

原创 ARM学习笔记之驱动程序篇七----字符设备驱动

1.11 字符设备驱动模型在任何一种驱动模型中,设备都会用内核中的一种结构来描述。字符设备在内核中使用struct cdev来描述。struct cdev{ struct kobject kobj; struct module *owner; const struct file_operations *ops;//设备操作函数集 struct list_h...

2018-12-22 11:29:00 457

原创 ARM学习笔记之驱动程序篇六----系统调用

1.9 系统调用1.9.1 系统调用概述计算机系统的各种硬件资源是有限的,在现代多任务操作系统上同时运行的多个进程都需要访问这些资源,为了更好的管理这些资源进程是不允许直接操作的,所有对这些资源的访问都必须有操作系统控制。也就是说操作系统是使用这些资源的唯一入口,而这个入口就是操作系统提供的系统调用(System Call)。在linux中系统调用是用户空间访问内核的唯一手段,除异常和陷入...

2018-12-18 22:13:59 375

原创 ARM学习笔记之驱动程序篇五----内核链表

1.8 linux内核链表1.8.1 内核链表简介    链表是一种常用的数据结构,它通过指针将一系列数据节点连接成一条数据链。相对于数组,链表具有更好的动态性,建立链表时无需预先知道数据总量,可以随机分配空间,可以高效地在链表中的任意位置实时插入或删除数据。链表的开销主要是访问的顺序性和组织链的空间损失。1.8.2 内核链表结构struct list_head{ str...

2018-12-18 22:06:27 289

原创 ARM学习笔记之驱动程序篇四----内核管理子系统

1.7 linux 内核管理子系统                                                           1.7.1 内存管理子系统1,管理模型内存管理系统可以分为两部分,分别是内核空间内存管理和用户空间内存管理:内存管理子系统的职责是:进程请求内存时分配可用内存,进程释放内存后回收内存,以及跟踪系统内存使用情况。现代操作系统要求能...

2018-12-17 22:18:22 313

原创 ARM学习笔记之驱动程序篇三----内核模块

1.6 内核模块1.6.1 内核模块基础知识     内核模块是Linux内核向外部提供的一个插口,其全称为动态可加载内核模块(Loadable Kernel Module,LKM),我们简称为模块。Linux内核之所以提供模块机制,是因为它本身是一个单内核(monolithic kernel)。单内核的最大优点是效率高,因为所有的内容都集成在一起,但其缺点是可扩展性和可维护性相对较差,模...

2018-12-17 21:57:00 770

原创 ARM学习笔记之驱动程序篇二----Linux内核简介及制作,文件系统的制作

1.2 Linux内核简介1.2.1 Linux体系结构    Linux系统主要分为两个部分:User Space(用户空间)和kernel Space(内核空间)    用户空间包括:用户应用程序(User Application)和C 函数库(GNU C Library).    内核空间包括:系统调用接口(System Call Interface),内核(Kernel)和...

2018-12-16 21:19:45 410

原创 ARM学习笔记之驱动程序篇----U-boot

一,U-boot入门1.1.1 编译U-boot1,解压uboot文件,我学习用的是tiny6410的开发板,所以解压uboot_tiny6410.tar.gz,进入uboot_tiny6410目录。tar xvzf uboot_tiny6410.tar.gzcd uboot_tiny64102,配置并编译make tiny6410_configmake ARCH=ar...

2018-12-16 20:00:57 401

原创 基于FPGA的数字图像处理学习笔记一

一,图像处理基础(1)图像采样为了产生一幅数字图像,我们需要把连续的感知数据转换为数字形式,这个转换的过程被称为图像采样和量化。采样频率是指1秒内采样的次数,它反映了采样点之间的间隔大小。采样频率越高,得到的图像样本越逼真,图像的质量越高,但要求的存储量也越大。根据信号的采样定理,要从取样样本中精确地复原图像,可得到图像采样的奈奎斯特定理:图像采样的频率必须大于或等于源图像最高频率...

2018-09-16 16:06:29 4429 2

原创 学习笔记:FPGA学习之DA通信协议

一:DA控制原理http://www.dzsc.com/data/2016-8-16/110442.html二,DA通信协议 在TLC5615原理图中,DIN引脚为串行二进制输入端口,SCLK引脚是串行时钟输入端,CS是片选信号,DOUT引脚是用于级联的串行数据输出,AGND引脚是模拟地,REFIN引脚是基准电压输入端,OUT引脚是DA模拟电压输出端,VCC是电源电压输入端。...

2018-09-08 17:02:08 3979 1

原创 学习笔记:FPGA学习之AD通信协议

一,AD控制原理https://baike.baidu.com/item/%E6%A8%A1%E6%95%B0%E8%BD%AC%E6%8D%A2/94393二,AD通信协议在AD TLC549中,vcc引脚是 系统电源输入端,I/O CLOCK引脚是外接时钟输入端,DATA OUT是转换结果数据串行输出端,CS引脚是片选信号,GND是接地端,REF+引脚是正基准电压输入端,ANA...

2018-09-08 16:32:04 4873 3

SecureCRT_绿色版

谁用谁知道!!SecureCRT_绿色版

2019-01-04

SECURECRT串口调试工具

串口调试工具,适合FPGA开发用到的uart串口调试工具。

2018-07-23

GRBL源代码

grbl的全部源代码和注释解析。

2018-07-23

GRBL源代码分析

讲述了GRBL的模块功能,主要介绍讲解了直线插补法和圆弧插补算法的原理,如何将脉冲转换为电机转动的频率。

2018-07-23

onekey ghostV13.5.23.208

重装还原系统分区工具,亲测有效,可以放心使用,自动化重装系统。

2018-07-23

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除