Xilinx FPGA 学习笔记一时钟资源

在Xilinx的FPGA中,时钟网络资源分为三大类:全局时钟资源和区域时钟资源。

全局时钟资源是一种专用互连网络,它可以降低时钟歪斜、占空比失真和功耗,提高抖动容限。Xilinx的全局时钟资源设计了专用时钟缓冲与驱动结构,从而使全局时钟到达CLB、IOB和BRAM的延时最小。

区域时钟资源是独立于全局时钟网络的。Xilinx的器件分成若干个时钟区域,以Virtex-6为例,Virtex-6的最小器件有6个区域,最大器件有18个区域。它与全局时钟不同,区域时钟信号X只能驱动限定的时钟区域。

这里面提到区域时钟的概念,需要解释一下。Xilinx的FPGA器件是通过时钟区域来管理时钟网络的,以Virtex-6为例,时钟区域的大小固定为40个CLB 高,半个晶片宽。因此大尺寸的器件有更多的时钟区域。如下图所示,下图中的FPGA器件一共包含6个时钟区域,左侧三个右侧三个,从图可以看出每个区域高度是2*20CLBs,区域宽度是半个FPGA芯片的宽度。中间是CMT时钟管理模块。

每个时钟区域的中间方向有一个时钟行(HROW),以Virtex-6为例,一个时钟行,共包含12个水平时钟线,12个水平时钟线可以全部由全局时钟BUFG驱动。也可以由区域内部的时钟组件缓冲器驱动,例如BUFH和BUFR。这个时候有人会问什么是BUFG、BUFR和BUFH。

先来解释一下BUFG,这个比较简单,就是全局时钟网络时钟驱动器,如果时钟信号要走全局时钟网络,必须通过这个BUFG来驱动,BUFG可以驱动所有的CLB,RAM,IOB。spartan6 有一共有16个BUFG全局时钟线。vertex-6则一共有32个BUFG全局时钟线。参考文献链接见下面。

再看BUFH,BUFH驱动区域中的水平全局时钟树,Xilinx的时钟是通过时钟树来分布的,以spartan6时钟树为例,看下图。FPGA中间竖排是CMT时钟管理模块,就是PLL和DCM。全局时钟缓冲器BUFG是位于FPGA器件的中心位置,时钟的输入可以来自FPGA的上、下、左、右的bank,也可以来自PLL或DCM;16个BUFGMUX通过驱动vertical
spine并经vertical spine 往南北方向传播,vertical spine就相当于时钟树的树干 ,根据这条线路,时钟水平延伸至HCLK时钟列并经HCLK时钟列提供了访问局部逻辑原语的路径,HCLK及所谓的水平时钟线,相当于树枝;每一个HCLK列左右两边各有16个水平时钟缓冲BUFH驱动左右逻辑资源。

以Vertex-6每一个HCLK列左右两边各有12个水平时钟缓冲BUFH驱动左右逻辑资源,即每个时钟区域有12个BUFH时钟线。如下图

最后解释BUFR,BUFR我在SPARTAN6的时钟资源手册UG382里没有看到,应该是没有啊。BUFR是区域时钟缓冲器,要进入区域时钟网络,必须例化BUFR。一个BUFR最多可以驱动三个相邻的时钟区域中的区域时钟。顶部和底部区域中BUFR只能连接相邻的一个时钟区域,也就是说,顶部的BUFR连接它所在的下面一个相邻区域。底部的BUFR只能连接它所在的上边一个相邻区域。因此,底部和顶部BUFR的作用区域为两个时钟区域。如下图,下图是共有8个时钟区域的FPGA,每个时钟区域最多包含6个BUFR时钟线。截止现在可以看到(紫色标注)Vertex器件的每个时钟区域,共有6个BUFR和12个BUFH。SPARTAN6每个时钟区域好像就有16个BUFH。最后声明一下BUFR不仅可以驱动IO,也可以驱动CLB,RAM。下面接收的BUFIO只能驱动IOB模块。BUFR还可以1-2-4-8分频。

最后说一下BUFIO,BUFIO是用来驱动I/O列内的专用时钟网络,这个专用的时钟网络独立于全局时钟资源,适合采集源同步数据。BUFIO只能由位于同一时钟区域的Clock-Capable I/O驱动。一个时钟区域有4个BUFIO,其中的2个可以驱动相邻区域的I/O时钟网络。BUFIO不能驱动逻辑资源(CLB、BRAM等),因为I/O时钟网络只存在于I/O列中。

具体这些个时钟组件BUF怎么用,我还没实践,先对这些BUF概念理解一下,仅供大家参考。小弟初学,肯定有理解不对的地方,大家请指正。

参考文献的链接:

http://xilinx.eetrend.com/blog/1957

http://blog.sina.com.cn/s/blog_bff0927b010173bp.html

http://www.tools138.com/front/article/queryById.htm?id=417885

时间: 2024-10-25 00:06:18

Xilinx FPGA 学习笔记一时钟资源的相关文章

Xilinx FPGA 学习笔记一-chipscope 无法观察信号 BUFG

今天开始试着使用chipscope,写了一个简单的流水灯的例程,开始综合布线的时候没有问题,但是加上chipscope 以后,综合就总报错. 第一种情况:用chipscope不可以直接观察全局时钟信号,即BUFG信号-----X 错误如下: ERROR:Place:1136 - This design contains a global buffer instance, <PLL_u0/clkout1_buf>, driving the net, <CLK_OUT1>, that

FPGA学习笔记(二)——FPGA学习路线及开发流程

###### [该随笔部分内容转载自小梅哥]       ######### 一.FPGA学习路线 工具使用 -> 语法学习 -> 逻辑设计 -> IP使用 ->接口设计 -> 时序分析 -> 片上系统 1.工具使用 Altera:Quartus II Xlinx: Vivado 2.语法学习 Verilog HDL(FPGA设计的是电路) 3. 逻辑设计 组合逻辑:多路选择器.加法器.译码器.乘法器 ······· 时序逻辑:计数器.分频器.移位寄存器.定时器 ···

FPGA学习笔记之格雷码、边沿检测、门控时钟

一.格雷码 格雷码的优点主要是进位时只有一位跳变,误码率低. 1.二进制转格雷码 我们观察下表: 二进制码 格雷码 00 00 01 01 10 11 11 10 二进制码表示为B[],格雷码表示为G[],则有 G(i) = B(i),i为最高位 G(i-1) = B(i) xor B(i-1),i非最高位 用verilog可以这样写 1 reg [WIDTH-1:0] bin; 2 reg [WIDTH-1:0] gray; 3 parameter WIDTH = 8; 4 always @(

FPGA学习笔记之IIC—EEPROM写和读

一.IIC总线协议特点及其工作原理 I2C(Inter-Integrated Circuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备. 1)I2C总线特点 I2C总线最主要的优点是其简单性和有效性.由于接口直接在组件之上,因此I2C总线占用的空间非常小,减少了电路板的空间和芯片管脚的数量,降低了互联成本.总线的长度可高达25英尺,并且能够以10Kbps的最大传输速率支持40个组件. I2C总线的另一个优点是,它支持多主控(multimastering),

FPGA学习笔记之Altera FPGA使用JIC文件配置固化教程(转)

很多做过单片机的朋友都知 道,我们在对MCU烧写完程序固件后,那么该程序固件就存储在了该MCU内部.即使MCU断电了再重新上电,程序也能继续运行.这是因为对MCU烧写固件 的实质就是将程序固件写入到MCU的片上程序存储器ROM中,而现代的大部分MCU这个ROM都是FLASH存储器.FLASH存储器能够掉电保持数据, 所以可以实现掉电程序不丢失.Altera或Xilinx的FPGA芯片,使用的是基于SRAM结构的查找表,而SRAM的一大特性就是掉电数据会丢失, 当我们使用JTAG将SRAM配置文件

FPGA学习笔记(三)—— 数字逻辑设计基础(抽象的艺术)

FPGA设计的是数字逻辑,在开始用HDL设计之前,需要先了解一下基本的数字逻辑设计-- 一门抽象的艺术. 现实世界是一个模拟的世界,有很多模拟量,比如温度,声音······都是模拟信号,通过对模拟信号进行约束,我们就会抽象出来高电平和低电平,也就是0和1,用来构建整个数字逻辑世界,这个约束就是电平规则约束,比如常见的有以下几种: 电平约束 VDD/VCC 0 1 CMOS 3~8V 0~0.3VDD 0.7~1VDD TTL 5V±5% 0~0.7 2.4~5 LVCMOS 3.3 0~0.9

FPGA学习笔记之FIFO IP核

FIFO总结文档 何为FIFO .? FIFO(First In First Out ) 先进先出是一个常用于数据缓存的一个数据缓冲器. fifo主要有WRREQ(写信号)WRclk(写时钟)data(写数据)wrfull(写满标志)wrempty(写空标志)wrusedw(告知里面还有多少数据) Rdreq(读信号)rdclk(读时钟)rdfull(读满标志)rdempty(读空标志)rdusedw(告知里面数据个数) 以上所有信号全是高电平有效. 为什么要用fifo? 在项目设计中,我们通常

FPGA学习笔记之DDS

大纲: 什么是DDS? DDS是直接数字式频率合成器(Direct Digital Synthesizer)的英文缩写,与传统的频率合成器相比,DDS具有低成本,高分辨率,低功耗,高分辨率,和快速转换时间等优点,广泛应用在电信与电子仪器领域,是实现设备全数字化的一个关键技术. 什么是信号发生器? 波形发生器就是一种数据信号发生器,在调试硬件的时候,常常需要加入一些信号,以观察电路工作是否正常,加入的信号有正玄波,三角波,方波,以及任意波形. 何为调频 调频就是改变单位时间内完成周期性变化的次数.

FPGA学习笔记&mdash;&mdash;点亮LED

软件平台:win7(64bit) + Quartus II 9.1 (64-Bit) 硬件平台:东理电子Easy-FPGA Cyclone II EP2C5T114C8N   这个开发板买了很长时间了,买来后一直放那,下面来一个点灯的例子. 1. 实验任务 点亮发光二极管. 通过这个实验, 熟悉并掌握 CPLD/FPGA 开发软件 Quartus II 的使用方法和开发流程以及 Verilog HDL 的编程方法. 2. 实验环境 软件实验环境为 Quartus II 9.1 开发软件. 3.