欢迎光临
我们一直在努力

FPGA开发技巧备忘录

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

FPGA开发技巧备忘录——如何修改vivado ip源码


为什么要修改IP核内的源码

说如何之前,先说为什么。
之所以要写这篇文章是因为前段时间完整的看过了一遍7系列的transceiver,里面提到了,当在使用中需要复位RX lane 和 TX lane的时候,我们都可以使用GTRXRESET 和 GTTXRESET。

我们顺着代码看下去的时候看到了在 gtwizrd_0_init.v文件中的 parameter 参数EXampLE_USE_CHIPSCOPE,需要将其设置为1,gtX_gttxreset_in、gtX_gtrxreset_in这些输入才会真正起作用,否则,根本不会连接到gtwizard_0_init模块里面来。

这就涉及到需要改gtwizard_0_init模块的上层模块gtwizard_0。

 gtwizard_0_init  ( .EXAMPLE_SIM_GTRESET_SPEEDUP ("TRUE"), .EXAMPLE_SIMULATION (0), .STABLE_CLOCK_PERIOD (6), .EXAMPLE_USE_CHIPSCOPE (0) ) EXAMPLE_USE_CHIPSCOPE (0) 要改成 EXAMPLE_USE_CHIPSCOPE (1) 

但是这是属于IP核里面内部文件。
FPGA开发技巧备忘录
而且其属性为只读
FPGA开发技巧备忘录
因此,这里解释为什么要修改IP核内部的源代码 ? 对于某些功能复杂的IP,例如transceiver,vivado为了我们能够方便使用,将很多功能都已经封装的IP核中了,但有时候某些端口我们又想用的时候,就必须要修改IP核内部的源代码了。

如何修改IP核内的源码

为了解决这个问题,搜索了一些帖子,发现好几个都没写全,花了不少时间折腾。这里重新记录一下步骤,缺一不可!!

第一步,将需要修改的IP 综合选项改成Global,修改后IP核的颜色从黄色变成白色
FPGA开发技巧备忘录
第二步,在complile order的选项卡中,把这个IP核的IS_MANAGED的勾去掉
FPGA开发技巧备忘录
IP核图标变成了
FPGA开发技巧备忘录
第三步,查看IP的状态,如下显示则表示设置好了,后面就可以修改源码了
在这里插入图片描述
我们修改代码:

 gtwizard_0_init  ( .EXAMPLE_SIM_GTRESET_SPEEDUP ("TRUE"), .EXAMPLE_SIMULATION (0), .STABLE_CLOCK_PERIOD (6), .EXAMPLE_USE_CHIPSCOPE (1) //从0改成1 ) 

最后,为了检查修改了是否生效,可以故意弄一个语法错误出来,看综合的时候是否报错,然后保险一点的话,综合之后再通过原理图看一下是否生效。

风险提示

注意:修改IP核的风险还是比较大的,需要清除的知道修改了什么内容。特别是与其他人进行交接的时候一定要告知,否则,其他接手人员不明就里,可能会重新编译该IP,则修改的东西就全部默认恢复成初始状态了。

  • 海报
海报图正在生成中...
赞(0) 打赏
声明:
1、本博客不从事任何主机及服务器租赁业务,不参与任何交易,也绝非中介。博客内容仅记录博主个人感兴趣的服务器测评结果及一些服务器相关的优惠活动,信息均摘自网络或来自服务商主动提供;所以对本博客提及的内容不作直接、间接、法定、约定的保证,博客内容也不具备任何参考价值及引导作用,访问者需自行甄别。
2、访问本博客请务必遵守有关互联网的相关法律、规定与规则;不能利用本博客所提及的内容从事任何违法、违规操作;否则造成的一切后果由访问者自行承担。
3、未成年人及不能独立承担法律责任的个人及群体请勿访问本博客。
4、一旦您访问本博客,即表示您已经知晓并接受了以上声明通告。
文章名称:《FPGA开发技巧备忘录》
文章链接:https://www.456zj.com/19178.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址