当前位置:首页 > 工业控制 > 电子设计自动化

近年来,随着集成电路技术和EDA技术的不断发展,集设计、模拟、综合和测试功能为一体的VHDL语言,已作为IEEE标准化的硬件描述语言。由于其在语法和风格上类似于现代高级汇编语言,具有良好的可读性,描述能力强,设计方法灵活,易于修改,又具有可移植性,可重复利用他人的IP模块(具有知识产权的功能模块)等诸多优势而成为EDA设计方法的首选。VHDL设计是行为级设计,所带来的问题是设计者的设计思考与电路结构相脱节。设计者主要是根据VHDL的语法规则,对系统目标的逻辑行为进行描述,然后通过综合工具进行电路结构的综合、编译和优化,并通过仿真工具进行逻辑功能仿真和系统时延的仿真。实际设计过程中,由于每个工程师对语言规则和电路行为的理解程度不同,每个人的编程风格各异,往往同样的系统功能,描述的方式不一,综合出来的电路结构更是大相径庭。即使最终综合出的电路都能实现相同的逻辑功能,但其电路的复杂程度和时延特性差别很大,甚至某些臃肿的电路还会产生难以预料的问题。因此,对VHDL设计中简化电路结构,优化电路设计的问题进行深入探讨,很有必要。

  VHDL电路设计的优化与VHDL描述语句、EDA工具以及可编程器件(PLD)的选用都有着直接的关系。设计人员首先应注意到以下基本问题:

  ① PLD器件的逻辑资源是有限的。

  ② 可编程器件具有特定的结构,应注意器件结构与实际系统的匹配,使系统性能达到最佳。

  ③ 不是所有的设计都能实现到任意选择的结构中去。

  ④ 电路优化的目标相当于求最优解的问题。

  1 VHDL设计中提高硬件综合效率的主要策略

  VHDL作为一种硬件描述和仿真语言,最终要实现的是实际硬件电路。但是其设计初衷并非综合,某些语句并不被综合器支持,所以在选择语句时应考虑到综合与仿真的效率。只有使用综合工具支持的语句,设计出的程序才有意义。在编程时要注意以下几点:

  ① 尽量不使用WAIT FOR XX ns语句和AFTER XX ns语句。XX ns表明在执行下一操作之前需要等待的时间,但综合器不予支持,一般忽略该时间,而不会综合成某种元件,故对于包含此类语句的程序,仿真结果与综合结果往往不一致。

  ② 声明信号和变量时尽量不赋初值,定义某确定数值时,使用常量而不用变量赋初值的形式。因为大多数综合工具将忽略赋值等初始化语句,诸如:VARIABAL S∶INTEGER∶=0。

  ③ 函数或过程调用时尽量使用名称关联。因为名称关联可以比位置关联更好地防止产生不正确的端口连接和元件声明,也不要在同一个语句中同时使用两种关联。诸如:

  clk_1:bufes port map(I=>clock_in,clock_out);(不正确的用法)

  clk_1:bufes port map(I=>clock_in,O=>clock_out);(正确的用法)

  ④ 正确使用when_else语句、if_else语句和case语句。VHDL设计电路的复杂程度除取决于设计功能的难度外,还受设计工程师对电路描述方法的影响。最常见的使电路复杂化的原因之一是,设计中存在许多本不必要的类似LATCH的结构,并且这些结构通常都由大量的触发器组成,不仅使电路更复杂,工作速度降低,而且由于时序配合的原因还会导致不可预料的结果。例如,描述译码电路时,由于每个工程师的写作习惯不同,有的喜欢用IF.。.ELSE 语句,有的喜欢用WHEN.。.ELSE方式,而用IF.。.ELSE时,稍不注意,在描述不需要寄存器的电路时没加ELSE,则会引起电路不必要的开销。

  例程1: if ina=″00000″ then

  Outy<=″0000111″;

  elsif ina=″00001″ then

  Outy<=″0001000″;

  elsif ina=″00010″ then

  Outy<=″0001001″;

  ……

  else

  Outy<=″0000000″;

  end if;

  例程2: Outy<=″0000111″ when ina=″00000″ else

  ″0001000″ when ina=″00001″ else

  ″0001001″ when ina=″00010″ else

  ……

  ″0000000″;

  例程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: process(A0,A1,B,sel)

  begin

  if(sel=‘0’)then result<=A0*B;

  else result<=A1*B;

  end if;

  end processs;

  例程4: process(A0,A1,B,sel)

  begin

  if(sel=‘0’)then temp<=A0;

  else temp<=A1;

  end if;

  result<=temp*B;

  end processs;

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


3.2 逻辑优化方法

  通过逻辑优化以减少资源利用也是常用的面积优化方法(如常数乘法器的应用,并行逻辑串行化处理等),但其代价往往是速度的牺牲。在延时要求不高的情况下,采用这种方法可以达到减少电路复杂度、实现面积优化的目的。

  4 结论

  通过以上初步的探讨可知,用VHDL进行集成电路的设计,不仅需要熟悉VHDL语言的使用方法和对设计要求的深刻理解,而且应在设计全程中遵循最优化设计的基本原则,在电路结构设计和软件使用中寻找满足设计要求的最佳方案。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭