请问,在Xilinx的A7 FPGA里,能不能用一个GTP2同时实现两种协议
时间:10-02
整理:3721RD
点击:
现在项目使用的是zynq 7015芯片,包含有一个GTP2功能模块,我现在想用它同时使用SRIO和G Ethernet IP,能不能实现?
我通过生成IP时,使用common in example,然后看Example中的common模块代码,发现好像这两个IP,每个IP都使用了GTP2 COMMON中的两个PLL,如果是这样PLL单元就不够两个IP同时运行的了,但是总感觉每个IP使用一个PLL就够了啊,有没有大牛做过类似的项目?给点提示,谢谢
我通过生成IP时,使用common in example,然后看Example中的common模块代码,发现好像这两个IP,每个IP都使用了GTP2 COMMON中的两个PLL,如果是这样PLL单元就不够两个IP同时运行的了,但是总感觉每个IP使用一个PLL就够了啊,有没有大牛做过类似的项目?给点提示,谢谢
要看清楚是QPLL还是CPLL。如果QPLL的设置一样,就可以。
GTP2里没有QPLL,只有两个PLL。
我通过VIVADO生成的example中的 common文件看,好像一个IP要用到两个PLL,不知道是真的有用还是为了不留空点随手连上的。
有没有哪位大牛用过在同一个GTP2或GTE2,GTX2上同时实现两种协议的?或者用过什么开发板例程支持这种工作模式的,帮忙给点建议,多谢了
刚好做过,说一点。
1.最好使用共同的QPLL。从QPLL出来的时钟引入各自的GTX_CHANNEL,时钟处理会比较简单。但要修改Core,调整时钟连线。
2.去掉一个GTX_COMMON。例化core时,2个不同的core都会生成GTX_COMMON模块。但是如果放在同一个GTP QUAD中,只能有一个GTX_COMMON。我是手动去掉一个。
上面都是单独例化Transceiver,协议层IP另外例化。如果协议层和Transceiver打包的IP,处理会更复杂一些。
多谢了,我试试看
