本帖最后由 SuperX-man 于 2012-2-14 21:07 编辑
工作在V6上,4 lane pcie 2.0链路,用集成的endpoint IP,本人设计的DMA单向数据带宽最高可达到1.7GB。如有合作意向可以发邮件至nicehdl 圈a gmail.com
不过正像4楼的兄弟说的,毕竟这个设计是给老板做得,随便分享细节不太合适,
所以只能把自己做得时候的一些感想谈谈,希望能对做类似项目的人有点帮助。
以下都是给要认真做项目的人写的,如果你只是进来闲逛可以不用看了,省点时间。
要做PCIE接口的DMA,PCIE协议必须了解。
建议找个周末去书店或图书馆把相关的书都浏览一遍,然后决定买哪本。
PCI Express System Architecture建议看英文的,看中文翻译版会被搞疯掉。
有一本很好的中文书,“PCI Express 体系结构导读”,作者让人敬佩。
另外,协议本事是最基本的,随时有可能要查。
Xilinx给Integrated Block 写的User guide动手之前必须看明白。
core generate生成的IP包里除了IP还有简单的验证环境,自己把它跑起来,以后按需修改。
Xilinx的两个xapp,1052和859都有必要学习,看懂了你会觉得豁然开朗,
不过xapp很难照搬,每个项目的需求都不一样,看懂了才好改或者干脆从头设计。
HDL coding style要很熟悉,对资源消耗,最终能跑多快能做到心中有数,
否则做起来很痛苦的,尤其是对高带宽的应用。
其它的杂七杂八还有一些,不过不是最要紧的,暂时就写到这,
研发工程师都比较忙,我也是这样,所以回帖会比较慢,大家海涵。
应该说一个实用的DMA for PCIE设计任何时候都是硬骨头,
有硬件,有软件,应该是一个team一起完成的东西。
如果你工作年头还不长就做这样的项目,那么恭喜你,你职业生涯中
第一个难啃的骨头来了,啃下来你就可以去和老板谈加薪了,呵呵。
另外就是,多看,多思考,少问大而无当的问题,因为没法靠键盘回答这种问题。 |