0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何正确使用in_system_ibert呢?

冬至子 来源:FPGA LAB 作者:李锐博恩 2023-06-21 14:40 次阅读

in_system_ibert IP定制要点

串行收发器的位置

在ISI定制中,需要选择所使用的串行收发器的位置,如下:

图片

对应的IP端口处也会出现相应的端口,例如上图选择了2个Quad,也就是8个通道的串行收发器,那么对应的drp接口就有8个。

但这个对应关系让人很迷惑,具体的通道和drp端口信号是如何对应的呢?

图片

如果有着严格的对应关系,那么数据手册或者其他形式有必要给出必要的说明,而不是让用户去猜测!人们常常犯着经验主义的错误,认为既然让你选择了Quad和通道,那么就应该对应连接?我在拿不准的时候也听过如此的论调,并信以为然,这花费了我很多的时间去寻找对应关系,并最终一无所获,当你使用了大量的通道,例如几十个,那么这种对应关系的寻找会更加消耗你的时间,特别是当项目中需要被测眼图的transceiver一方,有着混乱的通道使用!不管是什么原因,为了原理图布线方面也好,或者是任性使用,例如:如下定义的rx:

input [31:0] rx;

每4位使用一个Quad,也就是4个通道,对应关系如下:rx[0] 对应通道x1y39 rx[1] 对应通道x1y38 rx[2] 对应通道x1y37 rx[3] 对应通道x1y36

rx[4] 对应通道x1y35 rx[5] 对应通道x1y34 rx[6] 对应通道x1y33 rx[7] 对应通道x1y32

看起来已经有点意思了,这种还是倒过来约束的,还行,能接受。如果是下面这种对应关系:rx[0] 对应通道x1y36 rx[1] 对应通道x1y37 rx[2] 对应通道x1y38 rx[3] 对应通道x1y39

rx[4] 对应通道x1y32 rx[5] 对应通道x1y33 rx[6] 对应通道x1y34 rx[7] 对应通道x1y35

这就必须谴责了。如果有几十个通道,你说怎么玩吧,如果in_system_ibert又需要严格的通道对应关系,那么信号的连接将变得十分不直观,让接盘开发者面临青筋暴裂的危险。

还是去看数据手册吧,那么一个不起眼的IP核,拿不准的时候也需要阅读数据手册!如果有现场支持工程师,这种问题也不要问了,因为他很可能自家的数据手册都没有阅读,就按照惯性思维告诉你,如果不需要严格通道对应,人家IP核让你选择干嘛,然后你深信不疑,胡乱猜测,呃呃呃,gt1对应x1y39,或者gt1对应x1y0,白白浪费时间,项目做到最后,还对自己隐隐怀疑。或者最后结果没有问题,还以为,自己的运气是好的,选择是对的,并输出文档,告诉队友,就得这样干,我试过!!!

ISI内核没有收发器位置约束,也没有为所选收发器更新任何属性。所选的收发器信息仅用于创建ISI模板,并在下载bit文件后在串行IO分析器中分组/显示所选的收发器。

很明显了,没有位置约束,所选择的收发器信息仅仅用于创建例化模板。告诉你有多少个gt,你接进去就完事了。

总结:最接近真理的地方在数据手册上,我们(除了制定者,设计者)外都是阅读者,各色各样的阅读者容易忽略部分信息,或者根据惯性思维来判断,因此,带着问题去数据手册寻找答案。

如何例化in_system_ibert?

由于这个IP没有提供例子程序,所以要正确无误地使用这个IP,还有一定的疑惑点?这个时候谁也别问,因为你可能问的人也只是听说过,或者见过,真正手把手体验过,实践过的人,也许很难精确遇到。如果你问了,他们会告诉你,把drp接口连接上去就好了,然后你看看你自己的应用场景,已经定制好的aurora,或者jesd,srio等等,我了个去,怎么没有drp端口,如何和in-system-ibert的drp接口连接? 当你找不到drp接口的时候,他们也许又会告诉你,在ip核内部有,引出来?你若怀疑,甚至还怪你资历不够的意思?

我来告诉你,IP核是不要轻易改动的,或者说不要改动,如果你找不到drp接口,可以尝试看看数据手册,或者试试去掉某些选项,或者添加某些选项,但我建议还是看看收据手册,数据手册会有那个接口的描述,你会得到答案。

这里就已经可能解决很多疑惑了,但是还不够,没有个示例来参考,又没有例子工程,我会不放心我连接的对不对,或者说对这个IP核使用的对不对,因为我一旦例化进去,并生成bit流,工程大了会消耗大量的时间,怎么办呢?

为了提高成功率还是要找到一个这个ip核使用的例子程序来研究研究,这里建议可以使用transceiver IP,内部有例化in-system-ibert的选项,你勾选之后随便生成一个例子程序,就可以看到这个ip核到底怎么使用的,照葫芦画瓢,是最直接的方式。

例如:

图片

生成例子程序:

图片

加粗样式

对着程序看看如何无误地使用in-system-ibert,并且如何配合VIO IP核来使用,都可以清晰地看到解决办法!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 收发器
    +关注

    关注

    10

    文章

    3428

    浏览量

    106003
  • FPGA设计
    +关注

    关注

    9

    文章

    428

    浏览量

    26518
  • 串行收发器
    +关注

    关注

    0

    文章

    14

    浏览量

    9512
收藏 人收藏

    评论

    相关推荐

    AMD自适应计算加速平台之GTYP收发器误码率测试IBERT实验(6)

    实验VIvado工程为“ibert_test”,目录中还有一个“ibert_ex”,是生成的测试工程。
    的头像 发表于 04-12 16:22 1825次阅读
    AMD自适应计算加速平台之GTYP收发器误码率测试<b class='flag-5'>IBERT</b>实验(6)

    是否有关于为GTY收发器发布IBERT的讨论?

    是否有关于为GTY收发器发布IBERT的讨论?现在可用的Virtex UltraScale器件是XCVU095-FFVD1924,它具有GTH和GTY收发器。在2014.2中,该部分的IP目录中有一
    发表于 09-28 11:28

    为什么工具在没有IBERT环回模式的情况下显示NO LINK

    2.0Gbps。当我通过使用收发器IP从我们的原始板接收串行数据时,接收的数据是正确的。但是我无法测量IBERT。谢谢。以上来自于谷歌翻译以下为原文Hi I try to measure IBERT
    发表于 09-28 11:34

    IBERt virtex 6.是否可以在FPGA上同时运行外部时钟模块和IBERT模块?

    我正在研究IBERt virtex 6.是否可以在FPGA上同时运行外部时钟模块和IBERT模块。外部时钟模块的输出在IBERT中被指定为外部时钟引脚号?
    发表于 03-11 09:28

    加载比特流到device.ibert核心没有显示任何链接是为什么?

    所有的,我遵循xtp200-kc-705-ibert-c-2014.pdf和ibert核心工作正常的evk.Now我想使用ibert核心部分xc7k325ktffg676-2我遵循几乎相同的步骤,但当我我正在加载比特流到devi
    发表于 05-20 10:19

    如何使用IBERT生成眼图

    嗨,我有一个AD9625 ADC(数据表)被路由到xc7z045ffg676-2上的8个GTX端口。我想使用IBERT 3.0查看眼图。我可以找到的所有示例和文档都使用环回来测试GTX端口(即一个
    发表于 05-22 10:18

    IBERT设计如何配置?

    你好, 我遇到了生成IBERT设计的问题。第一个配置工作正常,但如果我在示例项目中修改IBERT核心,那些更改将不会生效。对于Virtex设计,我修改了IBERT内核中选定的库重建设计,然后在
    发表于 08-05 13:36

    如何使用ISE 14.7并且使用斯巴达6生成了IBERT核心?

    我正在使用IBERT进行扫描测试,发现IBERT控制台上用于扫描测试日志,扫描测试图和扫描测试信息的单选按钮丢失了。我正在使用ISE 14.7并且使用斯巴达6生成了IBERT核心。有没有人看到同样的问题?
    发表于 08-10 10:27

    IBERT软件或Artix FPGA存在问题?

    我目前正在使用Artix 50T(速度等级2)上的IBERT,我有点担心在近端PCS环回模式下运行时的IBERT结果......该项目是为TE0714电路板配置的IBERT IP示例,需要进行较小
    发表于 08-26 07:34

    利用 IBERT 进行 GTX 信号眼图测试 精选资料分享

    利用 IBERT 进行 GTX 信号眼图测试8.5.4.1 概述Vivado中提供了1种IBERT工具用于对Xilinx FPGA芯片的高速串行收发器进行板级硬件测试。通过IBERT我们可...
    发表于 07-20 07:28

    利用IBERT核对GTX收发器板级测试

    一、概述 IBERT(集成误码率测试仪)是xilinx为7系列FPGA GTX收发器设计的,用于评估和监控GTX收发器。IBERT包括在FPGA逻辑中实现的模式生成器和检查器,以及对端口的访问
    发表于 06-21 11:23

    使用Vivado 2016.3中IBERT调试的好处及步骤

    了解使用Vivado 2016.3中引入的系统内IBERT进行调试的好处,以及将其添加到设计中所需的步骤。
    的头像 发表于 11-20 06:43 5779次阅读

    关于IBERT for GTY中两点总结

    IBERT测试中需要注意的有以下两个要点
    的头像 发表于 02-16 16:21 2325次阅读
    关于<b class='flag-5'>IBERT</b> for GTY中两点总结

    基于IBERT的GTX数据传输测试

    本文介绍一个FPGA开源项目:基于IBERT的GTX数据传输测试。IBERT是指误码率测试,在Vivado软件中,IBERT 7 Series GTX IP核可用于对 Xilinx FPGA芯片
    的头像 发表于 08-31 11:45 2574次阅读
    基于<b class='flag-5'>IBERT</b>的GTX数据传输测试

    高速串行总线系列-IBERT使用介绍

    前言 在调试MGT Bank的时候总会出现这样那样的问题,我们有时候会用到这个工具IBERT,那IBERT究竟是什么IBERT简介 IBERT
    的头像 发表于 12-20 09:38 218次阅读
    高速串行总线系列-<b class='flag-5'>IBERT</b>使用介绍