描述
一般描述:
PCI设计指南简要地提及地址寄存器在命令寄存器中的位(页2-19)。可以步进禁用吗?
解决方案
什么是地址步进?
在PCI规范Rev 2.3之前,地址步进在PCI Rev 2.2的3.3.3节中定义如下:
“代理在多个时钟上扩展合格信号的断言的能力称为“步进”。这个概念允许具有“弱”输出缓冲器的代理在多个时钟(连续步进)上驱动一组信号到有效状态,从而减少由每个缓冲器产生的接地电流负载。另一种方法允许具有“强”输出缓冲器的代理在每一个时钟边沿上驱动它们的子集,直到它们都被驱动(离散步进),从而减少必须同时切换的信号的数量。所有代理必须能够处理地址和数据步进,而生成它是可选的。
无论是连续的或离散的步进允许代理权衡性能的成本(更少的电源/接地引脚)。当使用连续步进方法时,必须注意避免必须在每个时钟边缘上采样的关键控制信号和可能在时钟边缘上转换的阶跃信号之间的相互耦合。性能关键的外围器件应该谨慎地应用这个“许可”。
只有Ad[31:0]、Ad[63:33]、PAR、PAR64 64和IDSEL才允许进行步进。
Xilinx地址步骤(预驱动)一个周期将时钟延长到有效时间一个时钟周期。Xilinx没有处理与时钟到数据时间有关的任何原因的步骤(预驱动)。请注意,在输出端,通过FPGA输出缓冲器有两条延迟路径:
*时钟到数据(通过输出缓冲器)数据“路径”
*时钟到有效(通过输出缓冲区)启用“路径”
Xilinx完全能够实现从IOB触发器到时钟和数据的有效时钟。然而,对于非地址步进设计工作,您必须注册数据和OE信号,以便在IOB中使用OFD和TFD。
注册多达72启用触发器在IOB创建一个非常类似于输出时钟启用情况下的问题,其中Xilinx诉诸PCIUCE作为解决方案在许多情况下。
因此,为了解决基本上是定时问题,Xilinx使用地址步进。Xilinx步骤使输出能够在IOB中注册,而不是在IOB中注册的数据。在某些情况下,在地址步进的第一个周期中,AD的“值”可能是无用的,因为Xilinx直到下一个周期才显示出真正的地址。Xilinx使用这段时间来“热身”司机。
在PCI规范2.2中,Xilinx使用上面定义的地址步进,因此,在核心命令寄存器中的地址步进位被设置为1。
在第3.3.3节中定义了2.3步进的地址:
“步进”只允许在IDSEL引脚上通过一个串联电阻器被AD信号驱动。IDESEL通过帧μ和解码类型0配置命令的组合来限定。允许具有AD和C/BE活跃时间的慢三态输出缓冲器技术允许AD和C/BEα缓冲器在对非配置事务进行帧X的断言之前的时钟周期(这些器件必须满足表4-6的TOFF时间)。
Xilinx内核的功能在地址步进方面没有改变;Xilinx兼容PCI Rev 2.3。
我能禁用Xilinx PCI内核中的地址步进吗?
不,此功能不能更改。
没有回复内容