国产紫光同创FPGA实现SDI视频编解码+图像缩放,基于HSSTHP高速接口,提供2套工程源码和技术支持

目录

国产紫光同创FPGA实现SDI视频编解码+图像缩放,基于HSSTHP高速接口,提供2套工程源码和技术支持

1、前言

国产FPGA现状:

"苟利国家生死以,岂因祸福避趋之!"大洋彼岸的我优秀地下档员,敏锐地洞察到祖国的短板在于先进制程半导体的制造领域,于是本着为中华民族伟大复兴的中国梦贡献绵薄之力的初心,懂先生站在高略高度和长远角度谋划,宁愿背当代一世之骂名也要为祖国千秋万世谋,2018年7月,懂先生正式打响毛衣战,随后又使出恰勃纸战术,旨在为祖国先进制程半导体领域做出自主可控的战略推动;2019年初我刚出道时,还是Xilinx遥遥领先的时代(现在貌似也是),那时的国产FPGA还处于黑铁段位;然而才短短7年,如今的国产FPGA属于百家争鸣、百花齐放、八仙过海、神仙打架、方兴未艾、得陇望蜀、友商都是XX的喜极而泣之局面,此情此景,不得不吟唱老人家的诗句:魏武挥鞭,东临碣石有遗篇,萧瑟秋风今又是,换了人间。。。

目前对于国产FPGA优势有以下几点:

1:性价比高,与同级别国外大厂芯片相比,价格相差几倍甚至十几倍;

2:自主可控,国产FPGA拥有完整自主知识产权的产业链,从芯片到相关EDA工具;

3:响应迅速,FAE技术支持比较到位,及时解决开发过程中遇到的问题,毕竟中文数据手册;

4:采购方便,产业链自主可控,采购便捷;

FPGA实现SDI视频编解码现状:

目前FPGA实现SDI视频编解码有两种方案:一是使用专用编解码芯片,比如典型的接收器GS2971,发送器GS2972,优点是简单,比如GS2971接收器直接将SDI解码为并行的YCrCb422,GS2972发送器直接将并行的YCrCb422编码为SDI视频,缺点是成本较高,可以百度一下GS2971和GS2972的价格;另一种方案是使用FPGA逻辑资源部实现SDI编解码,比如Xilinx系列FPGA的GTP/GTX资源实现解串,利用Xilinx系列FPGA的SMPTE SDI资源实现SDI编解码,或者紫光同创系列FPGA的HSSTHP高速接口资源实现解串;优点是合理利用了FPGA资源,高速接口资源不用白不用,缺点是操作难度大一些,对FPGA开发者的技术水平要求较高。有意思的是,这两种方案在本博这里都有对应的解决方案,包括硬件的FPGA开发板、工程源码等等。本设计采用紫光同创Titan2系列FPGA的HSSTHP高速接口资源实现SDI视频解串和解码;

FPGA实现图像缩放现状:

FPGA实现图像缩放大体分两种方案,第一种是使用纯verilog代码实现,其优势是可移植性强,可广泛应用于各种型号FPGA,维护性强,通用性强,缺点是开发难度大,对开发者技术要求很高,功能和性能不够灵活;第二种是使用纯HLS代码实现,比如Xilinx的Video Processing Subsystem,其优势是开发难度小,对开发者技术要求很低,可快速实现部署,特别适用于Xilinx的Zynq系列FPGA,功能和性能很灵活,缺点是可移植性很差,目前仅限于Xilinx系列FPGA,维护性差,通用性差;本设计采用纯verilog代码方案实现双线性插值的图像缩放;

工程概述

本设计基于紫光同创的Titan2系列FPGA开发板实现SDI视频编解码,输入源为一个3G-SDI相机或者HDMI转3G-SDI盒子,也可以使用HD-SDI或者SD-SDI相机,因为本设计是三种SDI视频自适应的;同轴的SDI视频通过同轴线连接到FPGA开发板的BNC座子,然后同轴视频经过板载的Gv8601a芯片实现单端转差分和均衡EQ的功能;然后差分SDI视频信号进入FPGA内部的HSSTHP高速资源,实现数据高速串行到并行的转换,本博称之为解串;解串后的并行视频再送紫光同创Titan2系列FPGA特有的12G--SDI IP核,进行SDI视频解码操作并输出BT1120视频,至此,SDI视频解码操作已经完成,可以进行常规的图像处理操作了;

本设计的目的是输出解码的SDI视频,针对目前市面上的主流项目需求,本博设计了两种输出方式,一种是HDMI输出,另一种是3G-SDI输出,这两种方式都需要对解码BT1120视频进行转RGB和图像缓存操作;本设计使用BT1120转RGB模块实现视频格式转换;然后对输入视频做图像缩放操作,图像缩放模块可实现任意比例缩放,支持临域插值和双线性插值2种算法,通过模块顶层参数选择,默认使用双线性插值;然后使用纯verilog实现的图像缓存架构实现图像3帧缓存,缓存介质为板载的DDR4;图像从DDR4读出后,进入HDMI发送模块输出HDMI显示器,这是HDMI输出方式;或者经过RGB转BT1120模块实现视频格式转换,然后视频进入紫光同创Titan2系列FPGA特有的12G--SDI IP核,进行SDI视频编码操作并输出SDI视频,再经过FPGA内部的GTP高速资源,实现并行数据到高速串行的转换,本博称之为串化,差分高速信号再进入板载的Gv8500芯片实现差分转单端和驱动增强的功能,SDI视频通过FPGA开发板的BNC座子输出,通过同轴线连接到SDI转HDMI盒子连接到HDMI显示器,这是SDI输出方式;本博客提供2套工程源码,具体如下:

现对上述2套工程源码做如下解释,方便读者理解:

工程源码1

开发板FPGA型号为PG2T390H-6FFBG900;输入视频为3G-SDI相机或者HDMI转3G-SDI盒子,输入分辨率为1920x1080@60Hz,输入视频经过板载的Gv8601a芯片实现单端转差分和均衡EQ后送入FPGA;再经过HSSTHP高速接口将SDI视频解串为并行数据;再经过紫光同创Titan2系列FPGA特有的12G--SDI IP核将SDI解码BT1120数据;再经过BT1120转RGB模块将BT1120转换为RGB888视频;然后对输入视频做图像缩放操作,将原视频从1920x1080缩放到1280x720,您可修改缩放参数轻松缩放到其他分辨率,工程只是举例,修改方法博客有说明;再经过纯verilog实现的图像缓存架构实现图像3帧缓存,缓存介质为板载的DDR4;然后从DDR45中读出视频送入送Silicom9134芯片实现RGB转HDMI输出,输出分辨率为1920x1080@60Hz,为了兼容缩放后的其他分辨率,本设计将背景分辨率设计为1920x1080,缩放后的图像叠加在其上显示即可,这也是本博主的创新点;最后通过HDMI显示器显示图像;该工程需要缓存,适用于紫光同创Titan2系列FPGA实现SDI转HDMI场景;

工程源码2

开发板FPGA型号为PG2T390H-6FFBG900;输入视频为3G-SDI相机或者HDMI转3G-SDI盒子,输入分辨率为1920x1080@60Hz,输入视频经过板载的Gv8601a芯片实现单端转差分和均衡EQ后送入FPGA;再经过HSSTHP高速接口将SDI视频解串为并行数据;再经过紫光同创Titan2系列FPGA特有的12G--SDI IP核将SDI解码BT1120数据;再经过BT1120转RGB模块将BT1120转换为RGB888视频;然后对输入视频做图像缩放操作,将原视频从1920x1080缩放到1280x720,您可修改缩放参数轻松缩放到其他分辨率,工程只是举例,修改方法博客有说明;再经过纯verilog实现的图像缓存架构实现图像3帧缓存,缓存介质为板载的DDR4;然后从DDR4中读出视频送RGB转BT1120模块,将RGB888视频转换为BT1120视频;再经过紫光同创Titan2系列FPGA特有的12G--SDI IP核,将BT1120视频编码为SDI视频;再经过HSSTHP高速接口资源,将SDI并行数据转换为高速串行信号;再经过板载的Gv8500芯片实现差分转单端和驱动增强后输出,输出分辨率为1280x720@60Hz,这是HD-SDI标准;最后使用SDI转HDMI盒子连接到HDMI显示器显示;该工程需要缓存,适用于紫光同创Titan2系列FPGA实现3G-SDI转HD-SDI场景;

本博客详细描述了国产紫光同创FPGA实现SDI视频编解码+图像缩放的设计方案,工程代码可综合编译上板调试,可直接项目移植,适用于在校学生、研究生项目开发,也适用于在职工程师做学习提升,可应用于医疗、军工等行业的高速接口或图像处理领域;

提供完整的、跑通的工程源码和技术支持;

工程源码和技术支持的获取方式放在了文章末尾,请耐心看到最后;

免责声明

本工程及其源码即有自己写的一部分,也有网络公开渠道获取的一部分(包括CSDN、Xilinx官网、Altera官网等等),若大佬们觉得有所冒犯,请私信批评教育;基于此,本工程及其源码仅限于读者或粉丝个人学习和研究,禁止用于商业用途,若由于读者或粉丝自身原因用于商业用途所导致的法律问题,与本博客及博主无关,请谨慎使用。。。

2、相关方案推荐

我已有的所有工程源码总目录----方便你快速找到自己喜欢的项目

其实一直有朋友反馈,说我的博客文章太多了,乱花渐欲迷人,自己看得一头雾水,不方便快速定位找到自己想要的项目,所以本博文置顶,列出我目前已有的所有项目,并给出总目录,每个项目的文章链接,当然,本博文实时更新。。。以下是博客地址:
点击直接前往

本博已有的 SDI 编解码方案

我的博客主页开设有SDI视频专栏,里面全是FPGA编解码SDI的工程源码及博客介绍;既有基于GS2971/GS2972的SDI编解码,也有基于GTP/GTX资源的SDI编解码;既有HD-SDI、3G-SDI,也有6G-SDI、12G-SDI等;专栏地址链接如下:
点击直接前往

本方案在Xilinx--Artix7系列FPGA上的应用

本方案在Xilinx--Artix7系列FPGA上的也有应用,之前专门写过一篇博客,博客地址链接如下:
点击直接前往

本方案在Xilinx--Kintex系列FPGA上的应用

本方案在Xilinx--Kintex系列FPGA上的也有应用,之前专门写过一篇博客,博客地址链接如下:
点击直接前往

本方案在Xilinx--Zynq系列FPGA上的应用

本方案在Xilinx--Zynq系列FPGA上的也有应用,之前专门写过一篇博客,博客地址链接如下:
点击直接前往

本方案在Xilinx--UltraScale系列FPGA上的应用

本方案在Xilinx--UltraScale系列FPGA上的也有应用,之前专门写过一篇博客,博客地址链接如下:
点击直接前往

3、详细设计方案

设计原理框图

设计原理框图如下:

!!!注意

!!!注意
紫色箭头:3G-SDI解码缩放转HD-SDI路径
绿色箭头:3G-SDI解码缩放转HDMI路径

SDI 输入设备

SDI 输入设备可以是SDI相机,代码兼容HD/SD/3G-SDI三种模式;SDI相机相对比较贵,预算有限的朋友可以考虑用HDMI转SDI盒子模拟SDI相机,这种盒子某宝一百块左右;当使用HDMI转SDI盒子时,输入源可以用笔记本电脑,即用笔记本电脑通过HDMI线连接到HDMI转SDI盒子的HDMI输入接口,再用SDI线连接HDMI转SDI盒子的SDI输出接口到FPGA开发板,如下:

Gv8601a 均衡器

Gv8601a芯片实现单端转差分和均衡EQ的功能,这里选用Gv8601a是因为借鉴了了Xilinx官方的方案,当然也可以用其他型号器件。Gv8601a均衡器原理图如下:

紫光HSSTHP 高速接口

本设计使用紫光同创Titan2系列FPGA特有的HSSTHP高速信号处理资源实现SDI差分视频信号的解串与串化,对于SDI视频接收而言,HSSTHP起到解串的作用,即将输入的高速串行的差分信号解为并行的数字信号;对于SDI视频发送而言,HSSTHP起到串化的作用,即将输入的并行的数字信号串化为高速串行的差分信号;

!!!注意

!!!注意

HSSTHP 高速接口的解串与串化功能集成在了紫光同创官方提供的12G-SDI IP核内部,所以这部分没有独立的代码例化;

紫光12G-SDI IP核

本设计使用紫光同创Titan2系列FPGA特有的12G-SDI IP核实现2G SDI视频编解码,该IP由紫光同创官方提供,集成度很高,具体性能如下:详情可参考《UG052007_Titan2_12GSDI_IP》;

SDI 接收端性能表现如下:

1、支持自动检测接收数据的 SDI 速率模式;

2、支持 SD-SDI、HD-SDI、3G-SDI、6G-SDI 和 12G-SDI 接收模式动态切换;

3、自动检测视频传输格式;

4、检测和捕捉 SMPTE 352 (Payload ID)包;

5、HD-SDI、3G-SDI、6G-SDI 和 12G-SDI 模式下,检查 CRC 错误;

6、SD-SDI 模式下,可选检查 EDH (SMPTE 165)包错误;

7、能够容忍最大±200ppm 频偏。

SDI 发送端性能表现如下:

1、支持 SD-SDI、HD-SDI、3G-SDI、6G-SDI 和 12G-SDI 发送模式动态切换;

2、HD-SDI、3G-SDI、6G-SDI 和 12G-SDI 模式下,支持 1 倍速率或者 1/1.001 倍速率 ,但不支持相互动态切换;

3、支持生成和插入 SMPTE 352 (Payload ID)包;

4、HD-SDI、3G-SDI、6G-SDI 和 12G-SDI 模式下,支持生成和插入 CRC 和 Line Numbers (LN);

5、SD-SDI 模式下,可选生成和插入 EDH (SMPTE 165)包。

12G-SDI IP安装包以附带资料包中,如下:

12G-SDI IP核使用配置十分简单,PDS的UI界面如下:

基于紫光同创FPGA 12G-SDI IP核的SDI视频编解码代码架构如下:

BT1120转RGB

BT1120转RGB模块的作用是将SMPTE SD/HD/3G SDI IP核解码输出的BT1120视频转换为RGB888视频,它由BT1120转CEA861模块、YUV422转YUV444模块、YUV444转RGB888三个模块组成,该方案参考了Xilinx官方的设计;BT1120转RGB模块代码架构如下:

图像缩放模块详解

图像缩放模块功能框图如下,由跨时钟FIFO、插值+RAM阵列构成,跨时钟FIFO的目的是解决跨时钟域的问题,比如从低分辨率视频放大到高分辨率视频时,像素时钟必然需要变大,这是就需要异步FIFO了,插值算法和RAM阵列具体负责图像缩放算法层面的实现;

插值算法和RAM阵列以ram和fifo为核心进行数据缓存和插值实现,设计架构如下:

依据上图,图像缩放模块内部核心是例化了4个双口RAM,作用是缓存4行图像,以得到4个临近的像素,以此为基础做线性插值;如果是做图像放大操作,就以这4个临近的像素为基准,以线性插值为算法,在原图像中插入更多的像素点来扩大分辨率;如果是做图像缩小操作,就以这4个临近的像素为基准,以线性插值为算法,在原图像中删除更多的像素点来缩小分辨率;此外,前面描述的工作是实时的、整幅图像全部扫描式的进行,所以需要对RAM的读写操作进行精准控制;

图像缩放模块代码架构如下:模块的例化请参考工程源码的顶层代码;

图像缩放模块FIFO的选择可以调用工程对应的vivado工具自带的FIFO IP核,也可以使用纯verilog实现的FIFO,可通过接口参数选择,图像缩放模块顶层接口如下:

FIFO_TYPE选择原则如下:

1:总体原则,选择"xilinx"好处大于选择"verilog";

2:当你的FPGA逻辑资源不足时,请选"xilinx";

3:当你图像缩放的视频分辨率较大时,请选"xilinx";

4:当你的FPGA没有FIFO IP或者FIFO IP快用完了,请选"verilog";

5:当你向自学一下异步FIFO时,,请选"verilog";

6:不同FPGA型号对应的工程FIFO_TYPE参数不一样,但选择原则一样,具体参考代码;

2种插值算法的整合与选择

本设计将常用的双线性插值和邻域插值算法融合为一个代码中,通过输入参数选择某一种算法;

具体选择参数如下:

c 复制代码
input  wire i_scaler_type //0-->bilinear;1-->neighbor

通过输入i_scaler_type 的值即可选择;

输入0选择双线性插值算法;

输入1选择邻域插值算法;

代码里的配置如下:

图像缩放模块使用(重点阅读)

图像缩放模块使用非常简单,顶层代码里设置了四个参数,如下:

上图是将输入视频分辨率从1280x720缩放为1920x1080;

如果你想将输入视频分辨率从1280x720缩放为640x480;

则只需修改为如下:

再比如你想将输入视频分辨率从1280x720缩放为960x540;

则只需修改为如下:

在本博主这里,想要实现图像缩放,操作就是这么无脑简单,就该两个参数就能搞定貌似高大上的双线性插值图像缩放,这种设计、这种操作、这种工程源码,你还喜欢吗?

图像缩放模块仿真

图像缩放模块需要vivado和matlab联合仿真;

需要注意的是,仿真的目的是为了验证,这一步我已经替你们做完了,所以读者不再需要单独仿真,如果读者是在需要自己仿真玩玩儿,需要自己写仿真代码;vivado和matlab联合仿真详细步骤如下:

第一步:网上下载一张1280X720的图片,并用matlab将图片转换为RGB格式的txt文档;

第二步:在vivado下设计tstbench,将RGB格式的txt文档作为视频输入源给到图像缩放模块,并将缩放后的图像数据写入输出txt文档;

第二步:用matlab将输出txt文档转换为图片,并于原图一并输出显示以做比较;

根据以上方法得到以下仿真结果:

双线性插值算法原图1280X720缩小到800x600如下:

邻域插值算法原图1280X720缩小到800x600如下:

双线性插值算法原图1280X720放大到1920x1080如下:

邻域插值算法原图1280X720放大到1920x1080如下:

图像缓存架构

此模块为点对点视频接收端工程所独有;图像缓存架构实现的功能是将输入视频缓存到板载DDR4中再读出送后续模块,目的是实现视频同步输出,实现输入视频到输出视频的跨时钟域问题,更好的呈现显示效果;由于调用了紫光官方的HMIC_S IP核作为DDR4控制器,所以图像缓存架构就是实现用户数据到HMIC_S的桥接作用;架构如下:

图像缓存架构由视频缓存帧更新模块+写视频控制逻辑+读视频控制逻辑+AXI4-FULL-Master总线模块组成;AXI4-FULL-Master总线模块实际上就是一个AXI4-FULL总线主设备,与HMIC_S IP核对接,HMIC_S IP核配置为AXI4-FULL接口;写视频控制逻辑、读视频控制逻辑实际上就是一个视频读写状态机,以写视频为例,假设一帧图像的大小为M×N,其中M代表图像宽度,N代表图像高度;写视频控制逻辑每次写入一次突发传输的视频数据,记作Y,即每次向DDR4中写入Y个像素,写M×N÷Y次即可完成1帧图像的缓存,读视频与之一样;同时调用两个FIFO实现输入输出视频的跨时钟域处理,使得用户可以忽略AXI4内部代码,以简单地像使用FIFO那样操作AXI4总线,从而达到读写DDR的目的,进而实现视频缓存;本设计图像缓存方式为4帧缓存;图像缓存模块代码架构如下:

DDR4控制器IP安装包以附带资料包中,如下:

视频读取控制

图像缓存架构使用VGA时序模块完成视频读取控制,VGA时序模块负责产生VGA时序,他有两个作用,一是控制图像缓存架构从DDR4中读出缓存的视频,二是将同步后的VGA视频送入下一级模块,在HDMI输出方式下VGA时序模块的像素时钟由用户提供;在SDI输出方式下VGA时序模块的像素时钟由紫光同创Titan2系列FPGA特有的12G-SDI IP核的发送用户时钟提供,在不同的SDI模式下像素时钟不同,比如在3G-SDI模式下像素时钟为148.5M,在HD-SDI的720P@60Hz模式下像素时钟为74.25M;HDMI输出方式下的VGA时序模块代码架构如下:

SDI输出方式下的VGA时序模块代码架构如下:

HDMI输出

在HDMI输出方式下,HDMI输出包括Native视频时序和HDMI编码,Native视频时序的作用是产生传统VGA的、RGB的视频流;HDMI编码采用Silicom9134芯片编码方式,FPGA仅需输出RGB视频流即可;HDMI输出代码架构如下:

RGB转BT1120

在SDI输出方式下需要使用该模块;RGB转BT1200模块的作用是将用户侧的RGB视频转换为BT1200视频输出给SMPTE SD/HD/3G SDI IP核;RGB转BT1120模块由RGB888转YUV444模块、YUV444转YUV422模块、SDI视频编码模块、数据嵌入模块组成,该方案参考了Xilinx官方的设计;BT1120转RGB模块代码架构如下:

Gv8500 驱动器

Gv8500芯片实现差分转单端和增强驱动的功能,这里选用Gv8500是因为借鉴了了Xilinx官方的方案,当然也可以用其他型号器件。Gv8500驱动器原理图如下:

SDI转HDMI盒子

在SDI输出方式下需要使用到SDI转HDMI盒子,因为我手里的显示器没有SDI接口,只有HDMI接口,为了显示SDI视频,只能这么做,当然,如果你的显示器有SDI接口,则可直接连接显示,我的SDI转HDMI盒子在某宝购买,不到100块;

工程源码架构

以工程源码1的SDI解码缩放转HDMI输出为例,工程源码架构如下,其他工程与之类似:

以工程源码2的3G-SDI解码缩放转HD-SDI输出为例,工程源码架构如下,其他工程与之类似:

4、工程源码1详解-->3G-SDI缩放转HDMI版本

开发板FPGA型号:紫光同创--PG2T390H-6FFBG900;;

开发环境:Pango Design Suite 2021.1

输入:3G-SDI相机或HDMI转SDI盒子,分辨率1920x1080@60Hz;

输出:HDMI,Silicom9134芯片编码,1920x1080黑色背景下叠加显示缩放后的图像;

SDI视频解串方案:紫光-HSSTHP高速接口解串;

SDI视频解码方案:紫光-12G-SDI解码;

图像缩放方案:纯Verilog图像缩放;

图像缩放实例:1920x1080缩放到1280x720,其他分辨率缩放可自行修改;

图像缓存方案:纯Verilog图像缓存,4帧缓存,DDR4颗粒;

工程说明:全国产FPGA实现SDI解码缓存后转HDMI输出方案;

工程作用:此工程目的是让读者掌握紫光同创FPGA实现SDI视频编解码的设计能力,以便能够移植和设计自己的项目;

工程Block Design和工程代码架构请参考第3章节的《工程源码架构》小节内容;

工程的资源消耗和功耗如下:

6、工程源码2详解-->3G-SDI缩放转HD-SDI版本

开发板FPGA型号:紫光同创--PG2T390H-6FFBG900;;

开发环境:Pango Design Suite 2021.1

输入:3G-SDI相机或HDMI转SDI盒子,分辨率1920x1080@60Hz;

输出:HD-SDI,分辨率1280x720@60Hz;

SDI视频解串方案:紫光-HSSTHP高速接口解串;

SDI视频解码方案:紫光-12G-SDI解码;

图像缩放方案:纯Verilog图像缩放;

图像缩放实例:1920x1080缩放到1280x720,其他分辨率缩放可自行修改;

图像缓存方案:纯Verilog图像缓存,4帧缓存,DDR4颗粒;

工程说明:全国产FPGA实现SDI解码缓存后转SDI输出方案;

工程作用:此工程目的是让读者掌握紫光同创FPGA实现SDI视频编解码的设计能力,以便能够移植和设计自己的项目;

工程Block Design和工程代码架构请参考第3章节的《工程源码架构》小节内容;

工程的资源消耗和功耗如下:

7、上板调试验证

准备工作

需要准备的器材如下:

FPGA开发板;

SDI摄像头或HDMI转SDI盒子;

SDI转HDMI盒子;

HDMI显示器;

我的开发板了连接如下:

紫光同创FPGA SDI视频解码输出演示

紫光同创FPGA SDI视频解码输出演示如下:

紫光-SDI-缩放

9、福利:工程代码的获取

福利:工程代码的获取

代码太大,无法邮箱发送,以某度网盘链接方式发送,

资料获取方式:私,或者文章末尾的V名片。

网盘资料如下:

此外,有很多朋友给本博主提了很多意见和建议,希望能丰富服务内容和选项,因为不同朋友的需求不一样,所以本博主还提供以下服务:

相关推荐
蝉蜕日记9 小时前
视频压缩 v1.1.31:高效压缩,无损画质,释放存储空间
音视频·生活·视频编解码·视频·软件需求
仲南音15 小时前
Xilinx FPGA——时钟IP核MMCM、PLL
fpga开发
I'm a winner1 天前
基于Xilinx FPGA的LVDS高速串行通信系统(三)--数据训练及握手机制【文末源码】
fpga开发
upper20201 天前
coremark移植坑之-nostartfiles -nostdlib参数
学习·fpga开发·coremark移植·riscv设计
Eloudy2 天前
Vivado 纯命令行构建 FPGA 项目教程
fpga开发
Rambo.xia2 天前
AXI跨时钟域与数据一致性——CDC FIFO深度不够、写后读冒险、多Master仲裁、乱序返回,出了Bug根本查不出来
fpga开发·bug
upper20202 天前
FPGA部署卷积神经网络识别MINST图片
fpga开发·卷积神经网络·minst·minst识别·部署神经网络·神经网络识别图片
你是我的解忧王子2 天前
嵌入式 ADC采样 原始数据分析上层(平均值 波动率 正态分布 线性补偿 系统误差)
fpga开发·数据挖掘·数据分析
9527华安3 天前
FPGA纯verilog代码ISP图像处理培训教程,基于IMX214,提供工程源码+视频教程+FPGA开发板
图像处理·fpga开发·isp·imx214·mipi
千寻xun3 天前
二、实战篇-NVME SSD控制之ZYNQ实现(六)-读写NVME SSD硬盘数据
fpga开发·nvme·nvme ssd