XILINX的手册上明确指出了可以用于测试目的使用GTGREFCLK(实际上量产中也有人这么用,通常是为了省差分晶振,或者是没有频率合适的差分晶振,这么用当然是有一些前提的否则量产翻车怪自己咯,FPGA就是这样,没有什么绝对可行或绝对不可行)。
可是当你真的使用的时候你就发现用常规编译是没法通过的。
首先在run implment 布局布线的时候就会出现Vivado_DRC: (REQP-49)错误
这个时候的解决办法就是在xdc中添加下面这一行,
set_property SEVERITY {Warning} [get_drc_checks {REQP-49}]; # DRC: using the GTGREFCLK port on a QPLL (GTP7)
接着在generate bitstream的时候又会报Vivado_DRC: (REQP-49)错误
'this connectivity has thelowest performance of the available clocking methods and can degradetransceiver performance'
这个时候仅在xdc加约束是不行的,必须针对generate bitstream这个阶段进行约束,具体操作如下:
在ignore.tcl中添加如下内容
=======================补充============
在上面一步点OK确定tcl文件后,要先点apply再点OK,才会在当前工程生效,唉。。。。“做FPGA就是给厂家做测试”,这句话真一点没错!
接下来修改PHY,主要就是改CPLL 或者QPLL的时钟类型
主要修改图中两个地方