基于CPLD的片内振荡器设计

2007-04-16 14:59:42来源: 电子技术应用

在绝大部分数字系统设计中,时钟是不可或缺的部分,通常采用外接有源或者无源振荡器来提供时钟信号。外接时钟的优点是性能稳定,设计简便;缺点是会增加电路板面积,而且高频设计时对电路板布线和加工的要求比较严格,可能增加系统成本和设计难度。基于可编程逻辑器件FPGA/CPLD的设计提供了另外一种选择,即采用片内的可编程资源实现振荡器功能。这种设计可以将振荡部分同时集成到FPGA/CPLD中,减少了外部资源的使用。

环形振荡器是最简单的振荡器设计方法,在分立器件和专用集成电路(ASIC)设计中一直受到关注[1,2,3]。但是在这类设计中,振荡频率随电压变化的特性使其应用受到限制,所以要在工艺或电路设计方面考虑振荡频率的稳定问题[2][3]。随着电路制造技术的发展,稳压电路已经物美价廉;另外,FPGA/CPLD厂商为用户在片内预设了一些特定模块,为振荡器的片内实现提供了方便。如Altera公司的MaxII系列CPLD芯片,允许用户通过软件Quartus II的MegaWizard:Plug-in Manager功能来调用系统提供的参数化模块库(LPM)。其中的IO/MAXII Oscil-lator[4]模块即是一个能在芯片内部实现片内振荡器的软核,其工作频率范围为3.33MHz~5.56MHz,用户不可以调整工作频率。在做仿真应用时,可选择3.33或5.56MHz;在实际应用中,会自动给出3.33~5.56MHz范围内的振荡频率。该片上振荡器模块只能下载在MaxII系列芯片内的用户闪存存储器(UFM)上,振荡输出可以驱动芯片引脚和内部逻辑,该UFM资源一旦作为振荡器使用,便不能再实现并联接口(PIO)、串连接口(SPI)和IIC接口等其他功能。

本文介绍一种通用的基于CPLD的片内振荡器设计方法,它基于环形振荡器原理,只占用片上普通逻辑资源(LE),无需使用专用逻辑资源(如MaxII中的UFM),从而提高了芯片的资源利用率;振荡频率可在一定范围内调整,振荡输出可以驱动内部逻辑和外部器件引脚。本设计有较大的通用性,可方便地在不同CPLD器件间移植,使一些基于CPLD的片上系统(SoC)设计无需使用外部时钟信号源,从而降低设计成本和难度,增加系统集成度。通过在Altera公司的MAX7000系列EMP7128LC84-15芯片上的实验说明实现的方法。实验实现的频率范围在8MHz~62MHz。仿真和硬件测试结果表明了该设计方法的正确性和可行性。

1 基于CPLD的片内环形振荡器

环形振荡器原理如图1所示。由奇数个非门组成的环形非门级联串使电路处于无稳定状态,静态下任何一个非门的输入和输出都不可能稳定在高电平或低电平,而只能处于周而复始的高低电平转换状态,从而产生自激振荡[5]。振荡周期为T=2Ntpd,其中N是非门的个数,tpd是每个非门的传输延迟时间,改变电路中非门的数量可以改变电路的振荡频率。

图1所示的环形振荡器即使采用电路原理图输入,经电子设计自动化(EDA)软件综合后,也得不到对应的电路结构。实际上,EDA综合工具不是从电路结构出发,而是从电路输入和输出的逻辑关系出发给出综合结果,所以,奇数个非门的级联将被综合为一个非门,而偶数个非门的级联被综合为一个缓冲或一条联线。为能在CPLD器件中实现图1的环形振荡器结构,本文将图1中单端口输入元件改成二端口输入元件,即用二输入与非门代替图1的第一个非门,其余偶数个非门则用二输入与门代替,二端口元件的一个输入端口连接上级输出,另一输入端口作为控制端引出。振荡器正常工作时控制端全部置高电平。采用Synplify Pro 7.7综合后的原理图如图2所示。该电路完全可实现图1的功能。

为了保证正反馈,图1结构的非门级联必须是奇数个。图2中的与非门起到反相作用,其他与门则起延时缓冲的作用。可以通过改变门的数量以及选择门的种类(与门、与非门等)改变osc输出端的振荡频率,而不受"奇数"个门的限制,只要保障第一个门得到正反馈就可以产生振荡。而图1的结构必须改变偶数个非门才能达到改变振荡频率的目的,因而图2结构在CPLD芯片中实现时可以节省逻辑资源。控制端oscena[n-1,0]为振荡使能控制端,置高电平时,与非门的输入和输出在缓冲级联链的反馈作用下产生自激振荡,振荡器正常工作;控制端的任意一位置零使振荡器停振。所以oscena既可单独使用,也可互联后作为一个端使用。实验证明,图2结构能够保证门延时的等间隔特性。

2 CPLD片内振荡器的实现和优化

2.1 CPLD片内振荡器的实现

基于上述方法的片内环形振荡器设计有很大的通用性,可在不同CPLD芯片间方便地移植。本文以Altera公司的MAX7000S系列CPLD芯片的实现和测试为例说明。MAX7000S系列基于先进的多矩阵构架设计,采用CMOS工艺制造,容量高达256个逻辑单元LE(Logic El-ement),每16个宏单元组成一个逻辑阵列块LAB(LogicArray Block),速度达3.5ns的管脚到管脚延时,同时支持多种I/O电压标准。

从EDA软件综合后的报告可以看出,图2所示电路中每个门占用了一个逻辑单元。也就是说,电路内LE的延时将作为门的延时tpd,而且需要将振荡使能端引出到I/O引脚,当所实现振荡频率较低时,需要较多的门电路单元,这将占用一定的逻辑和引脚资源,从而降低芯片资源的利用率,所以在低频情况下使用时,要综合考虑系统需要的振荡频率,尽量用较少的门电路实现环形振荡器,以提供较高振荡频率,再设计分频电路以取得合适的振荡频率,从而提高芯片的资源利用率。综合器的这一处理,从客观上保证了设计者可以选择不同的门来实现图2的结构,仍然可以保证振荡间隔的一致性。实验也证实了这个结果。

2.2 电源电压的影响

电压会影响振荡电路的工作频率[6],电压增大会导致电路振荡频率增加,反之振荡频率减小。CPLD芯片一般有两个相对独立的供电端口,即核心电压(VCCINT)和引脚电压(VCCIO)。其中核心电压给芯片内部可编程逻辑电路资源提供电源,引脚电压为芯片的I/O引脚提供电源,以适应各种输出标准(如LVCOMOS、LVTTL、SSTL-2、SSTL-3等)。对振荡频率有影响的是CPLD芯片的核心电压,对此电压应采取稳压措施,稳压措施要视不同的应用要求而定。最简单的措施是采用高性能的稳压芯片给CPLD芯片分别提供两部分电压。随着半导体技术的发展,简单而廉价的稳压芯片已具有较高的性能,如National公司的LM2678系列芯片[7]在有效输入变化范围内,稳压输出误差在±2%以内。

2.3 CPLD片内振荡器优化

通过EDA软件对设计做优化有可能提高所设计的振荡器的性能,减少对CPLD片内资源的占用。当采用MAX+plusII10.2软件设计时,软件优化开关设置为:(1)本设计选用MAX系列芯片,故选择对该芯片的多层综合选项(Multi-Level Synthesis for Max5000/7000/9000De-vice)。(2)在面积和速度优化选项中,选择对面积的优化,使振荡器部分尽可能分配到同一个LAB中。(3)打开"Slow Slew Rate"以降低开关噪声,打开"XOR Synthesis"以减少芯片面积的占用。

3 电路仿真及测试结果

本文以Altera公司的MAX+plus II 10.2为设计工具,在MAX7000S系列芯片上实现并测试。图3为选用EMP7128LC84-15芯片的时序仿真结果。其中p0~p7分别为环形振荡电路中单个门之后的电路节点;oscena[7…0]为各延时门电路的控制端(即所有二输入门中多余的输入端)。

表1列出了以EPM7128LC84-15为目标芯片、采用Tektronic TDS2012示波器对用不同门数实现的片内振荡器的测试数据。F1和F2分别表示片内振荡器输出和二分频输出的测量数据。图4给出了测量数据的曲线。

表1数据表明,通过增加门电路的数量可以有规律地减小振荡电路的工作频率,由每个逻辑单元实现的门电路单元延时tpd在7.5~10ns之间。

本文介绍的基于CPLD的片内振荡器设计方法,在改变该振荡器电路中门电路数量时,可以有规律地将振荡频率控制在8MHz~62MHz范围内。振荡器的片内设计使基于CPLD的片上系统(SoC)设计无需外接时钟信号源,加大了系统的集成度并降低了设计成本。本方法有很大的通用性,可以方便地在不同CPLD芯片间移植。仿真和测试数据表明该设计方法具有正确性和可行性。

关键字:有源  无源  时钟  编程

编辑:赵思潇 引用地址:http://www.eeworld.com.cn/FPGA/PLD/200704/1738.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
有源
无源
时钟
编程

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 

夏宇闻老师专栏

你问我答FPGA设计

北京航空航天大学教授,国内最早从事复杂数字逻辑和嵌入式系统设计的专家。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved