- 博客(26)
- 资源 (2)
- 收藏
- 关注
原创 FPGA时序约束(二)
4>创建虚拟时钟虚拟时钟通常用于设定对输入输出的延迟约束,没有与之绑定的物理管脚。主要用在三个场景:*外部IO的参考时钟并不是设计的时钟*FPGA I/O路径参考时钟来源于内部衍生时钟,但与主时钟的频率关系并不是整数倍*针对I/O指定不同的jitter和latency如下图所示,在FPGA的A和B端口分别有两个输入,其中捕获A端口的时钟是主时钟,而捕获B端口的时钟是MMCM输出的衍生时钟,而且该衍生时钟与主时钟的频率不是整数倍关系。这种情况下时序约束如下:创建虚拟时钟用的也是crea
2021-03-25 15:40:51
559
原创 FPGA时序约束(一)
1. 时序约束理论篇建立和保持时间时序路径时序模型2.I/O管脚约束管脚约束延迟约束3.时钟周期约束4.两种时序例外多周期路径伪路径5.xdc约束优先等级建立和保持时间建立时间:在clk上升沿到来之前,保持稳定(准备好开始)保持时间:在clk上升沿到来之后,保持稳定(别动!)时序路径典型的额时需路径有4种,如下图所示:其中标记1和3是片间路径,2和4是片内路径。这几类中,我们关注比较多的是2的同步时序逻辑,也就是FPGA内部的时序逻辑。时序模型一个完
2021-03-24 22:15:48
1727
原创 PYNQ相关文档学习
**HLS部分:**首先了解一下HLS的流程。这里主要读两份文档就够了。ug902-vivado-high-level-synthesis:读完HLS教程后。按照该教程的方法对opencv函数进行加速,然而,我们不能直接对桌面端使用的opencv库直接综合,因为很多函数是不可综合。ug902是一个可综合的函数库,其中包括Vivado HLS Video Library,该库与opencv库有很大的对应关系。这份660页的文档(v2014.3)主要从基本概念,C语言库,可综合编程风格等介绍HLS,这个文档
2020-12-02 16:31:57
361
原创 Ubuntu下VirtualBox虚拟系统中无法识别USB的解决方法
记录Ubuntu下VirtualBox虚拟系统中无法识别USB的解决方法 以及 Virtualbox拓展包安装失败,我所遇到的这两个问题其实主要就是 Virtualbox拓展包没安装好。解决办法很简单(网上很多更改属性啥的,我试过了,没用):下载对应的Virtualbox扩展包放在Virtualbox安装目录下,对应哦!剩下的问题自行百度吧这是扩展包下载链接...
2020-12-01 17:27:56
884
原创 vivado自定义 IP 核实验
在某些项目中无法找到合适的 IP 核,这就需要我们来自定义 IP 核。vivado软件提供了创建核封装IP向导的方式来自定义IP核,可以帮助我们实现定制化系统设计,这些设计还可以在其他系统是哪个实现重用。下面以创建一个能产生PWM波形的IP核在开发板上实现呼吸灯为例来进行介绍。该IP核带有AXI总线,可以通过PS端访问IP核内部寄存器实现PS端对于IP核的控制。第一步:IP核的创建与封装创建完成后点击菜单栏 Tools->Creat and Package New IP,之后在弹出的对话框中
2020-11-24 21:54:48
2142
转载 VIVADO软件介绍与使用
Xilinx Vivado的使用详细介绍(1)https://blog.youkuaiyun.com/jzj1993/article/details/45533729Xilinx Vivado的使用详细介绍(2):综合、实现、管脚分配、时钟设置、烧写_jzj1993的专栏-优快云博客_vivado管脚分配 https://blog.youkuaiyun.com/jzj1993/article/details/45533769?utm_medium=distribute.pc_relevant_t0.none-task-blo
2020-11-24 20:11:43
4185
原创 搭建HLS图像仿真平台--OpenCV图像仿真平台
目标:对HLS中带有的OpenCv库做一个简单的介绍,了解HLS进行图像算法开发的流程,分清楚HLS中可综合的代码和C仿真代码的区别与联系。OpenCV是一个函数库,它包含许多针对桌面处理器和gpu的常见计算机视觉功能的优化实现。Vivado HLS包含许多视频库,这些库由可综合的C++代码实现,这些C++代码的功能大致相当于OpenCV中实现的视频处理函数和数据结构。OpenCV 图像处理模块中的许多函数都有相应的Vivado HLS库函数。在视频处理系统的设计过程中,OpenCV可以在多个位置使用。
2020-11-12 12:43:22
1458
原创 通过HLS生成IP 自定义Overlay
PYNQ是一种框架。pynq框架主要放在ARM这边,定义了一个可以从支持操作系统到上位机的API,再到C to python,再从python转换成ipynb的形式。
2020-11-03 20:01:43
489
原创 FPGA图像处理开发流程
在掌握FPGA基本知识以及数字图像处理基础之后,还需要准备的硬件有一块FPGA开发板(包括显示接口如VGA,HDMI,摄像头接口)、一个入门级摄像头如OV7725以及一个液晶显示屏,在正式做FPGA图像处理开发之前,务必使用FPGA驱动摄像头视频显示,这里要掌握摄像头驱动和液晶屏驱动接口和时序,能够进行modelsim仿真。一个常规的FPGA图像处理开发流程是由需求分析及问题描述、软件算法设计及验证、硬件平台设计、FPGA映射以及仿真验证几部分组成。如下图所示:下面对这五步进行一一介绍(可能不全面):
2020-10-31 12:18:00
1072
原创 SDK开发之hello_world
目标:Hello World实验“Hello World!”是各类编程教程中最经典的实验,无数软件工程师都是从"Hello World"开始自己的编程之路。从串口打印"HelloWorld”开始我们zYNQ的学习之路。通过本次实验我们将了解到zYNQ的PS部分的开发流程,以及熟悉相关软件的操作。开发环境硬件开发环境: vivado 2018.3软件开发环境:SDK 2018.3两者集成在一起了。**开发流程:**首先我们来了解一下一个完整的ZYNQ嵌入式系统的组成部分:1、系统内核:ARM Co
2020-10-30 17:31:36
2373
5
原创 X家FPGA开发流程(至简)
开发工具:Vivado2020VerilogZYNQ7z020这是我做的完整流程,涉及到初级开发的功能;1.新建工程:(RTL Project)芯片选型;2.编写程序:源文件,仿真文件,约束文件(.xdc文件);3.时序仿真;4.约束:IO配置有模板(.xdc文件);5.综合(synthesis);6.实现生成二进制文件(bitstream),下载验证。创建工程部分就不具体说了,下面是创建好工程后的界面编写源文件:图片上有Add Sources或者“+”都可以添加源文件然
2020-10-30 12:01:35
252
原创 PYNQ-Z2上手
总的流程:1.HLS开发2.VIVADO工程导入IP核Block Design生成bitstream并导出3.PYNQ上的操作导入PYNQpython文件编写在jupyternotebook 中new一个python文件。在/pynq/xilinx/pynq/overlays/base目录下有base文件,通常我们需要将这个overlay导入到工程中from pynq.overlay.base import BaseOverlay base = BaseOverlay("base.b
2020-10-28 14:59:06
1425
原创 PYNQ-Z2初识
基本框架:Zynq是基于双核ARM Cortex-A9处理器(称为处理系统或PS-Processing System)的SOC,集成了FPGA结构(称为可编程逻辑或PL-)。PS子系统包括许多专用的外设(内存控制器、USB、Uart、IIC、SPI等),并且可以在PL覆盖中通过附加的硬件IP进行扩展。而对于现在手上的这块PYNQ-Z2而言,系统包括ARM Cortex-A9 PS和三个标准GPIO IP,用于连接板载LED,按钮和开关。1.PYNQ提供了Python接口,允许通过运行在PS中的Py
2020-10-28 10:33:23
2689
1
原创 结合网上教程实现yolov3
0代表笔记本自带的摄像头,1代表外界摄像头参考视频链接:训练自己的数据集
2020-10-26 22:07:20
139
原创 TF2安装

2020-10-26 21:27:20
371
原创 ReadTimeoutError: HTTPSConnectionPool(host=‘mirrors.tuna.tsinghua.edu.cn‘, port=443): Read timed out
**win10系统安装tensorflow2.1.0是遇到的问题**安装命令:install tensorflow-gpu==2.1.0 -i https://pypi.douban.com/simple报错:ReadTimeoutError: HTTPSConnectionPool(host=‘mirrors.tuna.tsinghua.edu.cn’, port=443): Read timed out我的解决办法:将命令改为pip --default-timeout=100 install
2020-10-26 20:06:53
3272
原创 基于MATLAB的人脸检测系统设计
话不多说,直接上代码和成果图。clc;clear all; close all;% 载入图像Img = imread('hh.jpg');%读取图片if ndims(Img) == 3 I=rgb2gray(Img);else I = Img;endBW = im2bw(I, graythresh(I)); % 二值化figure;subplot(2, 2, 1); imshow(Img);title('原图像', 'FontWeight', 'Bold');sub
2020-09-06 14:04:06
699
原创 常用的Linux命令
今天总结几个非常常用的Linux命令,其中有几个在面试中很可能问相关命令的原理,比如后台运行命令。希望对大家有所帮助,最好自己去尝试在Linux操作系统中实践一下。(转载论坛) 1 查看目录以及权限 在windows中,使用dir查看当前目录中文件。在Linux中使用ls(list)查看当前目录文件。 windows中的dir,如下图所示 在Linux中,通常使用ls -l列出,其中可以查看文件属性,所属用户组等较为详细的信息。下面详细解释从左到右每一列是什么意思 ls -l
2020-08-20 10:06:21
142
原创 运动目标检测的四种方法
运动目标检测的四种方法运动目标检测主要目的是从视频图像中提取出运动目标并获得运动目标的特征信息,如颜色、形状、轮廓等。提取运动目标的过程实际上就是一个图像分割的过程,而运动物体只有在连续的图像序列(如视频图像序列)中才能体现出来,运动目标提取的过程就是在连续的图像序列中寻找差异,并把由于物体运动和表现出来的差异提取出来。常用的四种方法:连续帧间差分法、背景差分法、光流法和运动能量法。1.连续帧间差分法:转自:原理,摄像机采集的视频序列具有连续性的特点。如果场景内没有运动目标,则连续帧的变化很微弱,如果
2020-08-19 10:53:07
18371
原创 机器学习初探
机器学习常用的10中算法1.线性回归2.逻辑回归3.线性判别分析(LDA)4.分类和回归树5.朴素贝叶斯6.K最近邻算法7.学习向量量化8.支持向量机9.袋装法和随机森林10.Boosting和AdaBoosting欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文...
2020-08-19 10:46:33
169
原创 运动目标检测的四种方法
运动目标检测主要目的是从视频图像中提取出运动目标并获得运动目标的特征信息,如颜色、形状、轮廓等。提取运动目标的过程实际上就是一个图像分割的过程,而运动物体只有在连续的图像序列(如视频图像序列)中才能体现出来,**运动目标提取的过程就是在连续的图像序列中寻找差异**,并把由于物体运动和表现出来的差异提取出来。 常用的四种方法:**连续帧间差分法、背景差分法、光流法和运动能量法。** **1.连续帧间差分法**:转自:[原理](https://blog.youkuaiyun.com/oujiangp...
2020-08-19 10:40:55
8048
原创 IIC总线
通俗解释,适合初学者https://www.bilibili.com/video/BV12s411W7G2?from=search&seid=14121124140681352193
2020-07-03 09:05:32
129
原创 小波变换图像融合
最近在做一个小实验,基于小波变换对图像进行融合的MATLAB实验。***小波变换图像融合原理:***对一幅灰度图像进行N层的小波分解,形成3N+1个不同频带的数据,其中有3N个包含细节信息的高频带和一个包含近似分量的低频带。分解层数越多,越高层的数据尺寸越小,形成塔状结构,用小波对图像进行多尺度分解的过程,可以看作是对图像的多尺度边缘提取过程。小波变换具有空间和频域局部性,它可将图像分解到一系列频率通道中,这与人眼视网膜对图像理解的过程相当,因此基于小波分解的图像融合可能取得良好的视觉效果;图像的小波分解
2020-05-29 23:21:39
5919
原创 第一次分享
记录第一次在优快云上分享 第一次写博客,也不知道怎么写,先大概给自己定个方向,以后会写一些关于我读研期间的学到的知识的分享,比如深度学习,图像识别等方面的内容,分享一下自己做这些东西时遇到的困难以及解决的方法等,我也是初入门的小白,希望能够在未来一段时间与大家分享并向大家学习。计划是大概一个月更新一次。...
2019-11-29 16:35:53
127
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人