FPGA十年老鸟
十年FPGA码农,十年陈酿十年香!
展开
-
JESD204接口调试总结——Xilinx JESD204C IP工程应用
JESD204接口调试总结——Xilinx JESD204C IP工程应用JESD204C上板调试,我直接跳过了看它的example的过程,因为example blockdesign设计的内容比较多,看起来麻烦。因为我已经有了JESD204B调试的经验,那么JESD204C我依葫芦画瓢,直接把一些重点线连接起来,做一个有收有发的顶层模块后在通过收发回环来进行仿真很明显,作为一个ADC和DAC接口,我们需要构建一个顶层模块1、 IQ输入,作为DAC的数据源2、 IQ输出,作为ADC采集的数据3、 A原创 2021-11-08 20:56:34 · 11796 阅读 · 9 评论 -
JESD204接口调试总结——Xilinx JESD204C数据手册的理解
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档JESD204接口调试总结——Xilinx JESD204C数据手册的理解IP配置使用提示IP配置JESD204C IP核是在vivado2020.1之后才新增的。因此需要用到JESD204C一定要先升级VIVADO版本。一开始我使用的是Vivado2019.2,还以为我用的这个器件不支持JESD204C,结果是要升级vivado版本才行线编码可以选664B66B,8B10B两种,为了提升效率一般采用664B66B。还增加了一个F原创 2021-11-08 20:46:43 · 10027 阅读 · 7 评论 -
JESD204接口调试总结——Xilinx JESD204C IP AXI寄存器简介
JESD204接口调试总结——Xilinx JESD204C IP AXI寄存器简介关于JESD204C的寄存器如下所示:重要的寄存器:020: 复位这个复位和JESD204B的复位不太一样,这个不会自己清楚,需要手动写1后,然后再写0.024: 数据使能第0bit为cmd通道,第1bit为数据通道。第0bit的cmd和数据校验有关第1bit的数据通道,如果为0,则发加了扰码的0,如果是1,则发送和接收正常数据030: 配置一个EMB中有多少EM默认为1,与transceiver原创 2021-11-06 16:38:21 · 7457 阅读 · 0 评论 -
JESD204接口调试总结——JESD204C协议的介绍
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档JESD204接口调试总结——JESD204C协议的介绍前言JESD204C变化总结新术语传输层数据链路层物理层第二部分64b/66b和64b/80b链路层多块(MB)和扩展多块(EMB)同步字64b/66b链路操作同步头对齐扩展多块同步扩展多块(通道)对齐错误监测和前向纠错总结本文内容来自ADI的技术文章,原网址为:https://www.analog.com/cn/analog-dialogue/articles/jesd204c-转载 2021-11-06 12:59:56 · 14284 阅读 · 2 评论 -
JESD204接口调试总结——JESD204C调试界面
JESD204接口调试总结——JESD204C调试界面和一开始进行JESD204B调试一样,JESD204C调试我也做了个小小的调试界面来方便自己的调试,不过因为调试的比较顺利,没有派上太多的用场。因为xilinx jesd IP的操作以及内部寄存器还是比较固定的,做到界面中相当于是对所有控制指令的一次总结。也许相当长的时间可能不会用到JESD,总结的文档也有可能随着时间过长而丢失。但自己做的调试软件可以待自己需要的时候随时拿出来,很快就能使用。下面是我做的界面复位: 复位FPGA jesd co原创 2021-11-08 21:00:30 · 6747 阅读 · 1 评论 -
JESD204接口调试总结——Xilinx JESD204B IP 工程应用
JESD204接口调试总结——Xilinx JESD204B IP 工程应用Tb看完了,那我们需要对example 进行改造才能进行上板调试。很明显,作为一个ADC和DAC接口,我们需要构建一个顶层模块1、 IQ输入,作为DAC的数据源2、 IQ输出,作为ADC采集的数据3、 AXI总线,用于对IP核的配置4、 几个复位线,对phy 和axi进行复位用5、 时钟6、 与FPGA外部JESD器件接口 【高速接口管脚/SYSREF/参考时钟/SYNC标志等】4T4R 4lane采样率 245.原创 2021-11-06 11:16:14 · 10719 阅读 · 3 评论 -
JESD204接口调试总结——Xilinx JESD204B IP testbench解析
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档JESD204接口调试总结——Xilinx JESD204B IP testbench解析IP核配置testbench工程部分代码解读IP核配置1、IP核为接收功能2、LMFC buffer设定为最大3、4条lane4、sysref下降沿采样 (前面的帖子有说明为什么下降沿)1、选择第二种,保持更大灵活性(不然更多的功能被包在了IP核中)1、SYSREF always 前面博文有介绍2、不开扰码3、F K参数与外面原创 2021-11-04 23:56:42 · 13885 阅读 · 12 评论 -
JESD204接口调试总结——目录
JESD204接口调试总结——目录写在前面目录写在前面JESD204B调试是我来**的第一个任务,而且是一个全新的射频器件(***79xx),对于我这个之前从来没接触过高速接口的人来说真的是压力山大。一直以来最怕的也就是高速接口,没想到真是怕什么来什么,工作以来一直都是顺风顺水,从来没有过如此大的压力,幸好当时疫情期间娃在老家,我可以全身心投入工作,不分白天黑夜,不分周一周日,终于熬了过来。当时调通的时候,真是拨云见日,总算是有转正的底气了,呵呵。这里也要奉劝工作若干年的老鸟们,换工作特别是换行业要谨原创 2021-10-17 21:52:47 · 8053 阅读 · 7 评论 -
JESD204接口调试总结——JESD204+In-system-ibert
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档JESD204接口调试总结——JESD204+In-system-ibert前言IP核的设置IP核连线调试jtag界面总结前言之前我们在讲serdes的时候讲到了使用in-system-ibert来进行眼图的扫描,在transceiver wizard 中,是直接有 include in-systemibert选项的,生成一个exanple就可以得到一个带in-systemibert IP核的工程,参见我serdes总结的博文,JESD原创 2021-12-11 21:40:02 · 9859 阅读 · 0 评论 -
JESD204接口调试总结——JESD204B调试步骤最后归纳
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档JESD204接口调试总结——JESD204B调试步骤最后归纳首先验证SPI接口是正确的编写代码,并仿真完成上板调试常用排查手段总之调试JESD接口的步骤:首先验证SPI接口是正确的对于transceiver器件而言,很多都是通过SPI配置。在SPI配置生效前,一般有一个 复位的管脚,注意这个复位的管脚需要置成正确的电平,使得transceiver器件能够正常工作。然后就是验证SPI的读写是否正常。数据手册上面一般会有寄存器的介绍,原创 2022-02-04 19:25:28 · 8725 阅读 · 0 评论 -
JESD204接口调试总结——一次建链不稳定问题的解决
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档JESD204接口调试总结——一次建链不稳定问题的解决问题的暴露问题的分析过程问题的解决问题根本原因分析事后反思问题的暴露之前由于只有一块板卡,且测试的比较少,一开始收发都建链了,所以以为JESD204已经调试完毕了。之后由于硬件需要测试双载波三阶交调性能,进行了程序更改,结果发现发射的双载波在频谱仪上会出现异常,具体表现为频谱仪底噪突然提升很大,检查链路标志发现时断时建,且只发直流不发单音的时候又能回到建链成功的状态。问题的分析过程原创 2021-11-06 11:29:06 · 11318 阅读 · 21 评论 -
JESD204接口调试总结——JESD204B协议的理解
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档JESD204接口调试总结——JESD204B协议的理解JESD204B建链的步骤本节内容摘抄于网络上,写的比较明了,故转载于此JESD204B建链的步骤我们来考虑一种由 ADC 等数字源向 FPGA 发送数字数据的简单情况。在正确发送或接收数据之前,有几件事必须要做,如图 1 所示以及下文所说明的那样。1. 代码组同步 (CGS) — 不需要接口时钟,因此 RX 必须将其数位及字边界与 TX 串行输出对齐。RX 可向 TX 发送转载 2021-10-28 22:53:02 · 13325 阅读 · 7 评论 -
JESD204接口调试总结——Xilinx JESD204B数据手册的理解
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档JESD204接口调试总结——Xilinx JESD204B数据手册的理解时钟架构Subclass 1SYSREF Sampling Clock Edge确定性时延时钟架构设计中采用如下图所示时钟设计图,主要是refclk和coreclk分开的图 3-1 显示了最通用和最灵活的时钟方案,其中使用单独的 refclk 和 glblclk 输入分别提供收发器参考时钟和内核时钟。 通过这种配置,参考时钟和内核时钟是物理上独立的时钟,可以原创 2021-10-28 23:47:49 · 13217 阅读 · 6 评论 -
JESD204接口调试总结——Xilinx JESD204B IP AXI寄存器简介
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档JESD204接口调试总结——Xilinx JESD204B IP AXI寄存器简介 一般来说,如果在IPcore配置正确的话,不太需要通过AXI指令来进行参数的修改,不过如果能够支持AXI指令,在射频transceiver芯片配置改变时,则有可能能通过AXI指令直接进行配置,而不需要重新修改IPcore的配置并且要重新编译下面列出来一些比较常用的寄存器1、版本寄存器,主要用于验证AXI总线是否通路2、Reset寄存器只要原创 2021-11-02 08:41:14 · 8874 阅读 · 0 评论 -
JESD204接口调试总结——JESD204B调试界面
JESD204接口调试总结——JESD204B调试界面自制调试工具介绍实现功能后记自制调试工具介绍多掌握的技能总是会派上用场的时候,这里我又要用VB.net来方便自己的调试。因为xilinx jesd IP的操作以及内部寄存器还是比较固定的,做到界面中相当于是对所有控制指令的一次总结。也许相当长的时间可能不会用到JESD,总结的文档也有可能随着时间过长而丢失。但自己做的调试软件可以待自己需要的时候随时拿出来,很快就能使用。下面是我做的界面实现功能按钮的功能如下:复位: 复位FPGA jesd原创 2021-11-06 11:44:03 · 7217 阅读 · 2 评论 -
Xilinx FPGA资源解析与使用系列——Transceiver(八)transceiver管脚位置
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档Xilinx FPGA资源解析与使用系列——Transceiver(八)transceiver管脚位置在看手册时,看到最后写到了transceiver的资源信息和位置信息之前都是硬件工程师提供管脚来进行transceiver的输入,对于其transceiver位于哪个BANK以及其名字都不太清楚去哪里找。每次都是通过打开IO Planning图来找到管脚位置,然后在查看,这样虽然做也没问题,但始终是通过结果推导原因,不太好。通过原创 2022-03-04 08:00:00 · 5845 阅读 · 0 评论 -
Xilinx FPGA资源解析与使用系列——Transceiver(七)关键时钟梳理之TXUSRCLK、TXUSRCLK2、RXUSRCLK、RXUSRCLK2
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档Xilinx FPGA资源解析与使用系列——Transceiver(七)transceiver内部关键时钟梳理之TXUSRCLK、TXUSRCLK2、RXUSRCLK、RXUSRCLK2前言TXUSRCLK、TXUSRCLK2几种典型用法的框图RXUSRCLK、RXUSRCLK2前言前面我们理解了TXOUTCLK和RXOUTCLK的源头,那TXOUTCLK/RXOUTCLK最终要输出做什么用呢。就是用来生成TXUSERCLK、TXUS原创 2022-03-04 08:00:00 · 6533 阅读 · 0 评论 -
Xilinx FPGA资源解析与使用系列——Transceiver(六)关键时钟梳理之TXOUTCLK和RXOUTCLK
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档Xilinx FPGA资源解析与使用系列——Transceiver(六)transceiver内部关键时钟梳理之TXOUTCLK和RXOUTCLK前言TXOUTCLKRXOUTCLK前言前面我们已经研读了 transceiver的参考时钟 和复位的相关内容。 但是随着内容的深入,越来越多的信号出现在我的面前。例如TXOUTCLK、TXUSERCLK、TXUSERCLK2RXOUTCLK、RXUSERCLK、RXUSERCLK2原创 2022-03-03 20:26:59 · 7449 阅读 · 8 评论 -
Xilinx FPGA资源解析与使用系列——Transceiver(五)复位理解RXlane
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档Xilinx FPGA资源解析与使用系列——Transceiver(四)复位理解RXlane复位模式复位的步骤顶层使用复位模式同TX链路一样,RX的复位模式也是包含两种操作,这部分设置都一样1、顺序模式2、单步模式在ip example中,是直接使用顺序模式的,而且手册也是推荐使用顺序模式,那么我们就直接研究顺序模式了,单端模式暂时不关注 //-------------------- Transceiver R原创 2022-03-03 20:20:17 · 6496 阅读 · 0 评论 -
Xilinx FPGA资源解析与使用系列——Transceiver(三)复位理解TXlane
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档Xilinx FPGA资源解析与使用系列——Transceiver(三)复位理解之一前言复位模式复位的步骤前言本文将结合ip example工程来理解transceiver的复位,通过学习记录,力求将其复位过程理解通透。参考工程为serdes_3g复位模式手册中提到了两种复位模式复位模式1、顺序模式2、单步模式在ip example中,是直接使用顺序模式的,而且手册也是推荐使用顺序模式,那么我们就直接研究顺序模式了,单原创 2022-03-01 20:36:47 · 7484 阅读 · 1 评论 -
Serdes系列总结——system ibert IP使用
Serdes系列总结——system ibert IP使用IP核的设置Zynq 7系列之后的FPGA的serdes,例如Zynq MP系列,在serdes ip核(Transceivers Wizard)中,可以添加 In-System IBERT core.IP核的设置这样在不破坏原有工程功能的基础上,就可以进行眼图的扫描了。添加了in-systemibert之后的代码新增了1、总线控制接口和2、发射预加重参数(txdiffctrl_int, txprecursor_int, txpostc原创 2021-10-23 22:53:40 · 7233 阅读 · 1 评论 -
Serdes系列总结——Xilinx ibert IP使用
Serdes系列总结——Xilinx ibert IP使用IP设置测试界面眼图质量的评判IP设置IBERT ip的设置非常简单,只要设置好serdes管脚对应的信息即可,生成的example直接是可以生成bit,上板调试的。下面以zynq 7035的GTX为例当然有几个地方要注意下(1)图一中的DataWidth 可选32/40。这个参数影响图三的RXOUTCLK的Frequency数值。Frequency * DataWidth = LineRate(2) RXOUTCLK 主要是用作时原创 2021-10-18 22:49:19 · 8700 阅读 · 0 评论 -
serdes系列总结_目录
serdes系列总结_目录1、serdes的作用serdes的作用2、8B/10B编码、66B/64B编码、扰码8B/10B编码、66B/64B编码、扰码3、Xilinx serdes IP使用(一)——3G serdes3G serdes一个线速率为3.072G的,输入为20bit,输出为20bit的无协议无编码的4对serdes例程,参考时钟为153.6MHz4、Xilinx serdes IP使用(二)——10G serdes10G serdes10.1376G的serdes,一个原创 2021-10-17 22:18:09 · 5900 阅读 · 1 评论 -
Serdes系列总结——Xilinx serdes IP使用(三)——12G serdes
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档Serdes系列总结——Xilinx serdes IP使用(三)——12G serdesIP核的详细设置IPexample的使用附件器件:Xilinx zynq zu6cg版本:vivado2019.2实现:12.16512G的serdes,一个输入为64bit,输出为64bit的6664B编码的4对serdes例程,参考时钟为122.88MHz目的:记录从仿真到上板调试的过程,方便回忆IP核的详细设置第一个选项卡 basic原创 2021-10-16 22:28:18 · 7476 阅读 · 1 评论 -
Serdes系列总结——Xilinx serdes IP使用(二)——10G serdes
Serdes系列总结——Xilinx serdes IP使用(二)——10G serdesIP核的详细设置IP example的使用附件器件:Xilinx zynq 7035版本:vivado2019.2实现:10.1376G的serdes,一个输入为64bit,输出为64bit的6664B编码的4对serdes例程,参考时钟为153.6MHz目的:记录从仿真到上板调试的过程,方便回忆IP核的详细设置第一个选项卡 GT Selection第二个选项卡 GT Line Rate,RefClk原创 2021-10-16 21:58:21 · 8811 阅读 · 3 评论 -
Serdes系列总结——Xilinx serdes IP使用(一)——3G serdes
Serdes系列总结——Xilinx serdes IP使用(一)——3G serdesIP核的详细设置IP example的使用附件器件:Xilinx zynq 7035版本:vivado2019.2实现:一个线速率为3.072G的,输入为20bit,输出为20bit的无协议无编码的4对serdes例程,参考时钟为153.6MHz目的:记录从仿真到上板调试的过程,方便回忆IP核的详细设置第一个选项卡 GT Selection第二个选项卡 GT Line Rate,RefClk Select原创 2021-10-16 21:22:10 · 11443 阅读 · 2 评论 -
serdes系列总结——8B/10B编码、66B/64B编码、扰码
serdes系列总结——8B/10B编码、66B/64B编码、扰码8B/10B编码K码66B/64B编码扰码8B/10B编码、扰码对数字信号的比特级进行随机处理,减少连0和连1的出现,从而减少码间干扰和抖动,方便接收端的时钟提取。8B/10B编码8B/10B编码不打算说太多,因为网上的解释很多,在我的工作内容中,涉及到K码的只有JESD204B接口的时候,在JESD204B代码组同步(code group sync)中,当发送端检测到SYNC 信号为低电平时启动发送8B10B中的K28.5码,本数据段原创 2021-10-15 23:39:16 · 13170 阅读 · 1 评论 -
serdes系列总结——serdes的作用
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档serdes系列总结——serdes的作用Serdes的作用Serdes系列是本人对自己知识的一些总结,有些基本的概念可能不会提及或者一笔带过,因此如果是新手童鞋可能事先需要有一些基本的概念才能够帮助到大家,当然如果有什么疑问欢迎留言和交流Serdes的作用1、 耳熟能详的可以实现并转串的高速传输数据,例如JESDPCIESATA等很多都是基于serdes实现的,实现了高吞吐量的数据传输。这点想必大家都能理解。2、系统同源原创 2021-10-13 23:43:56 · 8709 阅读 · 0 评论