Zynq EMIO路由的约束
描述
(DS191) 包含某些接口的Zynq时序特性。
但是,这在使用MIO时似乎适用。
使用EMIO时有哪些注意事项?
解
理想情况下,源同步接口的位在选择I / O的电平上会有0偏斜,因此(DS191)将在FPGA接口处进行转换。
Zynq没有定时弧输出接口。由于没有来自PS的到达时间,因此不能使用选择I / O上的常规输入/输出延迟来约束接口。
因此,您需要将接口从PS移至选择I / O“AS-IS”,即不改变接口各个位相对于其他位的时序关系。
执行此操作时,您可以使用以下准则:
步骤1:
减少通过PL结构路由的IF信号的偏差。
这可以通过采取以下步骤来完成。
例如,使用QSPI IF。
1)没有时间限制的路由。
%route_design -delay -net [get_nets]
%route_design -preserve
2)SPI接口的时间。
我们现在可以将SPI接口的所有信号从PS接口计时到FPGA接口。
最长延迟是限制因素,因为需要减慢其他信号以匹配它以减少偏斜。
%report_timing -through [get_nets] sort_by group delay_type min_max
根据报告,假设在SLOW角落中,最长延迟为10.0 ns,在FAST角落中,最长延迟为4.0ns
3)添加最大/最小延迟约束。
我们现在可以添加最大/最小延迟约束,以尝试使SPI接口的所有信号在SLOW / FAST角落中具有相同的延迟。
最小/最大延迟值来自上面的2)。
%set_max_delay 10 -to [get_ports]
%set_min_delay 4 -to [get_ports <所有相关的QSPI IF端口>]
4)重新路由SPI接口。
%route_design unroute
%route_design
第2步:
提取相关信号的最大偏差:
%report_timing -to [get_ports] -path_type summary -max 10 -setup
%report_timing -to [get_ports <所有相关的QSPI IF端口>] -path_type summary -max 10 hold
从报告中,手动计算每个角落的最大偏斜。
第3步:
将提取的偏斜结合到数据表中的接口时序特性。
现在,我们减少了影响FPGA接口处接口时序特性的偏斜值。
我们可以假设PS输出引脚上的SPI接口遵循数据表(DS191),因此下一步是在数据手册中将偏差纳入接口时序特性中。