技术

Vivado FIR滤波器设计与仿真(一)

最近在学习FPGA DSP相关设计,从滤波器开始学习,最开始先生成两个正弦信号,产生混频信号,通过modelsim仿真来验证设计。 本案例用Block Design方法进行设计(也可以选择编写.v文件的形式进行设计)。

利用ZYNQ SOC快速打开算法验证通路(6)——LWIP实现千兆TCP/IP网络传输

一、前言

  之前ZYNQ与PC之间的网络连接依赖于外接硬件协议栈芯片,虽然C驱动非常简单,但网络带宽受限。现采用LWIP+PS端MAC控制器+PHY芯片的通用架构。关于LWIP库,已经有很多现成的资料和书籍。其有两套API,一个是SOCKET,另一个是本例中要用到的RAW。RAW API理解起来较为复杂,整个程序基于中断机制运行,通过函数指针完成多层回调函数的执行。SOCKET API需要支持多线程操作系统的支持,也牺牲了效率,但理解和编程都较为容易。实际上SOCKET API是对RAW API的进一步封装。

二、LWIP Echo Server demo解读

Zynq 轻量级以太网控制器LWIP传输速度优化

在sdk中选择lwip模板,编译调试可轻松连接成功并进行通信,模板中代码完成的任务是client给server发什么,server就会回复什么。
<center><img src="http://xilinx.eetrend.com/files-eetrend-xilinx/blog/201810/13814-40317-…; alt=""></center>

Zynq UltraScale+系列之“电源”

最近一个项目开始使用Xilinx的ZU+系列MPSoC,于是对其官网上的相关文档进行了学习梳理,包括电源、时钟、复位、配置和外围接口等。

本篇就电源部分进行梳理,其他部分会在后续的文章进行梳理,如有不妥之处,敬请留言指正为谢!

1、电源概述
<center><img src="http://xilinx.eetrend.com/files-eetrend-xilinx/article/201810/13811-402…; width="670"></center>

Python语言特性

<font color="#FF8000">作者:huyr830 </font>

下是看书归纳所写。

Python语言介绍:
1. Python是一门跨平台、开源、免费的解释型高级动态编程语言。
2. Python支持命令式编程(How to do)、函数式编程(What to do),完全支持面向对象程序设计,拥有大量扩展库。
3. Python也被誉为胶水语言。

胶水语言:可以把多种不同语言编写的程序融合到一起实现无缝拼接,更好地发挥不同语言和工具的优势,满足不同应用领域的需求。

Python版本之争:

Zynq-7000 人体肤色识别

<font color="#FF8000">作者:OpenSLee,来源:FPGA开源工作室</font>

<strong>1 背景知识</strong>

在肤色识别算法中,常用的颜色空间为Ycbcr,Y代表亮度,cb代表蓝色分量,cr代表红色分量。

由于肤色在YCbCr 空间受亮度信息的影响较小,本算法直接考虑 YCbCr 空间的 CbCr分量,映射为两维独立分布的 CbCr空间。在 CbCr空间下,肤色类聚性好,利用人工阈值法将肤色与非肤色区域分开,形成二值图像。

RGB 转 YCbCr 的公式为:

Y = 0.257*R+0.564*G+0.098*B+16

FPGA设计千兆以太网MAC(1)——通过MDIO接口配置与检测PHY芯片

<font color="#FF8000">作者:没落骑士</font>

<strong>一、前言</strong>  

  本文设计思想采用明德扬至简设计法。以太网这一高效实用的数据传输方式应用于各个领域,如网络交换设备,高速网络相机等。虽然各FPGA厂商都提供MAC IP核,但大多收费,有时无法破解。不同厂家之间无法移植,而且为了通用性考虑牺牲了效率,因此自己动手写一个以太网MAC是个不错的选择。

ZYNQ跑系统 系列(四) AXI-DMA的linux下运行

AXI-DMA的linux驱动

一、搭建硬件环境

vivado版本2017.4,芯片为7010,不过不管什么版本和芯片大致步骤是一样的

本文工程文件:https://gitee.com/long_fly/AXIDMA_linux

初识FPGA CLB之总览

<strong>一. 概述</strong>
这里以7系列的FPGA为例,先从整体上去了解一下FPGA内部可编程逻辑资源的结构。了解FPGA器件的内部资源与结构有利于我们优化设计与评估设计资源。

SPI接口简介

串行外设接口(SPI)是微控制器和外围IC(如传感器、ADC、DAC、移位寄存器、SRAM等)之间使用最广泛的接口之一。本文先简要说明SPI接口,然后介绍ADI公司支持SPI的模拟开关与多路转换器,以及它们如何帮助减少系统电路板设计中的数字GPIO数量。

SPI是一种同步、全双工、主从式接口。来自主机或从机的数据在时钟上升沿或下降沿同步。主机和从机可以同时传输数据。SPI接口可以是3线式或4线式。本文重点介绍常用的4线SPI接口。

Ubuntu Opencv 图像平滑处理

<font color="#FF8000">作者:OpenSLee,来源:FPGA开源工作室</font>

<strong>1背景知识</strong>

Vivado使用技巧(22)——综合策略与设置的选择

综合(Synthesis)是指将RTL设计转换为门级描述。Vivado开发套件中的综合工具是一款时序驱动型、专为内存使用率和性能优化的综合工具,支持System Verilog 2012、Verilog 2005、VHDL 2008、混合语言中的可综合子集,以及XDC设计约束文件(基于工业标准的SDC文件),此外还支持RTL属性来控制综合细节。

Vivado中新建 IO Planning工程初步引脚分配

<font color="#FF8000">作者:做但不能忘思考,来源:FPGA2嵌入式</font>

这些深度学习术语,你了解多少?(上)

对于一个新手来说,深度学习术语可能非常难以理解。本表试图解释深度学习常用术语并链接到原始参考,以帮助读者深入了解特定主题。

深度学习与“一般”的机器学习术语之间的界限非常模糊。例如,我这里不包括“交叉验证”,因为它是一种通用技术,用于整个机器学习。但是,我加入了softmax或word2vec等术语,因为它们通常与深度学习相关,即使它们不是深度学习技术。

利用ZYNQ SOC快速打开算法验证通路(6)——利用AXI总线实时配置sysGen子系统

利用ZYNQ验证算法的一大优势在于,可以在上位机发送指令借助CPU的控制能力和C语言易开发特点,实时配置算法模块的工作模式、参数等对来对其算法模块性能进行全面的评估。最重要的是无需重新综合硬件模块。

Vivado时序分析练习

时序分析在FPGA设计中是分析工程很重要的手段,时序分析的原理和相关的公式小编在这里不再介绍,这篇文章是小编在练习Vivado软件时序分析的笔记,小编这里使用的是18.1版本的Vivado。

这次的练习选择的是ZYNQ的芯片,原本工程是工作在100MHz的时钟,但是作为练习,我们可以把时钟调到一个极限的程度来进行优化。

首先,打开一个工程,更改一下时钟频率,使得工程能够有一些时序问题,我们再通过时序分析的方法对它进行优化。我们这里把原本的100M时钟改成了200M时钟,具体步骤如下:

MPSOC之9——host、embeded间tftp、nfs、ftp环境搭建

tftp
可传输单个文件,不能传文件夹
需要通过命令传输文件,略显复杂
==一般调试kernel时,用uboot通过tftp方式启动,不用每次都烧写存储介质==

nfs
在host linux(ubuntu)上的nfs文件夹中存放文件
开发板上mount ubuntu的文件夹,mount后就像自己的文件一样
这种方式共享文件很方便
也有linux启动后,拿nfs作为根文件系统,方便调试根文件系统的内容

ftp
没有host linux环境时,可以把windows当成ftp client,开发板ftp server
方便拖动文件

Vivado(2017.1)中 BRAM IP核的配置与使用(1)

  Xilinx公司的FPGA中有着很多的有用且对整个工程很有益处的IP核,比如数学类的IP核,数字信号处理使用的IP核,以及存储类的IP核,本篇文章主要介绍BRAM  IP核的使用。

    BRAM是FPGA定制的RAM资源,有着较大的存储空间,且在日常的工程中使用较为频繁。BRAM以阵列的方式排布于FPGA的内部,是FPGA实现各种存储功能的主要部分,是真正的双读/写端口的同步的RAM。

    本片文章是基于Vivado的 2017.1的版本,其他版本都大同小异。

Vivado使用技巧(21)——仿真中的Debug特性

<strong>源代码级别调试</strong>
Vivado Simulator提供了在仿真过程中debug设计的特性,通过为源代码添加一些可控制的执行条件来检查出问题的地方。总的来说有三种调试方法:

Xilinx基于PCIE的部分重配置实现(一)

本博文主要是对基于PCIE(mcap)的部分可重构实现的步骤做一个简单的演示,如有错误之处,欢迎批评指正。值得说明的是,基于PCIE的部分可重构需在ultrascale系列及ultrascale+芯片才能实现,具体哪些系列能实现哪种配置方式如下图所示:
<center><img src="http://xilinx.eetrend.com/files-eetrend-xilinx/blog/201810/13754-39975-…; alt=""></center>