实验室需要在xilinx的virtex5 FPGA板子上实现与PC端的PCI-e接口通信,并且需要做到DMA传输模式。对于连计算机组成原理都没学过的小白我等简直是天大的挑战。看了好几天PCI-e的资料都不得其精髓。给的xapp1052以及有关程序耶不知道咋用。于是自己试着碰运气在官网找到了如题这篇文章。我根据文章介绍按照流程生成IP核,利用modelsim与cmd进行仿真,同时记录一些遇到的问题。

        (1)直接跳到文档中的Quick Start Example Design章节,按照其步骤利用ISE的core generator生成IP核,成功后会在项目路径下出现一个ipcore_dir文件夹,里面的东西即是IP核以及一些example。这一步应该没什么问题。要注意的是要先新建一个project这样core generator才会被点亮。

LogiCORE IP Endpoint Block Plus v1.15 for PCI Express 踩坑记录

        (2) 之后是建立仿真环境和跑仿真,我之前安装了modelsim,所以可以在cmd中使用vsim,在cmd如果直接输入vsim应该会打开modelsim的界面。

LogiCORE IP Endpoint Block Plus v1.15 for PCI Express 踩坑记录

        按照步骤,先将cmd CD到ipcore_dir\endpoint_blk_plus_v1_15\simulation\functional子文件夹下,然后输入:

        vsim -do simulate_mti.do

        modelsim就开始跑仿真了。modelsim没报错的话应该就是仿真通过了。

        这里我遇到了第一个BUG,modelsim报错: can't read "env(XILINX)": no such variable

         搜索发现没有设置ise环境变量,解决方法如下:https://www.cnblogs.com/tony1224/archive/2012/06/13/2547903.html

        但是跑完后问我是否结束,我点确定后竟然直接关了,说好的仿真结果呢?

        (3)Implementing the Example Design,文档用cmd执行example:

                    LogiCORE IP Endpoint Block Plus v1.15 for PCI Express 踩坑记录

        利用CMD的CD到达路径ipcore_dir\endpoint_blk_plus_v1_15\implement后,输入implement.bat,接下来我出现了第二个BUG,在CMD中提示:

 

xst' 不是内部或外部命令  ‘ngdbuild' 不是内部或外部命令  以及更多的XXX不是内部或外部命令

        道理我懂,xst等东西CMD不认,搜索一番只知道xst等东西应该由ISE配置好的,解决方案最后在外文网站找到了(技术人员需要外文网址啊),提示CMD到ISE安装路径下,跑一下settings64.bat,路径是ISE安装路径的ISE_DS文件夹下,例如我的是:G:\program\14.7\ISE_DS。进行此番操作后,CMD成功跑起了implement.bat。差不多10分钟,出现如下语句后,代表执行完成,并且会看到implement文件夹里面又新生成了一个results文件夹,且里面一大堆文件。

                                                         LogiCORE IP Endpoint Block Plus v1.15 for PCI Express 踩坑记录

        (4)接着看,原来还可以直接在ISE里仿真。。。。。。根据与IP核一致的参数创建工程。

                                 LogiCORE IP Endpoint Block Plus v1.15 for PCI Express 踩坑记录

        接下来分别加入.v文件到工程,按照文档。

        编译的时候出了error,暂时没解决,心塞。

LogiCORE IP Endpoint Block Plus v1.15 for PCI Express 踩坑记录

        重新按照步骤来了一遍,还是如此。据原来做这个的师姐说virtex比较老了,他们还特意用32位操作环境做的,最后也没调通板子。我按照步骤把.v文件加载时发现有些模块都没挂载在xilinx_pci_exp_ep 这个.v文件下,不知道出了什么问题,感觉也改不好了。下面两图分别是文档的截图和我的截图。

LogiCORE IP Endpoint Block Plus v1.15 for PCI Express 踩坑记录

LogiCORE IP Endpoint Block Plus v1.15 for PCI Express 踩坑记录

        感觉这个坎是过不去了,希望有做过的大佬能帮看看吧。

相关文章:

  • 2021-05-24
  • 2021-11-22
  • 2021-09-28
  • 2021-05-05
  • 2021-08-18
  • 2022-01-20
  • 2021-06-29
猜你喜欢
  • 2021-07-04
  • 2021-05-11
  • 2021-12-04
  • 2021-06-20
  • 2021-07-30
  • 2021-07-22
  • 2021-08-19
相关资源
相似解决方案