CPLD/FPGA的优化设计 CPLD/FPGA的优化设计

CPLD/FPGA的优化设计

  • 期刊名字:电测与仪表
  • 文件大小:313kb
  • 论文作者:熊国海,关德群,万钧力
  • 作者单位:三峡大学电气信息学院,哈尔滨克罗拉太阳能电力公司
  • 更新时间:2020-09-29
  • 下载次数:
论文简介

总第39卷第434期电测与仪表Vol.39 No.4342002年第2期Electrical Measurernent & InstrumenlationFeb. 2002CPLD/FPGA的优化设计熊国海',关德群”,万钧力(1.三峡大学电气信息学院,湖北宜昌443002;2.哈尔滨克罗拉太阳能电力公司,哈尔滨150046 )摘要:CPLD/FPGA面向速度或面向面积进行优化设计,在大多数情况下这两种选择是矛盾的。对速度进行优化设计,衢要较多资源;对面积进行优化往往会导致系统速度降低。本文提出采用流水线设计、资源共享和预进位处理的方法解决了这个问题。关键词:速度;面积;优化中图分类号:TN79文献标识码:B文章编号: 1001-1390(2002)02-0042-03Optimization design in CPLD/FPGAXiong Guohai' ,Guan Dequn? , Wan Junli'(1.School of Electrical and Information of three Gorges University , Yichang 443002 ,Chi-na;2.Harhin Chronap Solar Energy Electricity Corporation,Harbin 150046,China)Abstract:In the most cases , optimization design in CPLD/FPGA in speed and area areincompatible.More resource is needed in optimization design in speed;system speed usu-ally is reduced in optimization design in area.The problem can be solved by the offeredmethod in this paper , which pipelining design, resource sharing and carry beforehandprocess are used .It is served as the technicians.Key words:speed ;area;optimization0引言1、使用流水线的设计方法CPLD/FPCA属于高密度可编程逻辑器件。实际设计电路的过程中,面向速度还是面向面CPLD主要是由可编程逻辑宏单元LMC(Logjic积实施优化,是综合工具提出的优化参数之一。大多MacroCell)围绕中心的可编程互连矩阵单元组数情况下,这两种选择是相斥的。也就是说,对速度成,其中LMC逻辑结构较复杂,并具有复杂的V0进行优化设计,不可避免地衢要较多的逻辑资源,需单元互连接结构,可由用户根据需要生成特定的电要增大面积;而如果要对面积进行优化设计则会导路结构,完成-一定的功能。CPLD 不仅具有电擦除致延时的增大,降低系统处理速度。因此,选择速度特性,而且出现了边缘扫描及在线可编程等高级特优化还是面积优化,这要由具体的工程环境来决定。性。FPGA 采用了逻辑单元阵列LCA (Logic Celll由于大多数FPGA器件的每个元胞中都有寄存器,Aray)这样一个新概念,内部包括可配置逻辑模块因此便于采用流水设计。而相比之下,在CPLD中每CLB(Configurable Logic Block)输 入输出模块IOB个寄存器所对应的组合逻辑资源较多,因此其- -级(Input Output Block) 和内部连线(nterconnec)三逻辑的规模要比FPGA大得多,而这意味着在相同个部分。对于CPLD/FPGA而言,是面向速度还是”的时钟周期内 相对FPGA的元胞,它可以实现更复面向面积的优化,针对这个问题我们讨论几种可行,杂的逻辑。 所以实际上没有必要在CPLD中应用流的优化设计方案。水线技术。一般而言,随着FPGA容量不断成倍的(1)流水线设计(Pipelining Design) ;增加,而生产成本和销瞥价格却不断降低,带来对面(2)资源共享( Resource Sharing) ;积的限制不如过去那么苛刻了。尤其是FPCA的应(3)预进位处理(Carry Beforehand Process) 。用方向向着宽带领域发展,因此大多数情况下还是- 42-中国煤化工YHCNMHG总第39卷第434期电测与仪表Vol.39 No.4342002年第2期Electrical Measurement & InstrumentationFeb. 2002应当首先满足速度的要求。现过程。设计中,一般只会在一些瓶颈部分出现速度受首先,以4x4的乘法器设计为例,两个4位二限。最终影响器件工作速度的原因是电路中存在一进制数乘法算式如下:些诸如乘法器这样的大型组合电路,正是这些组合x3x2xl:0电路的工作比较费时,最终导致了整个系统不能提x)3yI0速。为解决此症结,流水线设计的概念应运而生。x3yO x2y0 xIy0 xOy0x3y1 x2y1 x1y1 x0y1流水线设计的思想是:把一个周期内执行的逻x3y2 x2y2 x]y2 xOy2辑操作分成几步较小的操作,并在多个高速时钟周x3y3__ x23 x1y3x03期内完成,每个时钟周期采用寄存器锁存数据,如p4p3p2p0图1所示。显然:p0=x0y0输入速度受]输出p1=x1yO+xOy1p2=x2y0+x1y1+x0y2+c1p3=x3y0+x2y1+x1y2+x0y3+c2二操作1 E操作2.......操作n I7输出p4=x3y1+x2y2+x1y3+c3p5=x3y2+x2y3+c4p6=x3y3+c5p7=c6图1流水线技术工作流程示意其中,ci为第i级累加时的进位。当系统设计工作频率要求较高时,必须避免出在算式中,有4x4个位积xiyi,可由16个与门现过长的组合路径。解决方法之一是采用流水线设并行同时产生。计技术,在组合逻辑路径上插人触发器,新加入的触对于NxM的乘法运算,应用流水线技术设计发器和原触发器使用同一时钟。由于引人时序电路NxM流水线乘法器。VHDL实现时,可以将它分解.触发器,相当于使用了寄存器.原设计速度受限部分为若干个4x4乘法器模块,然后通过时序电路分段为一个时钟周期实现,当采用流水线技术后,在原速锁存相应数据,在每个时钟周期内完成乘法和加法度受限电路中插人触发器,时间上分成n段操作,的运算。例如,需要实现12x7的乘法器。当采用4x使用n个时钟周期实现。假设原受限系统时钟周期4为基本模块时,即可以转化为12x8(高位补符号为t,使用流水线技术后时钟周期为1o显然,流水位至8位),则化为(Ax2+Bx2+C)x(Dx2*+E)。其线技术可以保证tl ,即带器件使用。我们也可以使用EAB来构造流水线乘法来-定的处理延时。另外由于引入新的寄存器,一般器。与普通流水线乘法器相比,使用EAB实现流水硬件面积也会稍有增加。因此流水线技术是牺牲了线乘法器可以少占用器件的有限寄存器资源。具体部分器件面积和引人- -些处理延时来换取整个系统实现方法如下所述。有更高的运行速度和更大的数据吞吐量。考虑到EAB以2048bit为一个基本存贮单元模乘法运算是数字系统中最常出现的操作之一。块,我们可以设计基本乘法器为4x4型。每个4x4快速傅里叶变换(FFT),有限响应滤波器(FIR)以及型乘法器采用查表结构,如表1所示,实现乘法运相关运算中,乘法器都是不可缺少的。乘法器作为普算。例如:输人信号为a(3 downto 0)和b(3 downto通的组合电路,当乘数和被乘数较大时,运算时间相0),输出乘积为out。由于a和b都是有符号数,因此当长,直接影响整个系统的提速和吞吐量,因此乘法运算结果out也为有符号数,用7位表示即可。利用器是实际系统中最常使用流水线技术设计的器件之输入信号a和b组成一个7位的只读存储器地址,日一。这里以乘法器的实现为例,演示流水线技术的实和b的乘法运算可化简为查表。中国煤化工- 43-YHCNMHG总第39卷第434期电测与仪表Val.39 No.4342002年 第2期Electrical Measureoent & InstrumenuationFeb. 2002表1使用只读存储器实现乘法运算{ <=(a+b) when source ='l'else (c+d);a (3 dwwnto 0) b (3 duwnto 0) out (6 dlownlo 0)它要以按图3或图4的方式实现。如果从a.b.0000000000c或d到f为重要路径,则图3方式较理想;如果重0001要路径为source到f,那么就应选择图4方式。在一些综合工具中允许通过综合参数来选择类似以上的0000000各种实现方式。信号源AIBICIDA1111110000010l通道][ 酒道111100000 .对于NxM的乘法器,也可以使用EAB方式实现,同样以4x4为基本模块。例如要实现一个8x8的EAB流水线乘法器,结构如图2所示。乘法器的乘数和F|俏号要堰道7被乘数为x(7 downto 0)和y(7 downto 0) ,输出为z(15 downto 0)。使用4个EAB单元,每个EAB单元图3资源共享困4非共享方式实现一个4x4乘法器。3预进位加法器Optional, Pipelining Registers预进位方式可以用来减少加法器中进位信号的XL3.0.→-Z[3.0.传输延迟。一个xn位进位加法器,其实现结果的速Y3.0~X[3.0. .度和面积主要取决于信号分组中的每组位数nc例Y[7.428x如,对于16位的加法器,如果与每组4位的划分相.X[7.4.比较,由于每组2位的划分需要较多的进位项,而使Y3..一-[18]1其占用资源(可能还包括传输时延)较多。最优的分x[7..Y[7.4i}一Z15.2]组方案应由加法器的位数和目标器件的结构决定。4结束语MuliplierCPLD/FPGA目前集成度已高达200万门/片,图2使用EAB方式实现8x8的流水线乘法器它将掩膜ASIC集成度高的优点和可编程逻辑器件4个EAB单元分别对应到设计生产方便的特点结合在- -起,特别适合于样品x(3 downto 0)乘y(3 downto 0)研制或小批量产品开发,使产品能以最快的速度上x(3 downto 0)乘y(7 downto 4)市,而当市场扩大时,它可以很容易地转由掩膜A-x(7. downto 4)乘y(3 downto 0)SIC实现,因此开发风险也大为降低。CPLD/FPGAx(7 downto 4)乘y(7 downto 4)还具有静态可重复编程或在线动态重构特性,使硬当使用流水线技术时,可以采用时序分段、分件的功能可象软件-样通过编程来改变,不仅使设级锁存的方法,分时得到输出信号z的z (3 downto计修改和产品升级变得十分方便,而且极大地提高0)、z(7 downto 4).211 downto 8)、z(15 downto 12)。了电子系统的灵活性和通用能力。因此CPLD/FP-可见,采用流水线设计的乘法器,可以得到预期的CA的应用将越来越广泛。提速目的。参考文献:当我们采用工具软件的图形化方式生成乘法1.曾紫秦等.VHDL程序设计[ M].清华大学出版杜2000器时,一般也会提问是否采用流水线方式实现。如2.陈雪松等VHDL入门与应用[M]人民邮电出版社,200.3.熊鬮海等MAXtplus I中LPM宏单元的使用方法[J].电气电子教果采用,它还会询问在几个时钟周期内实现。学学报2001(4).2资源共享作者简介:资源共享的主要思想是通过数据缓冲或多路熊国海(1961-),从事数字电路设计工作。选择的方法来共享数据通路中的工作单元。这样可收稿日期:2001-12-17(杨长江编发)以减小面积。例如,针对以下代码:- 44-中国煤化工MYHCNMHG

论文截图
版权:如无特殊注明,文章转载自网络,侵权请联系cnmhg168#163.com删除!文件均为网友上传,仅供研究和学习使用,务必24小时内删除。