引言:7系列fpga具有多个时钟路由资源,以支持各种时钟方案和要求,包括高扇出、短传播延迟和极低的偏移。为了最好地利用时钟路由资源,必须了解如何从pcb到fpga获取用户时钟,确定哪些时钟路由资源是最佳的,然后通过使用适当的i/o和时钟缓冲器来访问这些时钟路由资源。该章节包括:
时钟缓冲选择考虑
时钟输入管脚
1.时钟缓冲器选择考虑
7系列fpga拥有丰富的时钟资源。各种缓冲器类型、时钟输入管脚和时钟连接,可以满足许多不同的应用需求。选择合适的时钟资源可以改善布线、性能和一般fpga资源利用率。 bufgctrl(最常用作bufg)是最常用的时钟布线资源。这些真正的全局时钟可以连接到器件的任何位置。但是在某些情况下,出于性能、功能或时钟资源可用性的原因,使用备用时钟缓冲器更为有利。最好在以下情况下使用bufg:
设计或设计的一部分可以覆盖整个器件的大面积区域,功能的本地化是不可能的。
硬件功能块,如块ram、dsp或集成ip,跨越多个时钟区域,级联或需要连接到不在附近的clb。
同步(glitch free)或异步时钟切换,应用程序能够从停止的时钟切换或选择具有不同频率的时钟(例如,用于降低功耗)。
时钟使能(ce)功能可用于在非运行期间降低功率。然而,在大多数情况下,由于时序(ce延迟)的限制,ce不能够用于在时钟元件处模拟真实的ce逻辑功能。
ce功能可用于在器件启动后同步已初始化的时钟元件。
图1、串行lvds adc接口常见设计
bufr和bufio组合的主要目的是支持源同步接口(如图1所示)。当一个接口被放置在一个区域中时,bufio对selectios的高速侧进行时钟控制,bufr以较低的速度将解串器/串行器侧时钟送入提供时钟域传输功能的fpga逻辑中。对于需要更多逻辑和/或i/o的接口,bufmr(bufmrce)用于将时钟域传输功能扩展到上面和下面的(above and below)时钟区域。当mmcm/pll不能使用或不可用于分频功能时,需要与源同步i/o用例无关的分频时钟的某些类型的应用程序可以将bufr用作简单的时钟分频器。在这种情况下,必须特别注意时序和偏移,因为这不是bufr的主要目的。有关选择资源计时的更多信息,请参阅ug471,7系列fpga selectio资源用户指南。
水平时钟缓冲器bufh(bufhce)严格来说是一个区域资源,不能跨越上面或下面的时钟区域。与bufr不同,bufh没有分频时钟的能力。
bufhs类似于全球时钟资源,只是在区域基础上跨越两个水平区域。
bufhs能够作为mmcm/pll的反馈,时钟插入延迟可以得到补偿。
当接口或逻辑云位于一个时钟区域或两个水平相邻的时钟区域时,bufhs是首选的时钟资源。
bufh还具有时钟使能引脚(bufhce),当逻辑或接口及其相关逻辑未激活时,可使用该引脚降低动态功耗。
时钟使能功能可在时钟周期的基础上提供门控时钟。
与全局时钟树类似,bufh还可以连接到clb(enable/reset)中的非时钟资源,具有更好的偏移特性。
bufh也可用于同步启动时钟区域中时钟元件。
2.时钟输入规则
外部用户时钟必须通过称为clock-capable(cc)输入的差分时钟管脚对引入fpga。时钟输入管脚支持对内部全局和区域时钟资源的专用高速访问。时钟输入管脚使用专用路由,必须用于时钟输入,以保证各种时钟的时序特征。使用本地互联的一般目的i/o不应用于时钟信号。
图2、_cc时钟管脚连接 每个i/o bank位于一个时钟区域,包括50个i/o引脚。在每个i/o bank中每个i/o组中的50个i/o管脚中,有4个支持时钟的输入管脚对(共8个管脚)。每个时钟输入:
可连接到pcb上的差分或单端时钟
可为任何i/o标准配置,包括差分i/o标准
有一个p-side(主)和一个n-side(从)
如果单端时钟连接到差分时钟管脚对的p侧,则n侧不能用作另一个单端时钟管脚,它只能用作用户i/o。 时钟输入管脚在每个i/o bank中有2个mrccs和2个srccs对。srcc访问单个时钟区域和全局时钟树,以及同一列中上下的其他cmts。srcc可以驱动:
同一时钟区域内的区域时钟线(bufr、bufh、bufio)。
同一时钟区域和相邻时钟区域的cmt。
位于器件的上/下半部分的全局时钟线(bufg)。
mrccs可以访问多个时钟区域和全局时钟树。mrccs的功能与srccs相同,还可以驱动多时钟区域缓冲器(bufmr)来访问多达三个时钟区域。 如果不用作时钟,时钟输入管脚可以用作常规i/o。当用作常规i/o时,支持时钟的输入引脚可以配置为任何单端或差分i/o标准。 时钟输入管脚可以连接到同一时钟区域的cmt,和该时钟区域的上下的cmt,但具有一定的限制。
2.1 单个时钟驱动单个cmt
当时钟输入驱动单个cmt时,时钟输入管脚和cmt(mmcm/pll)必须在同一时钟区域。
2.2 单个时钟驱动多个cmts
一个时钟输入可以驱动同一列中的其他cmt。在这种情况下,一个mmcm/pll必须被放置在与时钟输入管脚相同的时钟区域中。在相邻区域放置附加的cmt是更为优化的,但是在同一列中,可以驱动比一个cmt更远的cmt。cmt中使用的资源必须相同,才能自动放置此配置而不使用clock_dedicated_route约束。如果需要混合mmcms/pll,则应首先将其置于同一cmt中。 如果有必要从不在同一时钟区域的时钟输入管脚驱动cmt,并且在与时钟输入管脚相同的时钟区域中没有mmcm/pll,则必须设置属性clock_dedicated_route = backbone。在这种情况下,mmcm或pll不能正确地将输出与输入时钟对齐,即存在时钟偏移。 在同一列中专用资源驱动cmt是有限制的。一些xilinx ip使用这些资源,从而使它们不可用于其他设计用途,并导致设计无法布线。如果到其他时钟区域的专用路由不可用,则将clock_dedicated_route设置为false将允许使用本地互连逻辑,尽管这会导致更长的无补偿延迟。如果由普通的io管脚驱动全局时钟资源,比如bufg或者mmcm,则clock_dedicated_route = false。
2.3 时钟输入管脚放置规则
在创建初始设计之前,手动选择支持时钟的输入引脚时,有两个主要考虑因素:
确保支持时钟输入可以连接到所需的时钟资源。表所示的布局规则确保连通性。
确保所需的时钟资源是可用的,并且没有被设计的另一部分使用。确保通过时钟输入管脚进入的外部时钟和来自ip的内部生成时钟不会在访问内部时钟网络时发生冲突,最好的方法是构建包含所需时钟网络和ip的初始设计,并通过实现工具运行它。这大大增加了检查和信心,即引脚不需要由于时钟原因而改变。
遵循表2-1所示的放置规则,以确保具有时钟输入引脚选择能够访问所需的内部时钟网络。每个i/o bank位于在一个时钟区域中。 注:通过确保正确选择具有时钟输入引脚的位置,避免昂贵的电路板重新设计和差的时钟时序。
表1、时钟输入放置规则 在相同的封装器件之间迁移时,将bufg组织为16个top和16个bottom资源的上/下中心线可能相对于其他列发生了移动。具体地说,i/o列会更改与顶部/底部bufgs的对齐方式。这会导致访问bufg的时钟输入引脚的不同对齐方式。图1显示了使用xc7k325t和xc7k160t器件的中心对齐示例。在这种情况下,当从相同封装中的大器件移动到小器件时,中心线较低(相对于i/o列),或者从小器件移动到大器件时,中心线更高。如果时钟输入引脚被定位,设计可以是不可布线的。
图3、使用xc7k325t和xc7k160t器件的中心对齐示例 当迁移到相同封装的一个较小的器件时,也可能会出现这样的情况:较大器件的南侧的所有bufg都已被利用,而没有更多的bufg可用。见ug475:7系列fpga封装和引脚输出规范,用于bufg和i/o组对准。 另外,具有多个超级逻辑区域(slr)的器件在同一个包中从单个slr中的单片路径迁移时可能具有类似的限制。
涨幅25%,2023全球电动车销量将飙升至2000万辆
什么是电压暂降?电压暂降可能产生哪些影响?如何去解决电压暂降的问题?
节能安全的光纤材料在智能变电站的应用
工控板维修的技巧
中国医疗器械售后维修服务,医疗器械行业的下一个风口
如何从PCB到FPGA获取用户时钟
拆解|可能是最便宜的智能家居产品——WiFi智能插座
云计算和数据中心发展对机架式UPS的六大需求
ABC三位一体AI,才能推动各个产业更加智能地运转
乘《科学技术进步法》东风,迈向精密仪器技术之巅
一文详解半导体二极管
稳压二极管的动态电阻
工业连接器的核心零件是什么
十年前大萧条下的TI停产与近日的瑞萨停产前后如出一辙
三星研发新型QNED显示技术,为布局未来市场做好准备
数字音频 声音的基础知识
javascript可以关闭吗
PCB的历史及发展趋势
实现RS232转PROFIBUS的功能
增距镜作用及三省是什么?