AG10K FPGA 设计建议
1. PHY
PHY 芯片时钟,一般在 Tx 方向,数据与 clk 会使用边沿对齐,Rx 方向是中央对齐的方式。
a) Tx:
Edge Aligned,除了在数据端使用 DDIO_OUT,在 clk 上也要用上 DDIO_OUT,以保证时钟和
数据的对齐。
Center Aligned,不用 DDIO,把时钟反向,如:assign p0gtxc = !pll_clk;
然后 asf 文件中加入延迟:
set_instance_assignment -name OUT_DELAY -to p0tx* 1'b1 -extension
set_instance_assignment -name OUT_DELAY -to p1tx* 1'b1 -extension
b) Rx:
在 asf 文件中加入:
set_instance_assignment -name IN_DATA_DELAY -to p*rxd* 3'b110 -extension
p*rxd*应包括所有的 rx 数据输入(每个 PHY 有 4 个 data 和 1 个 ctrl)
加入以上设置,在 sdc 文件中可以省略输入输出延迟的约束。
这只针对 rxc 使用 Global Clock 时的情况。其它需具体根据时序分析延迟。
DDIO 的应用除 data 外,dv 信号有可能不会被 Supra 识别,这时,需在 ve 文件中对 dv 信号
加入 DDIO_IN 参数,如:
P0_rxdv pin_xx DDIO_IN
2. SDRAM
——方法(1)
a) 输出端:
sdc 文件中加入以下时序约束(以下红色标示的需改):
set sdr_src_pin {mclk_inst|altpll_component|auto_generated|pll1|clk[2]}
set sdr_clk sdrclk_output
set sdr_ctrl_data {sdramcs sdramba* sdramcas sdramras sdramwe sdramadd* sdramdatam*}
create_generated_clock -name $sdr_clk -source [get_pins $sdr_src_pin] [get_ports $sdr_clk]
set_output_delay -clock $sdr_clk -max 1.5 [get_ports $sdr_ctrl_data]
set_output_delay -clock $sdr_clk -min -1 [get_ports $sdr_ctrl_data]
评论0