|
发表于 2021-2-19 20:50:29
来自手机
|
显示全部楼层
chxzh123 发表于 2021-2-19 17:30
好的,我下载riffa看看,最近弄到一个xc7k420t的板子,想验证一下pcie
想简单你可以用xdma subsystem那个,xilinx都给你处理好了,直接m_axi怼就行(lite接口据说延迟很大,我没测过),注意切记不要改bar大小!!否则驱动不认。设备全部采用sg传输模型,所以bar大小不影响效率。
xdma全双工传输貌似有1.6gb/s每方向(pcie 2.0 x4),但驱动可能不太好找,你得找一个2017版本的驱动,2018的驱动貌似就不能用了,会卡死。vivado可以生成bram示例工程,操作方法:右键点pcie xdma ip,找找generate 或create example design,然后生成,就ok了。会创建一个新的工程。riffa的话你得改一部分顶层代码和xdc,稍微麻烦点。建议你先拿xdma用,熟悉之后再折腾。其实xdma够了。riffa也有不少缺点,比如它的fifo接口,传输字节/双字单位换算等,要想转成axi接口还得再转一次。我用了差不多2个星期爆改riffa才达成axi总线接口,面积貌似已经超过xdma了。。效率的话对接ddr3,单向1.6gb/s,双向掉到1.3gb/s了,我ddr3总共才4.2gb/s,也算是跑满了吧。xdma例程的bram是双端口的,所以不存在瓶颈。ddr3不能同时读写,会带来一些性能损失。 |
|