跳转到主要内容

技术

Vivado使用技巧(16)——SSN转换噪声分析

<strong>SSN概述</strong>
SSN(Simultaneously Switching Noise)分析可以估计I/O Bank中管脚在同时转换输出状态时对其它输出端口造成的干扰。这是一个常见的问题,许多总线有大量的位宽,当总线数据有多位同时变化时,很容易在其它I/O上产生噪声。比如数字电路设计中倾向于使用格雷码编码,正是因为两个相邻的数字用格雷码表示时只有1bit的差异,使得同时转换噪声最小。

Zynq-7000 rgb2ycbcr IP的创建与使用

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

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

IP(Intellectual Property)在嵌入式FPGA设计中,指的是某些设计好的模块,分为软件模块和硬件模块。这些模块,一般都是已经测试好,所有功能完善的,由一些用户自己设计的。有些模块是免费的,也有收费的模块。所有用户都可以将这些IP核(IP Core)导入到自己的工程中,同样,所有用户也都可以定制自己的IP核。

Zynq mio总结

Zynq的IO包括对外连接的GPIO和内部PS与PL通信的AXIO。其中对外的GPIO又分为两种:MIO和EMIO。MIO直连到PS;EMIO则是PS扩展到PL,从PL接出的IO。所以MIO不需要管脚约束,而EMIO需要管脚约束。

学会System Generator(17)——转置型FIR滤波器设计

本文是该系列的第17篇。上一篇介绍了使用低层次封装的block搭建直接型FIR滤波器结构的方法,对设计进行时序分析,并将设计流水线化来提高系统的工作频率。转置型FIR滤波器是一种由直接型FIR滤波器变换而来的结构,在几乎相同的结构下有着更好的性能,本文将对此做介绍。

在嵌入式视觉应用中,MIPI CSI-2接口是理想之选吗?

近年来,市面上已涌现出越来越多的嵌入式视觉应用,它们是由嵌入式计算板和相机模块组成的系统。与其他系统相比,这类系统能以更经济、更有效的方式管理视觉任务。

相机接口在上述嵌入式视觉系统的设置中扮演着关键作用,因为它承担着将相机模块与主机连接在一起的重任。

即插即用的USB 3.0、LVDS(Low Voltage Differential Signaling,低电压差分信号)等接口就适用于嵌入式视觉系统。但在很多情况中,选用MIPI CSI-2接口才是最合适的选择。

本文将介绍在嵌入式视觉领域中,使用此重要接口将带来何种优势,并阐述了它所具备的功能。

Zynq-7000电子相册的实现

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

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

电子相册的实现就是通过按键来改变显示器的图片轮换。本节将通过ps端的按键来控制ARM选择不同的图片通过HDMI输出到显示屏。

<strong>1.1 AXI_VDMA的介绍</strong>

嵌入式视觉中的处理平台概念

<strong>引言</strong>

什么叫做“嵌入式视觉”?

嵌入式视觉=小型处理板 + 小型相机模块

在嵌入式视觉领域中,处理器有许多分类,SoC, SoM,SBC,FCD分别是什么?他们之间有什么区别和联系?通过本文,您可以有个系统的归纳和了解。

<strong>片上系统(SoC)</strong>

片上系统(SoC)是嵌入式架构的核心,是实际成像处理的所在点。很多场合里,人们将专业术语“SoC”通俗地等同于“处理器”。然而实际上,SoC包含的不止这些。

Vivado使用技巧(15)——DRC设计规则检查

在I/O和时钟规划之后,需要验证设计以确保其满足设计需求。Vivado提供了两种验证途径:DRCs用来检查设计违反规则情况;SSN分析用来估计转换噪声等级。本文将介绍DRCs,本系列第16篇介绍了SSN分析。

<strong>运行DRCs</strong>
DRCs可以说是管脚规划中最严苛的一个步骤,DRCs会使用一套设计检查项(通常称作rule deck),来检查当前设计是否违反这套规则。本文将以运行DRCs检查I/O端口和时钟逻辑为例。

资深工程师告诉你嵌入式的出路

很多人对FPGA理解还停留在CPLD阶段,认为FPGA只是用来做一些逻辑接口或算法而已,那就大错特错了,如果你一直做FPGA的逻辑而又不是很精通,又或者做其它嵌入式(如单片机、ARM)开发可以看下这篇文章,或许对你有所帮助。
<center><img src="http://xilinx.eetrend.com/files-eetrend-xilinx/article/201809/13373-393…; alt="" width="670"></center>

学会System Generator(16)——流水线设计方法详解

本文是该系列的第16篇。流水线(pipeline)是FPGA设计中经常提到的一种技巧,通过消耗更多的资源来提升系统的运行速度。本文将以FIR滤波器的设计为主题,详细介绍如何把一个设计“流水线化”,并进行时序分析体会流水线设计带来的好处。

<strong>流水线</strong>
这里先用通俗易懂的语言描述一下流水线设计思想。假设小A要从成都到哈尔滨旅游,如果直接坐火车过去恐怕要累得受不了;如果在旅程中间加几站,比如到西安、北京、天津找个客栈休息一下,路上就更加精力充沛了。

Zynq-7000 PL端HDMI的显示控制

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

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

HDMI(High Definition Multimedia Interface)是高清晰多媒体接口线的缩写,能高品质地传输未经压缩的高清视频和多声道音频数据,最高数据传输速度为5Gbps。同时无需在信号传送前进行数/模或者模/数转换,可以保证最高质量的影音信号传送。

您的设计中有低语者吗?

<font color="#FF8000">作者:德州仪器 Atul Patel </font>

大家许多人可能都与“低语者”有过交谈—低语者是指说话声音超低几乎让人听不明白的人。与低语者交谈往往会导致沟通错误且混杂各种信号,这种场景在上世纪90年代知名情景喜剧《低语者》中体现得淋漓尽致。

那么,低语者与电子系统及其设计有何关系呢?现代电子信号链已开始更多地采用在较低电压节点运行的集成电路(IC)。Sub-1V器件,如大型微处理器、现场可编程门阵列(FPGA)、低功耗通信器件和传感器,只是为了降低功耗和延长电池寿命而将电压降低于1V的设备类型中的几种。这些器件的电压较低也意味着它们的输入/输出(I/O)数据接口需要在较低的电压下工作。实际上,这些新型低电压信号链器件正成为该系统的低语者。

H.264三种码率控制方法(CBR, VBR, CVBR)

CBR(Constant Bit Rate)是以恒定比特率方式进行编码,有Motion发生时,由于码率恒定,只能通过增大QP来减少码字大小,图像质量变差,当场景静止时,图像质量又变好,因此图像质量不稳定。这种算法优先考虑码率(带宽)。

这个算法也算是码率控制最难的算法了,因为无法确定何时有motion发生,假设在码率统计窗口的最后一帧发生motion,就会导致该帧size变大,从而导致统计的码率大于预设的码率,也就是说每秒统计一次码率是不合理的,应该是统计一段时间内的平均码率,这样会更合理一些。

基于 Speedgoat 系统验证 FPGA 算法

FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它作为专用集成电路(ASIC)领域中的一种半定制电路而出现,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。主要用于信号处理及各类高速模拟仿真。

Python实现TFTP

<strong>一、TFTP协议简单介绍</strong>

1、定义

TFTP(Trivial File Transfer Protocol):简单文件传输协议)。

TFTP是TCP/IP协议族中的一个用来在客户端与服务器之间进行简单文件传输的协议,传输不复杂、开销不大的文件。端口号固定为69。

TFTP是一个传输文件的简单协议,它基于UDP协议而实现。

2、特点

简单、占用资源少、基于UDP实现、端口号为69、适合在局域网内传输小文件。

CNN在ZYNQ上的实现

<strong>ZYNQ简介</strong>

ZYNQ系列是Xilinx推出的高端嵌入式SoC,其在片上集成了ARM处理器和FPGA。ZYNQ与传统的嵌入式CPU相比,具有强大的并行处理能力。开发人员利用FPGA强大的并行处理能力,不仅可以解决多种不同信号处理应用中的大量数据处理问题,而且还能通过加入更多外设来扩展处理系统的功能。ZYNQ通过引入最新的高速AXI-4总线,可轻松实现外设的扩展与高速互访。

告别选择困难症——区分FPGA与CPLD

如何区分CPLD或FPGA和哪一个更适合自己?这是一个老生常谈的问题,尤其是学生和初学者。如果您也在这个问题上很迷茫,那么就请听小编为您区分FPGA与CPLD。

<strong>CPLD</strong>

基于Vivado HLS的帧差图像实现

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

1. 帧差法原理

帧差法的实现非常简单:
<center><img src="http://xilinx.eetrend.com/files-eetrend-xilinx/article/201809/13352-392…; width="670"></center>

PCIe学习(三)——PCIe DMA关键模块分析之二

<strong>简介 </strong>
这是学习PCIe DMA传输的第二篇博客,在前一篇中叙述了PCIe DMA传输的部分基础知识,并且较为详细的分析了接收引擎的各个状态,这里接着分析第二个关键模块:发送引擎(BMD_64_TX_ENGINE.v)。

软件:VIVADO2017.4

<strong>第一步:模块功能分析</strong>

学会System Generator(15)——三种数控振荡器设计方法

本文是该系列的第15篇。数字控制振荡器(NCO)是FPGA中常用的一个模块,在《FPGA数字信号处理系列》第一篇就对其做了相关介绍。System Generator中的block大致可以分为两类:高层次封装(面向系统级,如第2篇设计中用到的Digital FIR Filter)和低层次封装(面向底层,与FPGA资源的联系更直接)。

本文将采用IIR滤波器、DDS、DDS Compile IP核3种设计原理在System Generator中实现NCO。前两种采样低层次封装block,后一种采用高层次封装block,体会其中的差别。

<strong>基于IIR滤波器的NCO实现</strong>