VHDL设计中电路优化问题探讨

技术分类: EDA工具与服务  | 2007-08-11
来源:电子网 | 作者:泰山学院 王春玲



       例程2由于使用WHEN...ELSE完整条件语句,不会生成锁存器结构,所以不会有问题。而例程1若不加else Outy<=″0000000″语句,则属于不完整条件表达方式,会生成一个含有7位寄存器的结构。虽然上述例程都能实现相同的译码功能,但是电路复杂度会大不相同。

       ⑤ 注意算术功能的设计优化。例如下面两条语句:

       Out<=A+B+C+D;
       Out<=(A+B)+(C+D);

       第一条语句综合后将会连续叠放3个加法器(((A+B)+C)+D);第二条语句(A+B)和(C+D)使用两个并行的加法器,同时进行加法运算,再将运算结果通过第三个加法器进行组合。虽然使用资源数量相同,但第二条语句速度更快。以4位和 16位加法器为例,选用Altera公司EPF10K30AQC240_3芯片,通过synopsys FPGA Express综合工具实现的结果进行测试,比较结果如表1所列。

       2 优化系统速度的VHDL设计策略

      
选用基于VHDL设计的CPLD/FPGA器件往往首先是为了满足高速运行的需要,如通信系统。系统运行速度与电路节点之间的延时直接相关,因此,减少冗余逻辑,缩短节点延时是提高系统速度的关键。速度优化与电路结构设计(如器件结构特性、系统电路构成和PCB制板情况)和软件使用(如综合器性能和VHDL描述方式)都有关系。

      

2.1 电路结构方面速度优化的主要方法

       ① 流水线设计是最常用的速度优化技术。采用流水线设计虽然不能缩短总工作周期,但通过把一个工作周期内的逻辑操作分成几步较小操作,并连续同步实现的策略,可大大提高系统总体运行速度。

       ② 合理使用嵌入式阵列块EAB资源和LPM宏单元库。在DSP、图像处理等领域,乘法器是应用最广泛、最基本的模块,其速度往往制约着整个系统性能。而EAB是PLD器件中非常有效的高速资源,利用EAB单元和参数化模块LPM,可以设计出乘法器等高速电路。

       ③ 关键路径优化。所谓关键路径是指从输入到输出延时最长的逻辑通道。关键路径优化是保证系统速度优化的有效方法。

       2.2 软件使用方面速度优化的方法

       一般EDA软件尤其是综合器,均会提供一些针对具体器件和设计的优化选项。设计者在使用软件时应注意根据优化目标的要求,适当修改软件设置。在MAX+plusII中,就可以使用Assign/Device命令选择不同速度等级的芯片。

       3 面积优化的VHDL设计策略

       面积优化是提高芯片资源利用率的另一种方法,通过面积优化可以使用规模更小的芯片,从而降低成本和功耗,为以后技术升级预留更多资源。面积优化最常用的方法是资源共享和逻辑优化。

       3.1 资源共享方法

       资源共享的主要思想是通过数据缓冲或多路选择的方法来共享数据通道中占用资源较多的模块(如乘法器、多位加法器等算术模块)。

     

       例程3的设计可用图1描述,例程4的设计可用图2描述。可见例程4节省了一个代价高昂的乘法器,整个设计占用面积比例程3几乎减少了一半。

例程3的RTL结构

      

0
0
(请您对文章做出评价)
1】【2】【3
加载中

对文章的评论

更多评论

剩余字数:  

浏览该文章的用户还看过...

  • 文 章

  • 论 坛

  • 博 客

  • 小 组

设计资源与分销

  • 博客推荐

  • 论坛推荐

  • 在线研讨会