技术

基于FPGA的图像自适应加权均值滤波设计

发表于:03/21/2019 , 关键词: FPGA, CMOS图像, 均值滤波
针对CMOS图像传感器采集图像过程中的噪声预处理问题,提出一种在FPGA中实现的可配置的自适应加权均值滤波模块设计方案。该模块通过检测滤波窗口内不同方向的方差来确定纹理方向,从而自动生成相应的加权系数,可以对宽度不超过4 094像素的图像进行流水线式的加权均值滤波处理,达到去噪保边的目的

Vivado 2017调用Modelsim仿真

发表于:03/21/2019 , 关键词: Vivado 2017, Modelsim, Vivado仿真
Vivado是Xilinx公司的FPGA开发工具,熟悉Xilinx的工程师应该对ISE比较不陌生,但是随着时代的发展,FPGA芯片进步很快,Xilinx也已经宣布不再对ISE进行更新,这就意味着Vivado将在以后的发展中逐渐取代ISE,所以掌握好Vivavo的使用,是一个FPGA工程师必备的技能。今天的文章主要是讲解怎么调用Modelsim进行仿真

MPSoC EV H.265编解码性能

发表于:03/20/2019 , 关键词: MPSoC, H.265编解码器
MPSoC EV 系列支持H.265编解码。在规格中,1080p编解码都可以达到8路1080p30,总体相当于1080p240。使用2018.3 VCU TRD 实际测试,性能更好。按如下测试,编码每路的帧率达到达到45,总体相当于1080p350;解码总体相当于1080p390。编码时,每路的CPU负载在15%左右

利用Xilinx HLS将C++代码快速部署于FPGA(Cordic算法)

发表于:03/20/2019 , 关键词: Vivado HLS, Cordic算法, FPGA
据观察,HLS的发展呈现愈演愈烈的趋势,随着Xilinx Vivado HLS的推出,HLS可以在一定程度上降低FPGA的入门门槛(不用编写RTL代码),也可以在某些场合加速设计与验证(例如在FPGA上实现OpenCV函数),但个人还是喜欢直接从RTL入手,这样可以更好的把握硬件结构

从 SD 引导或从 QSPI 引导 eMMC 的方法

发表于:03/19/2019 , 关键词: eMMC, SD
【问题描述】: 我的 SD 在 SD1 上,没在 SD0 上,所以我不能从这引导。 怎样才能把 FSBL 交给 SD? 【解决方案】: SD: 1) 在 FSBL main.c 文件中,您可以通过进行以下修改将 BootModeRegister 在第 376 行的值强制设为 SD_MODE: /* * Read bootmode register */ // comment out these... 阅读详情

ZYNQ Linux操作系统移植说明文档

发表于:03/19/2019 , 关键词: LINUX, 系统移植
ZYNQ上面移植Linux操作系统包括四个部分,uboot,devicetree,kernel,ramdisk。其中uboot类似于bios,负责对设备进行简单的初始化,devicetree以树的形式对zynq相连的硬件设备进行描述,kernel是加载的操作系统内核,ramdisk是操作系统启动之后挂载的文件系统。

Python高手都知道的内置函数,你不知道就low了

发表于:03/19/2019 , 关键词: python, 函数
python内置了一些非常巧妙而且强大的内置函数,对初学者来说,一般不怎么用到,我也是用了一段时间python之后才发现,哇还有这么好的函数,这个函数都是经典的而且经过严格测试的,可以一下子省了你原来很多事情,代码不仅简洁易读了很多,而且不用自己去闭门造车.既方便了自己又减少了bug

高速运动平台弹速补偿的FPGA实现方法

发表于:03/18/2019 , 关键词: FPGA
近年来,现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)技术飞速发展,集成度越来越高,功耗、成本不断降低,特别是在并行处理、流水线设计、可重构等方面具有独一无二的优势,使其逐渐在雷达信号处理领域中占据重要地位。本文使用FPGA对距离徙动校正算法进行了硬件实现,具有实时性高,处理速度快,精度高等特点

PYNQ中RPC机制是如何实现的

发表于:03/18/2019 , 关键词: PYNQ
我在《PYNQ中MicroBlaze程序是如何加载的》一文中详细讲述了PYNQ中MicroBlaze的程序是如何通过python被加载到PL端的。并且在《在PYNQ中调用MicroBlaze的实现过程》中详细讲述了如何在SDK中开发MicroBlaze程序,生成bit文件在通过Python加载的过程。但是终究来说这一过程异常复杂,开发过程繁琐

P4语言典型应用盘点与解析

发表于:03/15/2019 , 关键词: P4语言, SDN
SDN是网络的未来,P4是SDN的未来,基于openflow的传统SDN专注于可编程的控制平面,数据平面仍然是由固定功能的ASIC组成,也就是说openflow的实现仍然需要配套的芯片支持,openflow是与目标硬件相关的。而P4专注于可编程的数据平面,可以自定义芯片对于数据包的处理方式,添加自己的新功能

在PYNQ中调用MicroBlaze的实现过程

发表于:03/14/2019 , 关键词: PYNQ, MicroBlaze
在前面一篇文章《PYNQ中MicroBlaze程序是如何加载的》中详细介绍了MicroBlaze的程序如何在PYNQ系统启动后加载运行。本文将演示一个最简单的开发demo,在PmodA 端口上产生我们所要的逻辑电平。

如何使用GDB在MPSoC单板上调试应用层软件

发表于:03/13/2019 , 关键词: Petalinux, ZCU106
编译PetaLinux时,使能GDB。单板上就会有GDB。zcu106的VCU TRD 2018.2 已经包含GDB。带调试信息编译软件,比如添加-g, 或者-g3开关。对于zcu106的ctrl-sw,在encoder_defs.mk里修改CFLAGS, 添加-g3,得到CFLAGS+=-Wall -Wextra -g3

Vivado综合操作中的重定时(Retiming)

发表于:03/12/2019 , 关键词: Retiming, 重定时
重定时(Retiming)是一种时序优化技术,用在不影响电路输入/输出行为的情况下跨组合逻辑寄存器从而提高设计性能。图1所示的电路是六输入加法器,其中有一条关键路径,红色推出显示的路径是限制整个电路性能的关键路径。

PYNQ中MicroBlaze程序是如何加载的?

发表于:03/12/2019 , 关键词: PYNQ, MicroBlaze
在PYNQ的base overlay 中添加了MicroBlaze,通过MicroBlaze 来配置PMOD 和ardonio 接口并驱动外部设备。但是平常我们对MicroBlaze 编程都是将MicroBlaze 的代码文件被硬件的bitstream文件融合成一个文件下载到FPGA里面去执行。但是,在PYNQ里面显然不是这样的。

Python的这些实用功能你都了解吗?

发表于:03/12/2019 , 关键词: python
在使用Python多年以后,我偶然发现了一些我们过去不知道的功能和特性。一些可以说是非常有用,但却没有充分利用。考虑到这一点,我编辑了一些你应该了解的Python功能特色。