我有一个PCIe生成的核心/端点,带有xilinx核心生成器工具,用于开发板上的spartan6 fpga,我已经修改了一点来启用MSI并每隔几秒发送一次。
另外,我在linux桌面上做了一个简单的C内核模块,我在其中插入了开发板。这可以注册器件,分配存储器,为器件启用总线主控权并处理中断等。
我现在要做的是从主板到PC的一些DMA传输,然后在完成后发送一个中断,以便cpu可以去读取它。我不是Verilog专家,我的代码似乎不具备任何DMA功能。
我在网上找不到任何相关信息,所以这是我最后的希望。
答案 0 :(得分:3)
上述评论的原文:
您是否在生成的PCIe核心上方实现了事务层?如果您的HDL技能不是那么高,为什么不使用免费的PCIe核心? PCIe是一件非常重要的事情....
是的,Xilinx IPCore发生器在链路层顶部添加了一个非常简单的PIO接口,以处理简单的PIO转换。注意:PIO事务已过时,不允许用于新设备。
目前,我知道两个相当不错的IPCores: