博客
要做无线通信,必定会接触到傅里叶变换,要做傅里叶变换肯定会接触到IFFT变换,它将傅里叶变换的乘法和加法次数极大的缩减,而且在xilinx的IP中有关于IFFT的核,直接调用它可以缩短开发流程。下面开始讲解vivado关于IFFT的IP核运用步骤:
多速率的概念是相对于单速率(Single Rate)信号处理而言的。单速率是指整个信号处理流程中只有一种数据速率;多速率是指系统中存在多个数据速率。使用多速率信号处理可以节省存储空间、减少通信数据量、减少运算量、减轻设计难度
Vivado综合工具支持直接在RTL文件或XDC文件中设置综合属性。如果Vivado识别出设置的属性,会创建与之相关的逻辑电路;如果不能识别设置的属性,会将该属性和值存放在生成的网表中。因为某些属性,比如LOC约束适用于布线过程,因此必须保留该属性配置情况
在这篇文章,我们要讲的则是如何透过 AXI_GPIO 来处理 输入 的控制,并让 Cortex-R5 根据不同的输入,在 ps_uart1 输出不同的讯息,以及控制不同的 LED 亮暗。
背景:ZynqNet能在xilinx的FPGA上实现deep compression
目的:运行zynqNet的代码。
源码地址:https://github.com/dgschwend/zynqnet
项目程序架构,针对我们的项目,我们需要看懂相应的HLS程序和ARM端的程序。
ARM端的程序以_FIRMWARE为准;FPGA端程序以HLS为准。
1. _TRAINED_MODEL
这部分为训练好的caffe模型与预训练的权重。
本文是我在学习FPGA时学到的相关知识与总结,希望可以帮助同行理解和掌握相关的FPGA知识。可以将本文档当作相应FPGA教程文档UG998的辅助文档学习。
Xilinx原版教程文档参见XilinxDocumentation navigator 中对应UG998:Introduction to FPGA Design with Vivado High-Level Synthesis
首先要说明的是,往zedboard上移植opencv跟我们平时在pc上安装opencv的过程不同。毕竟zedboard是嵌入式平台很多东西都要删减,而且zedboard官方移植的linux不带图形界面,我们要自己在命令行下配置环境
在viado SDK的程序开发中会出现以下的问题
出现问题的原因可能是
没有添加对应的头文件
<img src="http://xilinx.eetrend.com/files/2019-01/%E5%8D%9A%E5%AE%A2/100017441-58…; alt="">
解决办法:添加对应的头文件 如上图:添加#include”stdlib.h”
背景:ZynqNet能在xilinx的FPGA上实现deep compression。
目的:读懂zynqNet的代码和论文。
<strong>一、网络所需的运算与存储</strong>
1.1 运算操作:
<li>macc:multiply-accumulation,</li>
<li>comp:comparison</li>
<li>add: addition/substraction</li>
<li>div: division</li>
<li>exp: expontential</li>
在介绍Gateway In block时谈到了System Generator中的数据类型,及不同的量化和溢出方式。本文将以两个简单的设计实例,更直观地说明不同的量化和溢出方式有什么区别。
<strong>VGA硬件接口</strong>
到zedboard官方给出的原理图中查看:
<center><img src="http://xilinx.eetrend.com/files/2019-01/%E5%8D%9A%E5%AE%A2/100017393-58…; alt=""></center>
在网上看了很多的介绍,基本都是一样的,但是根据这些博客,自己验证了下发现结果和matlab中不一样。
1.配置IP核
用vivado17.2 IP版本为9.0,配置首先配置最大长度为64,时钟为100MHz,将长度可以改变选中,如下图所示:
<center><img src="http://xilinx.eetrend.com/files/2019-01/%E5%8D%9A%E5%AE%A2/100017412-58…; alt=""></center>
在这篇文章中,我们将让这块开发板的 Cortex-A53 透过 AXIO_GPIO 模块,点亮板子上的 LED 灯,并且透过 ps_uart0 输出一些讯息。
zynq 的内嵌了 XADC,可以用来采集电压;
Temp:芯片温度
VCCINT: 内部PL核心电压
VCCAUX: 辅助PL电压
VCCBram: PL BRAM电压
VCCPInt: PS内部核心电压
VCCPAux: PS辅助电压
VCCDDR: DDR RAM的工作电压
VREFP: XADC正参考电压
VREFN: XADC负参考电压
ZCU102实时YUV码流输出方案:将摄像头采集的数据,输出YUV的码流数据!功能:将实时YUV码流在ZCU102BSP上编码H265,通过RTP传输协议将H265视频数据打包发送到客服端,客服端上设置H265相关参数(IP、端口号、时钟频率等)在sdp文件中,使用VLC播放实时的H265码流
在透过 Vivado 去建立新的项目的时候,开发板没有 UltraZed-EG PCIe Carrier Card 的选项可以选,因此我们就必须自己去设定关于其开发板的信息。
FPGA(现场可编程门阵列)是半导体器件,通过设计实现具有可编程互连的逻辑块阵列。与“硬化”设备(即CPU / GPU)不同,FPGA可以编程为实现用户所需的特定硬件设计。在设计硬件系统之后,必须使用二进制文件对FPGA进行编程。此过程通常称为配置。此外,在具有固定功能和动态功能的用例中,可以部分地重新配置FPGA