_dma_wrapper is
port (
REFCLK : in STD_LOGIC;
pcie_7x_mgt_rxn : in STD_LOGIC_VECTOR ( 3 downto 0 );
pcie_7x_mgt_rxp : in STD_LOGIC_VECTOR ( 3 downto 0 );
pcie_7x_mgt_txn : out STD_LOGIC_VECTOR ( 3 downto 0 );
pcie_7x_mgt_txp : out STD_LOGIC_VECTOR ( 3 downto 0 );
reset : in STD_LOGIC
);
end Pcie_ep_dma_wrapper;
完毕后,分别对EP和RP两个block design进行generate output product。选global综合。
第三部分就是将EP端和RP端相连仿真了。Testbench实在太简单了这里不多说了,把EP和RP的pcie一连,接上时钟和复位就可以仿真了。仿真结果如下:
从EP->RP:
从RP到EP:
AXI_Dma上的波形:
因为发送的length设成了256字节,故一次dma的时间很短。
四:结束语
按照惯例,硬件Block_design博客里已经公开,SDK软件主要的几个关键点博客里也已经点明,基本一年以上经验的工程师看了这篇博客就可以独立搞定这个K7的PCIe_DMA_Design了。当然如果你搞不定,欢迎你付费购买此篇博客的全套源代码(包含全部软硬件设计),博主会附赠你三个注意事项,以及博主关于PCIe地址映射的理解。此次付费项目如下:1、带破解的Modelsim64_10.5,xaxipcie 的核必须要用modelsim10.5进行仿真。2、K7_PCIe_DMA_Design,包含软硬件源代码以及相关的说明文档。付费方式:支付宝(账户:bubble_fish@yeah.net 姓名:俞则人)。费用:50元(其中带破解的Modelsim64_10.5,价值20元,网上没有免费的)。另外,博主最近比较忙,QQ基本不上,有需要请微信(330853172)联系。
|