FPGA之时钟规划图解

目录

一、前言

二、时钟规划概念

三、时钟规划的模块

3.1 时钟BUF

3.2 时钟源

四、时钟规划之时钟单元布局        

4.1 BUFG

4.2 BUFH

4.3 BUFR 

4.4 BUFIO

五、时钟规划之时钟单元走线

5.1 BUFG->BUFH

5.2 BUFR->FF

5.3 BUFIO->FF


一、前言

        对于vivado这类使用verilog语言的进行工程设计的工具,软件的时钟规划设计是至关重要的一个环节,下面将针对软件时钟规划的设计原理进行一些基础的说明,了解这个也能提高自己程序设计的可靠性,以及问题定位,本文以xilinx的xc7z100ffg900-2器件为例。

二、时钟规划概念


        广泛的来说,时钟规划包含了布局,布线流程,布局是将时钟单元在满足设计的要求下放置于可放置的位置,布线是在布局的基础下进行时钟模块间的线路连接。

三、时钟规划的模块

3.1 时钟BUF


         常见的时钟单元有全局时钟缓冲器BUFG、水平时钟缓冲器BUFH、区域时钟缓冲器BUFR、IO时钟缓冲BUFIO、跨区域时钟缓冲器BUFMR

BUFG:驱动的时钟范围为整个芯片,通常位于芯片的中央位置;

BUFH:驱动的范围为同水平方向相邻的两个时钟区域,通常位于芯片中央的垂直方向上按区域分布;

BUFR:驱动单个时钟区域的时钟,通常在每个时钟区域内部都有;

BUFMR:驱动垂直方向上相邻的两个时钟区域,通常位于左右两侧区域分界的位置;

IO:只能用于驱动和IO相关的时钟;

3.2 时钟源

           对于时钟BUF,如果没有时钟源,将是毫无意义的。FPGA中的时钟源从本质来说都是来源于外部的,通过clk pad输入进来,clk pad位置可在IO Planning中查看,即site_type带SRCC或MRCC的IO,在右侧的Layers中勾选SRCC和MRCC,如下图所示,左侧红色方框中灰白色的IO即为clk pad,即时钟输入端口。

         对于输入的时钟,可通过PLL(锁相环)进行分频,倍频,调整相位或占空比生成更多的时钟信号,PLL在每个存在clk pad的区域都有分布,下图红色菱形标注的即为PLL的位置。

 

四、时钟规划之时钟单元布局


    根据芯片不同时钟缓冲器的驱动范围不同,划分为不同的时钟区域,进入“window->Device”,查看时钟区域划分,如下图,图中共有14个时钟区域,每个区域的范围为对应方框的范围,每个时钟区域的边界用不同颜色的线条来进行区分,每个方框内如X0Y6为时钟区域的坐标。

          

                                                                  时钟区域划分图

4.1 BUFG

        在device的中间位置,可以看到bufg是垂直分布的,每个红色小方格为一个bufg,共32个,并且BUFG不属于任何一个时钟区域。

BUFG分布图

4.2 BUFH

        在芯片中间垂直方向,BUFH分为左右两列,每列各12个,每列的驱动范围为邻近的时钟区域。

                                                                  BUFH分布图
        下图为上图针对BUFH位置放大图,可看出左右两个时钟区域的分界线是将左右两列的BUFH包含进去了。

BUFH归属区域


4.3 BUFR 

        图中选定的四个白色小方块位置即为BUFR的位置,左侧的AD28/AE28是IO 的位置,每个时钟区域都有4个BUFR

                                                                  BUFR分布图

4.4 BUFIO

      下图四个白色方框的位置即为BUFIO,在其右侧的红色小方框为BUFR

                                                                  BUFIO分布图
         在整个芯片范围内,如下图用粉红色菱形标注的为BUFIO的分布位置,每个区域4个BUFIO,7个区域共28个BUFIO

                                                                BUFIO全局分布图


五、时钟规划之时钟单元走线

5.1 BUFG->BUFH

        大体的时钟驱动方向为BUFG->BUFH->SWITHBOX->时钟端口,Switchbox是芯片上的布线资源,下图即为BUFG通过BUFH驱动FF的图

                                                                    BUFG驱动FF


5.2 BUFR->FF

                                                                        BUFR驱动FF

5.3 BUFIO->FF

        BUFIO可直接通过时钟路径驱动FF的clk端口

                                                                 BUFIO驱动FF 

  • 4
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: FPGA(可编程逻辑门阵列)上的时钟相位指的是时钟信号的到达时间与其周期的关系,即时钟信号的相对位置。FPGA中包含一个全局时钟网,该时钟网将时钟信号传递到所有逻辑资源。在设计中,时钟信号通常被用作触发器和寄存器的触发源,以确保数据在正确的时机进行处理。 时钟相位对FPGA的稳定性和性能具有重要影响。在设计和布局FPGA时,需要确保不同模块中的时钟相位保持一致,以防止时钟抖动和时序问题。为此,FPGA设计师需要考虑时钟分配和时钟约束,以确保时钟信号在整个芯片中具有一致的相位。如果时钟信号的相位差异过大,可能会导致时钟偏斜或信号搁置,影响系统的稳定性和性能。 在设计中,时钟相位通常使用时钟分频器、锁相环(PLL)或延迟锁定环(DLL)等技术来调整。时钟分频器可以将时钟信号分频为较低频率,从而调整时钟相位。PLL和DLL则可以通过反馈机制自动调整时钟信号的相位,以保持相位一致。 总之,时钟相位是FPGA设计中一个重要的概念,关系到系统的稳定性和性能。合理处理时钟相位可以避免时序问题和时钟抖动,并确保系统正常运行。设计师需要注意时钟分配和时钟约束,并使用相应的技术来调整时钟相位,以满足设计要求。 ### 回答2: FPGA时钟相位是指在FPGA芯片内部用来驱动各个逻辑元件的时钟信号的相位差。FPGA设计中的时钟相位非常重要,它直接影响到电路的性能和可靠性。 FPGA内部的时钟相位是由时钟网络分配和时钟分频器生成的。时钟网络负责将时钟信号传输到所有逻辑元件中,以确保它们按照统一的时间基准进行操作。时钟分频器则用于将高频的输入时钟信号分频为低频的输出时钟信号,以满足不同逻辑元件的时钟要求。 在FPGA设计中,时钟相位的合理设置可以优化电路的性能和功耗。例如,通过合理设置时钟相位可以实现时序优化,减少设计中的时序违反问题,提高电路的工作速度和稳定性。此外,时钟相位的合理设置也可以有效地减少功耗,提高电路的能效。 在实际应用中,设计者通常需要根据具体的设计需求来调整时钟相位。例如,在需要进行时序控制的电路中,设计者需要控制时钟相位来确保逻辑元件按照正确的顺序进行操作;而在需要减少功耗的电路中,设计者则可以通过调整时钟相位来减少冗余的时钟周期,降低功耗。 总之,FPGA时钟相位在设计中起着重要的作用。合理设置时钟相位可以优化电路的性能和功耗,提高电路工作的速度和稳定性。因此,在FPGA设计中,对时钟相位的理解和调整是非常重要的。 ### 回答3: FPGA(现场可编程门阵列)是一种电子设备,可以根据需要重新编程,以实现不同的功能。时钟相位是指时钟信号的相对时间,它对FPGA设备的性能和功耗有着重要影响。 当FPGA设备在执行某些操作时,通常需要使用时钟信号来同步各个部件的工作。时钟相位决定了这些部件在每个时钟周期内的工作时机。简单来说,时钟相位可以理解为时钟信号的延迟或提前量。 在FPGA中,时钟相位可以用来控制各个时钟域之间的数据传输。不同的时钟域具有不同的时钟频率,相位误差会造成数据传输错误。因此,正确设置时钟相位对于保证数据传输的准确性非常重要。 为了调整时钟相位,FPGA通常提供了一些时钟管理资源,如时钟分频、时钟缓冲和PLL(锁相环)等。时钟分频可以将时钟信号的频率减小或增大,从而改变时钟周期;时钟缓冲可以调整时钟信号的延迟;PLL可以通过反馈控制,使得输出时钟信号与输入时钟信号的相位差保持在一个合适的范围内。 为了正确理解和使用时钟相位,我们需要考虑时序约束和时序分析。时序约束是指在设计FPGA时给出的一些限制条件,如数据的到达时间和时钟的最大频率等。时序分析则是通过各种工具来验证设计是否满足时序约束,以保证设计的正确性。 总之,对于FPGA设计来说,正确理解和设置时钟相位非常重要。它不仅影响到设计的性能和功耗,还直接关系到数据传输的准确性。通过合理地设置时钟相位,我们可以有效地优化FPGA设计,提高系统的性能和稳定性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值