本文介绍一种通用的根据CPLD的片内振动器规划办法,它根据环形振动器原理,只占用片上一般逻辑资源(LE),无需运用专用逻辑资源(如MaxII中的UFM),然后进步了芯片的资源利用率;振动频率可在必定范围内调整,振动输出能够驱动内部逻辑和外部器材引脚。本规划有较大的通用性,可方便地在不同CPLD器材间移植,使一些根据CPLD的片上体系(SoC)规划无需运用外部时钟信号源,然后下降规划本钱和难度,添加体系集成度。经过在Altera公司的MAX7000系列EMP7128LC84-15芯片上的试验阐明完成的办法。试验完成的频率范围在8MHz~62MHz。仿真和硬件测验成果标明了该规划办法的正确性和可行性。
1 根据CPLD的片内环形振动器
环形振动器原理如图1所示。由奇数个非门组成的环形非门级联串使电路处于无安稳状况,静态下任何一个非门的输入和输出都不或许安稳在高电平或低电平,而只能处于循环往复的凹凸电平转化状况,然后发生自激振动。振动周期为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 电源电压的影响
电压会影响振动电路的作业频率,电压增大会导致电路振动频率添加,反之振动频率减小。CPLD芯片一般有两个相对独立的供电端口,即中心电压(VCCINT)和引脚电压(VCCIO)。其间中心电压给芯片内部可编程逻辑电路资源供给电源,引脚电压为芯片的I/O引脚供给电源,以习惯各种输出规范(如LVCOMOS、LVTTL、SSTL-2、SSTL-3等)。对振动频率有影响的是CPLD芯片的中心电压,对此电压应采纳稳压办法,稳压办法要视不同的使用要求而定。最简略的办法是选用高功能的稳压芯片给CPLD芯片别离供给两部分电压。跟着半导体技能的开展,简略而廉价的稳压芯片已具有较高的功能,如National公司的LM2678系列芯片在有用输入改动范围内,稳压输出差错在±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芯片间移植。仿真和测验数据标明该规划办法具有正确性和可行性。