打印

本人设计的DMA for xilinx V6 PCIE integrated IP

[复制链接]
6030|21
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
happyHDL|  楼主 | 2012-2-8 16:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 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一起完成的东西。
如果你工作年头还不长就做这样的项目,那么恭喜你,你职业生涯中
第一个难啃的骨头来了,啃下来你就可以去和老板谈加薪了,呵呵。
另外就是,多看,多思考,少问大而无当的问题,因为没法靠键盘回答这种问题。

相关帖子

沙发
GoldSunMonkey| | 2012-2-8 21:33 | 只看该作者
:L广告不喜欢
如果讨论。就来论坛讨论

使用特权

评论回复
板凳
zhongxon| | 2012-2-9 09:55 | 只看该作者

2

本帖最后由 zhongxon 于 2012-2-9 09:59 编辑

PCI Express 2.0,per-lane 5 GT/s,纯数据500MB/s,4 lane 理论上应该是2GB/s,能做到1.7GB/s,实际是非常不错了。
不过,应该大致说下设计思路,占用资源情况,详细说明测试环境,如所用的PC配置,传数据的缓冲区大小的影响等,测试方面越详细越好,再有点截图就更好了。
如果这样,广告嫌疑就小很多了。
另外,好象是xilinx推荐一个ip core,但是收费的,如果能与这具比较一下就形像了。

使用特权

评论回复
地板
雪夜虫子| | 2012-2-9 10:40 | 只看该作者
工作在V6上,4 lane pcie 2.0链路,用集成的endpoint IP,本人设计的DMA单向数据带宽最高可达到1.7GB。如有合作意向可以发邮件至nicehdl 圈a gmail.com
happyHDL 发表于 2012-2-8 16:06

善意提醒:如果是公司的职务创造,拿来拉私活的话小心一些。

使用特权

评论回复
5
GoldSunMonkey| | 2012-2-9 11:58 | 只看该作者
PCI Express 2.0,per-lane 5 GT/s,纯数据500MB/s,4 lane 理论上应该是2GB/s,能做到1.7GB/s,实际是非常不错了。
不过,应该大致说下设计思路,占用资源情况,详细说明测试环境,如所用的PC配置,传数据的缓冲区 ...
zhongxon 发表于 2012-2-9 09:55

带PCIE硬核的都不收费

使用特权

评论回复
6
GoldSunMonkey| | 2012-2-9 11:58 | 只看该作者
善意提醒:如果是公司的职务创造,拿来拉私活的话小心一些。
雪夜虫子 发表于 2012-2-9 10:40

还是分享的好。

使用特权

评论回复
7
liudandan2110| | 2012-2-9 14:42 | 只看该作者
:(广告呀

使用特权

评论回复
8
zhongxon| | 2012-2-9 14:42 | 只看该作者
pci-e硬核不收费。
我理解,好象是,happyHDL在说的不是pci-e,而是他自己设计的是一个DMA引擎。
xilinx在推哪个开发板,我不记得了,好象是推荐过,一家公司,但不是xilinx本身 ,有一个dma引擎,效果不错。

使用特权

评论回复
9
雪夜虫子| | 2012-2-9 14:44 | 只看该作者
还是分享的好。
GoldSunMonkey 发表于 2012-2-9 11:58

LZ显然不是拿来分享的。;P

使用特权

评论回复
10
明空| | 2012-2-9 23:29 | 只看该作者
DMA第三方可能是northwest吧

使用特权

评论回复
11
明空| | 2012-2-9 23:30 | 只看该作者
1.7GB不算高,用1052就可以做到了。
实测可以到2GB.....

使用特权

评论回复
12
GoldSunMonkey| | 2012-2-10 10:28 | 只看该作者
DMA第三方可能是northwest吧
明空 发表于 2012-2-9 23:29

有没有,过来分享一下子。

使用特权

评论回复
13
happyHDL|  楼主 | 2012-2-13 14:28 | 只看该作者
本以为这个帖子不会有人关注呢,没想到还有这么多人回帖,
有批评,有建议,一并谢谢大家。
3楼问得问题都很重要,我也希望尽可能跟大家多分享些东西,
不过正像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一起完成的东西。
如果你工作年头还不长就做这样的项目,那么恭喜你,你职业生涯中
第一个难啃的骨头来了,啃下来你就可以去和老板谈加薪了,呵呵。
另外就是,多看,多思考,少问大而无当的问题,因为没法靠键盘回答这种问题。

使用特权

评论回复
14
amini| | 2012-2-13 19:17 | 只看该作者
恭喜你职业生涯中
第一个难啃的骨头来了

使用特权

评论回复
15
GoldSunMonkey| | 2012-2-13 23:00 | 只看该作者
:lol

使用特权

评论回复
16
SuperX-man| | 2012-2-14 21:09 | 只看该作者
欢迎楼主分享!

使用特权

评论回复
17
diego01| | 2013-1-11 17:30 | 只看该作者
其实也可以理解,毕竟做出个那玩意不容易,我之前用verilog写过PCI 的核,也是有前人的基础,还花了小一年的时间才能稳定的跑起来。最近,搞xilinx的pcie hardip,也折腾了小两个月,测试版的才可以跑起来。
所以,人家不愿意公开,很正常的啊。我做的模块工作在V5上,8 lane pcie 2.0链路,用集成的endpoint IP,有兴趣交流的可以加q。

使用特权

评论回复
18
hawksabre| | 2013-1-12 18:19 | 只看该作者
呵呵   电子工程师很多时候设计的产品不愿意共享  也是可以理解的   希望大家互相理解   呵呵   都不容易

使用特权

评论回复
19
j779944| | 2013-1-15 17:24 | 只看该作者
很希望能分享hardIP的东西,呵呵,最近我也在搞一个算法的IP core ,比较折腾人

使用特权

评论回复
20
icecut| | 2013-1-16 09:33 | 只看该作者
楼主是对fpga从业人员赤裸裸的鄙视...
从芯片构成来说,dma有两种,一种是通用接口的外部dma.另外一种是内部dma,
usb就是用的后一种.pcie也应该用后一种.
pcie的那本体系结构,英文版我也看完了.从phy到层次设计,写的都比较易懂.

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

3

帖子

0

粉丝