温长泽
摘 要:CPLD/FPGA是复杂的可编程逻辑器件,都是由PAL、GAL等器件发展而来。CPLD/FPGA技术的数字系统设计,主要包括设计面积和速度两个方面,该文主要通过资源共享设计和流水线设计等来研究CPLD/FPGA技术的数字系统设计,希望在应用中有一定的借鉴作用。
关键词:数字系统 CPLD/FPGA 设计
中图分类号:TP332 文献标识码:A 文章编号:1674-098X(2013)02(c)-00-01
1 CPLD/FPGA技术
CPLD/FPGA是复杂的可编程逻辑器件,属于规模化的集成电路的范畴。目前,该技术的集成度已经达到200万门/片,融合了ASIC高集成度的特点以及可编程逻辑器便于设计生产的特点,比较适用于开发小批量产品和样品的研究制造,缩短了产品上市的时间。
CPLD内利用长度固定的金属线把各逻辑块连接起来,设计出的各种逻辑电路都可以很好的预测时间,有效地弥补了分段式互连结构在时序不完全预测中的缺点。CPLD的特点有编程灵活、设计开发周期短、集成度高、适用范围宽、工具先进、成本较低、不用测试、价格大众化等。CPLD在众多的电路设计规模比较大,所以在产品的设计和生产上得到广泛应用,可以说CPLD适用于所有可以使用中小型数字系统的集成电路的场合。目前,CPLD技术的数字系统器件已经成为电子产品必要的组成部分,关于CPLD的设计和使用是电子工程师一种必备的技能。
FPGA也是由PAL和GAL等发展而来,它以半定制电路的形式在ASIC中出现,既弥补了定制电路的缺陷,又消除了可编程器件的缺点。
FPGA主要由输出输入模块、可配置逻辑模块和内部连线构成,在编程方面不限次数。FPGA作为复杂的可编程逻辑器件,在结构上和传统逻辑电路以及PAL和GAL器件有着很大的不同。FPGA采用小型查找表进行组合逻辑,每一个查找表都通过输入端连接一个触发器,再由触发器驱动另外的逻辑电路,构成的这种基本的逻辑单元模块有组合逻辑功能和时序逻辑功能,不同的逻辑模块之间是由金属线连接在一起的。FPGA的逻辑由静态的存储单元通过加载逻辑编程的数据来完成,储存在存储器单元的数据值对它的逻辑功能和不同模块间的连接方式有决定作用,同时对FPGA可实现的功能也有决定作用。
CPLD和FPGA都属于可编程ASIC器件,但又有着较大的不同。CPLD比较适合于在各种算法以及组合逻辑上使用,它布线结构的连续性对延时起着决定的作用,保密性比较好;FPGA比较适于在时序逻辑方面使用,它采用分段式的布线结构,比CPLD的布线结构更为复杂,逻辑实现也更困难,造成了延时不便于很准确的预测,保密性比较差。
2 CPLD/FPGA技术的数字电路系统设计方法
2.1 基于面积的优化设计
在CPLD/FPGA技术的数字系统设计时,对它的器件资源进行优化设计,即使是较小的CPLD/FPGA器件也可以达到相当的数字系统功能,优化后的系统器件资源越少,消耗的费用就越少,有效的节约了系统器件的成本。基于面积的优化设计主要有资源共享设计和串行化设计两种方式。
利用CPLD/FPGA技术设计数字系统时,常常会碰到同一个模块需要多次调用的状况。这种电路结构通常占用的器件资源很多,一般为算术模块,例如多位加法器、乘法器等,大部分的数字系统资源都由他们占据。利用资源共享为这种电路结构进行设计时,可以大大提高电路器件资源的使用率。
预进位加法器主要用来提升加法器中信号的传输,加法器的进位是xn,系统的速度主要由信号中每个分组的位数n所决定。
资源共享设计通常有先加后选的方式和先选后加的方式,综合考虑两种方式,加法器这种方式比选择器耗费的资源多,一般采用先选后加这种方式会更好。
串行化设计主要是通过分割耗费资源大以及单个时钟周期内完成的电路功能的方式,提取电路功能相同的模块,并用这些模块在多个时钟周期做同样的数字系统功能。数字系统设计串行化后,会使电路逻辑变得复杂了,不过资源消耗却少了,有着明显的使用效果。
2.2 基于速度的优化设计
在CPLD/FPGA技术的数字系统设计时,运行速度通常是最重要的。影响CPLD/FPGA技术的数字系统运行速度的因素很多,主要有CPLD/FPGA的组成结构特征、数字系统的电路构成、综合器的性能等。
流水线设计技术可以显著的提高数字系统的运行速度,目前,微处理器、高速数字和数字信号处理器等系统设计时一般都是用流水线技术进行设计。对于数字系统的设计,一般速度是设计中首先要考虑的问题,采用CPLD/FPGA技术,高速运行往往是首要的需求。如果设计好一个系统电路,速度方面没有达到期望的要求,往往需要更换运行更快的器件并重新设计,很显然会增加很多不必要的成本。
基于CPLD/FPGA技术的数字系统设计,除了流水线设计之外,还有其他一些方式。寄存器配平法,这种方式主要是利用配平寄存器之间的各种组合来延时数字系统逻辑块。寄存器配平是在流水线设计基础上深化而成的方式,流水线设计是把组合逻辑延时块分为数个较小的延时块,寄存器配平则是把延时不同的两个组合逻辑块的延时平均分配。关键路径法,这种方式是在数字系统的设计中延时最长的逻辑路径,可以有效的提高器件运行速度。一般来说延时的长短与信号是否经过最大路径有关,与延时所经过的较小路径没有关系。
3 结语
在CPLD/FPGA技术的数字系统设计时,是选择对面积进行优化设计还是选择对速度进行设计,往往要根据实际情况进行考虑。因为很多情况下两种选择是有矛盾的,一般不能同时满足要求。假如考虑面积设计的需要,会使运行时间加长,降低了该数字系统的运行速度;假如考虑速度设计的需要,往往要增加很多逻辑器件,速度相应的提高了,但是占用的空间也大了,所以在实际应用中应该根据具体的环境综合考虑各种参数。
参考文献
[1] 宋翠方,王连明,于安宁.基于FPGA数字系统设计的速度优化方法研究[J].东北师大学报(自然科学版),2011(4).
[2] 李桂林,苗长新.基于Verilog HDL的FPGA数字系统设计优化[J].计算机与数字工程,2010(8).
[3] 杜志传,郑建立.基于CPLD/FPGA的VHDL语言电路优化设计[J].现代电子技术,2010(3).
[4] 詹惠琴,古军.CPLD和虚拟仪器的频率计综合设计[J].实验科学与技术,2008(2).
[5] 赵红梅,王召东.可编程逻辑器件FPGA与CPLD的发展与应用一例[J].平顶山工学院学报,2007(4).