Ross_Geller 发表于 2020-11-5 18:12:18

求助:Xilinx FPGA输出百兆时钟的管脚选择问题

最近初学FPGA,用的Zedboard开发板,打算画一块AD9767的扩展板,该DAC最高支持125M的时钟。
Xilinx FPGA时钟系统看起来有点晕,说是时钟IO建议连到MRCC管脚。看了一下该开发板的外部接口,右侧FMC连接器那里有多个MRCC管脚,但是这个连接器价格昂贵(85元左右),简单验证不想用这个。左下角PMOD接口就是普通的2.54排座,两个座子正好提供了所需数量的IO口,但是PMOD这里没有MRCC管脚,只有两个SRCC。根据原理图,这两个PMOD座子属于同一BANK,那么使用SRCC管脚为外部DAC提供约百兆的时钟是否可以?




jyrpxj 发表于 2020-11-5 18:14:03

试试就知晓

Ross_Geller 发表于 2020-11-5 18:36:23

补上AD9767相关资料。



wye11083 发表于 2020-11-5 20:01:06

时钟输出请使用oddr保证时序。io随便,差分无所谓,单端8ma fast

Ross_Geller 发表于 2020-11-5 20:16:15

wye11083 发表于 2020-11-5 20:01
时钟输出请使用oddr保证时序。io随便,差分无所谓,单端8ma fast

收到,我之前的想法就是图中的“错误做法”。{:handshake:}

hugohehuan 发表于 2020-11-6 01:33:09

你还是画一个专门Zynq带AD9767的板子吧,咸鱼有很便宜的拆机7Z010(<10元)
Zedboard的2.54mm带125MSPS的ADC还是很有压力的,信号回流路径很不顺畅

again 发表于 2020-11-6 08:00:52

画个FMC扩展板保险,前段时间刚搞个8通道100M的AD,这个座一百块钱而去自己很难焊跟BGA一样

Ross_Geller 发表于 2020-11-6 20:45:31

使用Xilinx的MMCM IP配置输出100M信号,代码中插入ODDR相关配置配置,从2.54排座那里输出,使用DS1054Z升级到的100M带宽示波器看,波形变形明显,手头暂时没有更好的示波器测了。


`timescale 1ns / 1ps

module ODDR_test(
    input      sys_clk         ,
    input      sys_rst_n       ,
   
    output       clk_100m      
    );
   
wire      locked;
wire      ODDR_Q;

clk_wiz_0 clk_wiz_0
   (
    // Clock out ports
    .clk_out1_100m(ODDR_Q),   // output clk_out1_100m
    // Status and control signals
    .reset(sys_rst_n), //IP核是高电平复位
    .locked(locked),       // output locked
   // Clock in ports
    .clk_in1(sys_clk));   
   
    ODDR #(
   .DDR_CLK_EDGE("OPPOSITE_EDGE"), // "OPPOSITE_EDGE" or "SAME_EDGE"
   .INIT(1'b0),    // Initial value of Q: 1'b0 or 1'b1
   .SRTYPE("SYNC") // Set/Reset type: "SYNC" or "ASYNC"
) ODDR_inst (
   .Q(clk_100m),   // 1-bit DDR output
   .C(ODDR_Q),   // 1-bit clock input
   .CE(1'b1), // 1-bit clock enable input
   .D1(1'b1), // 1-bit data input (positive edge)
   .D2(1'b0), // 1-bit data input (negative edge)
   .R(1'b0),   // 1-bit reset
   .S(1'b0)    // 1-bit set
);
   
endmodule

Ross_Geller 发表于 2020-11-6 21:14:02

wye11083 发表于 2020-11-5 20:01
时钟输出请使用oddr保证时序。io随便,差分无所谓,单端8ma fast

对于输入到FPGA的时钟,最好走MRCC管脚,对于输出的,过ODDR到通用IO就行,是这个意思吧,对的话我画板子了。{:lol:}

DOER 发表于 2020-11-6 21:16:58

again 发表于 2020-11-6 08:00
画个FMC扩展板保险,前段时间刚搞个8通道100M的AD,这个座一百块钱而去自己很难焊跟BGA一样 ...

这么高频率,请问有没有用JESD204B之类的总线?

wye11083 发表于 2020-11-6 21:53:12

Ross_Geller 发表于 2020-11-6 21:14
对于输入到FPGA的时钟,最好走MRCC管脚,对于输出的,过ODDR到通用IO就行,是这个意思吧,对的话我画板子 ...

跨bank需要mrcc,不跨bank不用,srcc就够了。输出就是oddr,但7的hr没有odelay,所以需要pll单独输出一路移相时钟。

Ross_Geller 发表于 2020-11-6 22:43:31

wye11083 发表于 2020-11-6 21:53
跨bank需要mrcc,不跨bank不用,srcc就够了。输出就是oddr,但7的hr没有odelay,所以需要pll单独输出一路 ...

两个双路14bit并行接口DAC,加上其他数字IO,共需要64个,在FMC座子上引出,估计要跨BANK了。odelay还不知道是什么,我再看看。{:handshake:}

Ross_Geller 发表于 2020-11-7 06:32:54

wye11083 发表于 2020-11-6 21:53
跨bank需要mrcc,不跨bank不用,srcc就够了。输出就是oddr,但7的hr没有odelay,所以需要pll单独输出一路 ...

对于输出,即便是跨BANK ,使用ODDR就行,不需要MRCC,对吗?
看了一下开发板FMC座子管脚定义,如果没这个要求的话布线就方便多了。

wye11083 发表于 2020-11-7 10:44:54

Ross_Geller 发表于 2020-11-7 06:32
对于输出,即便是跨BANK ,使用ODDR就行,不需要MRCC,对吗?
看了一下开发板FMC座子管脚定义,如果没这 ...

输出全部用gclk可以随意。gclk抖动手册有,通常在150ps以内。

偏偏倒倒 发表于 2020-11-8 01:00:59

srcc、mrcc是指的输入时钟信号,关你输出信号什么事。

Ross_Geller 发表于 2020-11-8 16:39:16

hugohehuan 发表于 2020-11-6 01:33
你还是画一个专门Zynq带AD9767的板子吧,咸鱼有很便宜的拆机7Z010(

感觉17块钱的矿板拿来当核心板性价比挺高,能省事不少,打算试试。

dongzhiqing 发表于 2020-11-27 17:39:27

偏偏倒倒 发表于 2020-11-8 01:00
srcc、mrcc是指的输入时钟信号,关你输出信号什么事。

很多初学者确实不知道,你是个明白人。。。
页: [1]
查看完整版本: 求助:Xilinx FPGA输出百兆时钟的管脚选择问题