第一章引言
1.1课题研究背景
1.1.1 FPGA的架构演进与发展史
自从1985年XILINX公司推出有史以来第一颗现场可程序化逻辑组件至今,已经历二十五的历史。在这二十五年的发展过程中,以FPGA为代表的数字系统现场集成取得了惊人的发展:现场可程序化组件从最初的1200个可利用逻辑门,发展到现在的上千万门
当然在这个过程中,可编程逻辑器件的结构也逐渐便多样化。最早的可程序化逻辑组件只有可程序化只读器(PROM),紫外线可擦除只读存储器(EPROM)和可擦除只读存储器(EEPROM)二种。由十结构的限制,只能够完成简单的数字逻辑功育旨。
其后,出现了一些结构上稍微复杂的可程序化芯片,即可程序化逻辑组件(PLD)。其典型的PLD由一个AND门和一个OR门阵列组成。这一阶段的产品有PALS可程序化阵列逻辑),GAL(通用阵列逻辑)以及PLA(可程序化逻辑阵列)等,其结构也都是有AND门和OR门的不同结构构成。这些早期的组件有一个共同的特点是可以实现速度特性较好的逻辑功能,但其过十简单的结构也使它只能实现规模较小的电路。
为了弥补这一缺陷,20实际80年代中期。ALTERA和XILINX分别推出了类似十PAL的扩展型CPLD(complex programmable logic device)与现场可编程门阵列(field programmable gate array),他们都具有体系结构不I I逻辑单兀灵活,整合度高以及适应范围广的特点。这两种组件兼容了PLD和通用门阵列的优点,可实现较大规模的电路,程序化也很灵活。
与ASIC(application specific IC)相比,它们又具有设一开发周期短、制造成本低、开发工具先进、标准产品无需测试、质量稳定以及可实现在线检验等点,因此被广泛应用产品的原型设计和产品之中。几乎所有应用门阵列、PLD和中小规模通用数字整合电路的场合均可应用FPGA和CPLD组件。
CPLD和FPGA的差别,FPGA具有较多的电路门数,}fu CPLD相对来说需要较少的电路门。从结构上来说,CPLD采用连续式布线结构,比较适合用来实现各种运算不I.合逻辑(combinational logic),也就是触发器(flip-flop)有限Ifu乘积项(product term)较多的结构;FPGA采用分布式布线结构,适用十实现时序逻辑,也就是触发器较多的结构。
FPGA的架构具有应用优势。我们以最笼统的方式来说,FPGA是一个可以反复重复利用的芯片。通过预先建立的逻辑模块与可程序化的模块,不需要改变硬件电路,仅仅通过软件的修改,就可以设定芯片来实现相应的功能。使用者应用软件中开发数字运算系统并使之转化为配置比特流,把这些配置比特流下载到FPGA就可以实现相应的逻辑功能。
随着FPGA加入硬件嵌入式乘法器以及各种传输接口,不仅解决了性能、灵活和延展性等问题,也为业界开发者提供新的架构选择,并让FPGA的性能与应用广度大幅提升,这些趋势包括加入串并一并串转换器((SERDE),收发器Transoeiver,处理器(MPU),数字信号处理器(DSP)等。虽然在实际的应用上,FPGA仍少有发挥空间,但是具备低功耗表现特性的FPGA产品逐渐推出,更先进的程序的引入也越来越积极,这方面不久之后将会有重大的突破。
1.1.2 FPGA内部时钟管理系统的发展
随着现代工艺的发展,FPGA芯片的发展方向朝着高密度,高速度,高性能,系统化的方向发展。由十FPGA内部有丰富的时钟资源,如时钟缓冲器(BUFFER),遍布整个FPGA的时钟布线资源o FPGA的时钟管理系统也经历一个有简单到复杂的过程,从最初简单的时钟布线到独立出来单独的DLL延迟锁相环)和PLL(锁相环)进行时钟管理,再到数字时钟管系统(Digital Clock Manager)以及后来的CMT(时钟管理模块)。
下面我们以XILINX公司的产品为例简单的介绍一下FPGA内部时钟的发展。XILINX早期的FPGA产品Virtex/Virtex-E时钟管理是采用的DLL(Delay lockedloop),其作用是可以因去掉时钟缓冲器和时钟线传输}fu引起的时钟偏移,提供四个CLKO, CLK90, CLK180, CLK270时钟输出,另外还能提供2倍频和一些分频时钟信号。在Virtex II/Virtex II Pro系列FPGA则采用的是DCM(digital clockmanager), DCM除了能够去掉时钟偏移外,还能够由数字频率合成器提供更加丰富的时钟倍频和分频信号,数字相移器提供适当的时钟相移。XILINX公司在2007推出基十65ns的Virtex-5,该芯片采用了更为先进的时钟管理系统CMT(时钟管理模块)o CMT在Virtex II中的DCM模块的基础上加上了PLL模块。PLL有点是它能够提供没有抖动的时钟,}fu DCM的优点在十它不存在时钟相位的累加(因为控制单兀能够根据鉴相器的输出结果不断进行相位调整)。这样的话CMT就结合了DCM和I PLL优点在十能够更好的满足芯片对时钟的要求。Virext-5中每一个CMT中就由两个DCM和一个PLL组成。CMT中的DCM和PLL能够根据现实的需要能够各自独立的工作,又能根据要求将DCM和PLL级联起来使用以提供相应的时钟。CMT能够根据具体需要进行相应的配置,以提供满足要求的时钟。除此之外,Virtex-5芯片还具有经过优化的差分时钟树结构,差分时钟树结构提供低的抖动时钟和精密占空比的时钟信号。
第二章 FPGA 内的时钟网........... 14-22
2.1 全局时钟网........... 14-17
2.1.1 时钟网络资........... 14-17
2.1.1.1 时钟网络分配输入缓........... 15
2.1.1.2 全局时钟选择器........... 15-16
2.1.1.3 全局时钟网络分配........... 16-17
2.2 DCM(Digital Clock Management...........) 17-22
2.2.1 消除时钟偏........... 19-20
2.2.2 频率综合........... 20-21
2.2.3 相位调整 ...........21-22
第三章 DCM 的相关理........... 22-30
3.1 时序的相关基本........... 22-27
3.1.1 时序相关参数的定义........... 22-23
3.1.2 时序参数之间的约束........... 23-24
3.1.3 时钟偏移和时钟........... 24-27
3.1.3.1 时钟偏移对时钟的........... 25-26
3.1.3.2 时钟抖动对时钟的........... 26-27
3.2 延迟锁相环的基本........... 27-30
第四章 DCM 整体功能架........... 30-76
4.1 延迟线部分........... 32-45
4.1.1 计数器部分........... 32-34
4.1.2 二进制转换到格雷........... 34-35
4.1.3 格雷译码器........... 35-36
4.1.4 可调延迟线的........... 36-41
4.1.4.1 延迟线的基本单元........... 37-41
4.1.5 数据选择器........... 41-42
4.1.6 精调电........... 42-45
4.2 数字相移电........... 45-50
4.3 频率合成器........... 50-63
4.4 输出电路........... 63-76
4.4.1 四个相位的输出........... 64-66
4.4.2 倍频信号的产生........... 66-67
4.4.3 分频信号的产生........... 67-76
4.4.3.1 移位寄存........... 68-69
4.4.3.2 数据通...........路 69
4.4.3.3 偶数倍分频........... 69-71
4.4.3.4 奇数倍分频...........71-72
4.4.3.5 低频下小数分........... 72-74
4.4.3.6 高频下小数........... 74-76
...........
结束语
DCM是FPGA内部的时钟管理模块,它通过FPGA内的时钟网络为FPGA内部每个模块提供高质量的时钟。DCM是在DLL的基础上进行了相应的功能加强和扩展,它在DLL的基础上扩展了分频的范围,增加了其相移和频率综合的功能。DCM为FPGA用户提供了更多的时钟选择。
DCM主要提供三个主要的功能:去时钟偏移,进行频率综合以及提供相位调整。FPGA内有大量的时钟缓冲器以及分布到FPGA内部各个模块的时钟布线,时钟在经过缓冲器和时钟线时不可避免的会产生时钟偏移,这样就会影响系统的同步性能,DCM通过DLL的延迟线插入相应的延迟以抵消时钟传输过程的产生的延迟,从而消除时钟偏移。DCM是通过其内部的频率综合器对输入可以产生最高为32倍的时钟倍频倍频。DCM通过数字相移器可以对输出时钟信号相位进行相应的修改已得到想要的时钟相位。通过大量的仿真验证,本文设计的DCM能够满足芯片对时钟的各种要求。