FPGA开发问题总结
文章平均质量分 68
FPGA
winkle_Zhang
FPGA工程师
展开
-
2、Verilog实现流水灯及与C语言的对比
编写四个LED流水的Verilog代码并用ModelSim进行仿真,仿真通过以后下载到开发板进行测试,要求开发板上每个LED亮的时间为1s。转载 2023-03-09 16:17:00 · 809 阅读 · 0 评论 -
【无标题】1、软件与Verilog基本格式规范说明
本来之前一直在用7系列的FPGA,但是目前手头只有一块Spartan-6系列的二手开发板,所以代码的验证都在Spartan-6上验证,但好在FPGA的结构基本类似,Verilog的代码基本可以通用。这里先写一部分,后面如果有补充的在加上。5、所有常量(parameter变量)以大写C加下划线开始,然后后面内容的一律用大写以示与变量的区别,信号比较长的话,后面的大写用下划线隔开。转载 2023-03-09 16:02:40 · 263 阅读 · 0 评论 -
QSPI Flash的原理与QSPI时序的Verilog实现
本节主要是讨论QSPI(Quad SPI,四线SPI总线)的相关内容转载 2023-03-09 11:48:34 · 3763 阅读 · 1 评论 -
FPGA远程固件在线升级
一般在代码开发阶段,我们使用JTAG烧写代码,但当产品投入到实际使用过程中,难以再用JTAG进行固件更新。所以需要开发远程/在线更新的功能,即使用产品自带的通讯接口(如串口,以太网接口等)传输待更新的固件包,实现固件更新升级的功能。转载 2023-02-22 09:27:29 · 6341 阅读 · 4 评论 -
一位十几年资深FPGA工程师的开发心得
一位十几年开发经验的资深FPGA工程师的开发心得转载 2023-02-09 10:08:02 · 2075 阅读 · 0 评论 -
基于FPGA的图像的非线性滤波:中值滤波
在图像预处理中,最基础也最重要的处理方法是图像滤波与增强。图像滤波可以很好地消除测量成像或者环境带来的随机噪声、高斯噪声和椒盐噪声等。图像增强可以增强图像细节,提高图像对比度。转载 2022-12-16 16:17:37 · 1201 阅读 · 2 评论 -
基于FPAG的图像的直方图均衡化
直方图均衡化又称为灰度均衡化,是指通过某种灰度映射使输入图像转换为在每一灰度级上都有近似相同的输出图像(即输出的直方图是均匀的)。在经过均衡化处理后的图像中,像素将占有尽可能多的灰度级并且分布均匀转载 2022-12-16 16:09:54 · 308 阅读 · 0 评论 -
FPGA底层资源综述
FPGA底层资源主要是Slices、IOBs、Memory、Multipliers、Global clock buffers等等,下面对各类资源进行详细的解读。原创 2022-09-29 15:31:04 · 2650 阅读 · 0 评论 -
Xilinx-7Series-FPGA高速收发器使用学习—RX接收端
GTX RX接收端的结构和TX发送端类似,数据流方向相反,不过和发送端也有一些区别转载 2022-09-06 14:11:24 · 827 阅读 · 0 评论 -
Xilinx-7Series-FPGA高速收发器使用学习—TX发送端
每一个收发器拥有一个独立的发送端,发送端有PMA(Physical Media Attachment,物理媒介适配层)和PCS(Physical Coding Sublayer,物理编码子层)组成,其中PMA子层包含高速串并转换(Serdes)、预/后加重、接收均衡、时钟发生器及时钟恢复等电路。转载 2022-09-06 14:04:59 · 1014 阅读 · 0 评论 -
Xilinx-7Series-FPGA高速收发器使用学习—概述与参考时钟
Xilinx的7系列FPGA根据不同的器件类型,集成了GTP、GTX、GTH以及GTZ四种串行高速收发器,四种收发器主要区别是支持的线速率不同,图一可以说明在7系列里面器件类型和支持的收发器类型以及最大的收发器数量。转载 2022-09-06 13:57:51 · 1325 阅读 · 1 评论 -
Serdes 1_to_7_sdr 解读
高速串行通信经常需要用到 XILINX FPGA 内部专用的 SERDESE 模块来实现串并转换。 LVDS 配合 SERDESE可以充分发挥 FPGA 的高速接口优势。 SERDESE 分输入和输出,输入采用 ISERDESE, 输出采用 OSERDESE,OSERDESE 的使用要比 ISERDESE 简单。转载 2022-09-06 13:47:34 · 2369 阅读 · 0 评论 -
基于FPGA的高清视频采集系统设计
设计了一种基于HDMI接口的全高清(分辨率1 920×1 080)视频采集与显示系统,该系统以Xilinx公司Spartan6系列FPGA作为控制芯片,采用500万像素级别CMOS摄像头OV5640作为前端数据源,能够采集全高清视频信号。转载 2022-08-19 15:30:27 · 2438 阅读 · 0 评论 -
Sony IMX118sensor驱动与视频数据处理
sony4K分辨率sensor驱动与视频数据处理原创 2022-08-18 14:11:44 · 3448 阅读 · 0 评论 -
深入浅出理解SerDes
在高速时代的今天,一些高速总线,如LVDS、MIPI、SERDES、SATA、USB等等,而我们在学习或者研究任何一种总线的时候,都要考虑这些总线的区别,才能在后续使用的过程中更好的进行应用。转载 2022-04-11 18:01:11 · 4052 阅读 · 0 评论 -
HDMI输入采集(AXI4 FDMA数据缓存)
本文编写的uivbuf ip 配合uifdma ip 实现摄像头图像的多缓存方法。转载 2022-04-07 16:41:30 · 1936 阅读 · 0 评论 -
SDI接口(总结)
SDI(serial digital interface)数字分量串行接口,有三种不同的标准分别为标准清晰度SD-SDI、高清标准HD-SDI和3G-SDI,对应速率分别是270Mb/s、1.485Gb/s和2.97Gb/s。原创 2022-03-11 11:36:30 · 10244 阅读 · 2 评论 -
跨时钟域处理方式
fpga跨时钟域处理转载 2022-03-10 15:32:39 · 2948 阅读 · 0 评论 -
GT Transceiver的配置-Transceiver复位的两种类型和两种模式
GT Transceiver的配置-Transceiver复位的两种类型和两种模式一. 复位概述在 fpga 器件启动和配置完毕后,必须对 gtx/gth 收发模块进行初始化,才能使用。如下图所示,GTX/GTH发射器(TX)和接收器(RX)可以独立和并行地进行初始化。复位以及初始化步骤GTX/GTH收发器的TX和RX初始化包括两个步骤。(1)初始化驱动TX/RX的相关PLL初始化TX和RX数据路径(PMA + PCS)(2)GTX/GTH收发器TX和RX可以从QPLL或CPLL接收时钟。原创 2022-02-23 21:41:20 · 1147 阅读 · 0 评论 -
GT Transceiver的配置-RXOUTCLK的来源及生成
GT Transceiver的配置-RXOUTCLK的来源及生成RX时钟分频控制块有两个主要部分:串行时钟分频器控制和并行时钟分频器和选择器控制。时钟分频器和选择器的细节见图。前面的文章中,已经介绍了TXOUTCLK的来源及其生成。这篇文章可以算是其姊妹篇,介绍RXOUTCLK的来源。为何要追溯其来源,这是因为我们上篇介绍USRCLK的文章中提到RXUSRCLK是由RXOUTCLK驱动的,其中一段话是这样的:(1)如果通道被配置成由同一个振荡器驱动发射器和接收器的参考时钟,TXOUTCLK可以用来驱原创 2022-02-23 20:44:53 · 1423 阅读 · 0 评论 -
GT Transceiver的配置-RXUSERCLK和RXUSER_CLK2的生成
GT Transceiver的配置-RXUSERCLK和RXUSER_CLK2的生成一. USRCLK以及USRCLK2必须成双成对,由之前讲到的TXUSERCK以及TXUSRCLK2,那TX端必须有对应的结构,与对应的时钟RXUSRCLK以及RXUSRCLK2.以及其来源RXOUTCLK。二.1. RX架构框图首先,先给出RX端的架构框图:RX块电路框图RXUSERCLK以及RXUSRCLK2就出现在右侧RX 接口。FPGA RX接口是GT Transceiver的RX数据路径通道。应用原创 2022-02-23 20:40:56 · 1278 阅读 · 0 评论 -
GT Transceiver的配置-QPLL的工作原理
GT Transceiver的配置-QPLL的工作原理每个QUAD都包含一个QPLL,QPLL可以被同一个Quad内的transceiver共享,但是不能被其他Quad内的transceiver共享。当以高于CPLL操作范围的线速率操作通道时,需要使用 QPLL。GTXE2_COMMON 原语封装了 GTX QPLL,并且必须在使用 GTX QPLL时实例化。QPLL输出为同一Quad内的每个transceiver的TX和RX时钟分频器块提供信号,该块控制PMA和PCS块使用的串行和并行时钟的生成。原创 2022-02-23 20:36:53 · 958 阅读 · 0 评论 -
GT Transceiver配置-CPLL的工作原理
GT Transceiver配置(1)-CPLL的工作原理Transceiver内部时钟架构如下:Transceiver内部时钟来源可以是QPLL也可以是自己的CPLL。其内部TX 和 RX 时钟分频器可以单独从 QPLL 或 CPLL 中选择时钟,允许 TX和 RX 数据通道使用不同的参考时钟输入在异步频率工作。这个单独二字表明了TX和RX可以独立的选择时钟分频器的时钟来源。CPLL的 输出输入到 TX 和 RX 时钟分频器模块,控制 PMA 和 PCS 模块使用的串行和并行时钟的生成。如果原创 2022-02-23 20:31:51 · 1434 阅读 · 1 评论 -
vivado对mcs文件固化
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入1.在器件上鼠标右键/add configuration memory ** 进入添加flash的界面。2.选择对应的f原创 2022-02-14 17:32:55 · 3122 阅读 · 1 评论 -
PAL视频时序
PAL视频时序PAL模拟信号1.PAL技术指标:每帧行数 :625扫描方式 :2:1隔行扫描扫描顺序:水平行:自左至右;垂直场:自上至下;奇偶场:奇场在前,偶场在后行频 :15625 hz = 625行/帧ⅹ25帧/秒图像宽高比:4:3视频带宽:6MHz每行采样样本N:13.5MHZ/(625*25)=864图1 单行信号的解析图2 实际仿真对应波形行周期(h):64us行消隐脉冲宽度(a):12us+/-0.3us行同步前沿至行消隐后沿时间间隔(b):10.5us行消隐脉.原创 2022-02-21 11:43:32 · 3680 阅读 · 0 评论 -
视频时序学习总结
视频时序下图是1920*1080 60hz视频时序关系,主要包含DE信号与HSYNC信号和VSYNC定量关系:Htotal = Hactive + Hsync + HfrontPorch + HbackPorchVtotal = Vactive + Vsync + VfrontPorch + VbackPorchHblank=Hsync + HfrontPorch + HbackPorchVblank= Vsync + VfrontPorch + VbackPorc时序波形关系如图1所示。.原创 2022-01-10 13:24:50 · 7284 阅读 · 0 评论 -
隔行扫描信号与逐行扫描信号转换
隔行扫描信号与逐行扫描信号转换理论(1) 场的概念。隔行扫描视频的每帧画面均包含两个场,每一个场又分别含有该帧画面的奇数行扫描线或偶数行扫描线信息,分别叫奇数场或偶数场。(2) 去隔行处理。为了能够在 LCD显示器上显示任意的隔行视频,需要进行去隔行处理。每一帧被压缩为一组像素。图1显示了一帧中的象素是怎样组成两个场的。每一场都记录了在时间上分开的像素值。如图1所示。图1 一帧中两个隔行扫描信号通过奇偶场信号合并方法,当画面没有运动时,奇数场和偶数场信号合并为一帧画面,如下图所示。图2 静.原创 2022-01-10 13:16:19 · 2922 阅读 · 0 评论 -
MMCM与PLL的区别
锁相环是一种反馈控制电路,其特点是利用外部输入的参考信号控制环路内部震荡信号的频率和相位。因为锁相环可以实现输出信号频率对输入信号频率的自动跟踪,所以锁相环通常用于闭环跟踪电路。锁相环在工作的过程中,当输出信号的频率与输入信号的频率相等时,输出电压与输入电压保持固定的相位差值,即输出电压与输入电压的相位被锁住,这就是锁相环名称的由来。Xilinx 7 系列器件中具有时钟管理单元 CMT 时钟资源,xc7z020 芯片内部有4个 CMT,xc7z010 芯片内部有2个 CMT。时钟管理单元 CMT 的总体原创 2022-01-10 13:12:02 · 3005 阅读 · 0 评论 -
FPGA中LUT初步学习
LUT的概念与使用。LUT(Look-Up-Table),本质上就像SRAM(静态随机存储器),根据输入信号查找一个对应的地址然后找到并输出该地址所对应的数据内容。通过烧写文件预存改变查找表内容的方法来实现对FPGA的重复配置。组成与层次每个可配置逻辑模块CLB(Configurable Logic Block)包含两个slices,每个slices由4个(A,B,C,D)6输入LUT和8个寄存器组成(中间应该还有一些选择器、与非门、或非门)同一CLB中的两片slices没有直接的线路连接,分属于两个原创 2022-01-10 13:08:21 · 2388 阅读 · 0 评论 -
3D-LUT基本实现原理
3D-LUT基本实现原理LUT全拼为Look-Up-Table,既显示查找表。本质是一个RAM,每当输入一个信号就是输入一次地址进行查表,找出地址对应的内容并输出,对于显示器来说能起到颜色空间转换的作用。3D LUT可以在立体色彩空间中描述所有颜色点的准确行为,所以可以处理显示的非线性属性,也可以准确地处理颜色突然的大幅变动等问题。3D LUT适合用于精确的颜色校准工作,因为它们能够处理显示校准的问题,从简单的gamma值、颜色范围和追踪错误,到修正高级的非线性属性、颜色串扰、色相、饱和度、亮度等..原创 2022-01-10 13:05:58 · 11105 阅读 · 0 评论 -
VBY1视频信号
VBY1视频信号概述V-by-One HS除了包含SerDes技术以外,还采用了时钟信号恢复等技术,使得每对线的最大传输速度达到了3.75Gbp,并解决了时滞问题,同时还降低了EMI干扰及功耗。此外,由于传输信号对数的减少,使得配线及连接器的用量相应减少进而可以实现整体成本的降低。•V-by-One HS的开发目的,是为了替代大尺寸液晶显示器图像输入信号VESA标准规格的LVDS技术。•由于导入了均衡器功能,使得信号传输品质优于以往的LVDS技术。•由于采用了时钟信号恢复技术,解决了在LVDS方.原创 2022-01-10 13:01:20 · 4752 阅读 · 0 评论 -
pango软件与modelsim联合仿真库编译失败问题
pango库编译路径与modelsim仿真路径一致,无法正常进行库编译操作。路径设置情况如图1所示:图1 库编译路径与仿真路径在同一根目录软件在compiling过程中报“vlog.exe已停止工作”关闭程序之后库编译报错,如图2所示:图2 库文件编译过程中报错pango软件与modelsim不同路径进行库文件编译仍然无法通过,软件在编译过程中报与图2同样错误。Error内容现实为modelsim路径下文件出错,随后无边继续进行库文件与仿真文件联合编译,报错内容如图3所示:图3 库文件编译报..原创 2022-01-10 12:59:22 · 1834 阅读 · 3 评论 -
FRC算法学习
FRC算法FRC(Frame Rate Control)像素抖动算法利用人眼视觉惰性生理特性,这个特性大致指的就是人眼的亮度感觉并不会随着物体亮度的消失而立即消失。对相邻的 2 个灰阶实施时间混色来实现中间亮度的显示,从而达到在 TFT-LCD 上实现目标灰阶显示的一种方法。图1 FRC控制算法原理示意图如果4帧全为白色的图像,那么眼睛感觉到的就是纯白的图像。在这四帧图像中加入黑色的图像,随着黑色图像的增加人的视觉效果也会由纯白变为纯黑。运用时间的抖动方式可以产生多个中间层级灰阶。每一种颜色均由 .原创 2022-01-10 12:54:45 · 5824 阅读 · 7 评论 -
EDID、LVDS学习总结
EDID、LVDS学习总结EDID学习EDID: Extended Display Identification Data(扩展显示标识数据)是一种VESA 标准数据格式,其中包含有关显示器及其性能的参数,包括供应商信息、最大图像大小、颜色设置、厂商预设置、频率范围的限制以及显示器名和序列号的字符串(摘自百度百科“EDID”词条)。Host Device通过读取Display中的EDID数据来得知面板的一些属性。EDID就是显示器面板的一个铭牌。EDID数据通常是由DDC通道来传输。示意图如图1-1所原创 2022-01-10 12:50:23 · 3698 阅读 · 0 评论 -
Dp,DVI,Hdmi接口信号
DP、HDMI与DVI接口信号记录1.DP接口DP信号包含主链路(main link)、自动辅助通道(AUX CH)和热插拔信号(Hot plug detect)。(1)主链路采用的是双端交流差分信号(lane);(2)带宽提供5.4G、2.7G和1.62G/lane,所有启用的通道必须保持相同的运行速率;(3)主链路没有专用时钟,时钟信号从数据流中提取。Link rate = 5.4Gbps2.HDMI接口(1)HDMI 1.4带有四组差分对,他们构成了TMDS的数据和时钟channel原创 2022-01-10 12:42:39 · 8633 阅读 · 0 评论 -
Xilinx中解决高扇出的方法
Xilinx中解决高扇出的方法Fanout,即扇出,指模块直接调用的下级模块的个数,如果这个数值过大的话,在FPGA直接表现为net delay较大,不利于时序收敛。因此,在写代码时应尽量避免高扇出的情况。但是,在某些特殊情况下,受到整体结构设计的需要或者无法修改代码的限制,则需要通过其它优化手段解决高扇出带来的问题。以下就介绍三个这样的方法:首先来看下面这个实例,如图1所示为转置型FIR滤波器中的关键路径时序报告,在DSP in FPGA的FIR专题中有介绍转置型结构FIR滤波器输入数据的扇出较大,在转载 2021-09-13 15:42:32 · 891 阅读 · 0 评论 -
ZYNQ串口打印报:Error while launching program: AP transaction error, DAP status f0000021 AP transaction e
今天用zynq做helloworld的串口打印,配置zynq的ip核之后用SDK进行配置烧录,在网板子里烧录时系统报错,如下图;检查发现时烧录时板zynq板需要跳线到JTAG端,重置跳线帽之后可顺利烧录完成程序功能。...原创 2021-03-21 13:37:47 · 3804 阅读 · 0 评论 -
vivado中文注释乱码问题
Vivado编译界面注释部分乱码,按照其他方法尝试解决汉字注释部分乱码:Tools – settingTools Setting – Text Editor – Front and Colors选择 微软雅黑还是乱码。。。原创 2021-03-05 17:10:32 · 8170 阅读 · 9 评论 -
ZYNQ7010实现流水灯综合与烧录
ZYNQ7010实现流水灯综合与烧录点击+号 ,选择第一个2. 点击create file-finish3.添加约束文件模板到XDC:Tools – Language templates – XDC – Physical Constraints – IO Constraints(7-series) – IOATNDARD 然后对管脚位置进行分配 Placement(7-series) – specific location – IO pin Assigment复制进XDC文件set_p原创 2021-03-05 00:03:05 · 832 阅读 · 3 评论