求助: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提供约百兆的时钟是否可以?
试试就知晓 补上AD9767相关资料。
时钟输出请使用oddr保证时序。io随便,差分无所谓,单端8ma fast wye11083 发表于 2020-11-5 20:01
时钟输出请使用oddr保证时序。io随便,差分无所谓,单端8ma fast
收到,我之前的想法就是图中的“错误做法”。{:handshake:}
你还是画一个专门Zynq带AD9767的板子吧,咸鱼有很便宜的拆机7Z010(<10元)
Zedboard的2.54mm带125MSPS的ADC还是很有压力的,信号回流路径很不顺畅 画个FMC扩展板保险,前段时间刚搞个8通道100M的AD,这个座一百块钱而去自己很难焊跟BGA一样 使用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
wye11083 发表于 2020-11-5 20:01
时钟输出请使用oddr保证时序。io随便,差分无所谓,单端8ma fast
对于输入到FPGA的时钟,最好走MRCC管脚,对于输出的,过ODDR到通用IO就行,是这个意思吧,对的话我画板子了。{:lol:} again 发表于 2020-11-6 08:00
画个FMC扩展板保险,前段时间刚搞个8通道100M的AD,这个座一百块钱而去自己很难焊跟BGA一样 ...
这么高频率,请问有没有用JESD204B之类的总线? Ross_Geller 发表于 2020-11-6 21:14
对于输入到FPGA的时钟,最好走MRCC管脚,对于输出的,过ODDR到通用IO就行,是这个意思吧,对的话我画板子 ...
跨bank需要mrcc,不跨bank不用,srcc就够了。输出就是oddr,但7的hr没有odelay,所以需要pll单独输出一路移相时钟。 wye11083 发表于 2020-11-6 21:53
跨bank需要mrcc,不跨bank不用,srcc就够了。输出就是oddr,但7的hr没有odelay,所以需要pll单独输出一路 ...
两个双路14bit并行接口DAC,加上其他数字IO,共需要64个,在FMC座子上引出,估计要跨BANK了。odelay还不知道是什么,我再看看。{:handshake:} wye11083 发表于 2020-11-6 21:53
跨bank需要mrcc,不跨bank不用,srcc就够了。输出就是oddr,但7的hr没有odelay,所以需要pll单独输出一路 ...
对于输出,即便是跨BANK ,使用ODDR就行,不需要MRCC,对吗?
看了一下开发板FMC座子管脚定义,如果没这个要求的话布线就方便多了。 Ross_Geller 发表于 2020-11-7 06:32
对于输出,即便是跨BANK ,使用ODDR就行,不需要MRCC,对吗?
看了一下开发板FMC座子管脚定义,如果没这 ...
输出全部用gclk可以随意。gclk抖动手册有,通常在150ps以内。 srcc、mrcc是指的输入时钟信号,关你输出信号什么事。 hugohehuan 发表于 2020-11-6 01:33
你还是画一个专门Zynq带AD9767的板子吧,咸鱼有很便宜的拆机7Z010(
感觉17块钱的矿板拿来当核心板性价比挺高,能省事不少,打算试试。 偏偏倒倒 发表于 2020-11-8 01:00
srcc、mrcc是指的输入时钟信号,关你输出信号什么事。
很多初学者确实不知道,你是个明白人。。。
页:
[1]